xkbparse.c revision c82dfdfb
1c82dfdfbSmrg/* A Bison parser, made by GNU Bison 2.6.4. */ 2f46a6179Smrg 3c82dfdfbSmrg/* Bison implementation for Yacc-like parsers in C 4c82dfdfbSmrg 5c82dfdfbSmrg Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. 6c82dfdfbSmrg 7c82dfdfbSmrg This program is free software: you can redistribute it and/or modify 8690143ccSmrg it under the terms of the GNU General Public License as published by 9c82dfdfbSmrg the Free Software Foundation, either version 3 of the License, or 10c82dfdfbSmrg (at your option) any later version. 11c82dfdfbSmrg 12690143ccSmrg This program is distributed in the hope that it will be useful, 13690143ccSmrg but WITHOUT ANY WARRANTY; without even the implied warranty of 14690143ccSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15690143ccSmrg GNU General Public License for more details. 16c82dfdfbSmrg 17690143ccSmrg You should have received a copy of the GNU General Public License 18c82dfdfbSmrg along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19f46a6179Smrg 20690143ccSmrg/* As a special exception, you may create a larger work that contains 21690143ccSmrg part or all of the Bison parser skeleton and distribute that work 22690143ccSmrg under terms of your choice, so long as that work isn't itself a 23690143ccSmrg parser generator using the skeleton or a modified version thereof 24690143ccSmrg as a parser skeleton. Alternatively, if you modify or redistribute 25690143ccSmrg the parser skeleton itself, you may (at your option) remove this 26690143ccSmrg special exception, which will cause the skeleton and the resulting 27690143ccSmrg Bison output files to be licensed under the GNU General Public 28690143ccSmrg License without this special exception. 29c82dfdfbSmrg 30690143ccSmrg This special exception was added by the Free Software Foundation in 31690143ccSmrg version 2.2 of Bison. */ 32f46a6179Smrg 33690143ccSmrg/* C LALR(1) parser skeleton written by Richard Stallman, by 34690143ccSmrg simplifying the original so-called "semantic" parser. */ 35690143ccSmrg 36690143ccSmrg/* All symbols defined below should begin with yy or YY, to avoid 37690143ccSmrg infringing on user name space. This should be done even for local 38690143ccSmrg variables, as they might otherwise be expanded by user macros. 39690143ccSmrg There are some unavoidable exceptions within include files to 40690143ccSmrg define necessary library symbols; they are noted "INFRINGES ON 41690143ccSmrg USER NAME SPACE" below. */ 42690143ccSmrg 43690143ccSmrg/* Identify Bison output. */ 44690143ccSmrg#define YYBISON 1 45690143ccSmrg 46690143ccSmrg/* Bison version. */ 47c82dfdfbSmrg#define YYBISON_VERSION "2.6.4" 48690143ccSmrg 49690143ccSmrg/* Skeleton name. */ 50690143ccSmrg#define YYSKELETON_NAME "yacc.c" 51690143ccSmrg 52690143ccSmrg/* Pure parsers. */ 53690143ccSmrg#define YYPURE 0 54690143ccSmrg 55c82dfdfbSmrg/* Push parsers. */ 56c82dfdfbSmrg#define YYPUSH 0 57c82dfdfbSmrg 58c82dfdfbSmrg/* Pull parsers. */ 59c82dfdfbSmrg#define YYPULL 1 60c82dfdfbSmrg 61c82dfdfbSmrg 62c82dfdfbSmrg 63c82dfdfbSmrg 64c82dfdfbSmrg/* Copy the first part of user declarations. */ 65c82dfdfbSmrg/* Line 358 of yacc.c */ 66c82dfdfbSmrg#line 91 "xkbparse.y" 67c82dfdfbSmrg 68c82dfdfbSmrg#ifdef DEBUG 69c82dfdfbSmrg#define YYDEBUG 1 70c82dfdfbSmrg#endif 71c82dfdfbSmrg#define DEBUG_VAR parseDebug 72c82dfdfbSmrg#include "parseutils.h" 73c82dfdfbSmrg#include <X11/keysym.h> 74c82dfdfbSmrg#include <X11/extensions/XKBgeom.h> 75c82dfdfbSmrg#include <stdlib.h> 76c82dfdfbSmrg 77c82dfdfbSmrgunsigned int parseDebug; 78c82dfdfbSmrg 79c82dfdfbSmrg 80c82dfdfbSmrg/* Line 358 of yacc.c */ 81c82dfdfbSmrg#line 82 "xkbparse.c" 82c82dfdfbSmrg 83c82dfdfbSmrg# ifndef YY_NULL 84c82dfdfbSmrg# if defined __cplusplus && 201103L <= __cplusplus 85c82dfdfbSmrg# define YY_NULL nullptr 86c82dfdfbSmrg# else 87c82dfdfbSmrg# define YY_NULL 0 88c82dfdfbSmrg# endif 89c82dfdfbSmrg# endif 90c82dfdfbSmrg 91c82dfdfbSmrg/* Enabling verbose error messages. */ 92c82dfdfbSmrg#ifdef YYERROR_VERBOSE 93c82dfdfbSmrg# undef YYERROR_VERBOSE 94c82dfdfbSmrg# define YYERROR_VERBOSE 1 95c82dfdfbSmrg#else 96c82dfdfbSmrg# define YYERROR_VERBOSE 0 97c82dfdfbSmrg#endif 98f46a6179Smrg 99f46a6179Smrg 100c82dfdfbSmrg/* Enabling traces. */ 101c82dfdfbSmrg#ifndef YYDEBUG 102c82dfdfbSmrg# define YYDEBUG 0 103c82dfdfbSmrg#endif 104c82dfdfbSmrg#if YYDEBUG 105c82dfdfbSmrgextern int yydebug; 106c82dfdfbSmrg#endif 107f46a6179Smrg 108690143ccSmrg/* Tokens. */ 109690143ccSmrg#ifndef YYTOKENTYPE 110690143ccSmrg# define YYTOKENTYPE 111690143ccSmrg /* Put the tokens into the symbol table, so that GDB and other debuggers 112690143ccSmrg know about them. */ 113690143ccSmrg enum yytokentype { 114690143ccSmrg END_OF_FILE = 0, 115690143ccSmrg ERROR_TOK = 255, 116690143ccSmrg XKB_KEYMAP = 1, 117690143ccSmrg XKB_KEYCODES = 2, 118690143ccSmrg XKB_TYPES = 3, 119690143ccSmrg XKB_SYMBOLS = 4, 120690143ccSmrg XKB_COMPATMAP = 5, 121690143ccSmrg XKB_GEOMETRY = 6, 122690143ccSmrg XKB_SEMANTICS = 7, 123690143ccSmrg XKB_LAYOUT = 8, 124690143ccSmrg INCLUDE = 10, 125690143ccSmrg OVERRIDE = 11, 126690143ccSmrg AUGMENT = 12, 127690143ccSmrg REPLACE = 13, 128690143ccSmrg ALTERNATE = 14, 129690143ccSmrg VIRTUAL_MODS = 20, 130690143ccSmrg TYPE = 21, 131690143ccSmrg INTERPRET = 22, 132690143ccSmrg ACTION_TOK = 23, 133690143ccSmrg KEY = 24, 134690143ccSmrg ALIAS = 25, 135690143ccSmrg GROUP = 26, 136690143ccSmrg MODIFIER_MAP = 27, 137690143ccSmrg INDICATOR = 28, 138690143ccSmrg SHAPE = 29, 139690143ccSmrg KEYS = 30, 140690143ccSmrg ROW = 31, 141690143ccSmrg SECTION = 32, 142690143ccSmrg OVERLAY = 33, 143690143ccSmrg TEXT = 34, 144690143ccSmrg OUTLINE = 35, 145690143ccSmrg SOLID = 36, 146690143ccSmrg LOGO = 37, 147690143ccSmrg VIRTUAL = 38, 148690143ccSmrg EQUALS = 40, 149690143ccSmrg PLUS = 41, 150690143ccSmrg MINUS = 42, 151690143ccSmrg DIVIDE = 43, 152690143ccSmrg TIMES = 44, 153690143ccSmrg OBRACE = 45, 154690143ccSmrg CBRACE = 46, 155690143ccSmrg OPAREN = 47, 156690143ccSmrg CPAREN = 48, 157690143ccSmrg OBRACKET = 49, 158690143ccSmrg CBRACKET = 50, 159690143ccSmrg DOT = 51, 160690143ccSmrg COMMA = 52, 161690143ccSmrg SEMI = 53, 162690143ccSmrg EXCLAM = 54, 163690143ccSmrg INVERT = 55, 164690143ccSmrg STRING = 60, 165690143ccSmrg INTEGER = 61, 166690143ccSmrg FLOAT = 62, 167690143ccSmrg IDENT = 63, 168690143ccSmrg KEYNAME = 64, 169690143ccSmrg PARTIAL = 70, 170690143ccSmrg DEFAULT = 71, 171690143ccSmrg HIDDEN = 72, 172690143ccSmrg ALPHANUMERIC_KEYS = 73, 173690143ccSmrg MODIFIER_KEYS = 74, 174690143ccSmrg KEYPAD_KEYS = 75, 175690143ccSmrg FUNCTION_KEYS = 76, 176690143ccSmrg ALTERNATE_GROUP = 77 177690143ccSmrg }; 178690143ccSmrg#endif 179690143ccSmrg/* Tokens. */ 180f46a6179Smrg#define END_OF_FILE 0 181f46a6179Smrg#define ERROR_TOK 255 182f46a6179Smrg#define XKB_KEYMAP 1 183f46a6179Smrg#define XKB_KEYCODES 2 184f46a6179Smrg#define XKB_TYPES 3 185f46a6179Smrg#define XKB_SYMBOLS 4 186f46a6179Smrg#define XKB_COMPATMAP 5 187f46a6179Smrg#define XKB_GEOMETRY 6 188f46a6179Smrg#define XKB_SEMANTICS 7 189f46a6179Smrg#define XKB_LAYOUT 8 190f46a6179Smrg#define INCLUDE 10 191f46a6179Smrg#define OVERRIDE 11 192f46a6179Smrg#define AUGMENT 12 193f46a6179Smrg#define REPLACE 13 194f46a6179Smrg#define ALTERNATE 14 195f46a6179Smrg#define VIRTUAL_MODS 20 196f46a6179Smrg#define TYPE 21 197f46a6179Smrg#define INTERPRET 22 198f46a6179Smrg#define ACTION_TOK 23 199f46a6179Smrg#define KEY 24 200f46a6179Smrg#define ALIAS 25 201f46a6179Smrg#define GROUP 26 202f46a6179Smrg#define MODIFIER_MAP 27 203f46a6179Smrg#define INDICATOR 28 204f46a6179Smrg#define SHAPE 29 205f46a6179Smrg#define KEYS 30 206f46a6179Smrg#define ROW 31 207f46a6179Smrg#define SECTION 32 208f46a6179Smrg#define OVERLAY 33 209f46a6179Smrg#define TEXT 34 210f46a6179Smrg#define OUTLINE 35 211f46a6179Smrg#define SOLID 36 212f46a6179Smrg#define LOGO 37 213f46a6179Smrg#define VIRTUAL 38 214f46a6179Smrg#define EQUALS 40 215f46a6179Smrg#define PLUS 41 216f46a6179Smrg#define MINUS 42 217f46a6179Smrg#define DIVIDE 43 218f46a6179Smrg#define TIMES 44 219f46a6179Smrg#define OBRACE 45 220f46a6179Smrg#define CBRACE 46 221f46a6179Smrg#define OPAREN 47 222f46a6179Smrg#define CPAREN 48 223f46a6179Smrg#define OBRACKET 49 224f46a6179Smrg#define CBRACKET 50 225f46a6179Smrg#define DOT 51 226f46a6179Smrg#define COMMA 52 227f46a6179Smrg#define SEMI 53 228f46a6179Smrg#define EXCLAM 54 229f46a6179Smrg#define INVERT 55 230f46a6179Smrg#define STRING 60 231f46a6179Smrg#define INTEGER 61 232f46a6179Smrg#define FLOAT 62 233f46a6179Smrg#define IDENT 63 234f46a6179Smrg#define KEYNAME 64 235f46a6179Smrg#define PARTIAL 70 236f46a6179Smrg#define DEFAULT 71 237f46a6179Smrg#define HIDDEN 72 238f46a6179Smrg#define ALPHANUMERIC_KEYS 73 239f46a6179Smrg#define MODIFIER_KEYS 74 240f46a6179Smrg#define KEYPAD_KEYS 75 241f46a6179Smrg#define FUNCTION_KEYS 76 242f46a6179Smrg#define ALTERNATE_GROUP 77 243690143ccSmrg 244690143ccSmrg 245690143ccSmrg 246690143ccSmrg#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 247690143ccSmrgtypedef union YYSTYPE 2481d8c7986Smrg{ 249c82dfdfbSmrg/* Line 374 of yacc.c */ 250c82dfdfbSmrg#line 110 "xkbparse.y" 251c82dfdfbSmrg 252690143ccSmrg int ival; 253690143ccSmrg unsigned uval; 254690143ccSmrg char *str; 255690143ccSmrg Atom sval; 256690143ccSmrg ParseCommon *any; 257690143ccSmrg ExprDef *expr; 258690143ccSmrg VarDef *var; 259690143ccSmrg VModDef *vmod; 260690143ccSmrg InterpDef *interp; 261690143ccSmrg KeyTypeDef *keyType; 262690143ccSmrg SymbolsDef *syms; 263690143ccSmrg ModMapDef *modMask; 264690143ccSmrg GroupCompatDef *groupCompat; 265690143ccSmrg IndicatorMapDef *ledMap; 266690143ccSmrg IndicatorNameDef *ledName; 267690143ccSmrg KeycodeDef *keyName; 268690143ccSmrg KeyAliasDef *keyAlias; 269690143ccSmrg ShapeDef *shape; 270690143ccSmrg SectionDef *section; 271690143ccSmrg RowDef *row; 272690143ccSmrg KeyDef *key; 273690143ccSmrg OverlayDef *overlay; 274690143ccSmrg OverlayKeyDef *olKey; 275690143ccSmrg OutlineDef *outline; 276690143ccSmrg DoodadDef *doodad; 277690143ccSmrg XkbFile *file; 278c82dfdfbSmrg 279c82dfdfbSmrg 280c82dfdfbSmrg/* Line 374 of yacc.c */ 281c82dfdfbSmrg#line 282 "xkbparse.c" 282c82dfdfbSmrg} YYSTYPE; 283c82dfdfbSmrg# define YYSTYPE_IS_TRIVIAL 1 284690143ccSmrg# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 285690143ccSmrg# define YYSTYPE_IS_DECLARED 1 286690143ccSmrg#endif 287690143ccSmrg 288c82dfdfbSmrgextern YYSTYPE yylval; 289690143ccSmrg 290c82dfdfbSmrg#ifdef YYPARSE_PARAM 291c82dfdfbSmrg#if defined __STDC__ || defined __cplusplus 292c82dfdfbSmrgint yyparse (void *YYPARSE_PARAM); 293c82dfdfbSmrg#else 294c82dfdfbSmrgint yyparse (); 295c82dfdfbSmrg#endif 296c82dfdfbSmrg#else /* ! YYPARSE_PARAM */ 297c82dfdfbSmrg#if defined __STDC__ || defined __cplusplus 298c82dfdfbSmrgint yyparse (void); 299c82dfdfbSmrg#else 300c82dfdfbSmrgint yyparse (); 301c82dfdfbSmrg#endif 302c82dfdfbSmrg#endif /* ! YYPARSE_PARAM */ 3031d8c7986Smrg 304690143ccSmrg 305690143ccSmrg 306c82dfdfbSmrg/* Copy the second part of user declarations. */ 307c82dfdfbSmrg 308c82dfdfbSmrg/* Line 377 of yacc.c */ 309c82dfdfbSmrg#line 310 "xkbparse.c" 310690143ccSmrg 311690143ccSmrg#ifdef short 312690143ccSmrg# undef short 313690143ccSmrg#endif 314690143ccSmrg 315690143ccSmrg#ifdef YYTYPE_UINT8 316690143ccSmrgtypedef YYTYPE_UINT8 yytype_uint8; 317690143ccSmrg#else 318690143ccSmrgtypedef unsigned char yytype_uint8; 319690143ccSmrg#endif 320690143ccSmrg 321690143ccSmrg#ifdef YYTYPE_INT8 322690143ccSmrgtypedef YYTYPE_INT8 yytype_int8; 323690143ccSmrg#elif (defined __STDC__ || defined __C99__FUNC__ \ 324690143ccSmrg || defined __cplusplus || defined _MSC_VER) 325690143ccSmrgtypedef signed char yytype_int8; 326690143ccSmrg#else 327690143ccSmrgtypedef short int yytype_int8; 328690143ccSmrg#endif 329690143ccSmrg 330690143ccSmrg#ifdef YYTYPE_UINT16 331690143ccSmrgtypedef YYTYPE_UINT16 yytype_uint16; 332690143ccSmrg#else 333690143ccSmrgtypedef unsigned short int yytype_uint16; 334690143ccSmrg#endif 335690143ccSmrg 336690143ccSmrg#ifdef YYTYPE_INT16 337690143ccSmrgtypedef YYTYPE_INT16 yytype_int16; 338690143ccSmrg#else 339690143ccSmrgtypedef short int yytype_int16; 340690143ccSmrg#endif 341690143ccSmrg 342690143ccSmrg#ifndef YYSIZE_T 343690143ccSmrg# ifdef __SIZE_TYPE__ 344690143ccSmrg# define YYSIZE_T __SIZE_TYPE__ 345690143ccSmrg# elif defined size_t 346690143ccSmrg# define YYSIZE_T size_t 347690143ccSmrg# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 348690143ccSmrg || defined __cplusplus || defined _MSC_VER) 349690143ccSmrg# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 350690143ccSmrg# define YYSIZE_T size_t 351690143ccSmrg# else 352690143ccSmrg# define YYSIZE_T unsigned int 353690143ccSmrg# endif 354690143ccSmrg#endif 355690143ccSmrg 356690143ccSmrg#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 357690143ccSmrg 358690143ccSmrg#ifndef YY_ 359c82dfdfbSmrg# if defined YYENABLE_NLS && YYENABLE_NLS 360690143ccSmrg# if ENABLE_NLS 361690143ccSmrg# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 362c82dfdfbSmrg# define YY_(Msgid) dgettext ("bison-runtime", Msgid) 363690143ccSmrg# endif 364690143ccSmrg# endif 365690143ccSmrg# ifndef YY_ 366c82dfdfbSmrg# define YY_(Msgid) Msgid 367690143ccSmrg# endif 368690143ccSmrg#endif 369690143ccSmrg 370690143ccSmrg/* Suppress unused-variable warnings by "using" E. */ 371690143ccSmrg#if ! defined lint || defined __GNUC__ 372c82dfdfbSmrg# define YYUSE(E) ((void) (E)) 373690143ccSmrg#else 374c82dfdfbSmrg# define YYUSE(E) /* empty */ 375690143ccSmrg#endif 376690143ccSmrg 377690143ccSmrg/* Identity function, used to suppress warnings about constant conditions. */ 378690143ccSmrg#ifndef lint 379c82dfdfbSmrg# define YYID(N) (N) 380690143ccSmrg#else 381690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 382690143ccSmrg || defined __cplusplus || defined _MSC_VER) 383690143ccSmrgstatic int 384c82dfdfbSmrgYYID (int yyi) 385690143ccSmrg#else 386690143ccSmrgstatic int 387c82dfdfbSmrgYYID (yyi) 388c82dfdfbSmrg int yyi; 389690143ccSmrg#endif 390690143ccSmrg{ 391c82dfdfbSmrg return yyi; 392690143ccSmrg} 393690143ccSmrg#endif 394690143ccSmrg 395690143ccSmrg#if ! defined yyoverflow || YYERROR_VERBOSE 396690143ccSmrg 397690143ccSmrg/* The parser invokes alloca or malloc; define the necessary symbols. */ 398690143ccSmrg 399690143ccSmrg# ifdef YYSTACK_USE_ALLOCA 400690143ccSmrg# if YYSTACK_USE_ALLOCA 401690143ccSmrg# ifdef __GNUC__ 402690143ccSmrg# define YYSTACK_ALLOC __builtin_alloca 403690143ccSmrg# elif defined __BUILTIN_VA_ARG_INCR 404690143ccSmrg# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 405690143ccSmrg# elif defined _AIX 406690143ccSmrg# define YYSTACK_ALLOC __alloca 407690143ccSmrg# elif defined _MSC_VER 408690143ccSmrg# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 409690143ccSmrg# define alloca _alloca 410690143ccSmrg# else 411690143ccSmrg# define YYSTACK_ALLOC alloca 412c82dfdfbSmrg# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 413690143ccSmrg || defined __cplusplus || defined _MSC_VER) 414690143ccSmrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 415c82dfdfbSmrg /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 416c82dfdfbSmrg# ifndef EXIT_SUCCESS 417c82dfdfbSmrg# define EXIT_SUCCESS 0 418690143ccSmrg# endif 419690143ccSmrg# endif 420690143ccSmrg# endif 421690143ccSmrg# endif 422690143ccSmrg# endif 423690143ccSmrg 424690143ccSmrg# ifdef YYSTACK_ALLOC 425690143ccSmrg /* Pacify GCC's `empty if-body' warning. */ 426690143ccSmrg# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 427690143ccSmrg# ifndef YYSTACK_ALLOC_MAXIMUM 428690143ccSmrg /* The OS might guarantee only one guard page at the bottom of the stack, 429690143ccSmrg and a page size can be as small as 4096 bytes. So we cannot safely 430690143ccSmrg invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 431690143ccSmrg to allow for a few compiler-allocated temporary stack slots. */ 432690143ccSmrg# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 433690143ccSmrg# endif 434690143ccSmrg# else 435690143ccSmrg# define YYSTACK_ALLOC YYMALLOC 436690143ccSmrg# define YYSTACK_FREE YYFREE 437690143ccSmrg# ifndef YYSTACK_ALLOC_MAXIMUM 438690143ccSmrg# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 439690143ccSmrg# endif 440c82dfdfbSmrg# if (defined __cplusplus && ! defined EXIT_SUCCESS \ 441690143ccSmrg && ! ((defined YYMALLOC || defined malloc) \ 442690143ccSmrg && (defined YYFREE || defined free))) 443690143ccSmrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 444c82dfdfbSmrg# ifndef EXIT_SUCCESS 445c82dfdfbSmrg# define EXIT_SUCCESS 0 446690143ccSmrg# endif 447690143ccSmrg# endif 448690143ccSmrg# ifndef YYMALLOC 449690143ccSmrg# define YYMALLOC malloc 450c82dfdfbSmrg# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 451690143ccSmrg || defined __cplusplus || defined _MSC_VER) 452690143ccSmrgvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 453690143ccSmrg# endif 454690143ccSmrg# endif 455690143ccSmrg# ifndef YYFREE 456690143ccSmrg# define YYFREE free 457c82dfdfbSmrg# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ 458690143ccSmrg || defined __cplusplus || defined _MSC_VER) 459690143ccSmrgvoid free (void *); /* INFRINGES ON USER NAME SPACE */ 460690143ccSmrg# endif 461690143ccSmrg# endif 462690143ccSmrg# endif 463690143ccSmrg#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 464690143ccSmrg 465690143ccSmrg 466690143ccSmrg#if (! defined yyoverflow \ 467690143ccSmrg && (! defined __cplusplus \ 468690143ccSmrg || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 469690143ccSmrg 470690143ccSmrg/* A type that is properly aligned for any stack member. */ 471690143ccSmrgunion yyalloc 472690143ccSmrg{ 473c82dfdfbSmrg yytype_int16 yyss_alloc; 474c82dfdfbSmrg YYSTYPE yyvs_alloc; 475c82dfdfbSmrg}; 476690143ccSmrg 477690143ccSmrg/* The size of the maximum gap between one aligned stack and the next. */ 478690143ccSmrg# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 479690143ccSmrg 480690143ccSmrg/* The size of an array large to enough to hold all stacks, each with 481690143ccSmrg N elements. */ 482690143ccSmrg# define YYSTACK_BYTES(N) \ 483690143ccSmrg ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 484690143ccSmrg + YYSTACK_GAP_MAXIMUM) 485690143ccSmrg 486c82dfdfbSmrg# define YYCOPY_NEEDED 1 487690143ccSmrg 488690143ccSmrg/* Relocate STACK from its old location to the new one. The 489690143ccSmrg local variables YYSIZE and YYSTACKSIZE give the old and new number of 490690143ccSmrg elements in the stack, and YYPTR gives the new location of the 491690143ccSmrg stack. Advance YYPTR to a properly aligned location for the next 492690143ccSmrg stack. */ 493c82dfdfbSmrg# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 494690143ccSmrg do \ 495690143ccSmrg { \ 496690143ccSmrg YYSIZE_T yynewbytes; \ 497c82dfdfbSmrg YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 498c82dfdfbSmrg Stack = &yyptr->Stack_alloc; \ 499690143ccSmrg yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 500690143ccSmrg yyptr += yynewbytes / sizeof (*yyptr); \ 501690143ccSmrg } \ 502690143ccSmrg while (YYID (0)) 503690143ccSmrg 504690143ccSmrg#endif 505690143ccSmrg 506c82dfdfbSmrg#if defined YYCOPY_NEEDED && YYCOPY_NEEDED 507c82dfdfbSmrg/* Copy COUNT objects from SRC to DST. The source and destination do 508c82dfdfbSmrg not overlap. */ 509c82dfdfbSmrg# ifndef YYCOPY 510c82dfdfbSmrg# if defined __GNUC__ && 1 < __GNUC__ 511c82dfdfbSmrg# define YYCOPY(Dst, Src, Count) \ 512c82dfdfbSmrg __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 513c82dfdfbSmrg# else 514c82dfdfbSmrg# define YYCOPY(Dst, Src, Count) \ 515c82dfdfbSmrg do \ 516c82dfdfbSmrg { \ 517c82dfdfbSmrg YYSIZE_T yyi; \ 518c82dfdfbSmrg for (yyi = 0; yyi < (Count); yyi++) \ 519c82dfdfbSmrg (Dst)[yyi] = (Src)[yyi]; \ 520c82dfdfbSmrg } \ 521c82dfdfbSmrg while (YYID (0)) 522c82dfdfbSmrg# endif 523c82dfdfbSmrg# endif 524c82dfdfbSmrg#endif /* !YYCOPY_NEEDED */ 525c82dfdfbSmrg 526690143ccSmrg/* YYFINAL -- State number of the termination state. */ 527690143ccSmrg#define YYFINAL 18 528690143ccSmrg/* YYLAST -- Last index in YYTABLE. */ 529c82dfdfbSmrg#define YYLAST 747 530690143ccSmrg 531690143ccSmrg/* YYNTOKENS -- Number of terminals. */ 532690143ccSmrg#define YYNTOKENS 65 533690143ccSmrg/* YYNNTS -- Number of nonterminals. */ 534c82dfdfbSmrg#define YYNNTS 74 535690143ccSmrg/* YYNRULES -- Number of rules. */ 536c82dfdfbSmrg#define YYNRULES 187 537690143ccSmrg/* YYNRULES -- Number of states. */ 538c82dfdfbSmrg#define YYNSTATES 340 539690143ccSmrg 540690143ccSmrg/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 541690143ccSmrg#define YYUNDEFTOK 2 542690143ccSmrg#define YYMAXUTOK 257 543690143ccSmrg 544690143ccSmrg#define YYTRANSLATE(YYX) \ 545690143ccSmrg ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 546690143ccSmrg 547690143ccSmrg/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 548690143ccSmrgstatic const yytype_uint8 yytranslate[] = 549690143ccSmrg{ 550690143ccSmrg 0, 4, 5, 6, 7, 8, 9, 10, 11, 2, 551690143ccSmrg 12, 13, 14, 15, 16, 2, 2, 2, 2, 2, 552690143ccSmrg 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 553690143ccSmrg 27, 28, 29, 30, 31, 32, 33, 34, 35, 2, 554690143ccSmrg 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 555690143ccSmrg 46, 47, 48, 49, 50, 51, 2, 2, 2, 2, 556690143ccSmrg 52, 53, 54, 55, 56, 2, 2, 2, 2, 2, 557690143ccSmrg 57, 58, 59, 60, 61, 62, 63, 64, 2, 2, 558690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 559690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 560690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 561690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 562690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 563690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 564690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 565690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 566690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 567690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 568690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 569690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 570690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 571690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 572690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 573690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 574690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 575690143ccSmrg 2, 2, 2, 2, 2, 3, 1, 2 576690143ccSmrg}; 577690143ccSmrg 578690143ccSmrg#if YYDEBUG 579690143ccSmrg/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 580690143ccSmrg YYRHS. */ 581690143ccSmrgstatic const yytype_uint16 yyprhs[] = 582690143ccSmrg{ 583690143ccSmrg 0, 0, 3, 5, 7, 9, 12, 14, 22, 24, 584690143ccSmrg 26, 28, 31, 33, 41, 46, 48, 50, 52, 54, 585690143ccSmrg 56, 58, 59, 62, 64, 66, 68, 70, 72, 74, 586690143ccSmrg 76, 78, 80, 83, 84, 87, 90, 93, 96, 99, 587690143ccSmrg 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 588690143ccSmrg 134, 137, 141, 146, 152, 156, 160, 162, 164, 168, 589690143ccSmrg 175, 179, 181, 184, 186, 193, 200, 204, 206, 207, 590690143ccSmrg 211, 215, 217, 220, 222, 226, 230, 236, 243, 250, 591690143ccSmrg 256, 263, 270, 277, 284, 287, 289, 295, 297, 299, 592690143ccSmrg 301, 303, 306, 308, 314, 316, 320, 322, 324, 328, 593690143ccSmrg 335, 339, 341, 345, 349, 351, 355, 361, 365, 369, 594690143ccSmrg 371, 377, 384, 386, 388, 390, 392, 394, 396, 398, 595690143ccSmrg 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 596690143ccSmrg 420, 421, 423, 425, 427, 429, 431, 433, 434, 438, 597690143ccSmrg 440, 444, 448, 452, 456, 460, 462, 465, 468, 471, 598690143ccSmrg 474, 476, 481, 483, 487, 491, 493, 498, 500, 504, 599c82dfdfbSmrg 509, 516, 518, 520, 522, 524, 526, 527, 531, 535, 600c82dfdfbSmrg 537, 539, 541, 543, 545, 549, 552, 554, 556, 558, 601c82dfdfbSmrg 560, 562, 564, 566, 568, 570, 572, 573 602690143ccSmrg}; 603690143ccSmrg 604690143ccSmrg/* YYRHS -- A `-1'-separated list of the rules' RHS. */ 605690143ccSmrgstatic const yytype_int16 yyrhs[] = 606690143ccSmrg{ 607690143ccSmrg 66, 0, -1, 67, -1, 70, -1, 72, -1, 67, 608c82dfdfbSmrg 68, -1, 68, -1, 74, 69, 137, 41, 70, 42, 609690143ccSmrg 49, -1, 4, -1, 10, -1, 11, -1, 70, 71, 610c82dfdfbSmrg -1, 71, -1, 74, 73, 137, 41, 77, 42, 49, 611c82dfdfbSmrg -1, 74, 73, 137, 77, -1, 5, -1, 6, -1, 612690143ccSmrg 8, -1, 7, -1, 9, -1, 75, -1, -1, 75, 613690143ccSmrg 76, -1, 76, -1, 57, -1, 58, -1, 59, -1, 614690143ccSmrg 60, -1, 61, -1, 62, -1, 63, -1, 64, -1, 615690143ccSmrg 77, 78, -1, -1, 116, 79, -1, 116, 82, -1, 616690143ccSmrg 116, 85, -1, 116, 80, -1, 116, 81, -1, 116, 617690143ccSmrg 88, -1, 116, 89, -1, 116, 94, -1, 116, 93, 618690143ccSmrg -1, 116, 95, -1, 116, 96, -1, 116, 97, -1, 619690143ccSmrg 116, 98, -1, 116, 112, -1, 117, 52, -1, 124, 620c82dfdfbSmrg 36, 120, 49, -1, 135, 49, -1, 50, 135, 49, 621c82dfdfbSmrg -1, 134, 36, 120, 49, -1, 22, 134, 36, 134, 622690143ccSmrg 49, -1, 17, 83, 49, -1, 83, 48, 84, -1, 623c82dfdfbSmrg 84, -1, 135, -1, 135, 36, 120, -1, 19, 86, 624690143ccSmrg 41, 87, 42, 49, -1, 128, 37, 120, -1, 128, 625c82dfdfbSmrg -1, 87, 79, -1, 79, -1, 18, 136, 41, 87, 626c82dfdfbSmrg 42, 49, -1, 21, 134, 41, 90, 42, 49, -1, 627690143ccSmrg 90, 48, 91, -1, 91, -1, -1, 124, 36, 120, 628c82dfdfbSmrg -1, 124, 36, 92, -1, 135, -1, 50, 135, -1, 629690143ccSmrg 92, -1, 45, 126, 46, -1, 45, 122, 46, -1, 630c82dfdfbSmrg 23, 133, 36, 120, 49, -1, 24, 135, 41, 119, 631c82dfdfbSmrg 42, 49, -1, 25, 136, 41, 87, 42, 49, -1, 632c82dfdfbSmrg 25, 133, 36, 120, 49, -1, 35, 25, 133, 36, 633c82dfdfbSmrg 120, 49, -1, 26, 136, 41, 108, 42, 49, -1, 634c82dfdfbSmrg 26, 136, 41, 110, 42, 49, -1, 29, 136, 41, 635690143ccSmrg 99, 42, 49, -1, 99, 100, -1, 100, -1, 28, 636690143ccSmrg 41, 101, 42, 49, -1, 79, -1, 112, -1, 95, 637690143ccSmrg -1, 105, -1, 101, 102, -1, 102, -1, 27, 41, 638690143ccSmrg 103, 42, 49, -1, 79, -1, 103, 48, 104, -1, 639c82dfdfbSmrg 104, -1, 134, -1, 41, 119, 42, -1, 30, 136, 640690143ccSmrg 41, 106, 42, 49, -1, 106, 48, 107, -1, 107, 641c82dfdfbSmrg -1, 134, 36, 134, -1, 108, 48, 109, -1, 109, 642c82dfdfbSmrg -1, 41, 110, 42, -1, 135, 36, 41, 110, 42, 643c82dfdfbSmrg -1, 135, 36, 120, -1, 110, 48, 111, -1, 111, 644c82dfdfbSmrg -1, 45, 130, 48, 130, 46, -1, 113, 136, 41, 645690143ccSmrg 87, 42, 49, -1, 31, -1, 32, -1, 33, -1, 646c82dfdfbSmrg 34, -1, 135, -1, 115, -1, 20, -1, 19, -1, 647690143ccSmrg 18, -1, 21, -1, 23, -1, 24, -1, 25, -1, 648690143ccSmrg 26, -1, 28, -1, 29, -1, 31, -1, 117, -1, 649690143ccSmrg -1, 12, -1, 14, -1, 13, -1, 15, -1, 16, 650690143ccSmrg -1, 119, -1, -1, 119, 48, 120, -1, 120, -1, 651690143ccSmrg 120, 39, 120, -1, 120, 37, 120, -1, 120, 38, 652690143ccSmrg 120, -1, 120, 40, 120, -1, 124, 36, 120, -1, 653690143ccSmrg 121, -1, 38, 121, -1, 37, 121, -1, 50, 121, 654690143ccSmrg -1, 51, 121, -1, 124, -1, 114, 43, 118, 44, 655690143ccSmrg -1, 125, -1, 43, 120, 44, -1, 122, 48, 123, 656690143ccSmrg -1, 123, -1, 114, 43, 118, 44, -1, 114, -1, 657690143ccSmrg 114, 47, 114, -1, 114, 45, 120, 46, -1, 114, 658c82dfdfbSmrg 47, 114, 45, 120, 46, -1, 136, -1, 133, -1, 659c82dfdfbSmrg 132, -1, 134, -1, 127, -1, -1, 127, 48, 128, 660c82dfdfbSmrg -1, 127, 48, 129, -1, 128, -1, 129, -1, 55, 661c82dfdfbSmrg -1, 29, -1, 133, -1, 41, 127, 42, -1, 38, 662c82dfdfbSmrg 131, -1, 131, -1, 54, -1, 53, -1, 54, -1, 663690143ccSmrg 53, -1, 56, -1, 55, -1, 58, -1, 52, -1, 664c82dfdfbSmrg 138, -1, -1, 52, -1 665f46a6179Smrg}; 666690143ccSmrg 667690143ccSmrg/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 668690143ccSmrgstatic const yytype_uint16 yyrline[] = 669690143ccSmrg{ 670690143ccSmrg 0, 168, 168, 170, 172, 176, 178, 182, 188, 189, 671690143ccSmrg 190, 193, 195, 199, 205, 210, 211, 212, 213, 214, 672690143ccSmrg 217, 218, 221, 222, 225, 226, 227, 228, 229, 230, 673690143ccSmrg 231, 232, 235, 237, 240, 245, 250, 255, 260, 265, 674690143ccSmrg 270, 275, 280, 285, 290, 295, 300, 305, 310, 322, 675690143ccSmrg 324, 326, 330, 341, 351, 355, 357, 361, 363, 367, 676690143ccSmrg 376, 378, 382, 384, 388, 394, 400, 402, 404, 407, 677690143ccSmrg 409, 411, 413, 415, 419, 421, 425, 429, 433, 437, 678690143ccSmrg 439, 443, 445, 453, 457, 459, 463, 465, 467, 469, 679690143ccSmrg 471, 475, 477, 481, 483, 487, 489, 493, 495, 499, 680690143ccSmrg 503, 508, 512, 516, 518, 522, 524, 526, 530, 532, 681690143ccSmrg 536, 546, 550, 551, 552, 553, 556, 557, 560, 562, 682690143ccSmrg 564, 566, 568, 570, 572, 574, 576, 578, 580, 584, 683690143ccSmrg 585, 588, 589, 590, 591, 592, 595, 596, 599, 601, 684690143ccSmrg 605, 607, 609, 611, 613, 615, 619, 621, 623, 625, 685690143ccSmrg 627, 629, 631, 633, 637, 639, 643, 647, 654, 662, 686c82dfdfbSmrg 671, 682, 689, 696, 703, 714, 715, 718, 720, 722, 687c82dfdfbSmrg 724, 728, 729, 730, 737, 741, 742, 745, 746, 749, 688c82dfdfbSmrg 752, 755, 758, 759, 762, 765, 766, 769 689690143ccSmrg}; 690690143ccSmrg#endif 691690143ccSmrg 692c82dfdfbSmrg#if YYDEBUG || YYERROR_VERBOSE || 0 693690143ccSmrg/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 694690143ccSmrg First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 695690143ccSmrgstatic const char *const yytname[] = 696690143ccSmrg{ 697690143ccSmrg "END_OF_FILE", "error", "$undefined", "ERROR_TOK", "XKB_KEYMAP", 698690143ccSmrg "XKB_KEYCODES", "XKB_TYPES", "XKB_SYMBOLS", "XKB_COMPATMAP", 699690143ccSmrg "XKB_GEOMETRY", "XKB_SEMANTICS", "XKB_LAYOUT", "INCLUDE", "OVERRIDE", 700690143ccSmrg "AUGMENT", "REPLACE", "ALTERNATE", "VIRTUAL_MODS", "TYPE", "INTERPRET", 701690143ccSmrg "ACTION_TOK", "KEY", "ALIAS", "GROUP", "MODIFIER_MAP", "INDICATOR", 702690143ccSmrg "SHAPE", "KEYS", "ROW", "SECTION", "OVERLAY", "TEXT", "OUTLINE", "SOLID", 703690143ccSmrg "LOGO", "VIRTUAL", "EQUALS", "PLUS", "MINUS", "DIVIDE", "TIMES", 704690143ccSmrg "OBRACE", "CBRACE", "OPAREN", "CPAREN", "OBRACKET", "CBRACKET", "DOT", 705690143ccSmrg "COMMA", "SEMI", "EXCLAM", "INVERT", "STRING", "INTEGER", "FLOAT", 706690143ccSmrg "IDENT", "KEYNAME", "PARTIAL", "DEFAULT", "HIDDEN", "ALPHANUMERIC_KEYS", 707690143ccSmrg "MODIFIER_KEYS", "KEYPAD_KEYS", "FUNCTION_KEYS", "ALTERNATE_GROUP", 708690143ccSmrg "$accept", "XkbFile", "XkbCompMapList", "XkbCompositeMap", 709690143ccSmrg "XkbCompositeType", "XkbMapConfigList", "XkbMapConfig", "XkbConfig", 710690143ccSmrg "FileType", "OptFlags", "Flags", "Flag", "DeclList", "Decl", "VarDecl", 711690143ccSmrg "KeyNameDecl", "KeyAliasDecl", "VModDecl", "VModDefList", "VModDef", 712690143ccSmrg "InterpretDecl", "InterpretMatch", "VarDeclList", "KeyTypeDecl", 713690143ccSmrg "SymbolsDecl", "SymbolsBody", "SymbolsVarDecl", "ArrayInit", 714690143ccSmrg "GroupCompatDecl", "ModMapDecl", "IndicatorMapDecl", "IndicatorNameDecl", 715690143ccSmrg "ShapeDecl", "SectionDecl", "SectionBody", "SectionBodyItem", "RowBody", 716690143ccSmrg "RowBodyItem", "Keys", "Key", "OverlayDecl", "OverlayKeyList", 717690143ccSmrg "OverlayKey", "OutlineList", "OutlineInList", "CoordList", "Coord", 718690143ccSmrg "DoodadDecl", "DoodadType", "FieldSpec", "Element", "OptMergeMode", 719690143ccSmrg "MergeMode", "OptExprList", "ExprList", "Expr", "Term", "ActionList", 720690143ccSmrg "Action", "Lhs", "Terminal", "OptKeySymList", "KeySymList", "KeySym", 721c82dfdfbSmrg "KeySyms", "SignedNumber", "Number", "Float", "Integer", "KeyName", 722c82dfdfbSmrg "Ident", "String", "OptMapName", "MapName", YY_NULL 723690143ccSmrg}; 724690143ccSmrg#endif 725690143ccSmrg 726690143ccSmrg# ifdef YYPRINT 727690143ccSmrg/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 728690143ccSmrg token YYLEX-NUM. */ 729690143ccSmrgstatic const yytype_uint16 yytoknum[] = 730690143ccSmrg{ 731690143ccSmrg 0, 256, 257, 255, 1, 2, 3, 4, 5, 6, 732690143ccSmrg 7, 8, 10, 11, 12, 13, 14, 20, 21, 22, 733690143ccSmrg 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 734690143ccSmrg 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 735690143ccSmrg 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 736690143ccSmrg 54, 55, 60, 61, 62, 63, 64, 70, 71, 72, 737690143ccSmrg 73, 74, 75, 76, 77 738f46a6179Smrg}; 739690143ccSmrg# endif 740690143ccSmrg 741690143ccSmrg/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 742690143ccSmrgstatic const yytype_uint8 yyr1[] = 743690143ccSmrg{ 744690143ccSmrg 0, 65, 66, 66, 66, 67, 67, 68, 69, 69, 745690143ccSmrg 69, 70, 70, 71, 72, 73, 73, 73, 73, 73, 746690143ccSmrg 74, 74, 75, 75, 76, 76, 76, 76, 76, 76, 747690143ccSmrg 76, 76, 77, 77, 78, 78, 78, 78, 78, 78, 748690143ccSmrg 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 749690143ccSmrg 79, 79, 80, 81, 82, 83, 83, 84, 84, 85, 750690143ccSmrg 86, 86, 87, 87, 88, 89, 90, 90, 90, 91, 751690143ccSmrg 91, 91, 91, 91, 92, 92, 93, 94, 95, 96, 752690143ccSmrg 96, 97, 97, 98, 99, 99, 100, 100, 100, 100, 753690143ccSmrg 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 754690143ccSmrg 106, 106, 107, 108, 108, 109, 109, 109, 110, 110, 755690143ccSmrg 111, 112, 113, 113, 113, 113, 114, 114, 115, 115, 756690143ccSmrg 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 757690143ccSmrg 116, 117, 117, 117, 117, 117, 118, 118, 119, 119, 758690143ccSmrg 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 759690143ccSmrg 121, 121, 121, 121, 122, 122, 123, 124, 124, 124, 760c82dfdfbSmrg 124, 125, 125, 125, 125, 126, 126, 127, 127, 127, 761c82dfdfbSmrg 127, 128, 128, 128, 129, 130, 130, 131, 131, 132, 762c82dfdfbSmrg 133, 134, 135, 135, 136, 137, 137, 138 763f46a6179Smrg}; 764690143ccSmrg 765690143ccSmrg/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 766690143ccSmrgstatic const yytype_uint8 yyr2[] = 767690143ccSmrg{ 768690143ccSmrg 0, 2, 1, 1, 1, 2, 1, 7, 1, 1, 769690143ccSmrg 1, 2, 1, 7, 4, 1, 1, 1, 1, 1, 770690143ccSmrg 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 771690143ccSmrg 1, 1, 2, 0, 2, 2, 2, 2, 2, 2, 772690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 773690143ccSmrg 2, 3, 4, 5, 3, 3, 1, 1, 3, 6, 774690143ccSmrg 3, 1, 2, 1, 6, 6, 3, 1, 0, 3, 775690143ccSmrg 3, 1, 2, 1, 3, 3, 5, 6, 6, 5, 776690143ccSmrg 6, 6, 6, 6, 2, 1, 5, 1, 1, 1, 777690143ccSmrg 1, 2, 1, 5, 1, 3, 1, 1, 3, 6, 778690143ccSmrg 3, 1, 3, 3, 1, 3, 5, 3, 3, 1, 779690143ccSmrg 5, 6, 1, 1, 1, 1, 1, 1, 1, 1, 780690143ccSmrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 781690143ccSmrg 0, 1, 1, 1, 1, 1, 1, 0, 3, 1, 782690143ccSmrg 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 783690143ccSmrg 1, 4, 1, 3, 3, 1, 4, 1, 3, 4, 784c82dfdfbSmrg 6, 1, 1, 1, 1, 1, 0, 3, 3, 1, 785c82dfdfbSmrg 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 786c82dfdfbSmrg 1, 1, 1, 1, 1, 1, 0, 1 787f46a6179Smrg}; 788690143ccSmrg 789c82dfdfbSmrg/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. 790c82dfdfbSmrg Performed when YYTABLE doesn't specify something else to do. Zero 791690143ccSmrg means the default is an error. */ 792690143ccSmrgstatic const yytype_uint8 yydefact[] = 793690143ccSmrg{ 794690143ccSmrg 21, 24, 25, 26, 27, 28, 29, 30, 31, 0, 795690143ccSmrg 21, 6, 21, 12, 4, 0, 20, 23, 1, 5, 796690143ccSmrg 0, 11, 0, 8, 15, 16, 18, 17, 19, 9, 797c82dfdfbSmrg 10, 186, 186, 22, 186, 187, 0, 185, 33, 0, 798690143ccSmrg 21, 33, 130, 21, 130, 131, 133, 132, 134, 135, 799690143ccSmrg 32, 0, 129, 0, 0, 0, 120, 119, 118, 121, 800690143ccSmrg 0, 122, 123, 124, 125, 126, 127, 128, 113, 114, 801c82dfdfbSmrg 115, 0, 0, 182, 181, 183, 34, 37, 38, 35, 802690143ccSmrg 36, 39, 40, 42, 41, 43, 44, 45, 46, 47, 803690143ccSmrg 0, 157, 117, 0, 0, 116, 48, 7, 13, 0, 804c82dfdfbSmrg 56, 57, 184, 0, 172, 180, 171, 0, 61, 173, 805690143ccSmrg 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 806690143ccSmrg 0, 0, 0, 0, 0, 50, 0, 54, 0, 0, 807690143ccSmrg 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 808690143ccSmrg 0, 51, 0, 120, 119, 121, 122, 123, 124, 125, 809c82dfdfbSmrg 127, 128, 0, 0, 0, 0, 0, 179, 157, 0, 810690143ccSmrg 145, 150, 152, 163, 162, 164, 116, 161, 158, 0, 811690143ccSmrg 0, 55, 58, 63, 0, 0, 60, 166, 0, 0, 812690143ccSmrg 67, 73, 0, 116, 0, 0, 0, 139, 0, 0, 813690143ccSmrg 0, 0, 0, 104, 0, 109, 0, 124, 126, 0, 814690143ccSmrg 87, 89, 0, 85, 90, 88, 0, 0, 147, 150, 815690143ccSmrg 146, 0, 148, 149, 137, 0, 0, 0, 0, 159, 816c82dfdfbSmrg 0, 0, 49, 52, 0, 62, 0, 172, 0, 171, 817c82dfdfbSmrg 0, 0, 155, 0, 165, 169, 170, 72, 0, 0, 818c82dfdfbSmrg 0, 53, 76, 0, 0, 79, 0, 0, 0, 178, 819c82dfdfbSmrg 177, 0, 176, 0, 0, 0, 0, 0, 0, 0, 820c82dfdfbSmrg 0, 84, 0, 0, 153, 0, 136, 141, 142, 140, 821c82dfdfbSmrg 143, 144, 0, 64, 59, 0, 137, 75, 0, 74, 822c82dfdfbSmrg 0, 65, 66, 70, 69, 77, 138, 78, 105, 175, 823c82dfdfbSmrg 0, 81, 103, 82, 108, 0, 107, 0, 94, 0, 824c82dfdfbSmrg 92, 0, 83, 80, 111, 151, 160, 174, 0, 154, 825c82dfdfbSmrg 167, 168, 0, 0, 0, 0, 91, 0, 101, 0, 826c82dfdfbSmrg 156, 110, 106, 0, 0, 96, 97, 86, 0, 0, 827c82dfdfbSmrg 0, 0, 0, 0, 99, 100, 102, 98, 93, 95 828f46a6179Smrg}; 829690143ccSmrg 830690143ccSmrg/* YYDEFGOTO[NTERM-NUM]. */ 831690143ccSmrgstatic const yytype_int16 yydefgoto[] = 832690143ccSmrg{ 833690143ccSmrg -1, 9, 10, 11, 31, 12, 13, 14, 32, 22, 834690143ccSmrg 16, 17, 42, 50, 173, 77, 78, 79, 99, 100, 835690143ccSmrg 80, 107, 174, 81, 82, 179, 180, 181, 83, 84, 836c82dfdfbSmrg 201, 86, 87, 88, 202, 203, 299, 300, 324, 325, 837c82dfdfbSmrg 204, 317, 318, 192, 193, 194, 195, 205, 90, 158, 838c82dfdfbSmrg 92, 51, 52, 265, 266, 187, 160, 231, 232, 161, 839c82dfdfbSmrg 162, 233, 234, 235, 236, 251, 252, 163, 164, 165, 840c82dfdfbSmrg 166, 167, 36, 37 841f46a6179Smrg}; 842690143ccSmrg 843690143ccSmrg/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 844690143ccSmrg STATE-NUM. */ 845c82dfdfbSmrg#define YYPACT_NINF -179 846690143ccSmrgstatic const yytype_int16 yypact[] = 847690143ccSmrg{ 848c82dfdfbSmrg 669, -179, -179, -179, -179, -179, -179, -179, -179, 19, 849c82dfdfbSmrg 138, -179, 185, -179, -179, 736, 669, -179, -179, -179, 850c82dfdfbSmrg 41, -179, 297, -179, -179, -179, -179, -179, -179, -179, 851c82dfdfbSmrg -179, -3, -3, -179, -3, -179, 13, -179, 31, 31, 852c82dfdfbSmrg 669, -179, 63, 544, 53, -179, -179, -179, -179, -179, 853c82dfdfbSmrg -179, 266, 59, 66, 104, 1, 98, -9, -179, 27, 854c82dfdfbSmrg 27, 52, 1, 79, 98, -179, 98, 109, -179, -179, 855c82dfdfbSmrg -179, 140, 1, -179, -179, -179, -179, -179, -179, -179, 856c82dfdfbSmrg -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, 857c82dfdfbSmrg 98, 130, -179, 132, 135, 125, -179, -179, -179, 144, 858c82dfdfbSmrg -179, 145, -179, 170, -179, -179, -179, 176, 189, -179, 859c82dfdfbSmrg 186, 192, 200, 196, 202, 210, 211, 212, 52, 213, 860c82dfdfbSmrg 220, 371, 681, 371, 371, -179, 1, -179, 371, 667, 861c82dfdfbSmrg 667, 371, 498, 27, 371, 371, 371, 667, 16, 453, 862c82dfdfbSmrg 205, -179, 667, -179, -179, -179, -179, -179, -179, -179, 863c82dfdfbSmrg -179, -179, 371, 371, 371, 371, 371, -179, 358, 194, 864c82dfdfbSmrg -179, 224, -179, -179, -179, -179, -179, -179, 226, 166, 865c82dfdfbSmrg 181, -179, 51, -179, 513, 541, 51, 556, 1, -27, 866c82dfdfbSmrg -179, -179, 233, 22, 223, 219, 38, 51, 325, 597, 867c82dfdfbSmrg 229, -24, 54, -179, 56, -179, 239, 98, 236, 98, 868c82dfdfbSmrg -179, -179, 412, -179, -179, -179, 371, 612, -179, -179, 869c82dfdfbSmrg -179, 291, -179, -179, 371, 371, 371, 371, 371, -179, 870c82dfdfbSmrg 371, 371, -179, -179, 232, -179, 244, 253, -16, 268, 871c82dfdfbSmrg 276, 134, -179, 277, 285, -179, -179, -179, 287, 498, 872c82dfdfbSmrg 289, -179, -179, 288, 371, -179, 303, 70, 154, -179, 873c82dfdfbSmrg -179, 290, -179, 308, -17, 311, 229, 330, 653, 284, 874c82dfdfbSmrg 317, -179, 338, 320, -179, 302, 322, 183, 183, -179, 875c82dfdfbSmrg -179, 51, 227, -179, -179, 80, 371, -179, 681, -179, 876c82dfdfbSmrg -16, -179, -179, -179, 51, -179, 51, -179, -179, -179, 877c82dfdfbSmrg -24, -179, -179, -179, -179, 229, 51, 331, -179, 470, 878c82dfdfbSmrg -179, 27, -179, -179, -179, -179, -179, -179, 335, -179, 879c82dfdfbSmrg -179, -179, 347, 99, -25, 349, -179, 100, -179, 368, 880c82dfdfbSmrg -179, -179, -179, 371, 101, -179, -179, -179, 357, 27, 881c82dfdfbSmrg 27, 116, 361, -25, -179, -179, -179, -179, -179, -179 882f46a6179Smrg}; 883690143ccSmrg 884690143ccSmrg/* YYPGOTO[NTERM-NUM]. */ 885690143ccSmrgstatic const yytype_int16 yypgoto[] = 886690143ccSmrg{ 887c82dfdfbSmrg -179, -179, -179, 397, -179, 372, -8, -179, 389, 48, 888c82dfdfbSmrg -179, 399, 375, -179, -19, -179, -179, -179, -179, 292, 889c82dfdfbSmrg -179, -179, -119, -179, -179, -179, 174, 177, -179, -179, 890c82dfdfbSmrg 369, -179, -179, -179, -179, 217, -179, 129, -179, 106, 891c82dfdfbSmrg -179, -179, 105, -179, 193, -178, 195, 398, -179, -23, 892c82dfdfbSmrg -179, -179, -179, 172, -132, -81, 34, -179, 175, -29, 893c82dfdfbSmrg -179, -179, 222, -55, 178, 162, 207, -179, -56, -51, 894c82dfdfbSmrg -45, -30, 180, -179 895f46a6179Smrg}; 896690143ccSmrg 897690143ccSmrg/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 898690143ccSmrg positive, shift that token. If negative, reduce the rule which 899c82dfdfbSmrg number is the opposite. If YYTABLE_NINF, syntax error. */ 900c82dfdfbSmrg#define YYTABLE_NINF -183 901690143ccSmrgstatic const yytype_int16 yytable[] = 902690143ccSmrg{ 903c82dfdfbSmrg 94, 109, 108, 186, 21, 112, 95, 114, 110, 111, 904c82dfdfbSmrg 101, 175, 247, 104, 248, 238, 323, 113, 189, 18, 905c82dfdfbSmrg 104, 239, 93, 207, 190, 228, 103, 119, 91, 249, 906c82dfdfbSmrg 250, 74, 76, 115, 116, 21, 117, 105, 73, 106, 907c82dfdfbSmrg 159, 75, 169, 170, 105, 23, 106, 172, 15, 35, 908c82dfdfbSmrg 176, 29, 30, 185, 40, 188, 73, 190, 20, 75, 909c82dfdfbSmrg 120, 191, 140, -14, -71, 45, 46, 47, 48, 49, 910c82dfdfbSmrg -71, 73, 41, 211, 75, 45, 46, 47, 48, 49, 911c82dfdfbSmrg 243, 101, 184, 74, 95, 95, 244, 183, 215, 216, 912c82dfdfbSmrg 217, 218, 95, 196, 95, 54, 253, 95, 255, 168, 913c82dfdfbSmrg 93, 93, 254, 182, 256, 105, 91, 91, 93, 91, 914c82dfdfbSmrg 93, 96, 288, 93, 91, 97, 91, 313, 256, 91, 915c82dfdfbSmrg 200, 109, 307, 209, 209, 262, 209, 209, 280, 95, 916c82dfdfbSmrg 95, 102, 105, 237, 267, 268, 269, 270, -2, 271, 917c82dfdfbSmrg 272, 322, 328, 332, 95, 93, 93, 256, 329, 333, 918c82dfdfbSmrg 102, 91, 91, 98, 230, 225, 225, 95, 337, 284, 919c82dfdfbSmrg 93, -112, 95, 286, 244, 118, 91, 115, 123, 259, 920c82dfdfbSmrg 225, 124, 109, 93, 125, 121, 296, 122, 93, 91, 921c82dfdfbSmrg 277, 128, 278, 200, 91, -3, 208, 210, 225, 212, 922c82dfdfbSmrg 213, 331, 126, 127, 183, 1, 2, 3, 4, 5, 923c82dfdfbSmrg 6, 7, 8, 215, 216, 217, 218, 249, 250, 196, 924c82dfdfbSmrg 182, 129, 38, 95, 39, 222, 91, 130, 215, 216, 925c82dfdfbSmrg 217, 218, 217, 218, 109, 310, 131, 132, 133, 93, 926c82dfdfbSmrg 223, 215, 216, 217, 218, 91, 134, 135, 136, 298, 927c82dfdfbSmrg 219, 206, 1, 2, 3, 4, 5, 6, 7, 8, 928c82dfdfbSmrg 319, 137, 138, 139, 95, 230, 215, 216, 217, 218, 929c82dfdfbSmrg 220, 142, 141, 326, 215, 216, 217, 218, 242, 240, 930c82dfdfbSmrg 93, 221, 241, 306, 191, 257, 91, 258, 319, 336, 931c82dfdfbSmrg 298, 273, 326, 55, 56, 57, 58, 59, 60, 61, 932c82dfdfbSmrg 62, 63, 64, 274, 65, 66, -127, 67, 68, 69, 933c82dfdfbSmrg 70, 71, 24, 25, 26, 27, 28, 143, 144, 58, 934c82dfdfbSmrg 145, -182, 146, 147, 148, 149, 72, 65, 150, 276, 935c82dfdfbSmrg 151, 73, 74, 279, 75, 301, 152, 153, 215, 216, 936c82dfdfbSmrg 217, 218, 154, 280, 177, 264, 281, 285, 290, 155, 937c82dfdfbSmrg 156, 102, 105, 157, 73, 74, 305, 75, 143, 144, 938c82dfdfbSmrg 58, 145, 287, 146, 147, 148, 149, 291, 65, 150, 939c82dfdfbSmrg 293, 151, 215, 216, 217, 218, 302, 152, 153, 304, 940c82dfdfbSmrg 244, 295, 314, 154, 245, 215, 216, 217, 218, 320, 941c82dfdfbSmrg 155, 156, 102, 105, 157, 73, 74, 303, 75, 143, 942c82dfdfbSmrg 144, 58, 145, 321, 146, 147, 148, 149, 327, 65, 943c82dfdfbSmrg 150, 214, 151, 121, 330, 122, 334, 19, 152, 153, 944c82dfdfbSmrg 338, 34, 43, 282, 154, 33, 44, 283, 171, 261, 945c82dfdfbSmrg 85, 155, 156, 102, 105, 157, 73, 74, 316, 75, 946c82dfdfbSmrg 143, 144, 58, 145, 335, 146, 147, 197, 149, 339, 947c82dfdfbSmrg 198, 150, 199, 67, 68, 69, 70, 292, 308, 89, 948c82dfdfbSmrg 275, 294, 312, 309, 260, 289, 0, 0, 311, 0, 949c82dfdfbSmrg 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 950c82dfdfbSmrg 75, 143, 144, 58, 145, 0, 146, 147, 197, 149, 951c82dfdfbSmrg 0, 198, 150, 199, 67, 68, 69, 70, 143, 144, 952c82dfdfbSmrg 58, 145, 0, 146, 147, 148, 149, 297, 65, 150, 953c82dfdfbSmrg 0, 151, 0, 72, 0, 0, 0, 0, 73, 0, 954c82dfdfbSmrg 0, 75, 315, 0, 0, 0, 143, 144, 58, 145, 955c82dfdfbSmrg 72, 146, 147, 148, 149, 73, 65, 150, 75, 151, 956c82dfdfbSmrg 0, 143, 144, 58, 145, 0, 146, 147, 148, 149, 957c82dfdfbSmrg 0, 65, 150, 177, 151, 0, 0, 0, 178, 0, 958c82dfdfbSmrg 0, 0, 0, 73, 0, 224, 75, 0, 0, 143, 959c82dfdfbSmrg 144, 58, 145, 72, 146, 147, 148, 149, 73, 65, 960c82dfdfbSmrg 150, 75, 151, 0, 143, 144, 58, 145, 0, 146, 961c82dfdfbSmrg 147, 148, 149, 226, 65, 227, 53, 151, 0, 0, 962c82dfdfbSmrg 0, 72, 0, 0, 0, 0, 73, 228, 0, 75, 963c82dfdfbSmrg 0, 1, 2, 3, 4, 5, 6, 7, 8, 105, 964c82dfdfbSmrg 0, 229, 0, 0, 75, 143, 144, 58, 145, 0, 965c82dfdfbSmrg 146, 147, 148, 149, 0, 65, 150, 0, 151, 0, 966c82dfdfbSmrg 143, 144, 58, 145, 0, 146, 147, 148, 149, 246, 967c82dfdfbSmrg 65, 150, 0, 151, 0, 0, 0, 72, 0, 0, 968c82dfdfbSmrg 0, 0, 73, 0, 263, 75, 0, 0, 0, 0, 969c82dfdfbSmrg 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 970c82dfdfbSmrg 75, 143, 144, 58, 145, 0, 146, 147, 148, 149, 971c82dfdfbSmrg 297, 65, 150, 0, 151, 143, 144, 58, 145, 0, 972c82dfdfbSmrg 146, 147, 148, 149, 0, 65, 150, 0, 151, 143, 973c82dfdfbSmrg 144, 58, 145, 72, 146, 147, 148, 149, 73, 65, 974c82dfdfbSmrg 150, 75, 151, 0, 0, 0, 0, 72, 0, 0, 975c82dfdfbSmrg 0, 0, 73, 0, 0, 75, 1, 2, 3, 4, 976c82dfdfbSmrg 5, 6, 7, 8, 0, 0, 73, 0, 0, 75, 977c82dfdfbSmrg 23, 24, 25, 26, 27, 28, 29, 30 978f46a6179Smrg}; 979690143ccSmrg 980c82dfdfbSmrg#define yypact_value_is_default(Yystate) \ 981c82dfdfbSmrg (!!((Yystate) == (-179))) 982c82dfdfbSmrg 983c82dfdfbSmrg#define yytable_value_is_error(Yytable_value) \ 984c82dfdfbSmrg YYID (0) 985c82dfdfbSmrg 986690143ccSmrgstatic const yytype_int16 yycheck[] = 987690143ccSmrg{ 988c82dfdfbSmrg 51, 57, 57, 135, 12, 61, 51, 63, 59, 60, 989c82dfdfbSmrg 55, 130, 190, 29, 38, 42, 41, 62, 137, 0, 990c82dfdfbSmrg 29, 48, 51, 142, 41, 41, 56, 72, 51, 53, 991c82dfdfbSmrg 54, 56, 51, 63, 64, 43, 66, 53, 55, 55, 992c82dfdfbSmrg 121, 58, 123, 124, 53, 4, 55, 128, 0, 52, 993c82dfdfbSmrg 131, 10, 11, 134, 41, 136, 55, 41, 10, 58, 994c82dfdfbSmrg 90, 45, 118, 0, 42, 12, 13, 14, 15, 16, 995c82dfdfbSmrg 48, 55, 41, 154, 58, 12, 13, 14, 15, 16, 996c82dfdfbSmrg 42, 126, 133, 56, 129, 130, 48, 132, 37, 38, 997c82dfdfbSmrg 39, 40, 137, 138, 139, 42, 42, 142, 42, 122, 998c82dfdfbSmrg 129, 130, 48, 132, 48, 53, 129, 130, 137, 132, 999c82dfdfbSmrg 139, 52, 42, 142, 137, 49, 139, 295, 48, 142, 1000c82dfdfbSmrg 139, 177, 42, 152, 153, 206, 155, 156, 48, 174, 1001c82dfdfbSmrg 175, 52, 53, 178, 215, 216, 217, 218, 0, 220, 1002c82dfdfbSmrg 221, 42, 42, 42, 189, 174, 175, 48, 48, 48, 1003c82dfdfbSmrg 52, 174, 175, 49, 177, 174, 175, 202, 42, 240, 1004c82dfdfbSmrg 189, 52, 207, 244, 48, 25, 189, 197, 36, 199, 1005c82dfdfbSmrg 189, 36, 228, 202, 49, 45, 257, 47, 207, 202, 1006c82dfdfbSmrg 46, 36, 48, 202, 207, 0, 152, 153, 207, 155, 1007c82dfdfbSmrg 156, 323, 48, 49, 239, 57, 58, 59, 60, 61, 1008c82dfdfbSmrg 62, 63, 64, 37, 38, 39, 40, 53, 54, 254, 1009c82dfdfbSmrg 239, 41, 32, 258, 34, 49, 239, 41, 37, 38, 1010c82dfdfbSmrg 39, 40, 39, 40, 280, 280, 37, 41, 36, 258, 1011c82dfdfbSmrg 49, 37, 38, 39, 40, 258, 36, 41, 36, 258, 1012c82dfdfbSmrg 46, 36, 57, 58, 59, 60, 61, 62, 63, 64, 1013c82dfdfbSmrg 301, 41, 41, 41, 299, 278, 37, 38, 39, 40, 1014c82dfdfbSmrg 36, 41, 49, 314, 37, 38, 39, 40, 49, 36, 1015c82dfdfbSmrg 299, 45, 49, 46, 45, 36, 299, 41, 329, 330, 1016c82dfdfbSmrg 299, 49, 333, 17, 18, 19, 20, 21, 22, 23, 1017c82dfdfbSmrg 24, 25, 26, 49, 28, 29, 43, 31, 32, 33, 1018c82dfdfbSmrg 34, 35, 5, 6, 7, 8, 9, 18, 19, 20, 1019c82dfdfbSmrg 21, 43, 23, 24, 25, 26, 50, 28, 29, 43, 1020c82dfdfbSmrg 31, 55, 56, 46, 58, 41, 37, 38, 37, 38, 1021c82dfdfbSmrg 39, 40, 43, 48, 45, 44, 49, 49, 48, 50, 1022c82dfdfbSmrg 51, 52, 53, 54, 55, 56, 44, 58, 18, 19, 1023c82dfdfbSmrg 20, 21, 49, 23, 24, 25, 26, 49, 28, 29, 1024c82dfdfbSmrg 49, 31, 37, 38, 39, 40, 49, 37, 38, 49, 1025c82dfdfbSmrg 48, 41, 41, 43, 49, 37, 38, 39, 40, 44, 1026690143ccSmrg 50, 51, 52, 53, 54, 55, 56, 49, 58, 18, 1027c82dfdfbSmrg 19, 20, 21, 46, 23, 24, 25, 26, 49, 28, 1028c82dfdfbSmrg 29, 43, 31, 45, 36, 47, 49, 10, 37, 38, 1029c82dfdfbSmrg 49, 22, 40, 239, 43, 16, 41, 240, 126, 202, 1030c82dfdfbSmrg 51, 50, 51, 52, 53, 54, 55, 56, 299, 58, 1031c82dfdfbSmrg 18, 19, 20, 21, 329, 23, 24, 25, 26, 333, 1032c82dfdfbSmrg 28, 29, 30, 31, 32, 33, 34, 254, 276, 51, 1033c82dfdfbSmrg 228, 256, 290, 278, 42, 248, -1, -1, 280, -1, 1034c82dfdfbSmrg -1, -1, 50, -1, -1, -1, -1, 55, -1, -1, 1035c82dfdfbSmrg 58, 18, 19, 20, 21, -1, 23, 24, 25, 26, 1036c82dfdfbSmrg -1, 28, 29, 30, 31, 32, 33, 34, 18, 19, 1037c82dfdfbSmrg 20, 21, -1, 23, 24, 25, 26, 27, 28, 29, 1038c82dfdfbSmrg -1, 31, -1, 50, -1, -1, -1, -1, 55, -1, 1039c82dfdfbSmrg -1, 58, 42, -1, -1, -1, 18, 19, 20, 21, 1040c82dfdfbSmrg 50, 23, 24, 25, 26, 55, 28, 29, 58, 31, 1041c82dfdfbSmrg -1, 18, 19, 20, 21, -1, 23, 24, 25, 26, 1042c82dfdfbSmrg -1, 28, 29, 45, 31, -1, -1, -1, 50, -1, 1043c82dfdfbSmrg -1, -1, -1, 55, -1, 42, 58, -1, -1, 18, 1044c82dfdfbSmrg 19, 20, 21, 50, 23, 24, 25, 26, 55, 28, 1045c82dfdfbSmrg 29, 58, 31, -1, 18, 19, 20, 21, -1, 23, 1046c82dfdfbSmrg 24, 25, 26, 42, 28, 29, 42, 31, -1, -1, 1047c82dfdfbSmrg -1, 50, -1, -1, -1, -1, 55, 41, -1, 58, 1048c82dfdfbSmrg -1, 57, 58, 59, 60, 61, 62, 63, 64, 53, 1049c82dfdfbSmrg -1, 55, -1, -1, 58, 18, 19, 20, 21, -1, 1050c82dfdfbSmrg 23, 24, 25, 26, -1, 28, 29, -1, 31, -1, 1051c82dfdfbSmrg 18, 19, 20, 21, -1, 23, 24, 25, 26, 42, 1052c82dfdfbSmrg 28, 29, -1, 31, -1, -1, -1, 50, -1, -1, 1053c82dfdfbSmrg -1, -1, 55, -1, 42, 58, -1, -1, -1, -1, 1054c82dfdfbSmrg -1, -1, 50, -1, -1, -1, -1, 55, -1, -1, 1055c82dfdfbSmrg 58, 18, 19, 20, 21, -1, 23, 24, 25, 26, 1056c82dfdfbSmrg 27, 28, 29, -1, 31, 18, 19, 20, 21, -1, 1057c82dfdfbSmrg 23, 24, 25, 26, -1, 28, 29, -1, 31, 18, 1058c82dfdfbSmrg 19, 20, 21, 50, 23, 24, 25, 26, 55, 28, 1059c82dfdfbSmrg 29, 58, 31, -1, -1, -1, -1, 50, -1, -1, 1060c82dfdfbSmrg -1, -1, 55, -1, -1, 58, 57, 58, 59, 60, 1061c82dfdfbSmrg 61, 62, 63, 64, -1, -1, 55, -1, -1, 58, 1062c82dfdfbSmrg 4, 5, 6, 7, 8, 9, 10, 11 1063f46a6179Smrg}; 1064f46a6179Smrg 1065690143ccSmrg/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 1066690143ccSmrg symbol of state STATE-NUM. */ 1067690143ccSmrgstatic const yytype_uint8 yystos[] = 1068690143ccSmrg{ 1069690143ccSmrg 0, 57, 58, 59, 60, 61, 62, 63, 64, 66, 1070690143ccSmrg 67, 68, 70, 71, 72, 74, 75, 76, 0, 68, 1071690143ccSmrg 74, 71, 74, 4, 5, 6, 7, 8, 9, 10, 1072c82dfdfbSmrg 11, 69, 73, 76, 73, 52, 137, 138, 137, 137, 1073690143ccSmrg 41, 41, 77, 70, 77, 12, 13, 14, 15, 16, 1074690143ccSmrg 78, 116, 117, 42, 42, 17, 18, 19, 20, 21, 1075690143ccSmrg 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 1076690143ccSmrg 34, 35, 50, 55, 56, 58, 79, 80, 81, 82, 1077690143ccSmrg 85, 88, 89, 93, 94, 95, 96, 97, 98, 112, 1078c82dfdfbSmrg 113, 114, 115, 124, 134, 135, 52, 49, 49, 83, 1079c82dfdfbSmrg 84, 135, 52, 136, 29, 53, 55, 86, 128, 133, 1080c82dfdfbSmrg 134, 134, 133, 135, 133, 136, 136, 136, 25, 135, 1081c82dfdfbSmrg 136, 45, 47, 36, 36, 49, 48, 49, 36, 41, 1082690143ccSmrg 41, 37, 41, 36, 36, 41, 36, 41, 41, 41, 1083c82dfdfbSmrg 133, 49, 41, 18, 19, 21, 23, 24, 25, 26, 1084690143ccSmrg 29, 31, 37, 38, 43, 50, 51, 54, 114, 120, 1085c82dfdfbSmrg 121, 124, 125, 132, 133, 134, 135, 136, 114, 120, 1086690143ccSmrg 120, 84, 120, 79, 87, 87, 120, 45, 50, 90, 1087c82dfdfbSmrg 91, 92, 124, 135, 134, 120, 119, 120, 120, 87, 1088c82dfdfbSmrg 41, 45, 108, 109, 110, 111, 135, 25, 28, 30, 1089690143ccSmrg 79, 95, 99, 100, 105, 112, 36, 87, 121, 124, 1090690143ccSmrg 121, 120, 121, 121, 43, 37, 38, 39, 40, 46, 1091c82dfdfbSmrg 36, 45, 49, 49, 42, 79, 42, 29, 41, 55, 1092c82dfdfbSmrg 114, 122, 123, 126, 127, 128, 129, 135, 42, 48, 1093c82dfdfbSmrg 36, 49, 49, 42, 48, 49, 42, 110, 38, 53, 1094c82dfdfbSmrg 54, 130, 131, 42, 48, 42, 48, 36, 41, 136, 1095c82dfdfbSmrg 42, 100, 120, 42, 44, 118, 119, 120, 120, 120, 1096c82dfdfbSmrg 120, 120, 120, 49, 49, 127, 43, 46, 48, 46, 1097c82dfdfbSmrg 48, 49, 91, 92, 120, 49, 120, 49, 42, 131, 1098c82dfdfbSmrg 48, 49, 109, 49, 111, 41, 120, 27, 79, 101, 1099c82dfdfbSmrg 102, 41, 49, 49, 49, 44, 46, 42, 118, 123, 1100c82dfdfbSmrg 128, 129, 130, 110, 41, 42, 102, 106, 107, 134, 1101c82dfdfbSmrg 44, 46, 42, 41, 103, 104, 134, 49, 42, 48, 1102c82dfdfbSmrg 36, 119, 42, 48, 49, 107, 134, 42, 49, 104 1103f46a6179Smrg}; 1104690143ccSmrg 1105690143ccSmrg#define yyerrok (yyerrstatus = 0) 1106690143ccSmrg#define yyclearin (yychar = YYEMPTY) 1107690143ccSmrg#define YYEMPTY (-2) 1108690143ccSmrg#define YYEOF 0 1109690143ccSmrg 1110690143ccSmrg#define YYACCEPT goto yyacceptlab 1111690143ccSmrg#define YYABORT goto yyabortlab 1112690143ccSmrg#define YYERROR goto yyerrorlab 1113690143ccSmrg 1114690143ccSmrg 1115690143ccSmrg/* Like YYERROR except do call yyerror. This remains here temporarily 1116690143ccSmrg to ease the transition to the new meaning of YYERROR, for GCC. 1117c82dfdfbSmrg Once GCC version 2 has supplanted version 1, this can go. However, 1118c82dfdfbSmrg YYFAIL appears to be in use. Nevertheless, it is formally deprecated 1119c82dfdfbSmrg in Bison 2.4.2's NEWS entry, where a plan to phase it out is 1120c82dfdfbSmrg discussed. */ 1121690143ccSmrg 1122690143ccSmrg#define YYFAIL goto yyerrlab 1123c82dfdfbSmrg#if defined YYFAIL 1124c82dfdfbSmrg /* This is here to suppress warnings from the GCC cpp's 1125c82dfdfbSmrg -Wunused-macros. Normally we don't worry about that warning, but 1126c82dfdfbSmrg some users do, and we want to make it easy for users to remove 1127c82dfdfbSmrg YYFAIL uses, which will produce warnings from Bison 2.5. */ 1128c82dfdfbSmrg#endif 1129690143ccSmrg 1130690143ccSmrg#define YYRECOVERING() (!!yyerrstatus) 1131690143ccSmrg 1132c82dfdfbSmrg#define YYBACKUP(Token, Value) \ 1133c82dfdfbSmrgdo \ 1134c82dfdfbSmrg if (yychar == YYEMPTY) \ 1135c82dfdfbSmrg { \ 1136c82dfdfbSmrg yychar = (Token); \ 1137c82dfdfbSmrg yylval = (Value); \ 1138c82dfdfbSmrg YYPOPSTACK (yylen); \ 1139c82dfdfbSmrg yystate = *yyssp; \ 1140c82dfdfbSmrg goto yybackup; \ 1141c82dfdfbSmrg } \ 1142c82dfdfbSmrg else \ 1143c82dfdfbSmrg { \ 1144690143ccSmrg yyerror (YY_("syntax error: cannot back up")); \ 1145690143ccSmrg YYERROR; \ 1146690143ccSmrg } \ 1147690143ccSmrgwhile (YYID (0)) 1148690143ccSmrg 1149690143ccSmrg 1150690143ccSmrg#define YYTERROR 1 1151690143ccSmrg#define YYERRCODE 256 1152690143ccSmrg 1153690143ccSmrg/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 1154690143ccSmrg If N is 0, then set CURRENT to the empty location which ends 1155690143ccSmrg the previous symbol: RHS[0] (always defined). */ 1156690143ccSmrg 1157690143ccSmrg#ifndef YYLLOC_DEFAULT 1158c82dfdfbSmrg# define YYLLOC_DEFAULT(Current, Rhs, N) \ 1159c82dfdfbSmrg do \ 1160c82dfdfbSmrg if (YYID (N)) \ 1161c82dfdfbSmrg { \ 1162c82dfdfbSmrg (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 1163c82dfdfbSmrg (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 1164c82dfdfbSmrg (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 1165c82dfdfbSmrg (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 1166c82dfdfbSmrg } \ 1167c82dfdfbSmrg else \ 1168c82dfdfbSmrg { \ 1169c82dfdfbSmrg (Current).first_line = (Current).last_line = \ 1170c82dfdfbSmrg YYRHSLOC (Rhs, 0).last_line; \ 1171c82dfdfbSmrg (Current).first_column = (Current).last_column = \ 1172c82dfdfbSmrg YYRHSLOC (Rhs, 0).last_column; \ 1173c82dfdfbSmrg } \ 1174690143ccSmrg while (YYID (0)) 1175f46a6179Smrg#endif 1176690143ccSmrg 1177c82dfdfbSmrg#define YYRHSLOC(Rhs, K) ((Rhs)[K]) 1178c82dfdfbSmrg 1179690143ccSmrg 1180c82dfdfbSmrg 1181c82dfdfbSmrg/* This macro is provided for backward compatibility. */ 1182690143ccSmrg 1183690143ccSmrg#ifndef YY_LOCATION_PRINT 1184c82dfdfbSmrg# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1185f46a6179Smrg#endif 1186f46a6179Smrg 1187690143ccSmrg 1188690143ccSmrg/* YYLEX -- calling `yylex' with the right arguments. */ 1189690143ccSmrg 1190690143ccSmrg#ifdef YYLEX_PARAM 1191690143ccSmrg# define YYLEX yylex (YYLEX_PARAM) 1192f46a6179Smrg#else 1193690143ccSmrg# define YYLEX yylex () 1194f46a6179Smrg#endif 1195f46a6179Smrg 1196690143ccSmrg/* Enable debugging if requested. */ 1197690143ccSmrg#if YYDEBUG 1198f46a6179Smrg 1199690143ccSmrg# ifndef YYFPRINTF 1200690143ccSmrg# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1201690143ccSmrg# define YYFPRINTF fprintf 1202690143ccSmrg# endif 1203f46a6179Smrg 1204690143ccSmrg# define YYDPRINTF(Args) \ 1205690143ccSmrgdo { \ 1206690143ccSmrg if (yydebug) \ 1207690143ccSmrg YYFPRINTF Args; \ 1208690143ccSmrg} while (YYID (0)) 1209f46a6179Smrg 1210690143ccSmrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1211690143ccSmrgdo { \ 1212690143ccSmrg if (yydebug) \ 1213690143ccSmrg { \ 1214690143ccSmrg YYFPRINTF (stderr, "%s ", Title); \ 1215690143ccSmrg yy_symbol_print (stderr, \ 1216690143ccSmrg Type, Value); \ 1217690143ccSmrg YYFPRINTF (stderr, "\n"); \ 1218690143ccSmrg } \ 1219690143ccSmrg} while (YYID (0)) 1220f46a6179Smrg 1221f46a6179Smrg 1222690143ccSmrg/*--------------------------------. 1223690143ccSmrg| Print this symbol on YYOUTPUT. | 1224690143ccSmrg`--------------------------------*/ 1225690143ccSmrg 1226690143ccSmrg/*ARGSUSED*/ 1227690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1228690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1229690143ccSmrgstatic void 1230690143ccSmrgyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1231690143ccSmrg#else 1232690143ccSmrgstatic void 1233690143ccSmrgyy_symbol_value_print (yyoutput, yytype, yyvaluep) 1234690143ccSmrg FILE *yyoutput; 1235690143ccSmrg int yytype; 1236690143ccSmrg YYSTYPE const * const yyvaluep; 1237690143ccSmrg#endif 1238f46a6179Smrg{ 1239c82dfdfbSmrg FILE *yyo = yyoutput; 1240c82dfdfbSmrg YYUSE (yyo); 1241690143ccSmrg if (!yyvaluep) 124207d2e718Smrg return; 1243690143ccSmrg# ifdef YYPRINT 1244690143ccSmrg if (yytype < YYNTOKENS) 1245690143ccSmrg YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1246690143ccSmrg# else 1247690143ccSmrg YYUSE (yyoutput); 1248690143ccSmrg# endif 1249690143ccSmrg switch (yytype) 1250690143ccSmrg { 1251690143ccSmrg default: 1252690143ccSmrg break; 1253690143ccSmrg } 1254f46a6179Smrg} 1255f46a6179Smrg 1256f46a6179Smrg 1257690143ccSmrg/*--------------------------------. 1258690143ccSmrg| Print this symbol on YYOUTPUT. | 1259690143ccSmrg`--------------------------------*/ 1260f46a6179Smrg 1261690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1262690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1263690143ccSmrgstatic void 1264690143ccSmrgyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1265690143ccSmrg#else 1266690143ccSmrgstatic void 1267690143ccSmrgyy_symbol_print (yyoutput, yytype, yyvaluep) 1268690143ccSmrg FILE *yyoutput; 1269690143ccSmrg int yytype; 1270690143ccSmrg YYSTYPE const * const yyvaluep; 1271690143ccSmrg#endif 1272f46a6179Smrg{ 1273690143ccSmrg if (yytype < YYNTOKENS) 1274690143ccSmrg YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1275690143ccSmrg else 1276690143ccSmrg YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 1277f46a6179Smrg 1278690143ccSmrg yy_symbol_value_print (yyoutput, yytype, yyvaluep); 1279690143ccSmrg YYFPRINTF (yyoutput, ")"); 1280f46a6179Smrg} 1281f46a6179Smrg 1282690143ccSmrg/*------------------------------------------------------------------. 1283690143ccSmrg| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1284690143ccSmrg| TOP (included). | 1285690143ccSmrg`------------------------------------------------------------------*/ 1286f46a6179Smrg 1287690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1288690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1289690143ccSmrgstatic void 1290c82dfdfbSmrgyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 1291690143ccSmrg#else 1292690143ccSmrgstatic void 1293c82dfdfbSmrgyy_stack_print (yybottom, yytop) 1294c82dfdfbSmrg yytype_int16 *yybottom; 1295c82dfdfbSmrg yytype_int16 *yytop; 1296690143ccSmrg#endif 1297f46a6179Smrg{ 1298690143ccSmrg YYFPRINTF (stderr, "Stack now"); 1299c82dfdfbSmrg for (; yybottom <= yytop; yybottom++) 1300c82dfdfbSmrg { 1301c82dfdfbSmrg int yybot = *yybottom; 1302c82dfdfbSmrg YYFPRINTF (stderr, " %d", yybot); 1303c82dfdfbSmrg } 1304690143ccSmrg YYFPRINTF (stderr, "\n"); 1305690143ccSmrg} 1306f46a6179Smrg 1307690143ccSmrg# define YY_STACK_PRINT(Bottom, Top) \ 1308690143ccSmrgdo { \ 1309690143ccSmrg if (yydebug) \ 1310690143ccSmrg yy_stack_print ((Bottom), (Top)); \ 1311690143ccSmrg} while (YYID (0)) 1312f46a6179Smrg 1313f46a6179Smrg 1314690143ccSmrg/*------------------------------------------------. 1315690143ccSmrg| Report that the YYRULE is going to be reduced. | 1316690143ccSmrg`------------------------------------------------*/ 1317f46a6179Smrg 1318690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1319690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1320690143ccSmrgstatic void 1321690143ccSmrgyy_reduce_print (YYSTYPE *yyvsp, int yyrule) 1322690143ccSmrg#else 1323690143ccSmrgstatic void 1324690143ccSmrgyy_reduce_print (yyvsp, yyrule) 1325690143ccSmrg YYSTYPE *yyvsp; 1326690143ccSmrg int yyrule; 132707d2e718Smrg#endif 1328690143ccSmrg{ 1329690143ccSmrg int yynrhs = yyr2[yyrule]; 1330690143ccSmrg int yyi; 1331690143ccSmrg unsigned long int yylno = yyrline[yyrule]; 1332690143ccSmrg YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1333690143ccSmrg yyrule - 1, yylno); 1334690143ccSmrg /* The symbols being reduced. */ 1335690143ccSmrg for (yyi = 0; yyi < yynrhs; yyi++) 1336f46a6179Smrg { 1337c82dfdfbSmrg YYFPRINTF (stderr, " $%d = ", yyi + 1); 1338690143ccSmrg yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 1339690143ccSmrg &(yyvsp[(yyi + 1) - (yynrhs)]) 1340690143ccSmrg ); 1341c82dfdfbSmrg YYFPRINTF (stderr, "\n"); 1342f46a6179Smrg } 1343690143ccSmrg} 1344f46a6179Smrg 1345690143ccSmrg# define YY_REDUCE_PRINT(Rule) \ 1346690143ccSmrgdo { \ 1347690143ccSmrg if (yydebug) \ 1348690143ccSmrg yy_reduce_print (yyvsp, Rule); \ 1349690143ccSmrg} while (YYID (0)) 1350f46a6179Smrg 1351690143ccSmrg/* Nonzero means print parse trace. It is left uninitialized so that 1352690143ccSmrg multiple parsers can coexist. */ 1353690143ccSmrgint yydebug; 1354690143ccSmrg#else /* !YYDEBUG */ 1355690143ccSmrg# define YYDPRINTF(Args) 1356690143ccSmrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1357690143ccSmrg# define YY_STACK_PRINT(Bottom, Top) 1358690143ccSmrg# define YY_REDUCE_PRINT(Rule) 1359690143ccSmrg#endif /* !YYDEBUG */ 1360f46a6179Smrg 1361f46a6179Smrg 1362690143ccSmrg/* YYINITDEPTH -- initial size of the parser's stacks. */ 1363690143ccSmrg#ifndef YYINITDEPTH 1364690143ccSmrg# define YYINITDEPTH 200 136507d2e718Smrg#endif 1366690143ccSmrg 1367690143ccSmrg/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1368690143ccSmrg if the built-in stack extension method is used). 1369690143ccSmrg 1370690143ccSmrg Do not make this value too large; the results are undefined if 1371690143ccSmrg YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1372690143ccSmrg evaluated with infinite-precision integer arithmetic. */ 1373690143ccSmrg 1374690143ccSmrg#ifndef YYMAXDEPTH 1375690143ccSmrg# define YYMAXDEPTH 10000 1376690143ccSmrg#endif 1377690143ccSmrg 1378690143ccSmrg 1379690143ccSmrg#if YYERROR_VERBOSE 1380690143ccSmrg 1381690143ccSmrg# ifndef yystrlen 1382690143ccSmrg# if defined __GLIBC__ && defined _STRING_H 1383690143ccSmrg# define yystrlen strlen 1384690143ccSmrg# else 1385690143ccSmrg/* Return the length of YYSTR. */ 1386690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1387690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1388690143ccSmrgstatic YYSIZE_T 1389690143ccSmrgyystrlen (const char *yystr) 1390690143ccSmrg#else 1391690143ccSmrgstatic YYSIZE_T 1392690143ccSmrgyystrlen (yystr) 1393690143ccSmrg const char *yystr; 139407d2e718Smrg#endif 1395690143ccSmrg{ 1396690143ccSmrg YYSIZE_T yylen; 1397690143ccSmrg for (yylen = 0; yystr[yylen]; yylen++) 1398690143ccSmrg continue; 1399690143ccSmrg return yylen; 1400690143ccSmrg} 1401690143ccSmrg# endif 1402690143ccSmrg# endif 1403690143ccSmrg 1404690143ccSmrg# ifndef yystpcpy 1405690143ccSmrg# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1406690143ccSmrg# define yystpcpy stpcpy 1407690143ccSmrg# else 1408690143ccSmrg/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1409690143ccSmrg YYDEST. */ 1410690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1411690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1412690143ccSmrgstatic char * 1413690143ccSmrgyystpcpy (char *yydest, const char *yysrc) 1414690143ccSmrg#else 1415690143ccSmrgstatic char * 1416690143ccSmrgyystpcpy (yydest, yysrc) 1417690143ccSmrg char *yydest; 1418690143ccSmrg const char *yysrc; 1419690143ccSmrg#endif 1420690143ccSmrg{ 1421690143ccSmrg char *yyd = yydest; 1422690143ccSmrg const char *yys = yysrc; 1423690143ccSmrg 1424690143ccSmrg while ((*yyd++ = *yys++) != '\0') 1425690143ccSmrg continue; 1426690143ccSmrg 1427690143ccSmrg return yyd - 1; 1428690143ccSmrg} 1429690143ccSmrg# endif 1430690143ccSmrg# endif 1431690143ccSmrg 1432690143ccSmrg# ifndef yytnamerr 1433690143ccSmrg/* Copy to YYRES the contents of YYSTR after stripping away unnecessary 1434690143ccSmrg quotes and backslashes, so that it's suitable for yyerror. The 1435690143ccSmrg heuristic is that double-quoting is unnecessary unless the string 1436690143ccSmrg contains an apostrophe, a comma, or backslash (other than 1437690143ccSmrg backslash-backslash). YYSTR is taken from yytname. If YYRES is 1438690143ccSmrg null, do not copy; instead, return the length of what the result 1439690143ccSmrg would have been. */ 1440690143ccSmrgstatic YYSIZE_T 1441690143ccSmrgyytnamerr (char *yyres, const char *yystr) 1442690143ccSmrg{ 1443690143ccSmrg if (*yystr == '"') 1444690143ccSmrg { 1445690143ccSmrg YYSIZE_T yyn = 0; 1446690143ccSmrg char const *yyp = yystr; 1447690143ccSmrg 1448690143ccSmrg for (;;) 1449690143ccSmrg switch (*++yyp) 1450690143ccSmrg { 1451690143ccSmrg case '\'': 1452690143ccSmrg case ',': 1453690143ccSmrg goto do_not_strip_quotes; 1454690143ccSmrg 1455690143ccSmrg case '\\': 1456690143ccSmrg if (*++yyp != '\\') 1457690143ccSmrg goto do_not_strip_quotes; 1458690143ccSmrg /* Fall through. */ 1459690143ccSmrg default: 1460690143ccSmrg if (yyres) 1461690143ccSmrg yyres[yyn] = *yyp; 1462690143ccSmrg yyn++; 1463690143ccSmrg break; 1464690143ccSmrg 1465690143ccSmrg case '"': 1466690143ccSmrg if (yyres) 1467690143ccSmrg yyres[yyn] = '\0'; 1468690143ccSmrg return yyn; 1469690143ccSmrg } 1470690143ccSmrg do_not_strip_quotes: ; 147107d2e718Smrg } 1472690143ccSmrg 1473690143ccSmrg if (! yyres) 1474690143ccSmrg return yystrlen (yystr); 1475690143ccSmrg 1476690143ccSmrg return yystpcpy (yyres, yystr) - yyres; 1477690143ccSmrg} 1478690143ccSmrg# endif 1479690143ccSmrg 1480c82dfdfbSmrg/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 1481c82dfdfbSmrg about the unexpected token YYTOKEN for the state stack whose top is 1482c82dfdfbSmrg YYSSP. 1483690143ccSmrg 1484c82dfdfbSmrg Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is 1485c82dfdfbSmrg not large enough to hold the message. In that case, also set 1486c82dfdfbSmrg *YYMSG_ALLOC to the required number of bytes. Return 2 if the 1487c82dfdfbSmrg required number of bytes is too large to store. */ 1488c82dfdfbSmrgstatic int 1489c82dfdfbSmrgyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 1490c82dfdfbSmrg yytype_int16 *yyssp, int yytoken) 1491c82dfdfbSmrg{ 1492c82dfdfbSmrg YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); 1493c82dfdfbSmrg YYSIZE_T yysize = yysize0; 1494c82dfdfbSmrg YYSIZE_T yysize1; 1495c82dfdfbSmrg enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 1496c82dfdfbSmrg /* Internationalized format string. */ 1497c82dfdfbSmrg const char *yyformat = YY_NULL; 1498c82dfdfbSmrg /* Arguments of yyformat. */ 1499c82dfdfbSmrg char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 1500c82dfdfbSmrg /* Number of reported tokens (one for the "unexpected", one per 1501c82dfdfbSmrg "expected"). */ 1502c82dfdfbSmrg int yycount = 0; 1503c82dfdfbSmrg 1504c82dfdfbSmrg /* There are many possibilities here to consider: 1505c82dfdfbSmrg - Assume YYFAIL is not used. It's too flawed to consider. See 1506c82dfdfbSmrg <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> 1507c82dfdfbSmrg for details. YYERROR is fine as it does not invoke this 1508c82dfdfbSmrg function. 1509c82dfdfbSmrg - If this state is a consistent state with a default action, then 1510c82dfdfbSmrg the only way this function was invoked is if the default action 1511c82dfdfbSmrg is an error action. In that case, don't check for expected 1512c82dfdfbSmrg tokens because there are none. 1513c82dfdfbSmrg - The only way there can be no lookahead present (in yychar) is if 1514c82dfdfbSmrg this state is a consistent state with a default action. Thus, 1515c82dfdfbSmrg detecting the absence of a lookahead is sufficient to determine 1516c82dfdfbSmrg that there is no unexpected or expected token to report. In that 1517c82dfdfbSmrg case, just report a simple "syntax error". 1518c82dfdfbSmrg - Don't assume there isn't a lookahead just because this state is a 1519c82dfdfbSmrg consistent state with a default action. There might have been a 1520c82dfdfbSmrg previous inconsistent state, consistent state with a non-default 1521c82dfdfbSmrg action, or user semantic action that manipulated yychar. 1522c82dfdfbSmrg - Of course, the expected token list depends on states to have 1523c82dfdfbSmrg correct lookahead information, and it depends on the parser not 1524c82dfdfbSmrg to perform extra reductions after fetching a lookahead from the 1525c82dfdfbSmrg scanner and before detecting a syntax error. Thus, state merging 1526c82dfdfbSmrg (from LALR or IELR) and default reductions corrupt the expected 1527c82dfdfbSmrg token list. However, the list is correct for canonical LR with 1528c82dfdfbSmrg one exception: it will still contain any token that will not be 1529c82dfdfbSmrg accepted due to an error action in a later state. 1530c82dfdfbSmrg */ 1531c82dfdfbSmrg if (yytoken != YYEMPTY) 153207d2e718Smrg { 1533c82dfdfbSmrg int yyn = yypact[*yyssp]; 1534c82dfdfbSmrg yyarg[yycount++] = yytname[yytoken]; 1535c82dfdfbSmrg if (!yypact_value_is_default (yyn)) 1536c82dfdfbSmrg { 1537c82dfdfbSmrg /* Start YYX at -YYN if negative to avoid negative indexes in 1538c82dfdfbSmrg YYCHECK. In other words, skip the first -YYN actions for 1539c82dfdfbSmrg this state because they are default actions. */ 1540c82dfdfbSmrg int yyxbegin = yyn < 0 ? -yyn : 0; 1541c82dfdfbSmrg /* Stay within bounds of both yycheck and yytname. */ 1542c82dfdfbSmrg int yychecklim = YYLAST - yyn + 1; 1543c82dfdfbSmrg int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 1544c82dfdfbSmrg int yyx; 1545c82dfdfbSmrg 1546c82dfdfbSmrg for (yyx = yyxbegin; yyx < yyxend; ++yyx) 1547c82dfdfbSmrg if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR 1548c82dfdfbSmrg && !yytable_value_is_error (yytable[yyx + yyn])) 1549c82dfdfbSmrg { 1550c82dfdfbSmrg if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 1551c82dfdfbSmrg { 1552c82dfdfbSmrg yycount = 1; 1553c82dfdfbSmrg yysize = yysize0; 1554c82dfdfbSmrg break; 1555c82dfdfbSmrg } 1556c82dfdfbSmrg yyarg[yycount++] = yytname[yyx]; 1557c82dfdfbSmrg yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); 1558c82dfdfbSmrg if (! (yysize <= yysize1 1559c82dfdfbSmrg && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1560c82dfdfbSmrg return 2; 1561c82dfdfbSmrg yysize = yysize1; 1562c82dfdfbSmrg } 1563c82dfdfbSmrg } 1564c82dfdfbSmrg } 1565690143ccSmrg 1566c82dfdfbSmrg switch (yycount) 1567c82dfdfbSmrg { 1568c82dfdfbSmrg# define YYCASE_(N, S) \ 1569c82dfdfbSmrg case N: \ 1570c82dfdfbSmrg yyformat = S; \ 1571c82dfdfbSmrg break 1572c82dfdfbSmrg YYCASE_(0, YY_("syntax error")); 1573c82dfdfbSmrg YYCASE_(1, YY_("syntax error, unexpected %s")); 1574c82dfdfbSmrg YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 1575c82dfdfbSmrg YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 1576c82dfdfbSmrg YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 1577c82dfdfbSmrg YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 1578c82dfdfbSmrg# undef YYCASE_ 1579c82dfdfbSmrg } 1580690143ccSmrg 1581c82dfdfbSmrg yysize1 = yysize + yystrlen (yyformat); 1582c82dfdfbSmrg if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1583c82dfdfbSmrg return 2; 1584c82dfdfbSmrg yysize = yysize1; 1585690143ccSmrg 1586c82dfdfbSmrg if (*yymsg_alloc < yysize) 1587c82dfdfbSmrg { 1588c82dfdfbSmrg *yymsg_alloc = 2 * yysize; 1589c82dfdfbSmrg if (! (yysize <= *yymsg_alloc 1590c82dfdfbSmrg && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 1591c82dfdfbSmrg *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 1592c82dfdfbSmrg return 1; 1593690143ccSmrg } 1594c82dfdfbSmrg 1595c82dfdfbSmrg /* Avoid sprintf, as that infringes on the user's name space. 1596c82dfdfbSmrg Don't have undefined behavior even if the translation 1597c82dfdfbSmrg produced a string with the wrong number of "%s"s. */ 1598c82dfdfbSmrg { 1599c82dfdfbSmrg char *yyp = *yymsg; 1600c82dfdfbSmrg int yyi = 0; 1601c82dfdfbSmrg while ((*yyp = *yyformat) != '\0') 1602c82dfdfbSmrg if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 1603c82dfdfbSmrg { 1604c82dfdfbSmrg yyp += yytnamerr (yyp, yyarg[yyi++]); 1605c82dfdfbSmrg yyformat += 2; 1606c82dfdfbSmrg } 1607c82dfdfbSmrg else 1608c82dfdfbSmrg { 1609c82dfdfbSmrg yyp++; 1610c82dfdfbSmrg yyformat++; 1611c82dfdfbSmrg } 1612c82dfdfbSmrg } 1613c82dfdfbSmrg return 0; 1614690143ccSmrg} 1615690143ccSmrg#endif /* YYERROR_VERBOSE */ 1616690143ccSmrg 1617690143ccSmrg/*-----------------------------------------------. 1618690143ccSmrg| Release the memory associated to this symbol. | 1619690143ccSmrg`-----------------------------------------------*/ 1620690143ccSmrg 1621690143ccSmrg/*ARGSUSED*/ 1622690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1623690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1624690143ccSmrgstatic void 1625690143ccSmrgyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 1626690143ccSmrg#else 1627690143ccSmrgstatic void 1628690143ccSmrgyydestruct (yymsg, yytype, yyvaluep) 1629690143ccSmrg const char *yymsg; 1630690143ccSmrg int yytype; 1631690143ccSmrg YYSTYPE *yyvaluep; 163207d2e718Smrg#endif 1633690143ccSmrg{ 1634690143ccSmrg YYUSE (yyvaluep); 1635690143ccSmrg 1636690143ccSmrg if (!yymsg) 1637690143ccSmrg yymsg = "Deleting"; 1638690143ccSmrg YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 1639690143ccSmrg 1640690143ccSmrg switch (yytype) 1641690143ccSmrg { 1642690143ccSmrg 1643690143ccSmrg default: 1644690143ccSmrg break; 164507d2e718Smrg } 1646690143ccSmrg} 16471d8c7986Smrg 1648690143ccSmrg 1649690143ccSmrg 16501d8c7986Smrg 1651c82dfdfbSmrg/* The lookahead symbol. */ 1652690143ccSmrgint yychar; 1653690143ccSmrg 1654c82dfdfbSmrg 1655c82dfdfbSmrg#ifndef YYLVAL_INITIALIZE 1656c82dfdfbSmrg# define YYLVAL_INITIALIZE() 1657c82dfdfbSmrg#endif 1658c82dfdfbSmrg#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1659c82dfdfbSmrg# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1660c82dfdfbSmrg# define YY_IGNORE_MAYBE_UNINITIALIZED_END 1661c82dfdfbSmrg#endif 1662c82dfdfbSmrg 1663c82dfdfbSmrg/* The semantic value of the lookahead symbol. */ 1664690143ccSmrgYYSTYPE yylval; 1665690143ccSmrg 1666690143ccSmrg/* Number of syntax errors so far. */ 1667690143ccSmrgint yynerrs; 1668690143ccSmrg 1669690143ccSmrg 16701d8c7986Smrg/*----------. 16711d8c7986Smrg| yyparse. | 16721d8c7986Smrg`----------*/ 1673690143ccSmrg 1674690143ccSmrg#ifdef YYPARSE_PARAM 1675690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1676690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1677690143ccSmrgint 1678690143ccSmrgyyparse (void *YYPARSE_PARAM) 1679690143ccSmrg#else 1680690143ccSmrgint 1681690143ccSmrgyyparse (YYPARSE_PARAM) 1682690143ccSmrg void *YYPARSE_PARAM; 1683690143ccSmrg#endif 1684690143ccSmrg#else /* ! YYPARSE_PARAM */ 1685690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1686690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1687690143ccSmrgint 1688690143ccSmrgyyparse (void) 1689690143ccSmrg#else 1690690143ccSmrgint 1691690143ccSmrgyyparse () 1692690143ccSmrg 1693690143ccSmrg#endif 1694690143ccSmrg#endif 1695690143ccSmrg{ 1696c82dfdfbSmrg int yystate; 1697c82dfdfbSmrg /* Number of tokens to shift before error messages enabled. */ 1698c82dfdfbSmrg int yyerrstatus; 1699c82dfdfbSmrg 1700c82dfdfbSmrg /* The stacks and their tools: 1701c82dfdfbSmrg `yyss': related to states. 1702c82dfdfbSmrg `yyvs': related to semantic values. 1703c82dfdfbSmrg 1704c82dfdfbSmrg Refer to the stacks through separate pointers, to allow yyoverflow 1705c82dfdfbSmrg to reallocate them elsewhere. */ 1706c82dfdfbSmrg 1707c82dfdfbSmrg /* The state stack. */ 1708c82dfdfbSmrg yytype_int16 yyssa[YYINITDEPTH]; 1709c82dfdfbSmrg yytype_int16 *yyss; 1710c82dfdfbSmrg yytype_int16 *yyssp; 1711c82dfdfbSmrg 1712c82dfdfbSmrg /* The semantic value stack. */ 1713c82dfdfbSmrg YYSTYPE yyvsa[YYINITDEPTH]; 1714c82dfdfbSmrg YYSTYPE *yyvs; 1715c82dfdfbSmrg YYSTYPE *yyvsp; 1716c82dfdfbSmrg 1717c82dfdfbSmrg YYSIZE_T yystacksize; 1718c82dfdfbSmrg 17191d8c7986Smrg int yyn; 17201d8c7986Smrg int yyresult; 1721c82dfdfbSmrg /* Lookahead token as an internal (translated) token number. */ 17221d8c7986Smrg int yytoken = 0; 1723c82dfdfbSmrg /* The variables used to return semantic value and location from the 1724c82dfdfbSmrg action routines. */ 1725c82dfdfbSmrg YYSTYPE yyval; 1726c82dfdfbSmrg 17271d8c7986Smrg#if YYERROR_VERBOSE 17281d8c7986Smrg /* Buffer for error messages, and its allocated size. */ 17291d8c7986Smrg char yymsgbuf[128]; 17301d8c7986Smrg char *yymsg = yymsgbuf; 17311d8c7986Smrg YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 17321d8c7986Smrg#endif 1733690143ccSmrg 17341d8c7986Smrg#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 17351d8c7986Smrg 1736690143ccSmrg /* The number of symbols on the RHS of the reduced rule. 1737690143ccSmrg Keep to zero when no symbol should be popped. */ 1738690143ccSmrg int yylen = 0; 1739690143ccSmrg 1740c82dfdfbSmrg yyss = yyssa; 1741c82dfdfbSmrg yyvs = yyvsa; 1742c82dfdfbSmrg yystacksize = YYINITDEPTH; 1743c82dfdfbSmrg 1744690143ccSmrg YYDPRINTF ((stderr, "Starting parse\n")); 1745690143ccSmrg 1746690143ccSmrg yystate = 0; 1747690143ccSmrg yyerrstatus = 0; 1748690143ccSmrg yynerrs = 0; 1749c82dfdfbSmrg yychar = YYEMPTY; /* Cause a token to be read. */ 1750690143ccSmrg 1751690143ccSmrg /* Initialize stack pointers. 1752690143ccSmrg Waste one element of value and location stack 1753690143ccSmrg so that they stay on the same level as the state stack. 1754690143ccSmrg The wasted elements are never initialized. */ 1755690143ccSmrg yyssp = yyss; 1756690143ccSmrg yyvsp = yyvs; 1757690143ccSmrg 1758c82dfdfbSmrg YYLVAL_INITIALIZE (); 1759690143ccSmrg goto yysetstate; 1760690143ccSmrg 1761690143ccSmrg/*------------------------------------------------------------. 1762690143ccSmrg| yynewstate -- Push a new state, which is found in yystate. | 1763690143ccSmrg`------------------------------------------------------------*/ 1764690143ccSmrg yynewstate: 1765690143ccSmrg /* In all cases, when you get here, the value and location stacks 1766690143ccSmrg have just been pushed. So pushing a state here evens the stacks. */ 1767690143ccSmrg yyssp++; 1768690143ccSmrg 1769690143ccSmrg yysetstate: 1770690143ccSmrg *yyssp = yystate; 1771690143ccSmrg 1772690143ccSmrg if (yyss + yystacksize - 1 <= yyssp) 1773690143ccSmrg { 1774690143ccSmrg /* Get the current used size of the three stacks, in elements. */ 1775690143ccSmrg YYSIZE_T yysize = yyssp - yyss + 1; 1776690143ccSmrg 1777690143ccSmrg#ifdef yyoverflow 1778690143ccSmrg { 1779690143ccSmrg /* Give user a chance to reallocate the stack. Use copies of 1780690143ccSmrg these so that the &'s don't force the real ones into 1781690143ccSmrg memory. */ 1782690143ccSmrg YYSTYPE *yyvs1 = yyvs; 1783690143ccSmrg yytype_int16 *yyss1 = yyss; 1784690143ccSmrg 1785690143ccSmrg /* Each stack pointer address is followed by the size of the 1786690143ccSmrg data in use in that stack, in bytes. This used to be a 1787690143ccSmrg conditional around just the two extra args, but that might 1788690143ccSmrg be undefined if yyoverflow is a macro. */ 1789690143ccSmrg yyoverflow (YY_("memory exhausted"), 1790690143ccSmrg &yyss1, yysize * sizeof (*yyssp), 1791690143ccSmrg &yyvs1, yysize * sizeof (*yyvsp), 1792690143ccSmrg &yystacksize); 1793690143ccSmrg 1794690143ccSmrg yyss = yyss1; 1795690143ccSmrg yyvs = yyvs1; 1796690143ccSmrg } 1797690143ccSmrg#else /* no yyoverflow */ 1798690143ccSmrg# ifndef YYSTACK_RELOCATE 1799690143ccSmrg goto yyexhaustedlab; 1800690143ccSmrg# else 1801690143ccSmrg /* Extend the stack our own way. */ 1802690143ccSmrg if (YYMAXDEPTH <= yystacksize) 1803690143ccSmrg goto yyexhaustedlab; 1804690143ccSmrg yystacksize *= 2; 1805690143ccSmrg if (YYMAXDEPTH < yystacksize) 1806690143ccSmrg yystacksize = YYMAXDEPTH; 1807690143ccSmrg 1808690143ccSmrg { 1809690143ccSmrg yytype_int16 *yyss1 = yyss; 1810690143ccSmrg union yyalloc *yyptr = 1811690143ccSmrg (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1812690143ccSmrg if (! yyptr) 1813690143ccSmrg goto yyexhaustedlab; 1814c82dfdfbSmrg YYSTACK_RELOCATE (yyss_alloc, yyss); 1815c82dfdfbSmrg YYSTACK_RELOCATE (yyvs_alloc, yyvs); 1816690143ccSmrg# undef YYSTACK_RELOCATE 1817690143ccSmrg if (yyss1 != yyssa) 1818690143ccSmrg YYSTACK_FREE (yyss1); 1819690143ccSmrg } 1820690143ccSmrg# endif 1821690143ccSmrg#endif /* no yyoverflow */ 1822690143ccSmrg 1823690143ccSmrg yyssp = yyss + yysize - 1; 1824690143ccSmrg yyvsp = yyvs + yysize - 1; 1825690143ccSmrg 1826690143ccSmrg YYDPRINTF ((stderr, "Stack size increased to %lu\n", 1827690143ccSmrg (unsigned long int) yystacksize)); 1828690143ccSmrg 1829690143ccSmrg if (yyss + yystacksize - 1 <= yyssp) 1830690143ccSmrg YYABORT; 1831690143ccSmrg } 1832690143ccSmrg 1833690143ccSmrg YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 1834690143ccSmrg 1835c82dfdfbSmrg if (yystate == YYFINAL) 1836c82dfdfbSmrg YYACCEPT; 1837c82dfdfbSmrg 1838690143ccSmrg goto yybackup; 1839690143ccSmrg 1840690143ccSmrg/*-----------. 1841690143ccSmrg| yybackup. | 1842690143ccSmrg`-----------*/ 1843690143ccSmrgyybackup: 1844690143ccSmrg 1845690143ccSmrg /* Do appropriate processing given the current state. Read a 1846c82dfdfbSmrg lookahead token if we need one and don't already have one. */ 1847690143ccSmrg 1848c82dfdfbSmrg /* First try to decide what to do without reference to lookahead token. */ 1849690143ccSmrg yyn = yypact[yystate]; 1850c82dfdfbSmrg if (yypact_value_is_default (yyn)) 1851690143ccSmrg goto yydefault; 1852690143ccSmrg 1853c82dfdfbSmrg /* Not known => get a lookahead token if don't already have one. */ 1854690143ccSmrg 1855c82dfdfbSmrg /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 1856690143ccSmrg if (yychar == YYEMPTY) 1857690143ccSmrg { 1858690143ccSmrg YYDPRINTF ((stderr, "Reading a token: ")); 1859690143ccSmrg yychar = YYLEX; 1860690143ccSmrg } 1861690143ccSmrg 1862690143ccSmrg if (yychar <= YYEOF) 1863690143ccSmrg { 1864690143ccSmrg yychar = yytoken = YYEOF; 1865690143ccSmrg YYDPRINTF ((stderr, "Now at end of input.\n")); 1866690143ccSmrg } 1867690143ccSmrg else 1868690143ccSmrg { 1869690143ccSmrg yytoken = YYTRANSLATE (yychar); 1870690143ccSmrg YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 1871690143ccSmrg } 1872690143ccSmrg 1873690143ccSmrg /* If the proper action on seeing token YYTOKEN is to reduce or to 1874690143ccSmrg detect an error, take that action. */ 1875690143ccSmrg yyn += yytoken; 1876690143ccSmrg if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 1877690143ccSmrg goto yydefault; 1878690143ccSmrg yyn = yytable[yyn]; 1879690143ccSmrg if (yyn <= 0) 1880690143ccSmrg { 1881c82dfdfbSmrg if (yytable_value_is_error (yyn)) 1882c82dfdfbSmrg goto yyerrlab; 1883690143ccSmrg yyn = -yyn; 1884690143ccSmrg goto yyreduce; 1885690143ccSmrg } 1886690143ccSmrg 1887690143ccSmrg /* Count tokens shifted since error; after three, turn off error 1888690143ccSmrg status. */ 1889690143ccSmrg if (yyerrstatus) 1890690143ccSmrg yyerrstatus--; 1891690143ccSmrg 1892c82dfdfbSmrg /* Shift the lookahead token. */ 1893690143ccSmrg YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1894690143ccSmrg 1895c82dfdfbSmrg /* Discard the shifted token. */ 1896c82dfdfbSmrg yychar = YYEMPTY; 1897690143ccSmrg 1898690143ccSmrg yystate = yyn; 1899c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1900690143ccSmrg *++yyvsp = yylval; 1901c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_END 1902690143ccSmrg 1903690143ccSmrg goto yynewstate; 1904690143ccSmrg 1905690143ccSmrg 1906690143ccSmrg/*-----------------------------------------------------------. 1907690143ccSmrg| yydefault -- do the default action for the current state. | 1908690143ccSmrg`-----------------------------------------------------------*/ 1909690143ccSmrgyydefault: 1910690143ccSmrg yyn = yydefact[yystate]; 1911690143ccSmrg if (yyn == 0) 1912690143ccSmrg goto yyerrlab; 1913690143ccSmrg goto yyreduce; 1914690143ccSmrg 1915690143ccSmrg 1916690143ccSmrg/*-----------------------------. 1917690143ccSmrg| yyreduce -- Do a reduction. | 1918690143ccSmrg`-----------------------------*/ 1919690143ccSmrgyyreduce: 1920690143ccSmrg /* yyn is the number of a rule to reduce with. */ 1921690143ccSmrg yylen = yyr2[yyn]; 1922690143ccSmrg 1923690143ccSmrg /* If YYLEN is nonzero, implement the default value of the action: 1924690143ccSmrg `$$ = $1'. 1925690143ccSmrg 1926690143ccSmrg Otherwise, the following line sets YYVAL to garbage. 1927690143ccSmrg This behavior is undocumented and Bison 1928690143ccSmrg users should not rely upon it. Assigning to YYVAL 1929690143ccSmrg unconditionally makes the parser a bit smaller, and it avoids a 1930690143ccSmrg GCC warning that YYVAL may be used uninitialized. */ 1931690143ccSmrg yyval = yyvsp[1-yylen]; 1932690143ccSmrg 1933690143ccSmrg 1934690143ccSmrg YY_REDUCE_PRINT (yyn); 1935690143ccSmrg switch (yyn) 1936f46a6179Smrg { 1937690143ccSmrg case 2: 1938c82dfdfbSmrg/* Line 1813 of yacc.c */ 193934345a63Smrg#line 169 "xkbparse.y" 1940690143ccSmrg { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); } 1941690143ccSmrg break; 1942690143ccSmrg 1943690143ccSmrg case 3: 1944c82dfdfbSmrg/* Line 1813 of yacc.c */ 194534345a63Smrg#line 171 "xkbparse.y" 1946690143ccSmrg { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); } 1947690143ccSmrg break; 1948690143ccSmrg 1949690143ccSmrg case 4: 1950c82dfdfbSmrg/* Line 1813 of yacc.c */ 195134345a63Smrg#line 173 "xkbparse.y" 1952690143ccSmrg { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); } 1953690143ccSmrg break; 1954690143ccSmrg 1955690143ccSmrg case 5: 1956c82dfdfbSmrg/* Line 1813 of yacc.c */ 195734345a63Smrg#line 177 "xkbparse.y" 1958690143ccSmrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); } 1959690143ccSmrg break; 1960690143ccSmrg 1961690143ccSmrg case 6: 1962c82dfdfbSmrg/* Line 1813 of yacc.c */ 196334345a63Smrg#line 179 "xkbparse.y" 1964690143ccSmrg { (yyval.file)= (yyvsp[(1) - (1)].file); } 1965690143ccSmrg break; 1966690143ccSmrg 1967690143ccSmrg case 7: 1968c82dfdfbSmrg/* Line 1813 of yacc.c */ 196934345a63Smrg#line 185 "xkbparse.y" 1970690143ccSmrg { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),&(yyvsp[(5) - (7)].file)->common,(yyvsp[(1) - (7)].uval)); } 1971690143ccSmrg break; 1972690143ccSmrg 1973690143ccSmrg case 8: 1974c82dfdfbSmrg/* Line 1813 of yacc.c */ 197534345a63Smrg#line 188 "xkbparse.y" 1976690143ccSmrg { (yyval.uval)= XkmKeymapFile; } 1977690143ccSmrg break; 1978690143ccSmrg 1979690143ccSmrg case 9: 1980c82dfdfbSmrg/* Line 1813 of yacc.c */ 198134345a63Smrg#line 189 "xkbparse.y" 1982690143ccSmrg { (yyval.uval)= XkmSemanticsFile; } 1983690143ccSmrg break; 1984690143ccSmrg 1985690143ccSmrg case 10: 1986c82dfdfbSmrg/* Line 1813 of yacc.c */ 198734345a63Smrg#line 190 "xkbparse.y" 1988690143ccSmrg { (yyval.uval)= XkmLayoutFile; } 1989690143ccSmrg break; 1990690143ccSmrg 1991690143ccSmrg case 11: 1992c82dfdfbSmrg/* Line 1813 of yacc.c */ 199334345a63Smrg#line 194 "xkbparse.y" 1994690143ccSmrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); } 1995690143ccSmrg break; 1996690143ccSmrg 1997690143ccSmrg case 12: 1998c82dfdfbSmrg/* Line 1813 of yacc.c */ 199934345a63Smrg#line 196 "xkbparse.y" 2000690143ccSmrg { (yyval.file)= (yyvsp[(1) - (1)].file); } 2001690143ccSmrg break; 2002690143ccSmrg 2003690143ccSmrg case 13: 2004c82dfdfbSmrg/* Line 1813 of yacc.c */ 200534345a63Smrg#line 202 "xkbparse.y" 2006690143ccSmrg { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),(yyvsp[(5) - (7)].any),(yyvsp[(1) - (7)].uval)); } 2007690143ccSmrg break; 2008690143ccSmrg 2009690143ccSmrg case 14: 2010c82dfdfbSmrg/* Line 1813 of yacc.c */ 201134345a63Smrg#line 206 "xkbparse.y" 2012690143ccSmrg { (yyval.file)= CreateXKBFile((yyvsp[(2) - (4)].uval),(yyvsp[(3) - (4)].str),(yyvsp[(4) - (4)].any),(yyvsp[(1) - (4)].uval)); } 2013690143ccSmrg break; 2014690143ccSmrg 2015690143ccSmrg case 15: 2016c82dfdfbSmrg/* Line 1813 of yacc.c */ 201734345a63Smrg#line 210 "xkbparse.y" 2018690143ccSmrg { (yyval.uval)= XkmKeyNamesIndex; } 2019690143ccSmrg break; 2020690143ccSmrg 2021690143ccSmrg case 16: 2022c82dfdfbSmrg/* Line 1813 of yacc.c */ 202334345a63Smrg#line 211 "xkbparse.y" 2024690143ccSmrg { (yyval.uval)= XkmTypesIndex; } 2025690143ccSmrg break; 2026690143ccSmrg 2027690143ccSmrg case 17: 2028c82dfdfbSmrg/* Line 1813 of yacc.c */ 202934345a63Smrg#line 212 "xkbparse.y" 2030690143ccSmrg { (yyval.uval)= XkmCompatMapIndex; } 2031690143ccSmrg break; 2032690143ccSmrg 2033690143ccSmrg case 18: 2034c82dfdfbSmrg/* Line 1813 of yacc.c */ 203534345a63Smrg#line 213 "xkbparse.y" 2036690143ccSmrg { (yyval.uval)= XkmSymbolsIndex; } 2037690143ccSmrg break; 2038690143ccSmrg 2039690143ccSmrg case 19: 2040c82dfdfbSmrg/* Line 1813 of yacc.c */ 204134345a63Smrg#line 214 "xkbparse.y" 2042690143ccSmrg { (yyval.uval)= XkmGeometryIndex; } 2043690143ccSmrg break; 2044690143ccSmrg 2045690143ccSmrg case 20: 2046c82dfdfbSmrg/* Line 1813 of yacc.c */ 204734345a63Smrg#line 217 "xkbparse.y" 2048690143ccSmrg { (yyval.uval)= (yyvsp[(1) - (1)].uval); } 2049690143ccSmrg break; 2050690143ccSmrg 2051690143ccSmrg case 21: 2052c82dfdfbSmrg/* Line 1813 of yacc.c */ 205334345a63Smrg#line 218 "xkbparse.y" 2054690143ccSmrg { (yyval.uval)= 0; } 2055690143ccSmrg break; 2056690143ccSmrg 2057690143ccSmrg case 22: 2058c82dfdfbSmrg/* Line 1813 of yacc.c */ 205934345a63Smrg#line 221 "xkbparse.y" 2060690143ccSmrg { (yyval.uval)= (((yyvsp[(1) - (2)].uval))|((yyvsp[(2) - (2)].uval))); } 2061690143ccSmrg break; 2062690143ccSmrg 2063690143ccSmrg case 23: 2064c82dfdfbSmrg/* Line 1813 of yacc.c */ 206534345a63Smrg#line 222 "xkbparse.y" 2066690143ccSmrg { (yyval.uval)= (yyvsp[(1) - (1)].uval); } 2067690143ccSmrg break; 2068690143ccSmrg 2069690143ccSmrg case 24: 2070c82dfdfbSmrg/* Line 1813 of yacc.c */ 207134345a63Smrg#line 225 "xkbparse.y" 2072690143ccSmrg { (yyval.uval)= XkbLC_Partial; } 2073690143ccSmrg break; 2074690143ccSmrg 2075690143ccSmrg case 25: 2076c82dfdfbSmrg/* Line 1813 of yacc.c */ 207734345a63Smrg#line 226 "xkbparse.y" 2078690143ccSmrg { (yyval.uval)= XkbLC_Default; } 2079690143ccSmrg break; 2080690143ccSmrg 2081690143ccSmrg case 26: 2082c82dfdfbSmrg/* Line 1813 of yacc.c */ 208334345a63Smrg#line 227 "xkbparse.y" 2084690143ccSmrg { (yyval.uval)= XkbLC_Hidden; } 2085690143ccSmrg break; 2086690143ccSmrg 2087690143ccSmrg case 27: 2088c82dfdfbSmrg/* Line 1813 of yacc.c */ 208934345a63Smrg#line 228 "xkbparse.y" 2090690143ccSmrg { (yyval.uval)= XkbLC_AlphanumericKeys; } 2091690143ccSmrg break; 2092690143ccSmrg 2093690143ccSmrg case 28: 2094c82dfdfbSmrg/* Line 1813 of yacc.c */ 209534345a63Smrg#line 229 "xkbparse.y" 2096690143ccSmrg { (yyval.uval)= XkbLC_ModifierKeys; } 2097690143ccSmrg break; 2098690143ccSmrg 2099690143ccSmrg case 29: 2100c82dfdfbSmrg/* Line 1813 of yacc.c */ 210134345a63Smrg#line 230 "xkbparse.y" 2102690143ccSmrg { (yyval.uval)= XkbLC_KeypadKeys; } 2103690143ccSmrg break; 2104690143ccSmrg 2105690143ccSmrg case 30: 2106c82dfdfbSmrg/* Line 1813 of yacc.c */ 210734345a63Smrg#line 231 "xkbparse.y" 2108690143ccSmrg { (yyval.uval)= XkbLC_FunctionKeys; } 2109690143ccSmrg break; 2110690143ccSmrg 2111690143ccSmrg case 31: 2112c82dfdfbSmrg/* Line 1813 of yacc.c */ 211334345a63Smrg#line 232 "xkbparse.y" 2114690143ccSmrg { (yyval.uval)= XkbLC_AlternateGroup; } 2115690143ccSmrg break; 2116690143ccSmrg 2117690143ccSmrg case 32: 2118c82dfdfbSmrg/* Line 1813 of yacc.c */ 211934345a63Smrg#line 236 "xkbparse.y" 2120690143ccSmrg { (yyval.any)= AppendStmt((yyvsp[(1) - (2)].any),(yyvsp[(2) - (2)].any)); } 2121690143ccSmrg break; 2122690143ccSmrg 2123690143ccSmrg case 33: 2124c82dfdfbSmrg/* Line 1813 of yacc.c */ 212534345a63Smrg#line 237 "xkbparse.y" 2126690143ccSmrg { (yyval.any)= NULL; } 2127690143ccSmrg break; 2128690143ccSmrg 2129690143ccSmrg case 34: 2130c82dfdfbSmrg/* Line 1813 of yacc.c */ 213134345a63Smrg#line 241 "xkbparse.y" 2132690143ccSmrg { 2133690143ccSmrg (yyvsp[(2) - (2)].var)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].var)->common,(yyvsp[(1) - (2)].uval)); 2134690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].var)->common; 2135f46a6179Smrg } 2136690143ccSmrg break; 2137690143ccSmrg 2138690143ccSmrg case 35: 2139c82dfdfbSmrg/* Line 1813 of yacc.c */ 214034345a63Smrg#line 246 "xkbparse.y" 2141690143ccSmrg { 2142690143ccSmrg (yyvsp[(2) - (2)].vmod)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].vmod)->common,(yyvsp[(1) - (2)].uval)); 2143690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].vmod)->common; 2144f46a6179Smrg } 2145690143ccSmrg break; 2146690143ccSmrg 2147690143ccSmrg case 36: 2148c82dfdfbSmrg/* Line 1813 of yacc.c */ 214934345a63Smrg#line 251 "xkbparse.y" 2150690143ccSmrg { 2151690143ccSmrg (yyvsp[(2) - (2)].interp)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].interp)->common,(yyvsp[(1) - (2)].uval)); 2152690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].interp)->common; 2153f46a6179Smrg } 2154690143ccSmrg break; 2155690143ccSmrg 2156690143ccSmrg case 37: 2157c82dfdfbSmrg/* Line 1813 of yacc.c */ 215834345a63Smrg#line 256 "xkbparse.y" 2159690143ccSmrg { 2160690143ccSmrg (yyvsp[(2) - (2)].keyName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyName)->common,(yyvsp[(1) - (2)].uval)); 2161690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].keyName)->common; 2162f46a6179Smrg } 2163690143ccSmrg break; 2164690143ccSmrg 2165690143ccSmrg case 38: 2166c82dfdfbSmrg/* Line 1813 of yacc.c */ 216734345a63Smrg#line 261 "xkbparse.y" 2168690143ccSmrg { 2169690143ccSmrg (yyvsp[(2) - (2)].keyAlias)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyAlias)->common,(yyvsp[(1) - (2)].uval)); 2170690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].keyAlias)->common; 2171f46a6179Smrg } 2172690143ccSmrg break; 2173690143ccSmrg 2174690143ccSmrg case 39: 2175c82dfdfbSmrg/* Line 1813 of yacc.c */ 217634345a63Smrg#line 266 "xkbparse.y" 2177690143ccSmrg { 2178690143ccSmrg (yyvsp[(2) - (2)].keyType)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyType)->common,(yyvsp[(1) - (2)].uval)); 2179690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].keyType)->common; 2180f46a6179Smrg } 2181690143ccSmrg break; 2182690143ccSmrg 2183690143ccSmrg case 40: 2184c82dfdfbSmrg/* Line 1813 of yacc.c */ 218534345a63Smrg#line 271 "xkbparse.y" 2186690143ccSmrg { 2187690143ccSmrg (yyvsp[(2) - (2)].syms)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].syms)->common,(yyvsp[(1) - (2)].uval)); 2188690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].syms)->common; 2189f46a6179Smrg } 2190690143ccSmrg break; 2191690143ccSmrg 2192690143ccSmrg case 41: 2193c82dfdfbSmrg/* Line 1813 of yacc.c */ 219434345a63Smrg#line 276 "xkbparse.y" 2195690143ccSmrg { 2196690143ccSmrg (yyvsp[(2) - (2)].modMask)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].modMask)->common,(yyvsp[(1) - (2)].uval)); 2197690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].modMask)->common; 2198f46a6179Smrg } 2199690143ccSmrg break; 2200690143ccSmrg 2201690143ccSmrg case 42: 2202c82dfdfbSmrg/* Line 1813 of yacc.c */ 220334345a63Smrg#line 281 "xkbparse.y" 2204690143ccSmrg { 2205690143ccSmrg (yyvsp[(2) - (2)].groupCompat)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].groupCompat)->common,(yyvsp[(1) - (2)].uval)); 2206690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].groupCompat)->common; 2207f46a6179Smrg } 2208690143ccSmrg break; 2209690143ccSmrg 2210690143ccSmrg case 43: 2211c82dfdfbSmrg/* Line 1813 of yacc.c */ 221234345a63Smrg#line 286 "xkbparse.y" 2213690143ccSmrg { 2214690143ccSmrg (yyvsp[(2) - (2)].ledMap)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledMap)->common,(yyvsp[(1) - (2)].uval)); 2215690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].ledMap)->common; 2216f46a6179Smrg } 2217690143ccSmrg break; 2218690143ccSmrg 2219690143ccSmrg case 44: 2220c82dfdfbSmrg/* Line 1813 of yacc.c */ 222134345a63Smrg#line 291 "xkbparse.y" 2222690143ccSmrg { 2223690143ccSmrg (yyvsp[(2) - (2)].ledName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledName)->common,(yyvsp[(1) - (2)].uval)); 2224690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].ledName)->common; 2225f46a6179Smrg } 2226690143ccSmrg break; 2227690143ccSmrg 2228690143ccSmrg case 45: 2229c82dfdfbSmrg/* Line 1813 of yacc.c */ 223034345a63Smrg#line 296 "xkbparse.y" 2231690143ccSmrg { 2232690143ccSmrg (yyvsp[(2) - (2)].shape)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].shape)->common,(yyvsp[(1) - (2)].uval)); 2233690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].shape)->common; 2234f46a6179Smrg } 2235690143ccSmrg break; 2236690143ccSmrg 2237690143ccSmrg case 46: 2238c82dfdfbSmrg/* Line 1813 of yacc.c */ 223934345a63Smrg#line 301 "xkbparse.y" 2240690143ccSmrg { 2241690143ccSmrg (yyvsp[(2) - (2)].section)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].section)->common,(yyvsp[(1) - (2)].uval)); 2242690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].section)->common; 2243f46a6179Smrg } 2244690143ccSmrg break; 2245690143ccSmrg 2246690143ccSmrg case 47: 2247c82dfdfbSmrg/* Line 1813 of yacc.c */ 224834345a63Smrg#line 306 "xkbparse.y" 2249690143ccSmrg { 2250690143ccSmrg (yyvsp[(2) - (2)].doodad)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].doodad)->common,(yyvsp[(1) - (2)].uval)); 2251690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].doodad)->common; 2252f46a6179Smrg } 2253690143ccSmrg break; 2254690143ccSmrg 2255690143ccSmrg case 48: 2256c82dfdfbSmrg/* Line 1813 of yacc.c */ 225734345a63Smrg#line 311 "xkbparse.y" 2258690143ccSmrg { 2259690143ccSmrg if ((yyvsp[(1) - (2)].uval)==MergeAltForm) { 2260f46a6179Smrg yyerror("cannot use 'alternate' to include other maps"); 2261690143ccSmrg (yyval.any)= &IncludeCreate(scanBuf,MergeDefault)->common; 2262f46a6179Smrg } 2263f46a6179Smrg else { 2264690143ccSmrg (yyval.any)= &IncludeCreate(scanBuf,(yyvsp[(1) - (2)].uval))->common; 2265f46a6179Smrg } 2266f46a6179Smrg } 2267690143ccSmrg break; 2268690143ccSmrg 2269690143ccSmrg case 49: 2270c82dfdfbSmrg/* Line 1813 of yacc.c */ 227134345a63Smrg#line 323 "xkbparse.y" 2272690143ccSmrg { (yyval.var)= VarCreate((yyvsp[(1) - (4)].expr),(yyvsp[(3) - (4)].expr)); } 2273690143ccSmrg break; 2274690143ccSmrg 2275690143ccSmrg case 50: 2276c82dfdfbSmrg/* Line 1813 of yacc.c */ 227734345a63Smrg#line 325 "xkbparse.y" 2278690143ccSmrg { (yyval.var)= BoolVarCreate((yyvsp[(1) - (2)].sval),1); } 2279690143ccSmrg break; 2280690143ccSmrg 2281690143ccSmrg case 51: 2282c82dfdfbSmrg/* Line 1813 of yacc.c */ 228334345a63Smrg#line 327 "xkbparse.y" 2284690143ccSmrg { (yyval.var)= BoolVarCreate((yyvsp[(2) - (3)].sval),0); } 2285690143ccSmrg break; 2286690143ccSmrg 2287690143ccSmrg case 52: 2288c82dfdfbSmrg/* Line 1813 of yacc.c */ 228934345a63Smrg#line 331 "xkbparse.y" 2290690143ccSmrg { 2291f46a6179Smrg KeycodeDef *def; 2292f46a6179Smrg 2293690143ccSmrg def= KeycodeCreate((yyvsp[(1) - (4)].str),(yyvsp[(3) - (4)].expr)); 2294690143ccSmrg if ((yyvsp[(1) - (4)].str)) 2295690143ccSmrg free((yyvsp[(1) - (4)].str)); 2296690143ccSmrg (yyval.keyName)= def; 2297f46a6179Smrg } 2298690143ccSmrg break; 2299690143ccSmrg 2300690143ccSmrg case 53: 2301c82dfdfbSmrg/* Line 1813 of yacc.c */ 230234345a63Smrg#line 342 "xkbparse.y" 2303690143ccSmrg { 2304f46a6179Smrg KeyAliasDef *def; 2305690143ccSmrg def= KeyAliasCreate((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].str)); 2306690143ccSmrg if ((yyvsp[(2) - (5)].str)) free((yyvsp[(2) - (5)].str)); 2307690143ccSmrg if ((yyvsp[(4) - (5)].str)) free((yyvsp[(4) - (5)].str)); 2308690143ccSmrg (yyval.keyAlias)= def; 2309f46a6179Smrg } 2310690143ccSmrg break; 2311690143ccSmrg 2312690143ccSmrg case 54: 2313c82dfdfbSmrg/* Line 1813 of yacc.c */ 231434345a63Smrg#line 352 "xkbparse.y" 2315690143ccSmrg { (yyval.vmod)= (yyvsp[(2) - (3)].vmod); } 2316690143ccSmrg break; 2317690143ccSmrg 2318690143ccSmrg case 55: 2319c82dfdfbSmrg/* Line 1813 of yacc.c */ 232034345a63Smrg#line 356 "xkbparse.y" 2321690143ccSmrg { (yyval.vmod)= (VModDef *)AppendStmt(&(yyvsp[(1) - (3)].vmod)->common,&(yyvsp[(3) - (3)].vmod)->common); } 2322690143ccSmrg break; 2323690143ccSmrg 2324690143ccSmrg case 56: 2325c82dfdfbSmrg/* Line 1813 of yacc.c */ 232634345a63Smrg#line 358 "xkbparse.y" 2327690143ccSmrg { (yyval.vmod)= (yyvsp[(1) - (1)].vmod); } 2328690143ccSmrg break; 2329690143ccSmrg 2330690143ccSmrg case 57: 2331c82dfdfbSmrg/* Line 1813 of yacc.c */ 233234345a63Smrg#line 362 "xkbparse.y" 2333690143ccSmrg { (yyval.vmod)= VModCreate((yyvsp[(1) - (1)].sval),NULL); } 2334690143ccSmrg break; 2335690143ccSmrg 2336690143ccSmrg case 58: 2337c82dfdfbSmrg/* Line 1813 of yacc.c */ 233834345a63Smrg#line 364 "xkbparse.y" 2339690143ccSmrg { (yyval.vmod)= VModCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); } 2340690143ccSmrg break; 2341690143ccSmrg 2342690143ccSmrg case 59: 2343c82dfdfbSmrg/* Line 1813 of yacc.c */ 234434345a63Smrg#line 370 "xkbparse.y" 2345690143ccSmrg { 2346690143ccSmrg (yyvsp[(2) - (6)].interp)->def= (yyvsp[(4) - (6)].var); 2347690143ccSmrg (yyval.interp)= (yyvsp[(2) - (6)].interp); 2348f46a6179Smrg } 2349690143ccSmrg break; 2350690143ccSmrg 2351690143ccSmrg case 60: 2352c82dfdfbSmrg/* Line 1813 of yacc.c */ 235334345a63Smrg#line 377 "xkbparse.y" 2354690143ccSmrg { (yyval.interp)= InterpCreate((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].expr)); } 2355690143ccSmrg break; 2356690143ccSmrg 2357690143ccSmrg case 61: 2358c82dfdfbSmrg/* Line 1813 of yacc.c */ 235934345a63Smrg#line 379 "xkbparse.y" 2360690143ccSmrg { (yyval.interp)= InterpCreate((yyvsp[(1) - (1)].str), NULL); } 2361690143ccSmrg break; 2362690143ccSmrg 2363690143ccSmrg case 62: 2364c82dfdfbSmrg/* Line 1813 of yacc.c */ 236534345a63Smrg#line 383 "xkbparse.y" 2366690143ccSmrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (2)].var)->common,&(yyvsp[(2) - (2)].var)->common); } 2367690143ccSmrg break; 2368690143ccSmrg 2369690143ccSmrg case 63: 2370c82dfdfbSmrg/* Line 1813 of yacc.c */ 237134345a63Smrg#line 385 "xkbparse.y" 2372690143ccSmrg { (yyval.var)= (yyvsp[(1) - (1)].var); } 2373690143ccSmrg break; 2374690143ccSmrg 2375690143ccSmrg case 64: 2376c82dfdfbSmrg/* Line 1813 of yacc.c */ 237734345a63Smrg#line 391 "xkbparse.y" 2378690143ccSmrg { (yyval.keyType)= KeyTypeCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); } 2379690143ccSmrg break; 2380690143ccSmrg 2381690143ccSmrg case 65: 2382c82dfdfbSmrg/* Line 1813 of yacc.c */ 238334345a63Smrg#line 397 "xkbparse.y" 2384690143ccSmrg { (yyval.syms)= SymbolsCreate((yyvsp[(2) - (6)].str),(ExprDef *)(yyvsp[(4) - (6)].var)); } 2385690143ccSmrg break; 2386690143ccSmrg 2387690143ccSmrg case 66: 2388c82dfdfbSmrg/* Line 1813 of yacc.c */ 238934345a63Smrg#line 401 "xkbparse.y" 2390690143ccSmrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (3)].var)->common,&(yyvsp[(3) - (3)].var)->common); } 2391690143ccSmrg break; 2392690143ccSmrg 2393690143ccSmrg case 67: 2394c82dfdfbSmrg/* Line 1813 of yacc.c */ 239534345a63Smrg#line 403 "xkbparse.y" 2396690143ccSmrg { (yyval.var)= (yyvsp[(1) - (1)].var); } 2397690143ccSmrg break; 2398690143ccSmrg 2399690143ccSmrg case 68: 2400c82dfdfbSmrg/* Line 1813 of yacc.c */ 240134345a63Smrg#line 404 "xkbparse.y" 2402690143ccSmrg { (yyval.var)= NULL; } 2403690143ccSmrg break; 2404690143ccSmrg 2405690143ccSmrg case 69: 2406c82dfdfbSmrg/* Line 1813 of yacc.c */ 240734345a63Smrg#line 408 "xkbparse.y" 2408690143ccSmrg { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2409690143ccSmrg break; 2410690143ccSmrg 2411690143ccSmrg case 70: 2412c82dfdfbSmrg/* Line 1813 of yacc.c */ 241334345a63Smrg#line 410 "xkbparse.y" 2414690143ccSmrg { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2415690143ccSmrg break; 2416690143ccSmrg 2417690143ccSmrg case 71: 2418c82dfdfbSmrg/* Line 1813 of yacc.c */ 241934345a63Smrg#line 412 "xkbparse.y" 2420690143ccSmrg { (yyval.var)= BoolVarCreate((yyvsp[(1) - (1)].sval),1); } 2421690143ccSmrg break; 2422690143ccSmrg 2423690143ccSmrg case 72: 2424c82dfdfbSmrg/* Line 1813 of yacc.c */ 242534345a63Smrg#line 414 "xkbparse.y" 2426690143ccSmrg { (yyval.var)= BoolVarCreate((yyvsp[(2) - (2)].sval),0); } 2427690143ccSmrg break; 2428690143ccSmrg 2429690143ccSmrg case 73: 2430c82dfdfbSmrg/* Line 1813 of yacc.c */ 243134345a63Smrg#line 416 "xkbparse.y" 2432690143ccSmrg { (yyval.var)= VarCreate(NULL,(yyvsp[(1) - (1)].expr)); } 2433690143ccSmrg break; 2434690143ccSmrg 2435690143ccSmrg case 74: 2436c82dfdfbSmrg/* Line 1813 of yacc.c */ 243734345a63Smrg#line 420 "xkbparse.y" 2438690143ccSmrg { (yyval.expr)= (yyvsp[(2) - (3)].expr); } 2439690143ccSmrg break; 2440690143ccSmrg 2441690143ccSmrg case 75: 2442c82dfdfbSmrg/* Line 1813 of yacc.c */ 244334345a63Smrg#line 422 "xkbparse.y" 2444690143ccSmrg { (yyval.expr)= ExprCreateUnary(ExprActionList,TypeAction,(yyvsp[(2) - (3)].expr)); } 2445690143ccSmrg break; 2446690143ccSmrg 2447690143ccSmrg case 76: 2448c82dfdfbSmrg/* Line 1813 of yacc.c */ 244934345a63Smrg#line 426 "xkbparse.y" 2450690143ccSmrg { (yyval.groupCompat)= GroupCompatCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr)); } 2451690143ccSmrg break; 2452690143ccSmrg 2453690143ccSmrg case 77: 2454c82dfdfbSmrg/* Line 1813 of yacc.c */ 245534345a63Smrg#line 430 "xkbparse.y" 2456690143ccSmrg { (yyval.modMask)= ModMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].expr)); } 2457690143ccSmrg break; 2458690143ccSmrg 2459690143ccSmrg case 78: 2460c82dfdfbSmrg/* Line 1813 of yacc.c */ 246134345a63Smrg#line 434 "xkbparse.y" 2462690143ccSmrg { (yyval.ledMap)= IndicatorMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); } 2463690143ccSmrg break; 2464690143ccSmrg 2465690143ccSmrg case 79: 2466c82dfdfbSmrg/* Line 1813 of yacc.c */ 246734345a63Smrg#line 438 "xkbparse.y" 2468690143ccSmrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr),False); } 2469690143ccSmrg break; 2470690143ccSmrg 2471690143ccSmrg case 80: 2472c82dfdfbSmrg/* Line 1813 of yacc.c */ 247334345a63Smrg#line 440 "xkbparse.y" 2474690143ccSmrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[(3) - (6)].ival),(yyvsp[(5) - (6)].expr),True); } 2475690143ccSmrg break; 2476690143ccSmrg 2477690143ccSmrg case 81: 2478c82dfdfbSmrg/* Line 1813 of yacc.c */ 247934345a63Smrg#line 444 "xkbparse.y" 2480690143ccSmrg { (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),(OutlineDef *)&(yyvsp[(4) - (6)].outline)->common); } 2481690143ccSmrg break; 2482690143ccSmrg 2483690143ccSmrg case 82: 2484c82dfdfbSmrg/* Line 1813 of yacc.c */ 248534345a63Smrg#line 446 "xkbparse.y" 2486690143ccSmrg { 2487f46a6179Smrg OutlineDef *outlines; 2488690143ccSmrg outlines= OutlineCreate(None,(yyvsp[(4) - (6)].expr)); 2489690143ccSmrg (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),outlines); 2490f46a6179Smrg } 2491690143ccSmrg break; 2492690143ccSmrg 2493690143ccSmrg case 83: 2494c82dfdfbSmrg/* Line 1813 of yacc.c */ 249534345a63Smrg#line 454 "xkbparse.y" 2496690143ccSmrg { (yyval.section)= SectionDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].row)); } 2497690143ccSmrg break; 2498690143ccSmrg 2499690143ccSmrg case 84: 2500c82dfdfbSmrg/* Line 1813 of yacc.c */ 250134345a63Smrg#line 458 "xkbparse.y" 2502690143ccSmrg { (yyval.row)=(RowDef *)AppendStmt(&(yyvsp[(1) - (2)].row)->common,&(yyvsp[(2) - (2)].row)->common);} 2503690143ccSmrg break; 2504690143ccSmrg 2505690143ccSmrg case 85: 2506c82dfdfbSmrg/* Line 1813 of yacc.c */ 250734345a63Smrg#line 460 "xkbparse.y" 2508690143ccSmrg { (yyval.row)= (yyvsp[(1) - (1)].row); } 2509690143ccSmrg break; 2510690143ccSmrg 2511690143ccSmrg case 86: 2512c82dfdfbSmrg/* Line 1813 of yacc.c */ 251334345a63Smrg#line 464 "xkbparse.y" 2514690143ccSmrg { (yyval.row)= RowDeclCreate((yyvsp[(3) - (5)].key)); } 2515690143ccSmrg break; 2516690143ccSmrg 2517690143ccSmrg case 87: 2518c82dfdfbSmrg/* Line 1813 of yacc.c */ 251934345a63Smrg#line 466 "xkbparse.y" 2520690143ccSmrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].var); } 2521690143ccSmrg break; 2522690143ccSmrg 2523690143ccSmrg case 88: 2524c82dfdfbSmrg/* Line 1813 of yacc.c */ 252534345a63Smrg#line 468 "xkbparse.y" 2526690143ccSmrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].doodad); } 2527690143ccSmrg break; 2528690143ccSmrg 2529690143ccSmrg case 89: 2530c82dfdfbSmrg/* Line 1813 of yacc.c */ 253134345a63Smrg#line 470 "xkbparse.y" 2532690143ccSmrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].ledMap); } 2533690143ccSmrg break; 2534690143ccSmrg 2535690143ccSmrg case 90: 2536c82dfdfbSmrg/* Line 1813 of yacc.c */ 253734345a63Smrg#line 472 "xkbparse.y" 2538690143ccSmrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].overlay); } 2539690143ccSmrg break; 2540690143ccSmrg 2541690143ccSmrg case 91: 2542c82dfdfbSmrg/* Line 1813 of yacc.c */ 254334345a63Smrg#line 476 "xkbparse.y" 2544690143ccSmrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (2)].key)->common,&(yyvsp[(2) - (2)].key)->common);} 2545690143ccSmrg break; 2546690143ccSmrg 2547690143ccSmrg case 92: 2548c82dfdfbSmrg/* Line 1813 of yacc.c */ 254934345a63Smrg#line 478 "xkbparse.y" 2550690143ccSmrg { (yyval.key)= (yyvsp[(1) - (1)].key); } 2551690143ccSmrg break; 2552690143ccSmrg 2553690143ccSmrg case 93: 2554c82dfdfbSmrg/* Line 1813 of yacc.c */ 255534345a63Smrg#line 482 "xkbparse.y" 2556690143ccSmrg { (yyval.key)= (yyvsp[(3) - (5)].key); } 2557690143ccSmrg break; 2558690143ccSmrg 2559690143ccSmrg case 94: 2560c82dfdfbSmrg/* Line 1813 of yacc.c */ 256134345a63Smrg#line 484 "xkbparse.y" 2562690143ccSmrg { (yyval.key)= (KeyDef *)(yyvsp[(1) - (1)].var); } 2563690143ccSmrg break; 2564690143ccSmrg 2565690143ccSmrg case 95: 2566c82dfdfbSmrg/* Line 1813 of yacc.c */ 256734345a63Smrg#line 488 "xkbparse.y" 2568690143ccSmrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (3)].key)->common,&(yyvsp[(3) - (3)].key)->common);} 2569690143ccSmrg break; 2570690143ccSmrg 2571690143ccSmrg case 96: 2572c82dfdfbSmrg/* Line 1813 of yacc.c */ 257334345a63Smrg#line 490 "xkbparse.y" 2574690143ccSmrg { (yyval.key)= (yyvsp[(1) - (1)].key); } 2575690143ccSmrg break; 2576690143ccSmrg 2577690143ccSmrg case 97: 2578c82dfdfbSmrg/* Line 1813 of yacc.c */ 257934345a63Smrg#line 494 "xkbparse.y" 2580690143ccSmrg { (yyval.key)= KeyDeclCreate((yyvsp[(1) - (1)].str),NULL); } 2581690143ccSmrg break; 2582690143ccSmrg 2583690143ccSmrg case 98: 2584c82dfdfbSmrg/* Line 1813 of yacc.c */ 258534345a63Smrg#line 496 "xkbparse.y" 2586690143ccSmrg { (yyval.key)= KeyDeclCreate(NULL,(yyvsp[(2) - (3)].expr)); } 2587690143ccSmrg break; 2588690143ccSmrg 2589690143ccSmrg case 99: 2590c82dfdfbSmrg/* Line 1813 of yacc.c */ 259134345a63Smrg#line 500 "xkbparse.y" 2592690143ccSmrg { (yyval.overlay)= OverlayDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].olKey)); } 2593690143ccSmrg break; 2594690143ccSmrg 2595690143ccSmrg case 100: 2596c82dfdfbSmrg/* Line 1813 of yacc.c */ 259734345a63Smrg#line 504 "xkbparse.y" 2598690143ccSmrg { 2599690143ccSmrg (yyval.olKey)= (OverlayKeyDef *) 2600690143ccSmrg AppendStmt(&(yyvsp[(1) - (3)].olKey)->common,&(yyvsp[(3) - (3)].olKey)->common); 2601f46a6179Smrg } 2602690143ccSmrg break; 2603690143ccSmrg 2604690143ccSmrg case 101: 2605c82dfdfbSmrg/* Line 1813 of yacc.c */ 260634345a63Smrg#line 509 "xkbparse.y" 2607690143ccSmrg { (yyval.olKey)= (yyvsp[(1) - (1)].olKey); } 2608690143ccSmrg break; 2609690143ccSmrg 2610690143ccSmrg case 102: 2611c82dfdfbSmrg/* Line 1813 of yacc.c */ 261234345a63Smrg#line 513 "xkbparse.y" 2613690143ccSmrg { (yyval.olKey)= OverlayKeyCreate((yyvsp[(1) - (3)].str),(yyvsp[(3) - (3)].str)); } 2614690143ccSmrg break; 2615690143ccSmrg 2616690143ccSmrg case 103: 2617c82dfdfbSmrg/* Line 1813 of yacc.c */ 261834345a63Smrg#line 517 "xkbparse.y" 2619690143ccSmrg { (yyval.outline)=(OutlineDef *)AppendStmt(&(yyvsp[(1) - (3)].outline)->common,&(yyvsp[(3) - (3)].outline)->common);} 2620690143ccSmrg break; 2621690143ccSmrg 2622690143ccSmrg case 104: 2623c82dfdfbSmrg/* Line 1813 of yacc.c */ 262434345a63Smrg#line 519 "xkbparse.y" 2625690143ccSmrg { (yyval.outline)= (yyvsp[(1) - (1)].outline); } 2626690143ccSmrg break; 2627690143ccSmrg 2628690143ccSmrg case 105: 2629c82dfdfbSmrg/* Line 1813 of yacc.c */ 263034345a63Smrg#line 523 "xkbparse.y" 2631690143ccSmrg { (yyval.outline)= OutlineCreate(None,(yyvsp[(2) - (3)].expr)); } 2632690143ccSmrg break; 2633690143ccSmrg 2634690143ccSmrg case 106: 2635c82dfdfbSmrg/* Line 1813 of yacc.c */ 263634345a63Smrg#line 525 "xkbparse.y" 2637690143ccSmrg { (yyval.outline)= OutlineCreate((yyvsp[(1) - (5)].sval),(yyvsp[(4) - (5)].expr)); } 2638690143ccSmrg break; 2639690143ccSmrg 2640690143ccSmrg case 107: 2641c82dfdfbSmrg/* Line 1813 of yacc.c */ 264234345a63Smrg#line 527 "xkbparse.y" 2643690143ccSmrg { (yyval.outline)= OutlineCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); } 2644690143ccSmrg break; 2645690143ccSmrg 2646690143ccSmrg case 108: 2647c82dfdfbSmrg/* Line 1813 of yacc.c */ 264834345a63Smrg#line 531 "xkbparse.y" 2649690143ccSmrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); } 2650690143ccSmrg break; 2651690143ccSmrg 2652690143ccSmrg case 109: 2653c82dfdfbSmrg/* Line 1813 of yacc.c */ 265434345a63Smrg#line 533 "xkbparse.y" 2655690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2656690143ccSmrg break; 2657690143ccSmrg 2658690143ccSmrg case 110: 2659c82dfdfbSmrg/* Line 1813 of yacc.c */ 266034345a63Smrg#line 537 "xkbparse.y" 2661690143ccSmrg { 2662f46a6179Smrg ExprDef *expr; 2663f46a6179Smrg expr= ExprCreate(ExprCoord,TypeUnknown); 2664690143ccSmrg expr->value.coord.x= (yyvsp[(2) - (5)].ival); 2665690143ccSmrg expr->value.coord.y= (yyvsp[(4) - (5)].ival); 2666690143ccSmrg (yyval.expr)= expr; 2667f46a6179Smrg } 2668690143ccSmrg break; 2669690143ccSmrg 2670690143ccSmrg case 111: 2671c82dfdfbSmrg/* Line 1813 of yacc.c */ 267234345a63Smrg#line 547 "xkbparse.y" 2673690143ccSmrg { (yyval.doodad)= DoodadCreate((yyvsp[(1) - (6)].uval),(yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); } 2674690143ccSmrg break; 2675690143ccSmrg 2676690143ccSmrg case 112: 2677c82dfdfbSmrg/* Line 1813 of yacc.c */ 267834345a63Smrg#line 550 "xkbparse.y" 2679690143ccSmrg { (yyval.uval)= XkbTextDoodad; } 2680690143ccSmrg break; 2681690143ccSmrg 2682690143ccSmrg case 113: 2683c82dfdfbSmrg/* Line 1813 of yacc.c */ 268434345a63Smrg#line 551 "xkbparse.y" 2685690143ccSmrg { (yyval.uval)= XkbOutlineDoodad; } 2686690143ccSmrg break; 2687690143ccSmrg 2688690143ccSmrg case 114: 2689c82dfdfbSmrg/* Line 1813 of yacc.c */ 269034345a63Smrg#line 552 "xkbparse.y" 2691690143ccSmrg { (yyval.uval)= XkbSolidDoodad; } 2692690143ccSmrg break; 2693690143ccSmrg 2694690143ccSmrg case 115: 2695c82dfdfbSmrg/* Line 1813 of yacc.c */ 269634345a63Smrg#line 553 "xkbparse.y" 2697690143ccSmrg { (yyval.uval)= XkbLogoDoodad; } 2698690143ccSmrg break; 2699690143ccSmrg 2700690143ccSmrg case 116: 2701c82dfdfbSmrg/* Line 1813 of yacc.c */ 270234345a63Smrg#line 556 "xkbparse.y" 2703690143ccSmrg { (yyval.sval)= (yyvsp[(1) - (1)].sval); } 2704690143ccSmrg break; 2705690143ccSmrg 2706690143ccSmrg case 117: 2707c82dfdfbSmrg/* Line 1813 of yacc.c */ 270834345a63Smrg#line 557 "xkbparse.y" 2709690143ccSmrg { (yyval.sval)= (yyvsp[(1) - (1)].sval); } 2710690143ccSmrg break; 2711690143ccSmrg 2712690143ccSmrg case 118: 2713c82dfdfbSmrg/* Line 1813 of yacc.c */ 271434345a63Smrg#line 561 "xkbparse.y" 2715690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"action",False); } 2716690143ccSmrg break; 2717690143ccSmrg 2718690143ccSmrg case 119: 2719c82dfdfbSmrg/* Line 1813 of yacc.c */ 272034345a63Smrg#line 563 "xkbparse.y" 2721690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"interpret",False); } 2722690143ccSmrg break; 2723690143ccSmrg 2724690143ccSmrg case 120: 2725c82dfdfbSmrg/* Line 1813 of yacc.c */ 272634345a63Smrg#line 565 "xkbparse.y" 2727690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"type",False); } 2728690143ccSmrg break; 2729690143ccSmrg 2730690143ccSmrg case 121: 2731c82dfdfbSmrg/* Line 1813 of yacc.c */ 273234345a63Smrg#line 567 "xkbparse.y" 2733690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"key",False); } 2734690143ccSmrg break; 2735690143ccSmrg 2736690143ccSmrg case 122: 2737c82dfdfbSmrg/* Line 1813 of yacc.c */ 273834345a63Smrg#line 569 "xkbparse.y" 2739690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"group",False); } 2740690143ccSmrg break; 2741690143ccSmrg 2742690143ccSmrg case 123: 2743c82dfdfbSmrg/* Line 1813 of yacc.c */ 274434345a63Smrg#line 571 "xkbparse.y" 2745690143ccSmrg {(yyval.sval)=XkbInternAtom(NULL,"modifier_map",False);} 2746690143ccSmrg break; 2747690143ccSmrg 2748690143ccSmrg case 124: 2749c82dfdfbSmrg/* Line 1813 of yacc.c */ 275034345a63Smrg#line 573 "xkbparse.y" 2751690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"indicator",False); } 2752690143ccSmrg break; 2753690143ccSmrg 2754690143ccSmrg case 125: 2755c82dfdfbSmrg/* Line 1813 of yacc.c */ 275634345a63Smrg#line 575 "xkbparse.y" 2757690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"shape",False); } 2758690143ccSmrg break; 2759690143ccSmrg 2760690143ccSmrg case 126: 2761c82dfdfbSmrg/* Line 1813 of yacc.c */ 276234345a63Smrg#line 577 "xkbparse.y" 2763690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"row",False); } 2764690143ccSmrg break; 2765690143ccSmrg 2766690143ccSmrg case 127: 2767c82dfdfbSmrg/* Line 1813 of yacc.c */ 276834345a63Smrg#line 579 "xkbparse.y" 2769690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"section",False); } 2770690143ccSmrg break; 2771690143ccSmrg 2772690143ccSmrg case 128: 2773c82dfdfbSmrg/* Line 1813 of yacc.c */ 277434345a63Smrg#line 581 "xkbparse.y" 2775690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"text",False); } 2776690143ccSmrg break; 2777690143ccSmrg 2778690143ccSmrg case 129: 2779c82dfdfbSmrg/* Line 1813 of yacc.c */ 278034345a63Smrg#line 584 "xkbparse.y" 2781690143ccSmrg { (yyval.uval)= (yyvsp[(1) - (1)].uval); } 2782690143ccSmrg break; 2783690143ccSmrg 2784690143ccSmrg case 130: 2785c82dfdfbSmrg/* Line 1813 of yacc.c */ 278634345a63Smrg#line 585 "xkbparse.y" 2787690143ccSmrg { (yyval.uval)= MergeDefault; } 2788690143ccSmrg break; 2789690143ccSmrg 2790690143ccSmrg case 131: 2791c82dfdfbSmrg/* Line 1813 of yacc.c */ 279234345a63Smrg#line 588 "xkbparse.y" 2793690143ccSmrg { (yyval.uval)= MergeDefault; } 2794690143ccSmrg break; 2795690143ccSmrg 2796690143ccSmrg case 132: 2797c82dfdfbSmrg/* Line 1813 of yacc.c */ 279834345a63Smrg#line 589 "xkbparse.y" 2799690143ccSmrg { (yyval.uval)= MergeAugment; } 2800690143ccSmrg break; 2801690143ccSmrg 2802690143ccSmrg case 133: 2803c82dfdfbSmrg/* Line 1813 of yacc.c */ 280434345a63Smrg#line 590 "xkbparse.y" 2805690143ccSmrg { (yyval.uval)= MergeOverride; } 2806690143ccSmrg break; 2807690143ccSmrg 2808690143ccSmrg case 134: 2809c82dfdfbSmrg/* Line 1813 of yacc.c */ 281034345a63Smrg#line 591 "xkbparse.y" 2811690143ccSmrg { (yyval.uval)= MergeReplace; } 2812690143ccSmrg break; 2813690143ccSmrg 2814690143ccSmrg case 135: 2815c82dfdfbSmrg/* Line 1813 of yacc.c */ 281634345a63Smrg#line 592 "xkbparse.y" 2817690143ccSmrg { (yyval.uval)= MergeAltForm; } 2818690143ccSmrg break; 2819690143ccSmrg 2820690143ccSmrg case 136: 2821c82dfdfbSmrg/* Line 1813 of yacc.c */ 282234345a63Smrg#line 595 "xkbparse.y" 2823690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2824690143ccSmrg break; 2825690143ccSmrg 2826690143ccSmrg case 137: 2827c82dfdfbSmrg/* Line 1813 of yacc.c */ 282834345a63Smrg#line 596 "xkbparse.y" 2829690143ccSmrg { (yyval.expr)= NULL; } 2830690143ccSmrg break; 2831690143ccSmrg 2832690143ccSmrg case 138: 2833c82dfdfbSmrg/* Line 1813 of yacc.c */ 283434345a63Smrg#line 600 "xkbparse.y" 2835690143ccSmrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); } 2836690143ccSmrg break; 2837690143ccSmrg 2838690143ccSmrg case 139: 2839c82dfdfbSmrg/* Line 1813 of yacc.c */ 284034345a63Smrg#line 602 "xkbparse.y" 2841690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2842690143ccSmrg break; 2843690143ccSmrg 2844690143ccSmrg case 140: 2845c82dfdfbSmrg/* Line 1813 of yacc.c */ 284634345a63Smrg#line 606 "xkbparse.y" 2847690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpDivide,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2848690143ccSmrg break; 2849690143ccSmrg 2850690143ccSmrg case 141: 2851c82dfdfbSmrg/* Line 1813 of yacc.c */ 285234345a63Smrg#line 608 "xkbparse.y" 2853690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpAdd,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2854690143ccSmrg break; 2855690143ccSmrg 2856690143ccSmrg case 142: 2857c82dfdfbSmrg/* Line 1813 of yacc.c */ 285834345a63Smrg#line 610 "xkbparse.y" 2859690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpSubtract,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2860690143ccSmrg break; 2861690143ccSmrg 2862690143ccSmrg case 143: 2863c82dfdfbSmrg/* Line 1813 of yacc.c */ 286434345a63Smrg#line 612 "xkbparse.y" 2865690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpMultiply,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2866690143ccSmrg break; 2867690143ccSmrg 2868690143ccSmrg case 144: 2869c82dfdfbSmrg/* Line 1813 of yacc.c */ 287034345a63Smrg#line 614 "xkbparse.y" 2871690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpAssign,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2872690143ccSmrg break; 2873690143ccSmrg 2874690143ccSmrg case 145: 2875c82dfdfbSmrg/* Line 1813 of yacc.c */ 287634345a63Smrg#line 616 "xkbparse.y" 2877690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2878690143ccSmrg break; 2879690143ccSmrg 2880690143ccSmrg case 146: 2881c82dfdfbSmrg/* Line 1813 of yacc.c */ 288234345a63Smrg#line 620 "xkbparse.y" 2883690143ccSmrg { (yyval.expr)= ExprCreateUnary(OpNegate,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); } 2884690143ccSmrg break; 2885690143ccSmrg 2886690143ccSmrg case 147: 2887c82dfdfbSmrg/* Line 1813 of yacc.c */ 288834345a63Smrg#line 622 "xkbparse.y" 2889690143ccSmrg { (yyval.expr)= ExprCreateUnary(OpUnaryPlus,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); } 2890690143ccSmrg break; 2891690143ccSmrg 2892690143ccSmrg case 148: 2893c82dfdfbSmrg/* Line 1813 of yacc.c */ 289434345a63Smrg#line 624 "xkbparse.y" 2895690143ccSmrg { (yyval.expr)= ExprCreateUnary(OpNot,TypeBoolean,(yyvsp[(2) - (2)].expr)); } 2896690143ccSmrg break; 2897690143ccSmrg 2898690143ccSmrg case 149: 2899c82dfdfbSmrg/* Line 1813 of yacc.c */ 290034345a63Smrg#line 626 "xkbparse.y" 2901690143ccSmrg { (yyval.expr)= ExprCreateUnary(OpInvert,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); } 2902690143ccSmrg break; 2903690143ccSmrg 2904690143ccSmrg case 150: 2905c82dfdfbSmrg/* Line 1813 of yacc.c */ 290634345a63Smrg#line 628 "xkbparse.y" 2907690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2908690143ccSmrg break; 2909690143ccSmrg 2910690143ccSmrg case 151: 2911c82dfdfbSmrg/* Line 1813 of yacc.c */ 291234345a63Smrg#line 630 "xkbparse.y" 2913690143ccSmrg { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); } 2914690143ccSmrg break; 2915690143ccSmrg 2916690143ccSmrg case 152: 2917c82dfdfbSmrg/* Line 1813 of yacc.c */ 291834345a63Smrg#line 632 "xkbparse.y" 2919690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2920690143ccSmrg break; 2921690143ccSmrg 2922690143ccSmrg case 153: 2923c82dfdfbSmrg/* Line 1813 of yacc.c */ 292434345a63Smrg#line 634 "xkbparse.y" 2925690143ccSmrg { (yyval.expr)= (yyvsp[(2) - (3)].expr); } 2926690143ccSmrg break; 2927690143ccSmrg 2928690143ccSmrg case 154: 2929c82dfdfbSmrg/* Line 1813 of yacc.c */ 293034345a63Smrg#line 638 "xkbparse.y" 2931690143ccSmrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); } 2932690143ccSmrg break; 2933690143ccSmrg 2934690143ccSmrg case 155: 2935c82dfdfbSmrg/* Line 1813 of yacc.c */ 293634345a63Smrg#line 640 "xkbparse.y" 2937690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2938690143ccSmrg break; 2939690143ccSmrg 2940690143ccSmrg case 156: 2941c82dfdfbSmrg/* Line 1813 of yacc.c */ 294234345a63Smrg#line 644 "xkbparse.y" 2943690143ccSmrg { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); } 2944690143ccSmrg break; 2945690143ccSmrg 2946690143ccSmrg case 157: 2947c82dfdfbSmrg/* Line 1813 of yacc.c */ 294834345a63Smrg#line 648 "xkbparse.y" 2949690143ccSmrg { 2950f46a6179Smrg ExprDef *expr; 2951f46a6179Smrg expr= ExprCreate(ExprIdent,TypeUnknown); 2952690143ccSmrg expr->value.str= (yyvsp[(1) - (1)].sval); 2953690143ccSmrg (yyval.expr)= expr; 2954f46a6179Smrg } 2955690143ccSmrg break; 2956690143ccSmrg 2957690143ccSmrg case 158: 2958c82dfdfbSmrg/* Line 1813 of yacc.c */ 295934345a63Smrg#line 655 "xkbparse.y" 2960690143ccSmrg { 2961f46a6179Smrg ExprDef *expr; 2962f46a6179Smrg expr= ExprCreate(ExprFieldRef,TypeUnknown); 2963690143ccSmrg expr->value.field.element= (yyvsp[(1) - (3)].sval); 2964690143ccSmrg expr->value.field.field= (yyvsp[(3) - (3)].sval); 2965690143ccSmrg (yyval.expr)= expr; 2966f46a6179Smrg } 2967690143ccSmrg break; 2968690143ccSmrg 2969690143ccSmrg case 159: 2970c82dfdfbSmrg/* Line 1813 of yacc.c */ 297134345a63Smrg#line 663 "xkbparse.y" 2972690143ccSmrg { 2973f46a6179Smrg ExprDef *expr; 2974f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 2975f46a6179Smrg expr->value.array.element= None; 2976690143ccSmrg expr->value.array.field= (yyvsp[(1) - (4)].sval); 2977690143ccSmrg expr->value.array.entry= (yyvsp[(3) - (4)].expr); 2978690143ccSmrg (yyval.expr)= expr; 2979f46a6179Smrg } 2980690143ccSmrg break; 2981690143ccSmrg 2982690143ccSmrg case 160: 2983c82dfdfbSmrg/* Line 1813 of yacc.c */ 298434345a63Smrg#line 672 "xkbparse.y" 2985690143ccSmrg { 2986f46a6179Smrg ExprDef *expr; 2987f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 2988690143ccSmrg expr->value.array.element= (yyvsp[(1) - (6)].sval); 2989690143ccSmrg expr->value.array.field= (yyvsp[(3) - (6)].sval); 2990690143ccSmrg expr->value.array.entry= (yyvsp[(5) - (6)].expr); 2991690143ccSmrg (yyval.expr)= expr; 2992f46a6179Smrg } 2993690143ccSmrg break; 2994690143ccSmrg 2995690143ccSmrg case 161: 2996c82dfdfbSmrg/* Line 1813 of yacc.c */ 299734345a63Smrg#line 683 "xkbparse.y" 2998690143ccSmrg { 2999f46a6179Smrg ExprDef *expr; 3000f46a6179Smrg expr= ExprCreate(ExprValue,TypeString); 3001690143ccSmrg expr->value.str= (yyvsp[(1) - (1)].sval); 3002690143ccSmrg (yyval.expr)= expr; 3003f46a6179Smrg } 3004690143ccSmrg break; 3005690143ccSmrg 3006690143ccSmrg case 162: 3007c82dfdfbSmrg/* Line 1813 of yacc.c */ 300834345a63Smrg#line 690 "xkbparse.y" 3009690143ccSmrg { 3010f46a6179Smrg ExprDef *expr; 3011f46a6179Smrg expr= ExprCreate(ExprValue,TypeInt); 3012690143ccSmrg expr->value.ival= (yyvsp[(1) - (1)].ival); 3013690143ccSmrg (yyval.expr)= expr; 3014f46a6179Smrg } 3015690143ccSmrg break; 3016690143ccSmrg 3017690143ccSmrg case 163: 3018c82dfdfbSmrg/* Line 1813 of yacc.c */ 301934345a63Smrg#line 697 "xkbparse.y" 3020690143ccSmrg { 3021f46a6179Smrg ExprDef *expr; 3022f46a6179Smrg expr= ExprCreate(ExprValue,TypeFloat); 3023690143ccSmrg expr->value.ival= (yyvsp[(1) - (1)].ival); 3024690143ccSmrg (yyval.expr)= expr; 3025f46a6179Smrg } 3026690143ccSmrg break; 3027690143ccSmrg 3028690143ccSmrg case 164: 3029c82dfdfbSmrg/* Line 1813 of yacc.c */ 303034345a63Smrg#line 704 "xkbparse.y" 3031690143ccSmrg { 3032f46a6179Smrg ExprDef *expr; 3033f46a6179Smrg expr= ExprCreate(ExprValue,TypeKeyName); 3034f46a6179Smrg memset(expr->value.keyName,0,5); 3035690143ccSmrg strncpy(expr->value.keyName,(yyvsp[(1) - (1)].str),4); 3036690143ccSmrg free((yyvsp[(1) - (1)].str)); 3037690143ccSmrg (yyval.expr)= expr; 3038f46a6179Smrg } 3039690143ccSmrg break; 3040690143ccSmrg 3041690143ccSmrg case 165: 3042c82dfdfbSmrg/* Line 1813 of yacc.c */ 304334345a63Smrg#line 714 "xkbparse.y" 3044690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 3045690143ccSmrg break; 3046690143ccSmrg 3047690143ccSmrg case 166: 3048c82dfdfbSmrg/* Line 1813 of yacc.c */ 304934345a63Smrg#line 715 "xkbparse.y" 3050690143ccSmrg { (yyval.expr)= NULL; } 3051690143ccSmrg break; 3052690143ccSmrg 3053690143ccSmrg case 167: 3054c82dfdfbSmrg/* Line 1813 of yacc.c */ 305534345a63Smrg#line 719 "xkbparse.y" 3056690143ccSmrg { (yyval.expr)= AppendKeysymList((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].str)); } 3057690143ccSmrg break; 3058690143ccSmrg 3059690143ccSmrg case 168: 3060c82dfdfbSmrg/* Line 1813 of yacc.c */ 306134345a63Smrg#line 721 "xkbparse.y" 3062c82dfdfbSmrg { (yyval.expr)= AppendKeysymList((yyvsp[(1) - (3)].expr),strdup("NoSymbol")); } 3063690143ccSmrg break; 3064690143ccSmrg 3065690143ccSmrg case 169: 3066c82dfdfbSmrg/* Line 1813 of yacc.c */ 3067c82dfdfbSmrg#line 723 "xkbparse.y" 3068c82dfdfbSmrg { (yyval.expr)= CreateKeysymList((yyvsp[(1) - (1)].str)); } 3069690143ccSmrg break; 3070690143ccSmrg 3071690143ccSmrg case 170: 3072c82dfdfbSmrg/* Line 1813 of yacc.c */ 307383e5f723Smrg#line 725 "xkbparse.y" 3074c82dfdfbSmrg { (yyval.expr)= CreateKeysymList(strdup("NoSymbol")); } 3075690143ccSmrg break; 3076690143ccSmrg 3077690143ccSmrg case 171: 3078c82dfdfbSmrg/* Line 1813 of yacc.c */ 3079c82dfdfbSmrg#line 728 "xkbparse.y" 3080c82dfdfbSmrg { (yyval.str)= strdup(scanBuf); } 3081c82dfdfbSmrg break; 3082c82dfdfbSmrg 3083c82dfdfbSmrg case 172: 3084c82dfdfbSmrg/* Line 1813 of yacc.c */ 3085c82dfdfbSmrg#line 729 "xkbparse.y" 3086c82dfdfbSmrg { (yyval.str)= strdup("section"); } 3087c82dfdfbSmrg break; 3088c82dfdfbSmrg 3089c82dfdfbSmrg case 173: 3090c82dfdfbSmrg/* Line 1813 of yacc.c */ 3091c82dfdfbSmrg#line 731 "xkbparse.y" 3092690143ccSmrg { 3093690143ccSmrg if ((yyvsp[(1) - (1)].ival)<10) { (yyval.str)= malloc(2); (yyval.str)[0]= '0' + (yyvsp[(1) - (1)].ival); (yyval.str)[1]= '\0'; } 3094690143ccSmrg else { (yyval.str)= malloc(19); snprintf((yyval.str), 19, "0x%x", (yyvsp[(1) - (1)].ival)); } 3095f46a6179Smrg } 3096690143ccSmrg break; 3097690143ccSmrg 3098c82dfdfbSmrg case 174: 3099c82dfdfbSmrg/* Line 1813 of yacc.c */ 3100c82dfdfbSmrg#line 738 "xkbparse.y" 3101c82dfdfbSmrg { (yyval.expr)= (yyvsp[(2) - (3)].expr); } 3102c82dfdfbSmrg break; 3103c82dfdfbSmrg 3104c82dfdfbSmrg case 175: 3105c82dfdfbSmrg/* Line 1813 of yacc.c */ 3106c82dfdfbSmrg#line 741 "xkbparse.y" 3107690143ccSmrg { (yyval.ival)= -(yyvsp[(2) - (2)].ival); } 3108690143ccSmrg break; 3109690143ccSmrg 3110c82dfdfbSmrg case 176: 3111c82dfdfbSmrg/* Line 1813 of yacc.c */ 3112c82dfdfbSmrg#line 742 "xkbparse.y" 3113690143ccSmrg { (yyval.ival)= (yyvsp[(1) - (1)].ival); } 3114690143ccSmrg break; 3115690143ccSmrg 3116c82dfdfbSmrg case 177: 3117c82dfdfbSmrg/* Line 1813 of yacc.c */ 3118c82dfdfbSmrg#line 745 "xkbparse.y" 3119690143ccSmrg { (yyval.ival)= scanInt; } 3120690143ccSmrg break; 3121690143ccSmrg 3122c82dfdfbSmrg case 178: 3123c82dfdfbSmrg/* Line 1813 of yacc.c */ 3124c82dfdfbSmrg#line 746 "xkbparse.y" 3125690143ccSmrg { (yyval.ival)= scanInt*XkbGeomPtsPerMM; } 3126690143ccSmrg break; 3127690143ccSmrg 3128c82dfdfbSmrg case 179: 3129c82dfdfbSmrg/* Line 1813 of yacc.c */ 3130c82dfdfbSmrg#line 749 "xkbparse.y" 3131690143ccSmrg { (yyval.ival)= scanInt; } 3132690143ccSmrg break; 3133690143ccSmrg 3134c82dfdfbSmrg case 180: 3135c82dfdfbSmrg/* Line 1813 of yacc.c */ 3136c82dfdfbSmrg#line 752 "xkbparse.y" 3137690143ccSmrg { (yyval.ival)= scanInt; } 3138690143ccSmrg break; 3139690143ccSmrg 3140c82dfdfbSmrg case 181: 3141c82dfdfbSmrg/* Line 1813 of yacc.c */ 3142c82dfdfbSmrg#line 755 "xkbparse.y" 3143690143ccSmrg { (yyval.str)= strdup(scanBuf); } 3144690143ccSmrg break; 3145690143ccSmrg 3146c82dfdfbSmrg case 182: 3147c82dfdfbSmrg/* Line 1813 of yacc.c */ 3148c82dfdfbSmrg#line 758 "xkbparse.y" 3149690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); } 3150690143ccSmrg break; 3151690143ccSmrg 3152c82dfdfbSmrg case 183: 3153c82dfdfbSmrg/* Line 1813 of yacc.c */ 3154c82dfdfbSmrg#line 759 "xkbparse.y" 3155690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"default",False); } 3156690143ccSmrg break; 3157690143ccSmrg 3158c82dfdfbSmrg case 184: 3159c82dfdfbSmrg/* Line 1813 of yacc.c */ 3160c82dfdfbSmrg#line 762 "xkbparse.y" 3161690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); } 3162690143ccSmrg break; 3163690143ccSmrg 3164c82dfdfbSmrg case 185: 3165c82dfdfbSmrg/* Line 1813 of yacc.c */ 3166c82dfdfbSmrg#line 765 "xkbparse.y" 3167690143ccSmrg { (yyval.str)= (yyvsp[(1) - (1)].str); } 3168690143ccSmrg break; 3169690143ccSmrg 3170c82dfdfbSmrg case 186: 3171c82dfdfbSmrg/* Line 1813 of yacc.c */ 3172c82dfdfbSmrg#line 766 "xkbparse.y" 3173690143ccSmrg { (yyval.str)= NULL; } 3174690143ccSmrg break; 3175690143ccSmrg 3176c82dfdfbSmrg case 187: 3177c82dfdfbSmrg/* Line 1813 of yacc.c */ 3178c82dfdfbSmrg#line 769 "xkbparse.y" 3179690143ccSmrg { (yyval.str)= strdup(scanBuf); } 3180690143ccSmrg break; 3181690143ccSmrg 3182690143ccSmrg 3183c82dfdfbSmrg/* Line 1813 of yacc.c */ 3184c82dfdfbSmrg#line 3185 "xkbparse.c" 3185690143ccSmrg default: break; 3186f46a6179Smrg } 3187c82dfdfbSmrg /* User semantic actions sometimes alter yychar, and that requires 3188c82dfdfbSmrg that yytoken be updated with the new translation. We take the 3189c82dfdfbSmrg approach of translating immediately before every use of yytoken. 3190c82dfdfbSmrg One alternative is translating here after every semantic action, 3191c82dfdfbSmrg but that translation would be missed if the semantic action invokes 3192c82dfdfbSmrg YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 3193c82dfdfbSmrg if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 3194c82dfdfbSmrg incorrect destructor might then be invoked immediately. In the 3195c82dfdfbSmrg case of YYERROR or YYBACKUP, subsequent parser actions might lead 3196c82dfdfbSmrg to an incorrect destructor call or verbose syntax error message 3197c82dfdfbSmrg before the lookahead is translated. */ 3198690143ccSmrg YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 3199690143ccSmrg 3200690143ccSmrg YYPOPSTACK (yylen); 3201690143ccSmrg yylen = 0; 3202690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3203690143ccSmrg 3204690143ccSmrg *++yyvsp = yyval; 3205690143ccSmrg 3206690143ccSmrg /* Now `shift' the result of the reduction. Determine what state 3207690143ccSmrg that goes to, based on the state we popped back to and the rule 3208690143ccSmrg number reduced by. */ 3209690143ccSmrg 3210690143ccSmrg yyn = yyr1[yyn]; 3211690143ccSmrg 3212690143ccSmrg yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 3213690143ccSmrg if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 3214690143ccSmrg yystate = yytable[yystate]; 3215690143ccSmrg else 3216690143ccSmrg yystate = yydefgoto[yyn - YYNTOKENS]; 3217690143ccSmrg 3218690143ccSmrg goto yynewstate; 3219690143ccSmrg 3220690143ccSmrg 3221690143ccSmrg/*------------------------------------. 3222690143ccSmrg| yyerrlab -- here on detecting error | 3223690143ccSmrg`------------------------------------*/ 3224690143ccSmrgyyerrlab: 3225c82dfdfbSmrg /* Make sure we have latest lookahead translation. See comments at 3226c82dfdfbSmrg user semantic actions for why this is necessary. */ 3227c82dfdfbSmrg yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 3228c82dfdfbSmrg 3229690143ccSmrg /* If not already recovering from an error, report this error. */ 3230690143ccSmrg if (!yyerrstatus) 3231f46a6179Smrg { 3232690143ccSmrg ++yynerrs; 3233690143ccSmrg#if ! YYERROR_VERBOSE 3234690143ccSmrg yyerror (YY_("syntax error")); 3235690143ccSmrg#else 3236c82dfdfbSmrg# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 3237c82dfdfbSmrg yyssp, yytoken) 3238690143ccSmrg { 3239c82dfdfbSmrg char const *yymsgp = YY_("syntax error"); 3240c82dfdfbSmrg int yysyntax_error_status; 3241c82dfdfbSmrg yysyntax_error_status = YYSYNTAX_ERROR; 3242c82dfdfbSmrg if (yysyntax_error_status == 0) 3243c82dfdfbSmrg yymsgp = yymsg; 3244c82dfdfbSmrg else if (yysyntax_error_status == 1) 3245c82dfdfbSmrg { 3246c82dfdfbSmrg if (yymsg != yymsgbuf) 3247c82dfdfbSmrg YYSTACK_FREE (yymsg); 3248c82dfdfbSmrg yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 3249c82dfdfbSmrg if (!yymsg) 3250c82dfdfbSmrg { 3251c82dfdfbSmrg yymsg = yymsgbuf; 3252c82dfdfbSmrg yymsg_alloc = sizeof yymsgbuf; 3253c82dfdfbSmrg yysyntax_error_status = 2; 3254c82dfdfbSmrg } 3255c82dfdfbSmrg else 3256c82dfdfbSmrg { 3257c82dfdfbSmrg yysyntax_error_status = YYSYNTAX_ERROR; 3258c82dfdfbSmrg yymsgp = yymsg; 3259c82dfdfbSmrg } 3260c82dfdfbSmrg } 3261c82dfdfbSmrg yyerror (yymsgp); 3262c82dfdfbSmrg if (yysyntax_error_status == 2) 3263c82dfdfbSmrg goto yyexhaustedlab; 3264690143ccSmrg } 3265c82dfdfbSmrg# undef YYSYNTAX_ERROR 326607d2e718Smrg#endif 3267f46a6179Smrg } 3268690143ccSmrg 3269690143ccSmrg 3270690143ccSmrg 3271690143ccSmrg if (yyerrstatus == 3) 3272690143ccSmrg { 3273c82dfdfbSmrg /* If just tried and failed to reuse lookahead token after an 3274690143ccSmrg error, discard it. */ 3275690143ccSmrg 3276690143ccSmrg if (yychar <= YYEOF) 3277690143ccSmrg { 3278690143ccSmrg /* Return failure if at end of input. */ 3279690143ccSmrg if (yychar == YYEOF) 3280690143ccSmrg YYABORT; 3281690143ccSmrg } 3282690143ccSmrg else 3283690143ccSmrg { 3284690143ccSmrg yydestruct ("Error: discarding", 3285690143ccSmrg yytoken, &yylval); 3286690143ccSmrg yychar = YYEMPTY; 3287690143ccSmrg } 3288690143ccSmrg } 3289690143ccSmrg 3290c82dfdfbSmrg /* Else will try to reuse lookahead token after shifting the error 3291690143ccSmrg token. */ 3292690143ccSmrg goto yyerrlab1; 3293690143ccSmrg 3294690143ccSmrg 3295690143ccSmrg/*---------------------------------------------------. 3296690143ccSmrg| yyerrorlab -- error raised explicitly by YYERROR. | 3297690143ccSmrg`---------------------------------------------------*/ 3298690143ccSmrgyyerrorlab: 3299690143ccSmrg 3300690143ccSmrg /* Pacify compilers like GCC when the user code never invokes 3301690143ccSmrg YYERROR and the label yyerrorlab therefore never appears in user 3302690143ccSmrg code. */ 3303690143ccSmrg if (/*CONSTCOND*/ 0) 3304690143ccSmrg goto yyerrorlab; 3305690143ccSmrg 3306690143ccSmrg /* Do not reclaim the symbols of the rule which action triggered 3307690143ccSmrg this YYERROR. */ 3308690143ccSmrg YYPOPSTACK (yylen); 3309690143ccSmrg yylen = 0; 3310690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3311690143ccSmrg yystate = *yyssp; 3312690143ccSmrg goto yyerrlab1; 3313690143ccSmrg 3314690143ccSmrg 3315690143ccSmrg/*-------------------------------------------------------------. 3316690143ccSmrg| yyerrlab1 -- common code for both syntax error and YYERROR. | 3317690143ccSmrg`-------------------------------------------------------------*/ 3318690143ccSmrgyyerrlab1: 3319690143ccSmrg yyerrstatus = 3; /* Each real token shifted decrements this. */ 3320690143ccSmrg 3321690143ccSmrg for (;;) 3322690143ccSmrg { 3323690143ccSmrg yyn = yypact[yystate]; 3324c82dfdfbSmrg if (!yypact_value_is_default (yyn)) 3325690143ccSmrg { 3326690143ccSmrg yyn += YYTERROR; 3327690143ccSmrg if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 3328690143ccSmrg { 3329690143ccSmrg yyn = yytable[yyn]; 3330690143ccSmrg if (0 < yyn) 3331690143ccSmrg break; 3332690143ccSmrg } 3333690143ccSmrg } 3334690143ccSmrg 3335690143ccSmrg /* Pop the current state because it cannot handle the error token. */ 3336690143ccSmrg if (yyssp == yyss) 3337690143ccSmrg YYABORT; 3338690143ccSmrg 3339690143ccSmrg 3340690143ccSmrg yydestruct ("Error: popping", 3341690143ccSmrg yystos[yystate], yyvsp); 3342690143ccSmrg YYPOPSTACK (1); 3343690143ccSmrg yystate = *yyssp; 3344690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3345690143ccSmrg } 3346690143ccSmrg 3347c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 3348690143ccSmrg *++yyvsp = yylval; 3349c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_END 3350690143ccSmrg 3351690143ccSmrg 3352690143ccSmrg /* Shift the error token. */ 3353690143ccSmrg YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 3354690143ccSmrg 3355690143ccSmrg yystate = yyn; 3356690143ccSmrg goto yynewstate; 3357690143ccSmrg 3358690143ccSmrg 3359690143ccSmrg/*-------------------------------------. 3360690143ccSmrg| yyacceptlab -- YYACCEPT comes here. | 3361690143ccSmrg`-------------------------------------*/ 3362690143ccSmrgyyacceptlab: 3363690143ccSmrg yyresult = 0; 3364690143ccSmrg goto yyreturn; 3365690143ccSmrg 3366690143ccSmrg/*-----------------------------------. 3367690143ccSmrg| yyabortlab -- YYABORT comes here. | 3368690143ccSmrg`-----------------------------------*/ 3369690143ccSmrgyyabortlab: 3370690143ccSmrg yyresult = 1; 3371690143ccSmrg goto yyreturn; 3372690143ccSmrg 3373c82dfdfbSmrg#if !defined yyoverflow || YYERROR_VERBOSE 3374690143ccSmrg/*-------------------------------------------------. 3375690143ccSmrg| yyexhaustedlab -- memory exhaustion comes here. | 3376690143ccSmrg`-------------------------------------------------*/ 3377690143ccSmrgyyexhaustedlab: 3378690143ccSmrg yyerror (YY_("memory exhausted")); 3379690143ccSmrg yyresult = 2; 3380690143ccSmrg /* Fall through. */ 3381f46a6179Smrg#endif 3382690143ccSmrg 3383690143ccSmrgyyreturn: 3384c82dfdfbSmrg if (yychar != YYEMPTY) 3385c82dfdfbSmrg { 3386c82dfdfbSmrg /* Make sure we have latest lookahead translation. See comments at 3387c82dfdfbSmrg user semantic actions for why this is necessary. */ 3388c82dfdfbSmrg yytoken = YYTRANSLATE (yychar); 3389c82dfdfbSmrg yydestruct ("Cleanup: discarding lookahead", 3390c82dfdfbSmrg yytoken, &yylval); 3391c82dfdfbSmrg } 3392690143ccSmrg /* Do not reclaim the symbols of the rule which action triggered 3393690143ccSmrg this YYABORT or YYACCEPT. */ 3394690143ccSmrg YYPOPSTACK (yylen); 3395690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3396690143ccSmrg while (yyssp != yyss) 3397f46a6179Smrg { 3398690143ccSmrg yydestruct ("Cleanup: popping", 3399690143ccSmrg yystos[*yyssp], yyvsp); 3400690143ccSmrg YYPOPSTACK (1); 3401f46a6179Smrg } 3402690143ccSmrg#ifndef yyoverflow 3403690143ccSmrg if (yyss != yyssa) 3404690143ccSmrg YYSTACK_FREE (yyss); 3405690143ccSmrg#endif 3406690143ccSmrg#if YYERROR_VERBOSE 3407690143ccSmrg if (yymsg != yymsgbuf) 3408690143ccSmrg YYSTACK_FREE (yymsg); 3409690143ccSmrg#endif 3410690143ccSmrg /* Make sure YYID is used. */ 3411690143ccSmrg return YYID (yyresult); 3412690143ccSmrg} 3413f46a6179Smrg 3414f46a6179Smrg 3415c82dfdfbSmrg/* Line 2076 of yacc.c */ 3416c82dfdfbSmrg#line 771 "xkbparse.y" 3417690143ccSmrg 3418690143ccSmrgvoid 3419690143ccSmrgyyerror(const char *s) 3420690143ccSmrg{ 3421690143ccSmrg if (warningLevel>0) { 3422690143ccSmrg (void)fprintf(stderr,"%s: line %d of %s\n",s,lineNum, 3423690143ccSmrg (scanFile?scanFile:"(unknown)")); 3424690143ccSmrg if ((warningLevel>3)) 3425690143ccSmrg (void)fprintf(stderr,"last scanned symbol is: %s\n",scanBuf); 3426690143ccSmrg } 3427690143ccSmrg return; 3428690143ccSmrg} 3429690143ccSmrg 3430690143ccSmrg 3431690143ccSmrgint 3432690143ccSmrgyywrap(void) 3433690143ccSmrg{ 3434690143ccSmrg return 1; 3435f46a6179Smrg} 3436690143ccSmrg 3437