xkbparse.c revision 1d8c7986
11d8c7986Smrg/* A Bison parser, made by GNU Bison 2.3. */ 2f46a6179Smrg 3690143ccSmrg/* Skeleton implementation for Bison's Yacc-like parsers in C 41d8c7986Smrg 51d8c7986Smrg Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 6690143ccSmrg Free Software Foundation, Inc. 71d8c7986Smrg 81d8c7986Smrg This program is free software; you can redistribute it and/or modify 9690143ccSmrg it under the terms of the GNU General Public License as published by 101d8c7986Smrg the Free Software Foundation; either version 2, or (at your option) 111d8c7986Smrg any later version. 121d8c7986Smrg 13690143ccSmrg This program is distributed in the hope that it will be useful, 14690143ccSmrg but WITHOUT ANY WARRANTY; without even the implied warranty of 15690143ccSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16690143ccSmrg GNU General Public License for more details. 171d8c7986Smrg 18690143ccSmrg You should have received a copy of the GNU General Public License 191d8c7986Smrg along with this program; if not, write to the Free Software 201d8c7986Smrg Foundation, Inc., 51 Franklin Street, Fifth Floor, 211d8c7986Smrg Boston, MA 02110-1301, USA. */ 22f46a6179Smrg 23690143ccSmrg/* As a special exception, you may create a larger work that contains 24690143ccSmrg part or all of the Bison parser skeleton and distribute that work 25690143ccSmrg under terms of your choice, so long as that work isn't itself a 26690143ccSmrg parser generator using the skeleton or a modified version thereof 27690143ccSmrg as a parser skeleton. Alternatively, if you modify or redistribute 28690143ccSmrg the parser skeleton itself, you may (at your option) remove this 29690143ccSmrg special exception, which will cause the skeleton and the resulting 30690143ccSmrg Bison output files to be licensed under the GNU General Public 31690143ccSmrg License without this special exception. 321d8c7986Smrg 33690143ccSmrg This special exception was added by the Free Software Foundation in 34690143ccSmrg version 2.2 of Bison. */ 35f46a6179Smrg 36690143ccSmrg/* C LALR(1) parser skeleton written by Richard Stallman, by 37690143ccSmrg simplifying the original so-called "semantic" parser. */ 38690143ccSmrg 39690143ccSmrg/* All symbols defined below should begin with yy or YY, to avoid 40690143ccSmrg infringing on user name space. This should be done even for local 41690143ccSmrg variables, as they might otherwise be expanded by user macros. 42690143ccSmrg There are some unavoidable exceptions within include files to 43690143ccSmrg define necessary library symbols; they are noted "INFRINGES ON 44690143ccSmrg USER NAME SPACE" below. */ 45690143ccSmrg 46690143ccSmrg/* Identify Bison output. */ 47690143ccSmrg#define YYBISON 1 48690143ccSmrg 49690143ccSmrg/* Bison version. */ 501d8c7986Smrg#define YYBISON_VERSION "2.3" 51690143ccSmrg 52690143ccSmrg/* Skeleton name. */ 53690143ccSmrg#define YYSKELETON_NAME "yacc.c" 54690143ccSmrg 55690143ccSmrg/* Pure parsers. */ 56690143ccSmrg#define YYPURE 0 57690143ccSmrg 58690143ccSmrg/* Using locations. */ 59690143ccSmrg#define YYLSP_NEEDED 0 60f46a6179Smrg 61f46a6179Smrg 62f46a6179Smrg 63690143ccSmrg/* Tokens. */ 64690143ccSmrg#ifndef YYTOKENTYPE 65690143ccSmrg# define YYTOKENTYPE 66690143ccSmrg /* Put the tokens into the symbol table, so that GDB and other debuggers 67690143ccSmrg know about them. */ 68690143ccSmrg enum yytokentype { 69690143ccSmrg END_OF_FILE = 0, 70690143ccSmrg ERROR_TOK = 255, 71690143ccSmrg XKB_KEYMAP = 1, 72690143ccSmrg XKB_KEYCODES = 2, 73690143ccSmrg XKB_TYPES = 3, 74690143ccSmrg XKB_SYMBOLS = 4, 75690143ccSmrg XKB_COMPATMAP = 5, 76690143ccSmrg XKB_GEOMETRY = 6, 77690143ccSmrg XKB_SEMANTICS = 7, 78690143ccSmrg XKB_LAYOUT = 8, 79690143ccSmrg INCLUDE = 10, 80690143ccSmrg OVERRIDE = 11, 81690143ccSmrg AUGMENT = 12, 82690143ccSmrg REPLACE = 13, 83690143ccSmrg ALTERNATE = 14, 84690143ccSmrg VIRTUAL_MODS = 20, 85690143ccSmrg TYPE = 21, 86690143ccSmrg INTERPRET = 22, 87690143ccSmrg ACTION_TOK = 23, 88690143ccSmrg KEY = 24, 89690143ccSmrg ALIAS = 25, 90690143ccSmrg GROUP = 26, 91690143ccSmrg MODIFIER_MAP = 27, 92690143ccSmrg INDICATOR = 28, 93690143ccSmrg SHAPE = 29, 94690143ccSmrg KEYS = 30, 95690143ccSmrg ROW = 31, 96690143ccSmrg SECTION = 32, 97690143ccSmrg OVERLAY = 33, 98690143ccSmrg TEXT = 34, 99690143ccSmrg OUTLINE = 35, 100690143ccSmrg SOLID = 36, 101690143ccSmrg LOGO = 37, 102690143ccSmrg VIRTUAL = 38, 103690143ccSmrg EQUALS = 40, 104690143ccSmrg PLUS = 41, 105690143ccSmrg MINUS = 42, 106690143ccSmrg DIVIDE = 43, 107690143ccSmrg TIMES = 44, 108690143ccSmrg OBRACE = 45, 109690143ccSmrg CBRACE = 46, 110690143ccSmrg OPAREN = 47, 111690143ccSmrg CPAREN = 48, 112690143ccSmrg OBRACKET = 49, 113690143ccSmrg CBRACKET = 50, 114690143ccSmrg DOT = 51, 115690143ccSmrg COMMA = 52, 116690143ccSmrg SEMI = 53, 117690143ccSmrg EXCLAM = 54, 118690143ccSmrg INVERT = 55, 119690143ccSmrg STRING = 60, 120690143ccSmrg INTEGER = 61, 121690143ccSmrg FLOAT = 62, 122690143ccSmrg IDENT = 63, 123690143ccSmrg KEYNAME = 64, 124690143ccSmrg PARTIAL = 70, 125690143ccSmrg DEFAULT = 71, 126690143ccSmrg HIDDEN = 72, 127690143ccSmrg ALPHANUMERIC_KEYS = 73, 128690143ccSmrg MODIFIER_KEYS = 74, 129690143ccSmrg KEYPAD_KEYS = 75, 130690143ccSmrg FUNCTION_KEYS = 76, 131690143ccSmrg ALTERNATE_GROUP = 77 132690143ccSmrg }; 133690143ccSmrg#endif 134690143ccSmrg/* Tokens. */ 135f46a6179Smrg#define END_OF_FILE 0 136f46a6179Smrg#define ERROR_TOK 255 137f46a6179Smrg#define XKB_KEYMAP 1 138f46a6179Smrg#define XKB_KEYCODES 2 139f46a6179Smrg#define XKB_TYPES 3 140f46a6179Smrg#define XKB_SYMBOLS 4 141f46a6179Smrg#define XKB_COMPATMAP 5 142f46a6179Smrg#define XKB_GEOMETRY 6 143f46a6179Smrg#define XKB_SEMANTICS 7 144f46a6179Smrg#define XKB_LAYOUT 8 145f46a6179Smrg#define INCLUDE 10 146f46a6179Smrg#define OVERRIDE 11 147f46a6179Smrg#define AUGMENT 12 148f46a6179Smrg#define REPLACE 13 149f46a6179Smrg#define ALTERNATE 14 150f46a6179Smrg#define VIRTUAL_MODS 20 151f46a6179Smrg#define TYPE 21 152f46a6179Smrg#define INTERPRET 22 153f46a6179Smrg#define ACTION_TOK 23 154f46a6179Smrg#define KEY 24 155f46a6179Smrg#define ALIAS 25 156f46a6179Smrg#define GROUP 26 157f46a6179Smrg#define MODIFIER_MAP 27 158f46a6179Smrg#define INDICATOR 28 159f46a6179Smrg#define SHAPE 29 160f46a6179Smrg#define KEYS 30 161f46a6179Smrg#define ROW 31 162f46a6179Smrg#define SECTION 32 163f46a6179Smrg#define OVERLAY 33 164f46a6179Smrg#define TEXT 34 165f46a6179Smrg#define OUTLINE 35 166f46a6179Smrg#define SOLID 36 167f46a6179Smrg#define LOGO 37 168f46a6179Smrg#define VIRTUAL 38 169f46a6179Smrg#define EQUALS 40 170f46a6179Smrg#define PLUS 41 171f46a6179Smrg#define MINUS 42 172f46a6179Smrg#define DIVIDE 43 173f46a6179Smrg#define TIMES 44 174f46a6179Smrg#define OBRACE 45 175f46a6179Smrg#define CBRACE 46 176f46a6179Smrg#define OPAREN 47 177f46a6179Smrg#define CPAREN 48 178f46a6179Smrg#define OBRACKET 49 179f46a6179Smrg#define CBRACKET 50 180f46a6179Smrg#define DOT 51 181f46a6179Smrg#define COMMA 52 182f46a6179Smrg#define SEMI 53 183f46a6179Smrg#define EXCLAM 54 184f46a6179Smrg#define INVERT 55 185f46a6179Smrg#define STRING 60 186f46a6179Smrg#define INTEGER 61 187f46a6179Smrg#define FLOAT 62 188f46a6179Smrg#define IDENT 63 189f46a6179Smrg#define KEYNAME 64 190f46a6179Smrg#define PARTIAL 70 191f46a6179Smrg#define DEFAULT 71 192f46a6179Smrg#define HIDDEN 72 193f46a6179Smrg#define ALPHANUMERIC_KEYS 73 194f46a6179Smrg#define MODIFIER_KEYS 74 195f46a6179Smrg#define KEYPAD_KEYS 75 196f46a6179Smrg#define FUNCTION_KEYS 76 197f46a6179Smrg#define ALTERNATE_GROUP 77 198690143ccSmrg 199690143ccSmrg 200690143ccSmrg 201690143ccSmrg 2021d8c7986Smrg/* Copy the first part of user declarations. */ 2031d8c7986Smrg#line 91 "xkbparse.y" 2041d8c7986Smrg 2051d8c7986Smrg#ifdef DEBUG 2061d8c7986Smrg#define YYDEBUG 1 2071d8c7986Smrg#endif 2081d8c7986Smrg#define DEBUG_VAR parseDebug 2091d8c7986Smrg#include "parseutils.h" 2101d8c7986Smrg#include <X11/keysym.h> 2111d8c7986Smrg#include <X11/extensions/XKBgeom.h> 2121d8c7986Smrg#include <stdlib.h> 2131d8c7986Smrg 2141d8c7986Smrgunsigned int parseDebug; 2151d8c7986Smrg 2161d8c7986Smrg 2171d8c7986Smrg 2181d8c7986Smrg/* Enabling traces. */ 2191d8c7986Smrg#ifndef YYDEBUG 2201d8c7986Smrg# define YYDEBUG 0 2211d8c7986Smrg#endif 2221d8c7986Smrg 2231d8c7986Smrg/* Enabling verbose error messages. */ 2241d8c7986Smrg#ifdef YYERROR_VERBOSE 2251d8c7986Smrg# undef YYERROR_VERBOSE 2261d8c7986Smrg# define YYERROR_VERBOSE 1 2271d8c7986Smrg#else 2281d8c7986Smrg# define YYERROR_VERBOSE 0 2291d8c7986Smrg#endif 2301d8c7986Smrg 2311d8c7986Smrg/* Enabling the token table. */ 2321d8c7986Smrg#ifndef YYTOKEN_TABLE 2331d8c7986Smrg# define YYTOKEN_TABLE 0 2341d8c7986Smrg#endif 2351d8c7986Smrg 236690143ccSmrg#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 237690143ccSmrgtypedef union YYSTYPE 238690143ccSmrg#line 110 "xkbparse.y" 2391d8c7986Smrg{ 240690143ccSmrg int ival; 241690143ccSmrg unsigned uval; 242690143ccSmrg char *str; 243690143ccSmrg Atom sval; 244690143ccSmrg ParseCommon *any; 245690143ccSmrg ExprDef *expr; 246690143ccSmrg VarDef *var; 247690143ccSmrg VModDef *vmod; 248690143ccSmrg InterpDef *interp; 249690143ccSmrg KeyTypeDef *keyType; 250690143ccSmrg SymbolsDef *syms; 251690143ccSmrg ModMapDef *modMask; 252690143ccSmrg GroupCompatDef *groupCompat; 253690143ccSmrg IndicatorMapDef *ledMap; 254690143ccSmrg IndicatorNameDef *ledName; 255690143ccSmrg KeycodeDef *keyName; 256690143ccSmrg KeyAliasDef *keyAlias; 257690143ccSmrg ShapeDef *shape; 258690143ccSmrg SectionDef *section; 259690143ccSmrg RowDef *row; 260690143ccSmrg KeyDef *key; 261690143ccSmrg OverlayDef *overlay; 262690143ccSmrg OverlayKeyDef *olKey; 263690143ccSmrg OutlineDef *outline; 264690143ccSmrg DoodadDef *doodad; 265690143ccSmrg XkbFile *file; 2661d8c7986Smrg} 2671d8c7986Smrg/* Line 187 of yacc.c. */ 2681d8c7986Smrg#line 269 "xkbparse.c" 2691d8c7986Smrg YYSTYPE; 270690143ccSmrg# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 271690143ccSmrg# define YYSTYPE_IS_DECLARED 1 2721d8c7986Smrg# define YYSTYPE_IS_TRIVIAL 1 273690143ccSmrg#endif 274690143ccSmrg 275690143ccSmrg 2761d8c7986Smrg 277690143ccSmrg/* Copy the second part of user declarations. */ 278690143ccSmrg 279690143ccSmrg 2801d8c7986Smrg/* Line 216 of yacc.c. */ 2811d8c7986Smrg#line 282 "xkbparse.c" 282690143ccSmrg 283690143ccSmrg#ifdef short 284690143ccSmrg# undef short 285690143ccSmrg#endif 286690143ccSmrg 287690143ccSmrg#ifdef YYTYPE_UINT8 288690143ccSmrgtypedef YYTYPE_UINT8 yytype_uint8; 289690143ccSmrg#else 290690143ccSmrgtypedef unsigned char yytype_uint8; 291690143ccSmrg#endif 292690143ccSmrg 293690143ccSmrg#ifdef YYTYPE_INT8 294690143ccSmrgtypedef YYTYPE_INT8 yytype_int8; 295690143ccSmrg#elif (defined __STDC__ || defined __C99__FUNC__ \ 296690143ccSmrg || defined __cplusplus || defined _MSC_VER) 297690143ccSmrgtypedef signed char yytype_int8; 298690143ccSmrg#else 299690143ccSmrgtypedef short int yytype_int8; 300690143ccSmrg#endif 301690143ccSmrg 302690143ccSmrg#ifdef YYTYPE_UINT16 303690143ccSmrgtypedef YYTYPE_UINT16 yytype_uint16; 304690143ccSmrg#else 305690143ccSmrgtypedef unsigned short int yytype_uint16; 306690143ccSmrg#endif 307690143ccSmrg 308690143ccSmrg#ifdef YYTYPE_INT16 309690143ccSmrgtypedef YYTYPE_INT16 yytype_int16; 310690143ccSmrg#else 311690143ccSmrgtypedef short int yytype_int16; 312690143ccSmrg#endif 313690143ccSmrg 314690143ccSmrg#ifndef YYSIZE_T 315690143ccSmrg# ifdef __SIZE_TYPE__ 316690143ccSmrg# define YYSIZE_T __SIZE_TYPE__ 317690143ccSmrg# elif defined size_t 318690143ccSmrg# define YYSIZE_T size_t 319690143ccSmrg# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 320690143ccSmrg || defined __cplusplus || defined _MSC_VER) 321690143ccSmrg# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 322690143ccSmrg# define YYSIZE_T size_t 323690143ccSmrg# else 324690143ccSmrg# define YYSIZE_T unsigned int 325690143ccSmrg# endif 326690143ccSmrg#endif 327690143ccSmrg 328690143ccSmrg#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 329690143ccSmrg 330690143ccSmrg#ifndef YY_ 331690143ccSmrg# if YYENABLE_NLS 332690143ccSmrg# if ENABLE_NLS 333690143ccSmrg# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 334690143ccSmrg# define YY_(msgid) dgettext ("bison-runtime", msgid) 335690143ccSmrg# endif 336690143ccSmrg# endif 337690143ccSmrg# ifndef YY_ 338690143ccSmrg# define YY_(msgid) msgid 339690143ccSmrg# endif 340690143ccSmrg#endif 341690143ccSmrg 342690143ccSmrg/* Suppress unused-variable warnings by "using" E. */ 343690143ccSmrg#if ! defined lint || defined __GNUC__ 344690143ccSmrg# define YYUSE(e) ((void) (e)) 345690143ccSmrg#else 346690143ccSmrg# define YYUSE(e) /* empty */ 347690143ccSmrg#endif 348690143ccSmrg 349690143ccSmrg/* Identity function, used to suppress warnings about constant conditions. */ 350690143ccSmrg#ifndef lint 351690143ccSmrg# define YYID(n) (n) 352690143ccSmrg#else 353690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 354690143ccSmrg || defined __cplusplus || defined _MSC_VER) 355690143ccSmrgstatic int 3561d8c7986SmrgYYID (int i) 357690143ccSmrg#else 358690143ccSmrgstatic int 3591d8c7986SmrgYYID (i) 3601d8c7986Smrg int i; 361690143ccSmrg#endif 362690143ccSmrg{ 3631d8c7986Smrg return i; 364690143ccSmrg} 365690143ccSmrg#endif 366690143ccSmrg 367690143ccSmrg#if ! defined yyoverflow || YYERROR_VERBOSE 368690143ccSmrg 369690143ccSmrg/* The parser invokes alloca or malloc; define the necessary symbols. */ 370690143ccSmrg 371690143ccSmrg# ifdef YYSTACK_USE_ALLOCA 372690143ccSmrg# if YYSTACK_USE_ALLOCA 373690143ccSmrg# ifdef __GNUC__ 374690143ccSmrg# define YYSTACK_ALLOC __builtin_alloca 375690143ccSmrg# elif defined __BUILTIN_VA_ARG_INCR 376690143ccSmrg# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 377690143ccSmrg# elif defined _AIX 378690143ccSmrg# define YYSTACK_ALLOC __alloca 379690143ccSmrg# elif defined _MSC_VER 380690143ccSmrg# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 381690143ccSmrg# define alloca _alloca 382690143ccSmrg# else 383690143ccSmrg# define YYSTACK_ALLOC alloca 384690143ccSmrg# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 385690143ccSmrg || defined __cplusplus || defined _MSC_VER) 386690143ccSmrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 387690143ccSmrg# ifndef _STDLIB_H 388690143ccSmrg# define _STDLIB_H 1 389690143ccSmrg# endif 390690143ccSmrg# endif 391690143ccSmrg# endif 392690143ccSmrg# endif 393690143ccSmrg# endif 394690143ccSmrg 395690143ccSmrg# ifdef YYSTACK_ALLOC 396690143ccSmrg /* Pacify GCC's `empty if-body' warning. */ 397690143ccSmrg# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 398690143ccSmrg# ifndef YYSTACK_ALLOC_MAXIMUM 399690143ccSmrg /* The OS might guarantee only one guard page at the bottom of the stack, 400690143ccSmrg and a page size can be as small as 4096 bytes. So we cannot safely 401690143ccSmrg invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 402690143ccSmrg to allow for a few compiler-allocated temporary stack slots. */ 403690143ccSmrg# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 404690143ccSmrg# endif 405690143ccSmrg# else 406690143ccSmrg# define YYSTACK_ALLOC YYMALLOC 407690143ccSmrg# define YYSTACK_FREE YYFREE 408690143ccSmrg# ifndef YYSTACK_ALLOC_MAXIMUM 409690143ccSmrg# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 410690143ccSmrg# endif 411690143ccSmrg# if (defined __cplusplus && ! defined _STDLIB_H \ 412690143ccSmrg && ! ((defined YYMALLOC || defined malloc) \ 413690143ccSmrg && (defined YYFREE || defined free))) 414690143ccSmrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 415690143ccSmrg# ifndef _STDLIB_H 416690143ccSmrg# define _STDLIB_H 1 417690143ccSmrg# endif 418690143ccSmrg# endif 419690143ccSmrg# ifndef YYMALLOC 420690143ccSmrg# define YYMALLOC malloc 421690143ccSmrg# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 422690143ccSmrg || defined __cplusplus || defined _MSC_VER) 423690143ccSmrgvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 424690143ccSmrg# endif 425690143ccSmrg# endif 426690143ccSmrg# ifndef YYFREE 427690143ccSmrg# define YYFREE free 428690143ccSmrg# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 429690143ccSmrg || defined __cplusplus || defined _MSC_VER) 430690143ccSmrgvoid free (void *); /* INFRINGES ON USER NAME SPACE */ 431690143ccSmrg# endif 432690143ccSmrg# endif 433690143ccSmrg# endif 434690143ccSmrg#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 435690143ccSmrg 436690143ccSmrg 437690143ccSmrg#if (! defined yyoverflow \ 438690143ccSmrg && (! defined __cplusplus \ 439690143ccSmrg || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 440690143ccSmrg 441690143ccSmrg/* A type that is properly aligned for any stack member. */ 442690143ccSmrgunion yyalloc 443690143ccSmrg{ 4441d8c7986Smrg yytype_int16 yyss; 4451d8c7986Smrg YYSTYPE yyvs; 4461d8c7986Smrg }; 447690143ccSmrg 448690143ccSmrg/* The size of the maximum gap between one aligned stack and the next. */ 449690143ccSmrg# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 450690143ccSmrg 451690143ccSmrg/* The size of an array large to enough to hold all stacks, each with 452690143ccSmrg N elements. */ 453690143ccSmrg# define YYSTACK_BYTES(N) \ 454690143ccSmrg ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 455690143ccSmrg + YYSTACK_GAP_MAXIMUM) 456690143ccSmrg 457690143ccSmrg/* Copy COUNT objects from FROM to TO. The source and destination do 458690143ccSmrg not overlap. */ 459690143ccSmrg# ifndef YYCOPY 460690143ccSmrg# if defined __GNUC__ && 1 < __GNUC__ 461690143ccSmrg# define YYCOPY(To, From, Count) \ 462690143ccSmrg __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 463690143ccSmrg# else 464690143ccSmrg# define YYCOPY(To, From, Count) \ 465690143ccSmrg do \ 466690143ccSmrg { \ 467690143ccSmrg YYSIZE_T yyi; \ 468690143ccSmrg for (yyi = 0; yyi < (Count); yyi++) \ 469690143ccSmrg (To)[yyi] = (From)[yyi]; \ 470690143ccSmrg } \ 471690143ccSmrg while (YYID (0)) 472690143ccSmrg# endif 473690143ccSmrg# endif 474690143ccSmrg 475690143ccSmrg/* Relocate STACK from its old location to the new one. The 476690143ccSmrg local variables YYSIZE and YYSTACKSIZE give the old and new number of 477690143ccSmrg elements in the stack, and YYPTR gives the new location of the 478690143ccSmrg stack. Advance YYPTR to a properly aligned location for the next 479690143ccSmrg stack. */ 4801d8c7986Smrg# define YYSTACK_RELOCATE(Stack) \ 481690143ccSmrg do \ 482690143ccSmrg { \ 483690143ccSmrg YYSIZE_T yynewbytes; \ 4841d8c7986Smrg YYCOPY (&yyptr->Stack, Stack, yysize); \ 4851d8c7986Smrg Stack = &yyptr->Stack; \ 486690143ccSmrg yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 487690143ccSmrg yyptr += yynewbytes / sizeof (*yyptr); \ 488690143ccSmrg } \ 489690143ccSmrg while (YYID (0)) 490690143ccSmrg 491690143ccSmrg#endif 492690143ccSmrg 493690143ccSmrg/* YYFINAL -- State number of the termination state. */ 494690143ccSmrg#define YYFINAL 18 495690143ccSmrg/* YYLAST -- Last index in YYTABLE. */ 496690143ccSmrg#define YYLAST 706 497690143ccSmrg 498690143ccSmrg/* YYNTOKENS -- Number of terminals. */ 499690143ccSmrg#define YYNTOKENS 65 500690143ccSmrg/* YYNNTS -- Number of nonterminals. */ 501690143ccSmrg#define YYNNTS 73 502690143ccSmrg/* YYNRULES -- Number of rules. */ 503690143ccSmrg#define YYNRULES 184 504690143ccSmrg/* YYNRULES -- Number of states. */ 505690143ccSmrg#define YYNSTATES 335 506690143ccSmrg 507690143ccSmrg/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 508690143ccSmrg#define YYUNDEFTOK 2 509690143ccSmrg#define YYMAXUTOK 257 510690143ccSmrg 511690143ccSmrg#define YYTRANSLATE(YYX) \ 512690143ccSmrg ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 513690143ccSmrg 514690143ccSmrg/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 515690143ccSmrgstatic const yytype_uint8 yytranslate[] = 516690143ccSmrg{ 517690143ccSmrg 0, 4, 5, 6, 7, 8, 9, 10, 11, 2, 518690143ccSmrg 12, 13, 14, 15, 16, 2, 2, 2, 2, 2, 519690143ccSmrg 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 520690143ccSmrg 27, 28, 29, 30, 31, 32, 33, 34, 35, 2, 521690143ccSmrg 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 522690143ccSmrg 46, 47, 48, 49, 50, 51, 2, 2, 2, 2, 523690143ccSmrg 52, 53, 54, 55, 56, 2, 2, 2, 2, 2, 524690143ccSmrg 57, 58, 59, 60, 61, 62, 63, 64, 2, 2, 525690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 526690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 527690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 528690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 529690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 530690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 531690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 532690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 533690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 534690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 535690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 536690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 537690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 538690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 539690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 540690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 541690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 542690143ccSmrg 2, 2, 2, 2, 2, 3, 1, 2 543690143ccSmrg}; 544690143ccSmrg 545690143ccSmrg#if YYDEBUG 546690143ccSmrg/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 547690143ccSmrg YYRHS. */ 548690143ccSmrgstatic const yytype_uint16 yyprhs[] = 549690143ccSmrg{ 550690143ccSmrg 0, 0, 3, 5, 7, 9, 12, 14, 22, 24, 551690143ccSmrg 26, 28, 31, 33, 41, 46, 48, 50, 52, 54, 552690143ccSmrg 56, 58, 59, 62, 64, 66, 68, 70, 72, 74, 553690143ccSmrg 76, 78, 80, 83, 84, 87, 90, 93, 96, 99, 554690143ccSmrg 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 555690143ccSmrg 134, 137, 141, 146, 152, 156, 160, 162, 164, 168, 556690143ccSmrg 175, 179, 181, 184, 186, 193, 200, 204, 206, 207, 557690143ccSmrg 211, 215, 217, 220, 222, 226, 230, 236, 243, 250, 558690143ccSmrg 256, 263, 270, 277, 284, 287, 289, 295, 297, 299, 559690143ccSmrg 301, 303, 306, 308, 314, 316, 320, 322, 324, 328, 560690143ccSmrg 335, 339, 341, 345, 349, 351, 355, 361, 365, 369, 561690143ccSmrg 371, 377, 384, 386, 388, 390, 392, 394, 396, 398, 562690143ccSmrg 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 563690143ccSmrg 420, 421, 423, 425, 427, 429, 431, 433, 434, 438, 564690143ccSmrg 440, 444, 448, 452, 456, 460, 462, 465, 468, 471, 565690143ccSmrg 474, 476, 481, 483, 487, 491, 493, 498, 500, 504, 566690143ccSmrg 509, 516, 518, 520, 522, 524, 526, 527, 531, 533, 567690143ccSmrg 535, 537, 539, 542, 544, 546, 548, 550, 552, 554, 568690143ccSmrg 556, 558, 560, 562, 563 569690143ccSmrg}; 570690143ccSmrg 571690143ccSmrg/* YYRHS -- A `-1'-separated list of the rules' RHS. */ 572690143ccSmrgstatic const yytype_int16 yyrhs[] = 573690143ccSmrg{ 574690143ccSmrg 66, 0, -1, 67, -1, 70, -1, 72, -1, 67, 575690143ccSmrg 68, -1, 68, -1, 74, 69, 136, 41, 70, 42, 576690143ccSmrg 49, -1, 4, -1, 10, -1, 11, -1, 70, 71, 577690143ccSmrg -1, 71, -1, 74, 73, 136, 41, 77, 42, 49, 578690143ccSmrg -1, 74, 73, 136, 77, -1, 5, -1, 6, -1, 579690143ccSmrg 8, -1, 7, -1, 9, -1, 75, -1, -1, 75, 580690143ccSmrg 76, -1, 76, -1, 57, -1, 58, -1, 59, -1, 581690143ccSmrg 60, -1, 61, -1, 62, -1, 63, -1, 64, -1, 582690143ccSmrg 77, 78, -1, -1, 116, 79, -1, 116, 82, -1, 583690143ccSmrg 116, 85, -1, 116, 80, -1, 116, 81, -1, 116, 584690143ccSmrg 88, -1, 116, 89, -1, 116, 94, -1, 116, 93, 585690143ccSmrg -1, 116, 95, -1, 116, 96, -1, 116, 97, -1, 586690143ccSmrg 116, 98, -1, 116, 112, -1, 117, 52, -1, 124, 587690143ccSmrg 36, 120, 49, -1, 134, 49, -1, 50, 134, 49, 588690143ccSmrg -1, 133, 36, 120, 49, -1, 22, 133, 36, 133, 589690143ccSmrg 49, -1, 17, 83, 49, -1, 83, 48, 84, -1, 590690143ccSmrg 84, -1, 134, -1, 134, 36, 120, -1, 19, 86, 591690143ccSmrg 41, 87, 42, 49, -1, 128, 37, 120, -1, 128, 592690143ccSmrg -1, 87, 79, -1, 79, -1, 18, 135, 41, 87, 593690143ccSmrg 42, 49, -1, 21, 133, 41, 90, 42, 49, -1, 594690143ccSmrg 90, 48, 91, -1, 91, -1, -1, 124, 36, 120, 595690143ccSmrg -1, 124, 36, 92, -1, 134, -1, 50, 134, -1, 596690143ccSmrg 92, -1, 45, 126, 46, -1, 45, 122, 46, -1, 597690143ccSmrg 23, 132, 36, 120, 49, -1, 24, 134, 41, 119, 598690143ccSmrg 42, 49, -1, 25, 135, 41, 87, 42, 49, -1, 599690143ccSmrg 25, 132, 36, 120, 49, -1, 35, 25, 132, 36, 600690143ccSmrg 120, 49, -1, 26, 135, 41, 108, 42, 49, -1, 601690143ccSmrg 26, 135, 41, 110, 42, 49, -1, 29, 135, 41, 602690143ccSmrg 99, 42, 49, -1, 99, 100, -1, 100, -1, 28, 603690143ccSmrg 41, 101, 42, 49, -1, 79, -1, 112, -1, 95, 604690143ccSmrg -1, 105, -1, 101, 102, -1, 102, -1, 27, 41, 605690143ccSmrg 103, 42, 49, -1, 79, -1, 103, 48, 104, -1, 606690143ccSmrg 104, -1, 133, -1, 41, 119, 42, -1, 30, 135, 607690143ccSmrg 41, 106, 42, 49, -1, 106, 48, 107, -1, 107, 608690143ccSmrg -1, 133, 36, 133, -1, 108, 48, 109, -1, 109, 609690143ccSmrg -1, 41, 110, 42, -1, 134, 36, 41, 110, 42, 610690143ccSmrg -1, 134, 36, 120, -1, 110, 48, 111, -1, 111, 611690143ccSmrg -1, 45, 129, 48, 129, 46, -1, 113, 135, 41, 612690143ccSmrg 87, 42, 49, -1, 31, -1, 32, -1, 33, -1, 613690143ccSmrg 34, -1, 134, -1, 115, -1, 20, -1, 19, -1, 614690143ccSmrg 18, -1, 21, -1, 23, -1, 24, -1, 25, -1, 615690143ccSmrg 26, -1, 28, -1, 29, -1, 31, -1, 117, -1, 616690143ccSmrg -1, 12, -1, 14, -1, 13, -1, 15, -1, 16, 617690143ccSmrg -1, 119, -1, -1, 119, 48, 120, -1, 120, -1, 618690143ccSmrg 120, 39, 120, -1, 120, 37, 120, -1, 120, 38, 619690143ccSmrg 120, -1, 120, 40, 120, -1, 124, 36, 120, -1, 620690143ccSmrg 121, -1, 38, 121, -1, 37, 121, -1, 50, 121, 621690143ccSmrg -1, 51, 121, -1, 124, -1, 114, 43, 118, 44, 622690143ccSmrg -1, 125, -1, 43, 120, 44, -1, 122, 48, 123, 623690143ccSmrg -1, 123, -1, 114, 43, 118, 44, -1, 114, -1, 624690143ccSmrg 114, 47, 114, -1, 114, 45, 120, 46, -1, 114, 625690143ccSmrg 47, 114, 45, 120, 46, -1, 135, -1, 132, -1, 626690143ccSmrg 131, -1, 133, -1, 127, -1, -1, 127, 48, 128, 627690143ccSmrg -1, 128, -1, 55, -1, 29, -1, 132, -1, 38, 628690143ccSmrg 130, -1, 130, -1, 54, -1, 53, -1, 54, -1, 629690143ccSmrg 53, -1, 56, -1, 55, -1, 58, -1, 52, -1, 630690143ccSmrg 137, -1, -1, 52, -1 631f46a6179Smrg}; 632690143ccSmrg 633690143ccSmrg/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 634690143ccSmrgstatic const yytype_uint16 yyrline[] = 635690143ccSmrg{ 636690143ccSmrg 0, 168, 168, 170, 172, 176, 178, 182, 188, 189, 637690143ccSmrg 190, 193, 195, 199, 205, 210, 211, 212, 213, 214, 638690143ccSmrg 217, 218, 221, 222, 225, 226, 227, 228, 229, 230, 639690143ccSmrg 231, 232, 235, 237, 240, 245, 250, 255, 260, 265, 640690143ccSmrg 270, 275, 280, 285, 290, 295, 300, 305, 310, 322, 641690143ccSmrg 324, 326, 330, 341, 351, 355, 357, 361, 363, 367, 642690143ccSmrg 376, 378, 382, 384, 388, 394, 400, 402, 404, 407, 643690143ccSmrg 409, 411, 413, 415, 419, 421, 425, 429, 433, 437, 644690143ccSmrg 439, 443, 445, 453, 457, 459, 463, 465, 467, 469, 645690143ccSmrg 471, 475, 477, 481, 483, 487, 489, 493, 495, 499, 646690143ccSmrg 503, 508, 512, 516, 518, 522, 524, 526, 530, 532, 647690143ccSmrg 536, 546, 550, 551, 552, 553, 556, 557, 560, 562, 648690143ccSmrg 564, 566, 568, 570, 572, 574, 576, 578, 580, 584, 649690143ccSmrg 585, 588, 589, 590, 591, 592, 595, 596, 599, 601, 650690143ccSmrg 605, 607, 609, 611, 613, 615, 619, 621, 623, 625, 651690143ccSmrg 627, 629, 631, 633, 637, 639, 643, 647, 654, 662, 652690143ccSmrg 671, 682, 689, 696, 703, 714, 715, 718, 720, 724, 653690143ccSmrg 725, 726, 733, 734, 737, 738, 741, 744, 747, 750, 654690143ccSmrg 751, 754, 757, 758, 761 655690143ccSmrg}; 656690143ccSmrg#endif 657690143ccSmrg 658690143ccSmrg#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 659690143ccSmrg/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 660690143ccSmrg First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 661690143ccSmrgstatic const char *const yytname[] = 662690143ccSmrg{ 663690143ccSmrg "END_OF_FILE", "error", "$undefined", "ERROR_TOK", "XKB_KEYMAP", 664690143ccSmrg "XKB_KEYCODES", "XKB_TYPES", "XKB_SYMBOLS", "XKB_COMPATMAP", 665690143ccSmrg "XKB_GEOMETRY", "XKB_SEMANTICS", "XKB_LAYOUT", "INCLUDE", "OVERRIDE", 666690143ccSmrg "AUGMENT", "REPLACE", "ALTERNATE", "VIRTUAL_MODS", "TYPE", "INTERPRET", 667690143ccSmrg "ACTION_TOK", "KEY", "ALIAS", "GROUP", "MODIFIER_MAP", "INDICATOR", 668690143ccSmrg "SHAPE", "KEYS", "ROW", "SECTION", "OVERLAY", "TEXT", "OUTLINE", "SOLID", 669690143ccSmrg "LOGO", "VIRTUAL", "EQUALS", "PLUS", "MINUS", "DIVIDE", "TIMES", 670690143ccSmrg "OBRACE", "CBRACE", "OPAREN", "CPAREN", "OBRACKET", "CBRACKET", "DOT", 671690143ccSmrg "COMMA", "SEMI", "EXCLAM", "INVERT", "STRING", "INTEGER", "FLOAT", 672690143ccSmrg "IDENT", "KEYNAME", "PARTIAL", "DEFAULT", "HIDDEN", "ALPHANUMERIC_KEYS", 673690143ccSmrg "MODIFIER_KEYS", "KEYPAD_KEYS", "FUNCTION_KEYS", "ALTERNATE_GROUP", 674690143ccSmrg "$accept", "XkbFile", "XkbCompMapList", "XkbCompositeMap", 675690143ccSmrg "XkbCompositeType", "XkbMapConfigList", "XkbMapConfig", "XkbConfig", 676690143ccSmrg "FileType", "OptFlags", "Flags", "Flag", "DeclList", "Decl", "VarDecl", 677690143ccSmrg "KeyNameDecl", "KeyAliasDecl", "VModDecl", "VModDefList", "VModDef", 678690143ccSmrg "InterpretDecl", "InterpretMatch", "VarDeclList", "KeyTypeDecl", 679690143ccSmrg "SymbolsDecl", "SymbolsBody", "SymbolsVarDecl", "ArrayInit", 680690143ccSmrg "GroupCompatDecl", "ModMapDecl", "IndicatorMapDecl", "IndicatorNameDecl", 681690143ccSmrg "ShapeDecl", "SectionDecl", "SectionBody", "SectionBodyItem", "RowBody", 682690143ccSmrg "RowBodyItem", "Keys", "Key", "OverlayDecl", "OverlayKeyList", 683690143ccSmrg "OverlayKey", "OutlineList", "OutlineInList", "CoordList", "Coord", 684690143ccSmrg "DoodadDecl", "DoodadType", "FieldSpec", "Element", "OptMergeMode", 685690143ccSmrg "MergeMode", "OptExprList", "ExprList", "Expr", "Term", "ActionList", 686690143ccSmrg "Action", "Lhs", "Terminal", "OptKeySymList", "KeySymList", "KeySym", 687690143ccSmrg "SignedNumber", "Number", "Float", "Integer", "KeyName", "Ident", 688690143ccSmrg "String", "OptMapName", "MapName", 0 689690143ccSmrg}; 690690143ccSmrg#endif 691690143ccSmrg 692690143ccSmrg# ifdef YYPRINT 693690143ccSmrg/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 694690143ccSmrg token YYLEX-NUM. */ 695690143ccSmrgstatic const yytype_uint16 yytoknum[] = 696690143ccSmrg{ 697690143ccSmrg 0, 256, 257, 255, 1, 2, 3, 4, 5, 6, 698690143ccSmrg 7, 8, 10, 11, 12, 13, 14, 20, 21, 22, 699690143ccSmrg 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 700690143ccSmrg 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 701690143ccSmrg 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 702690143ccSmrg 54, 55, 60, 61, 62, 63, 64, 70, 71, 72, 703690143ccSmrg 73, 74, 75, 76, 77 704f46a6179Smrg}; 705690143ccSmrg# endif 706690143ccSmrg 707690143ccSmrg/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 708690143ccSmrgstatic const yytype_uint8 yyr1[] = 709690143ccSmrg{ 710690143ccSmrg 0, 65, 66, 66, 66, 67, 67, 68, 69, 69, 711690143ccSmrg 69, 70, 70, 71, 72, 73, 73, 73, 73, 73, 712690143ccSmrg 74, 74, 75, 75, 76, 76, 76, 76, 76, 76, 713690143ccSmrg 76, 76, 77, 77, 78, 78, 78, 78, 78, 78, 714690143ccSmrg 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 715690143ccSmrg 79, 79, 80, 81, 82, 83, 83, 84, 84, 85, 716690143ccSmrg 86, 86, 87, 87, 88, 89, 90, 90, 90, 91, 717690143ccSmrg 91, 91, 91, 91, 92, 92, 93, 94, 95, 96, 718690143ccSmrg 96, 97, 97, 98, 99, 99, 100, 100, 100, 100, 719690143ccSmrg 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 720690143ccSmrg 106, 106, 107, 108, 108, 109, 109, 109, 110, 110, 721690143ccSmrg 111, 112, 113, 113, 113, 113, 114, 114, 115, 115, 722690143ccSmrg 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 723690143ccSmrg 116, 117, 117, 117, 117, 117, 118, 118, 119, 119, 724690143ccSmrg 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 725690143ccSmrg 121, 121, 121, 121, 122, 122, 123, 124, 124, 124, 726690143ccSmrg 124, 125, 125, 125, 125, 126, 126, 127, 127, 128, 727690143ccSmrg 128, 128, 129, 129, 130, 130, 131, 132, 133, 134, 728690143ccSmrg 134, 135, 136, 136, 137 729f46a6179Smrg}; 730690143ccSmrg 731690143ccSmrg/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 732690143ccSmrgstatic const yytype_uint8 yyr2[] = 733690143ccSmrg{ 734690143ccSmrg 0, 2, 1, 1, 1, 2, 1, 7, 1, 1, 735690143ccSmrg 1, 2, 1, 7, 4, 1, 1, 1, 1, 1, 736690143ccSmrg 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 737690143ccSmrg 1, 1, 2, 0, 2, 2, 2, 2, 2, 2, 738690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 739690143ccSmrg 2, 3, 4, 5, 3, 3, 1, 1, 3, 6, 740690143ccSmrg 3, 1, 2, 1, 6, 6, 3, 1, 0, 3, 741690143ccSmrg 3, 1, 2, 1, 3, 3, 5, 6, 6, 5, 742690143ccSmrg 6, 6, 6, 6, 2, 1, 5, 1, 1, 1, 743690143ccSmrg 1, 2, 1, 5, 1, 3, 1, 1, 3, 6, 744690143ccSmrg 3, 1, 3, 3, 1, 3, 5, 3, 3, 1, 745690143ccSmrg 5, 6, 1, 1, 1, 1, 1, 1, 1, 1, 746690143ccSmrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 747690143ccSmrg 0, 1, 1, 1, 1, 1, 1, 0, 3, 1, 748690143ccSmrg 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 749690143ccSmrg 1, 4, 1, 3, 3, 1, 4, 1, 3, 4, 750690143ccSmrg 6, 1, 1, 1, 1, 1, 0, 3, 1, 1, 751690143ccSmrg 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 752690143ccSmrg 1, 1, 1, 0, 1 753f46a6179Smrg}; 754690143ccSmrg 755690143ccSmrg/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state 756690143ccSmrg STATE-NUM when YYTABLE doesn't specify something else to do. Zero 757690143ccSmrg means the default is an error. */ 758690143ccSmrgstatic const yytype_uint8 yydefact[] = 759690143ccSmrg{ 760690143ccSmrg 21, 24, 25, 26, 27, 28, 29, 30, 31, 0, 761690143ccSmrg 21, 6, 21, 12, 4, 0, 20, 23, 1, 5, 762690143ccSmrg 0, 11, 0, 8, 15, 16, 18, 17, 19, 9, 763690143ccSmrg 10, 183, 183, 22, 183, 184, 0, 182, 33, 0, 764690143ccSmrg 21, 33, 130, 21, 130, 131, 133, 132, 134, 135, 765690143ccSmrg 32, 0, 129, 0, 0, 0, 120, 119, 118, 121, 766690143ccSmrg 0, 122, 123, 124, 125, 126, 127, 128, 113, 114, 767690143ccSmrg 115, 0, 0, 179, 178, 180, 34, 37, 38, 35, 768690143ccSmrg 36, 39, 40, 42, 41, 43, 44, 45, 46, 47, 769690143ccSmrg 0, 157, 117, 0, 0, 116, 48, 7, 13, 0, 770690143ccSmrg 56, 57, 181, 0, 170, 177, 169, 0, 61, 171, 771690143ccSmrg 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 772690143ccSmrg 0, 0, 0, 0, 0, 50, 0, 54, 0, 0, 773690143ccSmrg 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 774690143ccSmrg 0, 51, 0, 120, 119, 121, 122, 123, 124, 125, 775690143ccSmrg 127, 128, 0, 0, 0, 0, 0, 176, 157, 0, 776690143ccSmrg 145, 150, 152, 163, 162, 164, 116, 161, 158, 0, 777690143ccSmrg 0, 55, 58, 63, 0, 0, 60, 166, 0, 0, 778690143ccSmrg 67, 73, 0, 116, 0, 0, 0, 139, 0, 0, 779690143ccSmrg 0, 0, 0, 104, 0, 109, 0, 124, 126, 0, 780690143ccSmrg 87, 89, 0, 85, 90, 88, 0, 0, 147, 150, 781690143ccSmrg 146, 0, 148, 149, 137, 0, 0, 0, 0, 159, 782690143ccSmrg 0, 0, 49, 52, 0, 62, 0, 170, 169, 0, 783690143ccSmrg 0, 155, 0, 165, 168, 72, 0, 0, 0, 53, 784690143ccSmrg 76, 0, 0, 79, 0, 0, 0, 175, 174, 0, 785690143ccSmrg 173, 0, 0, 0, 0, 0, 0, 0, 0, 84, 786690143ccSmrg 0, 0, 153, 0, 136, 141, 142, 140, 143, 144, 787690143ccSmrg 0, 64, 59, 137, 75, 0, 74, 0, 65, 66, 788690143ccSmrg 70, 69, 77, 138, 78, 105, 172, 0, 81, 103, 789690143ccSmrg 82, 108, 0, 107, 0, 94, 0, 92, 0, 83, 790690143ccSmrg 80, 111, 151, 160, 0, 154, 167, 0, 0, 0, 791690143ccSmrg 0, 91, 0, 101, 0, 156, 110, 106, 0, 0, 792690143ccSmrg 96, 97, 86, 0, 0, 0, 0, 0, 0, 99, 793690143ccSmrg 100, 102, 98, 93, 95 794f46a6179Smrg}; 795690143ccSmrg 796690143ccSmrg/* YYDEFGOTO[NTERM-NUM]. */ 797690143ccSmrgstatic const yytype_int16 yydefgoto[] = 798690143ccSmrg{ 799690143ccSmrg -1, 9, 10, 11, 31, 12, 13, 14, 32, 22, 800690143ccSmrg 16, 17, 42, 50, 173, 77, 78, 79, 99, 100, 801690143ccSmrg 80, 107, 174, 81, 82, 179, 180, 181, 83, 84, 802690143ccSmrg 201, 86, 87, 88, 202, 203, 296, 297, 319, 320, 803690143ccSmrg 204, 312, 313, 192, 193, 194, 195, 205, 90, 158, 804690143ccSmrg 92, 51, 52, 263, 264, 187, 160, 230, 231, 161, 805690143ccSmrg 162, 232, 233, 108, 249, 250, 163, 164, 165, 166, 806690143ccSmrg 167, 36, 37 807f46a6179Smrg}; 808690143ccSmrg 809690143ccSmrg/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 810690143ccSmrg STATE-NUM. */ 811690143ccSmrg#define YYPACT_NINF -188 812690143ccSmrgstatic const yytype_int16 yypact[] = 813690143ccSmrg{ 814690143ccSmrg 628, -188, -188, -188, -188, -188, -188, -188, -188, 12, 815690143ccSmrg 4, -188, 58, -188, -188, 695, 628, -188, -188, -188, 816690143ccSmrg 121, -188, 408, -188, -188, -188, -188, -188, -188, -188, 817690143ccSmrg -188, -9, -9, -188, -9, -188, 19, -188, 45, 45, 818690143ccSmrg 628, -188, 174, 620, 137, -188, -188, -188, -188, -188, 819690143ccSmrg -188, 317, 39, -15, 50, 1, 59, -18, -188, 72, 820690143ccSmrg 72, 106, 1, -27, 59, -188, 59, 62, -188, -188, 821690143ccSmrg -188, 117, 1, -188, -188, -188, -188, -188, -188, -188, 822690143ccSmrg -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, 823690143ccSmrg 59, 51, -188, 125, 146, 134, -188, -188, -188, 132, 824690143ccSmrg -188, 163, -188, 168, -188, -188, -188, 173, 179, -188, 825690143ccSmrg 178, 186, 190, 194, 206, 204, 208, 221, 106, 216, 826690143ccSmrg 225, 265, 640, 265, 265, -188, 1, -188, 265, 599, 827690143ccSmrg 599, 265, 470, 72, 265, 265, 265, 599, -26, 21, 828690143ccSmrg 239, -188, 599, -188, -188, -188, -188, -188, -188, -188, 829690143ccSmrg -188, -188, 265, 265, 265, 265, 265, -188, 159, 232, 830690143ccSmrg -188, 240, -188, -188, -188, -188, -188, -188, 223, 98, 831690143ccSmrg 156, -188, 260, -188, 485, 513, 260, 617, 1, 30, 832690143ccSmrg -188, -188, 243, 32, 231, 192, 64, 260, 199, 528, 833690143ccSmrg 236, 35, 127, -188, 128, -188, 251, 59, 270, 59, 834690143ccSmrg -188, -188, 422, -188, -188, -188, 265, 556, -188, -188, 835690143ccSmrg -188, 342, -188, -188, 265, 265, 265, 265, 265, -188, 836690143ccSmrg 265, 265, -188, -188, 263, -188, 264, 249, 271, 281, 837690143ccSmrg 61, -188, 279, 278, -188, -188, 280, 470, 340, -188, 838690143ccSmrg -188, 283, 265, -188, 284, 129, 16, -188, -188, 282, 839690143ccSmrg -188, 298, -34, 308, 236, 381, 576, 287, 321, -188, 840690143ccSmrg 215, 325, -188, 332, 336, 158, 158, -188, -188, 260, 841690143ccSmrg 316, -188, -188, 265, -188, 640, -188, -18, -188, -188, 842690143ccSmrg -188, 260, -188, 260, -188, -188, -188, 35, -188, -188, 843690143ccSmrg -188, -188, 236, 260, 346, -188, 442, -188, 72, -188, 844690143ccSmrg -188, -188, -188, -188, 344, -188, -188, 343, 143, -28, 845690143ccSmrg 348, -188, 176, -188, 367, -188, -188, -188, 265, 198, 846690143ccSmrg -188, -188, -188, 359, 72, 72, 202, 362, -28, -188, 847690143ccSmrg -188, -188, -188, -188, -188 848f46a6179Smrg}; 849690143ccSmrg 850690143ccSmrg/* YYPGOTO[NTERM-NUM]. */ 851690143ccSmrgstatic const yytype_int16 yypgoto[] = 852690143ccSmrg{ 853690143ccSmrg -188, -188, -188, 410, -188, 383, -7, -188, 399, 38, 854690143ccSmrg -188, 409, 385, -188, -35, -188, -188, -188, -188, 301, 855690143ccSmrg -188, -188, -47, -188, -188, -188, 191, 200, -188, -188, 856690143ccSmrg 378, -188, -188, -188, -188, 228, -188, 148, -188, 130, 857690143ccSmrg -188, -188, 133, -188, 197, -187, 205, 423, -188, 26, 858690143ccSmrg -188, -188, -188, 203, -134, 89, 104, -188, 207, -29, 859690143ccSmrg -188, -188, -188, -175, 188, 233, -188, -43, -51, -45, 860690143ccSmrg -33, 109, -188 861f46a6179Smrg}; 862690143ccSmrg 863690143ccSmrg/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 864690143ccSmrg positive, shift that token. If negative, reduce the rule which 865690143ccSmrg number is the opposite. If zero, do what YYDEFACT says. 866690143ccSmrg If YYTABLE_NINF, syntax error. */ 867690143ccSmrg#define YYTABLE_NINF -180 868690143ccSmrgstatic const yytype_int16 yytable[] = 869690143ccSmrg{ 870690143ccSmrg 94, 186, 234, 245, -2, 21, 95, 190, 110, 111, 871690143ccSmrg 101, 104, 18, 318, 109, 190, 76, 113, 112, 191, 872690143ccSmrg 114, 73, 93, 103, 75, 102, 105, 119, 74, 73, 873690143ccSmrg 115, 116, 75, 117, 97, 105, 21, 106, 15, 143, 874690143ccSmrg 144, 58, 145, 35, 146, 147, 197, 149, 20, 198, 875690143ccSmrg 150, 199, 67, 68, 69, 70, 73, 120, -3, 75, 876690143ccSmrg 40, 1, 2, 3, 4, 5, 6, 7, 8, 247, 877690143ccSmrg 248, 72, 236, 246, -71, 140, 73, 91, 237, 75, 878690143ccSmrg -71, 101, 184, 175, 95, 95, 41, 183, 247, 248, 879690143ccSmrg 189, 96, 95, 196, 95, 207, 121, 95, 122, 98, 880690143ccSmrg 93, 93, 306, 182, 200, 308, 241, 274, 93, 275, 881690143ccSmrg 93, 102, 242, 93, -112, 1, 2, 3, 4, 5, 882690143ccSmrg 6, 7, 8, 209, 209, 23, 209, 209, 74, 95, 883690143ccSmrg 95, 29, 30, 235, 109, 215, 216, 217, 218, 225, 884690143ccSmrg 225, 38, 118, 39, 95, 93, 93, 222, 168, 45, 885690143ccSmrg 46, 47, 48, 49, 225, 91, 91, 95, 91, 105, 886690143ccSmrg 93, 123, 95, 91, 115, 91, 257, 200, 91, 251, 887690143ccSmrg 253, 285, 225, 93, -14, 252, 254, 254, 93, 54, 888690143ccSmrg 126, 127, 124, 125, 326, 317, 45, 46, 47, 48, 889690143ccSmrg 49, 254, 183, 215, 216, 217, 218, 217, 218, 128, 890690143ccSmrg 91, 91, 214, 229, 121, 223, 122, 196, 182, 129, 891690143ccSmrg 159, 95, 169, 170, 130, 91, 131, 172, 323, 132, 892690143ccSmrg 176, 295, 133, 185, 324, 188, 134, 93, 91, 215, 893690143ccSmrg 216, 217, 218, 91, 109, 135, 215, 216, 217, 218, 894690143ccSmrg 327, 240, 136, 211, 332, 137, 328, 314, 243, 138, 895690143ccSmrg 242, 95, 215, 216, 217, 218, 208, 210, 321, 212, 896690143ccSmrg 213, 295, 139, 91, 300, 141, 142, 93, 221, 215, 897690143ccSmrg 216, 217, 218, 314, 331, 206, 220, 321, 219, 238, 898690143ccSmrg 239, 191, 91, 143, 144, 58, 145, 255, 146, 147, 899690143ccSmrg 148, 149, -127, 65, 150, 260, 151, 215, 216, 217, 900690143ccSmrg 218, 229, 152, 153, 265, 266, 267, 268, 154, 269, 901690143ccSmrg 270, 256, 271, 272, -179, 155, 156, 102, 105, 157, 902690143ccSmrg 73, 74, 91, 75, 273, 276, 277, 281, 298, 278, 903690143ccSmrg 287, 283, 282, 284, 55, 56, 57, 58, 59, 60, 904690143ccSmrg 61, 62, 63, 64, 293, 65, 66, 288, 67, 68, 905690143ccSmrg 69, 70, 71, 215, 216, 217, 218, 290, 143, 144, 906690143ccSmrg 58, 145, 303, 146, 147, 148, 149, 72, 65, 150, 907690143ccSmrg 299, 151, 73, 74, 301, 75, 302, 152, 153, 215, 908690143ccSmrg 216, 217, 218, 154, 242, 177, 262, 309, 315, 316, 909690143ccSmrg 155, 156, 102, 105, 157, 73, 74, 322, 75, 143, 910690143ccSmrg 144, 58, 145, 325, 146, 147, 148, 149, 329, 65, 911690143ccSmrg 150, 333, 151, 24, 25, 26, 27, 28, 152, 153, 912690143ccSmrg 19, 34, 292, 43, 154, 33, 44, 171, 279, 85, 913690143ccSmrg 259, 155, 156, 102, 105, 157, 73, 74, 280, 75, 914690143ccSmrg 143, 144, 58, 145, 311, 146, 147, 197, 149, 289, 915690143ccSmrg 198, 150, 199, 67, 68, 69, 70, 330, 334, 291, 916690143ccSmrg 143, 144, 58, 145, 258, 146, 147, 148, 149, 294, 917690143ccSmrg 65, 150, 72, 151, 89, 307, 304, 73, 0, 286, 918690143ccSmrg 75, 0, 305, 0, 310, 0, 0, 0, 143, 144, 919690143ccSmrg 58, 145, 72, 146, 147, 148, 149, 73, 65, 150, 920690143ccSmrg 75, 151, 0, 143, 144, 58, 145, 0, 146, 147, 921690143ccSmrg 148, 149, 0, 65, 150, 177, 151, 0, 0, 0, 922690143ccSmrg 178, 0, 0, 0, 0, 73, 0, 224, 75, 0, 923690143ccSmrg 0, 143, 144, 58, 145, 72, 146, 147, 148, 149, 924690143ccSmrg 73, 65, 150, 75, 151, 0, 143, 144, 58, 145, 925690143ccSmrg 0, 146, 147, 148, 149, 226, 65, 150, 0, 151, 926690143ccSmrg 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 927690143ccSmrg 244, 75, 0, 0, 143, 144, 58, 145, 72, 146, 928690143ccSmrg 147, 148, 149, 73, 65, 150, 75, 151, 0, 0, 929690143ccSmrg 0, 0, 0, 0, 143, 144, 58, 145, 261, 146, 930690143ccSmrg 147, 148, 149, 294, 65, 150, 72, 151, 0, 0, 931690143ccSmrg 0, 73, 0, 0, 75, 0, 0, 143, 144, 58, 932690143ccSmrg 145, 0, 146, 147, 148, 149, 72, 65, 150, 0, 933690143ccSmrg 151, 73, 0, 0, 75, 143, 144, 58, 145, 0, 934690143ccSmrg 146, 147, 148, 149, 0, 65, 227, 0, 151, 72, 935690143ccSmrg 0, 0, 0, 0, 73, 0, 0, 75, 143, 144, 936690143ccSmrg 58, 145, 53, 146, 147, 148, 149, 0, 65, 150, 937690143ccSmrg 105, 151, 228, 0, 0, 75, 0, 1, 2, 3, 938690143ccSmrg 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 939690143ccSmrg 6, 7, 8, 0, 0, 73, 0, 0, 75, 23, 940690143ccSmrg 24, 25, 26, 27, 28, 29, 30 941f46a6179Smrg}; 942690143ccSmrg 943690143ccSmrgstatic const yytype_int16 yycheck[] = 944690143ccSmrg{ 945690143ccSmrg 51, 135, 177, 190, 0, 12, 51, 41, 59, 60, 946690143ccSmrg 55, 29, 0, 41, 57, 41, 51, 62, 61, 45, 947690143ccSmrg 63, 55, 51, 56, 58, 52, 53, 72, 56, 55, 948690143ccSmrg 63, 64, 58, 66, 49, 53, 43, 55, 0, 18, 949690143ccSmrg 19, 20, 21, 52, 23, 24, 25, 26, 10, 28, 950690143ccSmrg 29, 30, 31, 32, 33, 34, 55, 90, 0, 58, 951690143ccSmrg 41, 57, 58, 59, 60, 61, 62, 63, 64, 53, 952690143ccSmrg 54, 50, 42, 38, 42, 118, 55, 51, 48, 58, 953690143ccSmrg 48, 126, 133, 130, 129, 130, 41, 132, 53, 54, 954690143ccSmrg 137, 52, 137, 138, 139, 142, 45, 142, 47, 49, 955690143ccSmrg 129, 130, 277, 132, 139, 292, 42, 46, 137, 48, 956690143ccSmrg 139, 52, 48, 142, 52, 57, 58, 59, 60, 61, 957690143ccSmrg 62, 63, 64, 152, 153, 4, 155, 156, 56, 174, 958690143ccSmrg 175, 10, 11, 178, 177, 37, 38, 39, 40, 174, 959690143ccSmrg 175, 32, 25, 34, 189, 174, 175, 49, 122, 12, 960690143ccSmrg 13, 14, 15, 16, 189, 129, 130, 202, 132, 53, 961690143ccSmrg 189, 36, 207, 137, 197, 139, 199, 202, 142, 42, 962690143ccSmrg 42, 42, 207, 202, 0, 48, 48, 48, 207, 42, 963690143ccSmrg 48, 49, 36, 49, 318, 42, 12, 13, 14, 15, 964690143ccSmrg 16, 48, 237, 37, 38, 39, 40, 39, 40, 36, 965690143ccSmrg 174, 175, 43, 177, 45, 49, 47, 252, 237, 41, 966690143ccSmrg 121, 256, 123, 124, 41, 189, 37, 128, 42, 41, 967690143ccSmrg 131, 256, 36, 134, 48, 136, 36, 256, 202, 37, 968690143ccSmrg 38, 39, 40, 207, 277, 41, 37, 38, 39, 40, 969690143ccSmrg 42, 49, 36, 154, 42, 41, 48, 298, 49, 41, 970690143ccSmrg 48, 296, 37, 38, 39, 40, 152, 153, 309, 155, 971690143ccSmrg 156, 296, 41, 237, 49, 49, 41, 296, 45, 37, 972690143ccSmrg 38, 39, 40, 324, 325, 36, 36, 328, 46, 36, 973690143ccSmrg 49, 45, 256, 18, 19, 20, 21, 36, 23, 24, 974690143ccSmrg 25, 26, 43, 28, 29, 206, 31, 37, 38, 39, 975690143ccSmrg 40, 275, 37, 38, 215, 216, 217, 218, 43, 220, 976690143ccSmrg 221, 41, 49, 49, 43, 50, 51, 52, 53, 54, 977690143ccSmrg 55, 56, 296, 58, 43, 46, 48, 238, 41, 49, 978690143ccSmrg 48, 242, 49, 49, 17, 18, 19, 20, 21, 22, 979690143ccSmrg 23, 24, 25, 26, 255, 28, 29, 49, 31, 32, 980690143ccSmrg 33, 34, 35, 37, 38, 39, 40, 49, 18, 19, 981690143ccSmrg 20, 21, 46, 23, 24, 25, 26, 50, 28, 29, 982690143ccSmrg 49, 31, 55, 56, 49, 58, 44, 37, 38, 37, 983690143ccSmrg 38, 39, 40, 43, 48, 45, 44, 41, 44, 46, 984690143ccSmrg 50, 51, 52, 53, 54, 55, 56, 49, 58, 18, 985690143ccSmrg 19, 20, 21, 36, 23, 24, 25, 26, 49, 28, 986690143ccSmrg 29, 49, 31, 5, 6, 7, 8, 9, 37, 38, 987690143ccSmrg 10, 22, 41, 40, 43, 16, 41, 126, 237, 51, 988690143ccSmrg 202, 50, 51, 52, 53, 54, 55, 56, 238, 58, 989690143ccSmrg 18, 19, 20, 21, 296, 23, 24, 25, 26, 252, 990690143ccSmrg 28, 29, 30, 31, 32, 33, 34, 324, 328, 254, 991690143ccSmrg 18, 19, 20, 21, 42, 23, 24, 25, 26, 27, 992690143ccSmrg 28, 29, 50, 31, 51, 287, 273, 55, -1, 246, 993690143ccSmrg 58, -1, 275, -1, 42, -1, -1, -1, 18, 19, 994690143ccSmrg 20, 21, 50, 23, 24, 25, 26, 55, 28, 29, 995690143ccSmrg 58, 31, -1, 18, 19, 20, 21, -1, 23, 24, 996690143ccSmrg 25, 26, -1, 28, 29, 45, 31, -1, -1, -1, 997690143ccSmrg 50, -1, -1, -1, -1, 55, -1, 42, 58, -1, 998690143ccSmrg -1, 18, 19, 20, 21, 50, 23, 24, 25, 26, 999690143ccSmrg 55, 28, 29, 58, 31, -1, 18, 19, 20, 21, 1000690143ccSmrg -1, 23, 24, 25, 26, 42, 28, 29, -1, 31, 1001690143ccSmrg -1, -1, -1, 50, -1, -1, -1, -1, 55, -1, 1002690143ccSmrg 42, 58, -1, -1, 18, 19, 20, 21, 50, 23, 1003690143ccSmrg 24, 25, 26, 55, 28, 29, 58, 31, -1, -1, 1004690143ccSmrg -1, -1, -1, -1, 18, 19, 20, 21, 42, 23, 1005690143ccSmrg 24, 25, 26, 27, 28, 29, 50, 31, -1, -1, 1006690143ccSmrg -1, 55, -1, -1, 58, -1, -1, 18, 19, 20, 1007690143ccSmrg 21, -1, 23, 24, 25, 26, 50, 28, 29, -1, 1008690143ccSmrg 31, 55, -1, -1, 58, 18, 19, 20, 21, -1, 1009690143ccSmrg 23, 24, 25, 26, -1, 28, 29, -1, 31, 50, 1010690143ccSmrg -1, -1, -1, -1, 55, -1, -1, 58, 18, 19, 1011690143ccSmrg 20, 21, 42, 23, 24, 25, 26, -1, 28, 29, 1012690143ccSmrg 53, 31, 55, -1, -1, 58, -1, 57, 58, 59, 1013690143ccSmrg 60, 61, 62, 63, 64, 57, 58, 59, 60, 61, 1014690143ccSmrg 62, 63, 64, -1, -1, 55, -1, -1, 58, 4, 1015690143ccSmrg 5, 6, 7, 8, 9, 10, 11 1016f46a6179Smrg}; 1017f46a6179Smrg 1018690143ccSmrg/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 1019690143ccSmrg symbol of state STATE-NUM. */ 1020690143ccSmrgstatic const yytype_uint8 yystos[] = 1021690143ccSmrg{ 1022690143ccSmrg 0, 57, 58, 59, 60, 61, 62, 63, 64, 66, 1023690143ccSmrg 67, 68, 70, 71, 72, 74, 75, 76, 0, 68, 1024690143ccSmrg 74, 71, 74, 4, 5, 6, 7, 8, 9, 10, 1025690143ccSmrg 11, 69, 73, 76, 73, 52, 136, 137, 136, 136, 1026690143ccSmrg 41, 41, 77, 70, 77, 12, 13, 14, 15, 16, 1027690143ccSmrg 78, 116, 117, 42, 42, 17, 18, 19, 20, 21, 1028690143ccSmrg 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 1029690143ccSmrg 34, 35, 50, 55, 56, 58, 79, 80, 81, 82, 1030690143ccSmrg 85, 88, 89, 93, 94, 95, 96, 97, 98, 112, 1031690143ccSmrg 113, 114, 115, 124, 133, 134, 52, 49, 49, 83, 1032690143ccSmrg 84, 134, 52, 135, 29, 53, 55, 86, 128, 132, 1033690143ccSmrg 133, 133, 132, 134, 132, 135, 135, 135, 25, 134, 1034690143ccSmrg 135, 45, 47, 36, 36, 49, 48, 49, 36, 41, 1035690143ccSmrg 41, 37, 41, 36, 36, 41, 36, 41, 41, 41, 1036690143ccSmrg 132, 49, 41, 18, 19, 21, 23, 24, 25, 26, 1037690143ccSmrg 29, 31, 37, 38, 43, 50, 51, 54, 114, 120, 1038690143ccSmrg 121, 124, 125, 131, 132, 133, 134, 135, 114, 120, 1039690143ccSmrg 120, 84, 120, 79, 87, 87, 120, 45, 50, 90, 1040690143ccSmrg 91, 92, 124, 134, 133, 120, 119, 120, 120, 87, 1041690143ccSmrg 41, 45, 108, 109, 110, 111, 134, 25, 28, 30, 1042690143ccSmrg 79, 95, 99, 100, 105, 112, 36, 87, 121, 124, 1043690143ccSmrg 121, 120, 121, 121, 43, 37, 38, 39, 40, 46, 1044690143ccSmrg 36, 45, 49, 49, 42, 79, 42, 29, 55, 114, 1045690143ccSmrg 122, 123, 126, 127, 128, 134, 42, 48, 36, 49, 1046690143ccSmrg 49, 42, 48, 49, 42, 110, 38, 53, 54, 129, 1047690143ccSmrg 130, 42, 48, 42, 48, 36, 41, 135, 42, 100, 1048690143ccSmrg 120, 42, 44, 118, 119, 120, 120, 120, 120, 120, 1049690143ccSmrg 120, 49, 49, 43, 46, 48, 46, 48, 49, 91, 1050690143ccSmrg 92, 120, 49, 120, 49, 42, 130, 48, 49, 109, 1051690143ccSmrg 49, 111, 41, 120, 27, 79, 101, 102, 41, 49, 1052690143ccSmrg 49, 49, 44, 46, 118, 123, 128, 129, 110, 41, 1053690143ccSmrg 42, 102, 106, 107, 133, 44, 46, 42, 41, 103, 1054690143ccSmrg 104, 133, 49, 42, 48, 36, 119, 42, 48, 49, 1055690143ccSmrg 107, 133, 42, 49, 104 1056f46a6179Smrg}; 1057690143ccSmrg 1058690143ccSmrg#define yyerrok (yyerrstatus = 0) 1059690143ccSmrg#define yyclearin (yychar = YYEMPTY) 1060690143ccSmrg#define YYEMPTY (-2) 1061690143ccSmrg#define YYEOF 0 1062690143ccSmrg 1063690143ccSmrg#define YYACCEPT goto yyacceptlab 1064690143ccSmrg#define YYABORT goto yyabortlab 1065690143ccSmrg#define YYERROR goto yyerrorlab 1066690143ccSmrg 1067690143ccSmrg 1068690143ccSmrg/* Like YYERROR except do call yyerror. This remains here temporarily 1069690143ccSmrg to ease the transition to the new meaning of YYERROR, for GCC. 1070690143ccSmrg Once GCC version 2 has supplanted version 1, this can go. */ 1071690143ccSmrg 1072690143ccSmrg#define YYFAIL goto yyerrlab 1073690143ccSmrg 1074690143ccSmrg#define YYRECOVERING() (!!yyerrstatus) 1075690143ccSmrg 1076690143ccSmrg#define YYBACKUP(Token, Value) \ 1077690143ccSmrgdo \ 1078690143ccSmrg if (yychar == YYEMPTY && yylen == 1) \ 1079690143ccSmrg { \ 1080690143ccSmrg yychar = (Token); \ 1081690143ccSmrg yylval = (Value); \ 1082690143ccSmrg yytoken = YYTRANSLATE (yychar); \ 1083690143ccSmrg YYPOPSTACK (1); \ 1084690143ccSmrg goto yybackup; \ 1085690143ccSmrg } \ 1086690143ccSmrg else \ 1087690143ccSmrg { \ 1088690143ccSmrg yyerror (YY_("syntax error: cannot back up")); \ 1089690143ccSmrg YYERROR; \ 1090690143ccSmrg } \ 1091690143ccSmrgwhile (YYID (0)) 1092690143ccSmrg 1093690143ccSmrg 1094690143ccSmrg#define YYTERROR 1 1095690143ccSmrg#define YYERRCODE 256 1096690143ccSmrg 1097690143ccSmrg 1098690143ccSmrg/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 1099690143ccSmrg If N is 0, then set CURRENT to the empty location which ends 1100690143ccSmrg the previous symbol: RHS[0] (always defined). */ 1101690143ccSmrg 1102690143ccSmrg#define YYRHSLOC(Rhs, K) ((Rhs)[K]) 1103690143ccSmrg#ifndef YYLLOC_DEFAULT 1104690143ccSmrg# define YYLLOC_DEFAULT(Current, Rhs, N) \ 1105690143ccSmrg do \ 1106690143ccSmrg if (YYID (N)) \ 1107690143ccSmrg { \ 1108690143ccSmrg (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 1109690143ccSmrg (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 1110690143ccSmrg (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 1111690143ccSmrg (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 1112690143ccSmrg } \ 1113690143ccSmrg else \ 1114690143ccSmrg { \ 1115690143ccSmrg (Current).first_line = (Current).last_line = \ 1116690143ccSmrg YYRHSLOC (Rhs, 0).last_line; \ 1117690143ccSmrg (Current).first_column = (Current).last_column = \ 1118690143ccSmrg YYRHSLOC (Rhs, 0).last_column; \ 1119690143ccSmrg } \ 1120690143ccSmrg while (YYID (0)) 1121f46a6179Smrg#endif 1122690143ccSmrg 1123690143ccSmrg 1124690143ccSmrg/* YY_LOCATION_PRINT -- Print the location on the stream. 1125690143ccSmrg This macro was not mandated originally: define only if we know 1126690143ccSmrg we won't break user code: when these are the locations we know. */ 1127690143ccSmrg 1128690143ccSmrg#ifndef YY_LOCATION_PRINT 1129690143ccSmrg# if YYLTYPE_IS_TRIVIAL 1130690143ccSmrg# define YY_LOCATION_PRINT(File, Loc) \ 1131690143ccSmrg fprintf (File, "%d.%d-%d.%d", \ 1132690143ccSmrg (Loc).first_line, (Loc).first_column, \ 1133690143ccSmrg (Loc).last_line, (Loc).last_column) 1134690143ccSmrg# else 1135690143ccSmrg# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1136690143ccSmrg# endif 1137f46a6179Smrg#endif 1138f46a6179Smrg 1139690143ccSmrg 1140690143ccSmrg/* YYLEX -- calling `yylex' with the right arguments. */ 1141690143ccSmrg 1142690143ccSmrg#ifdef YYLEX_PARAM 1143690143ccSmrg# define YYLEX yylex (YYLEX_PARAM) 1144f46a6179Smrg#else 1145690143ccSmrg# define YYLEX yylex () 1146f46a6179Smrg#endif 1147f46a6179Smrg 1148690143ccSmrg/* Enable debugging if requested. */ 1149690143ccSmrg#if YYDEBUG 1150f46a6179Smrg 1151690143ccSmrg# ifndef YYFPRINTF 1152690143ccSmrg# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1153690143ccSmrg# define YYFPRINTF fprintf 1154690143ccSmrg# endif 1155f46a6179Smrg 1156690143ccSmrg# define YYDPRINTF(Args) \ 1157690143ccSmrgdo { \ 1158690143ccSmrg if (yydebug) \ 1159690143ccSmrg YYFPRINTF Args; \ 1160690143ccSmrg} while (YYID (0)) 1161f46a6179Smrg 1162690143ccSmrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1163690143ccSmrgdo { \ 1164690143ccSmrg if (yydebug) \ 1165690143ccSmrg { \ 1166690143ccSmrg YYFPRINTF (stderr, "%s ", Title); \ 1167690143ccSmrg yy_symbol_print (stderr, \ 1168690143ccSmrg Type, Value); \ 1169690143ccSmrg YYFPRINTF (stderr, "\n"); \ 1170690143ccSmrg } \ 1171690143ccSmrg} while (YYID (0)) 1172f46a6179Smrg 1173f46a6179Smrg 1174690143ccSmrg/*--------------------------------. 1175690143ccSmrg| Print this symbol on YYOUTPUT. | 1176690143ccSmrg`--------------------------------*/ 1177690143ccSmrg 1178690143ccSmrg/*ARGSUSED*/ 1179690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1180690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1181690143ccSmrgstatic void 1182690143ccSmrgyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1183690143ccSmrg#else 1184690143ccSmrgstatic void 1185690143ccSmrgyy_symbol_value_print (yyoutput, yytype, yyvaluep) 1186690143ccSmrg FILE *yyoutput; 1187690143ccSmrg int yytype; 1188690143ccSmrg YYSTYPE const * const yyvaluep; 1189690143ccSmrg#endif 1190f46a6179Smrg{ 1191690143ccSmrg if (!yyvaluep) 119207d2e718Smrg return; 1193690143ccSmrg# ifdef YYPRINT 1194690143ccSmrg if (yytype < YYNTOKENS) 1195690143ccSmrg YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1196690143ccSmrg# else 1197690143ccSmrg YYUSE (yyoutput); 1198690143ccSmrg# endif 1199690143ccSmrg switch (yytype) 1200690143ccSmrg { 1201690143ccSmrg default: 1202690143ccSmrg break; 1203690143ccSmrg } 1204f46a6179Smrg} 1205f46a6179Smrg 1206f46a6179Smrg 1207690143ccSmrg/*--------------------------------. 1208690143ccSmrg| Print this symbol on YYOUTPUT. | 1209690143ccSmrg`--------------------------------*/ 1210f46a6179Smrg 1211690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1212690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1213690143ccSmrgstatic void 1214690143ccSmrgyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1215690143ccSmrg#else 1216690143ccSmrgstatic void 1217690143ccSmrgyy_symbol_print (yyoutput, yytype, yyvaluep) 1218690143ccSmrg FILE *yyoutput; 1219690143ccSmrg int yytype; 1220690143ccSmrg YYSTYPE const * const yyvaluep; 1221690143ccSmrg#endif 1222f46a6179Smrg{ 1223690143ccSmrg if (yytype < YYNTOKENS) 1224690143ccSmrg YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1225690143ccSmrg else 1226690143ccSmrg YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 1227f46a6179Smrg 1228690143ccSmrg yy_symbol_value_print (yyoutput, yytype, yyvaluep); 1229690143ccSmrg YYFPRINTF (yyoutput, ")"); 1230f46a6179Smrg} 1231f46a6179Smrg 1232690143ccSmrg/*------------------------------------------------------------------. 1233690143ccSmrg| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1234690143ccSmrg| TOP (included). | 1235690143ccSmrg`------------------------------------------------------------------*/ 1236f46a6179Smrg 1237690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1238690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1239690143ccSmrgstatic void 12401d8c7986Smrgyy_stack_print (yytype_int16 *bottom, yytype_int16 *top) 1241690143ccSmrg#else 1242690143ccSmrgstatic void 12431d8c7986Smrgyy_stack_print (bottom, top) 12441d8c7986Smrg yytype_int16 *bottom; 12451d8c7986Smrg yytype_int16 *top; 1246690143ccSmrg#endif 1247f46a6179Smrg{ 1248690143ccSmrg YYFPRINTF (stderr, "Stack now"); 12491d8c7986Smrg for (; bottom <= top; ++bottom) 12501d8c7986Smrg YYFPRINTF (stderr, " %d", *bottom); 1251690143ccSmrg YYFPRINTF (stderr, "\n"); 1252690143ccSmrg} 1253f46a6179Smrg 1254690143ccSmrg# define YY_STACK_PRINT(Bottom, Top) \ 1255690143ccSmrgdo { \ 1256690143ccSmrg if (yydebug) \ 1257690143ccSmrg yy_stack_print ((Bottom), (Top)); \ 1258690143ccSmrg} while (YYID (0)) 1259f46a6179Smrg 1260f46a6179Smrg 1261690143ccSmrg/*------------------------------------------------. 1262690143ccSmrg| Report that the YYRULE is going to be reduced. | 1263690143ccSmrg`------------------------------------------------*/ 1264f46a6179Smrg 1265690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1266690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1267690143ccSmrgstatic void 1268690143ccSmrgyy_reduce_print (YYSTYPE *yyvsp, int yyrule) 1269690143ccSmrg#else 1270690143ccSmrgstatic void 1271690143ccSmrgyy_reduce_print (yyvsp, yyrule) 1272690143ccSmrg YYSTYPE *yyvsp; 1273690143ccSmrg int yyrule; 127407d2e718Smrg#endif 1275690143ccSmrg{ 1276690143ccSmrg int yynrhs = yyr2[yyrule]; 1277690143ccSmrg int yyi; 1278690143ccSmrg unsigned long int yylno = yyrline[yyrule]; 1279690143ccSmrg YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1280690143ccSmrg yyrule - 1, yylno); 1281690143ccSmrg /* The symbols being reduced. */ 1282690143ccSmrg for (yyi = 0; yyi < yynrhs; yyi++) 1283f46a6179Smrg { 12841d8c7986Smrg fprintf (stderr, " $%d = ", yyi + 1); 1285690143ccSmrg yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 1286690143ccSmrg &(yyvsp[(yyi + 1) - (yynrhs)]) 1287690143ccSmrg ); 12881d8c7986Smrg fprintf (stderr, "\n"); 1289f46a6179Smrg } 1290690143ccSmrg} 1291f46a6179Smrg 1292690143ccSmrg# define YY_REDUCE_PRINT(Rule) \ 1293690143ccSmrgdo { \ 1294690143ccSmrg if (yydebug) \ 1295690143ccSmrg yy_reduce_print (yyvsp, Rule); \ 1296690143ccSmrg} while (YYID (0)) 1297f46a6179Smrg 1298690143ccSmrg/* Nonzero means print parse trace. It is left uninitialized so that 1299690143ccSmrg multiple parsers can coexist. */ 1300690143ccSmrgint yydebug; 1301690143ccSmrg#else /* !YYDEBUG */ 1302690143ccSmrg# define YYDPRINTF(Args) 1303690143ccSmrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1304690143ccSmrg# define YY_STACK_PRINT(Bottom, Top) 1305690143ccSmrg# define YY_REDUCE_PRINT(Rule) 1306690143ccSmrg#endif /* !YYDEBUG */ 1307f46a6179Smrg 1308f46a6179Smrg 1309690143ccSmrg/* YYINITDEPTH -- initial size of the parser's stacks. */ 1310690143ccSmrg#ifndef YYINITDEPTH 1311690143ccSmrg# define YYINITDEPTH 200 131207d2e718Smrg#endif 1313690143ccSmrg 1314690143ccSmrg/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1315690143ccSmrg if the built-in stack extension method is used). 1316690143ccSmrg 1317690143ccSmrg Do not make this value too large; the results are undefined if 1318690143ccSmrg YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1319690143ccSmrg evaluated with infinite-precision integer arithmetic. */ 1320690143ccSmrg 1321690143ccSmrg#ifndef YYMAXDEPTH 1322690143ccSmrg# define YYMAXDEPTH 10000 1323690143ccSmrg#endif 1324690143ccSmrg 1325690143ccSmrg 1326690143ccSmrg 1327690143ccSmrg#if YYERROR_VERBOSE 1328690143ccSmrg 1329690143ccSmrg# ifndef yystrlen 1330690143ccSmrg# if defined __GLIBC__ && defined _STRING_H 1331690143ccSmrg# define yystrlen strlen 1332690143ccSmrg# else 1333690143ccSmrg/* Return the length of YYSTR. */ 1334690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1335690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1336690143ccSmrgstatic YYSIZE_T 1337690143ccSmrgyystrlen (const char *yystr) 1338690143ccSmrg#else 1339690143ccSmrgstatic YYSIZE_T 1340690143ccSmrgyystrlen (yystr) 1341690143ccSmrg const char *yystr; 134207d2e718Smrg#endif 1343690143ccSmrg{ 1344690143ccSmrg YYSIZE_T yylen; 1345690143ccSmrg for (yylen = 0; yystr[yylen]; yylen++) 1346690143ccSmrg continue; 1347690143ccSmrg return yylen; 1348690143ccSmrg} 1349690143ccSmrg# endif 1350690143ccSmrg# endif 1351690143ccSmrg 1352690143ccSmrg# ifndef yystpcpy 1353690143ccSmrg# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1354690143ccSmrg# define yystpcpy stpcpy 1355690143ccSmrg# else 1356690143ccSmrg/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1357690143ccSmrg YYDEST. */ 1358690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1359690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1360690143ccSmrgstatic char * 1361690143ccSmrgyystpcpy (char *yydest, const char *yysrc) 1362690143ccSmrg#else 1363690143ccSmrgstatic char * 1364690143ccSmrgyystpcpy (yydest, yysrc) 1365690143ccSmrg char *yydest; 1366690143ccSmrg const char *yysrc; 1367690143ccSmrg#endif 1368690143ccSmrg{ 1369690143ccSmrg char *yyd = yydest; 1370690143ccSmrg const char *yys = yysrc; 1371690143ccSmrg 1372690143ccSmrg while ((*yyd++ = *yys++) != '\0') 1373690143ccSmrg continue; 1374690143ccSmrg 1375690143ccSmrg return yyd - 1; 1376690143ccSmrg} 1377690143ccSmrg# endif 1378690143ccSmrg# endif 1379690143ccSmrg 1380690143ccSmrg# ifndef yytnamerr 1381690143ccSmrg/* Copy to YYRES the contents of YYSTR after stripping away unnecessary 1382690143ccSmrg quotes and backslashes, so that it's suitable for yyerror. The 1383690143ccSmrg heuristic is that double-quoting is unnecessary unless the string 1384690143ccSmrg contains an apostrophe, a comma, or backslash (other than 1385690143ccSmrg backslash-backslash). YYSTR is taken from yytname. If YYRES is 1386690143ccSmrg null, do not copy; instead, return the length of what the result 1387690143ccSmrg would have been. */ 1388690143ccSmrgstatic YYSIZE_T 1389690143ccSmrgyytnamerr (char *yyres, const char *yystr) 1390690143ccSmrg{ 1391690143ccSmrg if (*yystr == '"') 1392690143ccSmrg { 1393690143ccSmrg YYSIZE_T yyn = 0; 1394690143ccSmrg char const *yyp = yystr; 1395690143ccSmrg 1396690143ccSmrg for (;;) 1397690143ccSmrg switch (*++yyp) 1398690143ccSmrg { 1399690143ccSmrg case '\'': 1400690143ccSmrg case ',': 1401690143ccSmrg goto do_not_strip_quotes; 1402690143ccSmrg 1403690143ccSmrg case '\\': 1404690143ccSmrg if (*++yyp != '\\') 1405690143ccSmrg goto do_not_strip_quotes; 1406690143ccSmrg /* Fall through. */ 1407690143ccSmrg default: 1408690143ccSmrg if (yyres) 1409690143ccSmrg yyres[yyn] = *yyp; 1410690143ccSmrg yyn++; 1411690143ccSmrg break; 1412690143ccSmrg 1413690143ccSmrg case '"': 1414690143ccSmrg if (yyres) 1415690143ccSmrg yyres[yyn] = '\0'; 1416690143ccSmrg return yyn; 1417690143ccSmrg } 1418690143ccSmrg do_not_strip_quotes: ; 141907d2e718Smrg } 1420690143ccSmrg 1421690143ccSmrg if (! yyres) 1422690143ccSmrg return yystrlen (yystr); 1423690143ccSmrg 1424690143ccSmrg return yystpcpy (yyres, yystr) - yyres; 1425690143ccSmrg} 1426690143ccSmrg# endif 1427690143ccSmrg 1428690143ccSmrg/* Copy into YYRESULT an error message about the unexpected token 1429690143ccSmrg YYCHAR while in state YYSTATE. Return the number of bytes copied, 1430690143ccSmrg including the terminating null byte. If YYRESULT is null, do not 1431690143ccSmrg copy anything; just return the number of bytes that would be 1432690143ccSmrg copied. As a special case, return 0 if an ordinary "syntax error" 1433690143ccSmrg message will do. Return YYSIZE_MAXIMUM if overflow occurs during 1434690143ccSmrg size calculation. */ 1435690143ccSmrgstatic YYSIZE_T 1436690143ccSmrgyysyntax_error (char *yyresult, int yystate, int yychar) 1437690143ccSmrg{ 1438690143ccSmrg int yyn = yypact[yystate]; 1439690143ccSmrg 1440690143ccSmrg if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) 1441690143ccSmrg return 0; 1442690143ccSmrg else 144307d2e718Smrg { 1444690143ccSmrg int yytype = YYTRANSLATE (yychar); 1445690143ccSmrg YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); 1446690143ccSmrg YYSIZE_T yysize = yysize0; 1447690143ccSmrg YYSIZE_T yysize1; 1448690143ccSmrg int yysize_overflow = 0; 1449690143ccSmrg enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 1450690143ccSmrg char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 1451690143ccSmrg int yyx; 1452690143ccSmrg 1453690143ccSmrg# if 0 1454690143ccSmrg /* This is so xgettext sees the translatable formats that are 1455690143ccSmrg constructed on the fly. */ 1456690143ccSmrg YY_("syntax error, unexpected %s"); 1457690143ccSmrg YY_("syntax error, unexpected %s, expecting %s"); 1458690143ccSmrg YY_("syntax error, unexpected %s, expecting %s or %s"); 1459690143ccSmrg YY_("syntax error, unexpected %s, expecting %s or %s or %s"); 1460690143ccSmrg YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); 1461690143ccSmrg# endif 1462690143ccSmrg char *yyfmt; 1463690143ccSmrg char const *yyf; 1464690143ccSmrg static char const yyunexpected[] = "syntax error, unexpected %s"; 1465690143ccSmrg static char const yyexpecting[] = ", expecting %s"; 1466690143ccSmrg static char const yyor[] = " or %s"; 1467690143ccSmrg char yyformat[sizeof yyunexpected 1468690143ccSmrg + sizeof yyexpecting - 1 1469690143ccSmrg + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) 1470690143ccSmrg * (sizeof yyor - 1))]; 1471690143ccSmrg char const *yyprefix = yyexpecting; 1472690143ccSmrg 1473690143ccSmrg /* Start YYX at -YYN if negative to avoid negative indexes in 1474690143ccSmrg YYCHECK. */ 1475690143ccSmrg int yyxbegin = yyn < 0 ? -yyn : 0; 1476690143ccSmrg 1477690143ccSmrg /* Stay within bounds of both yycheck and yytname. */ 1478690143ccSmrg int yychecklim = YYLAST - yyn + 1; 1479690143ccSmrg int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 1480690143ccSmrg int yycount = 1; 1481690143ccSmrg 1482690143ccSmrg yyarg[0] = yytname[yytype]; 1483690143ccSmrg yyfmt = yystpcpy (yyformat, yyunexpected); 1484690143ccSmrg 1485690143ccSmrg for (yyx = yyxbegin; yyx < yyxend; ++yyx) 1486690143ccSmrg if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 1487690143ccSmrg { 1488690143ccSmrg if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 1489690143ccSmrg { 1490690143ccSmrg yycount = 1; 1491690143ccSmrg yysize = yysize0; 1492690143ccSmrg yyformat[sizeof yyunexpected - 1] = '\0'; 1493690143ccSmrg break; 1494690143ccSmrg } 1495690143ccSmrg yyarg[yycount++] = yytname[yyx]; 1496690143ccSmrg yysize1 = yysize + yytnamerr (0, yytname[yyx]); 1497690143ccSmrg yysize_overflow |= (yysize1 < yysize); 1498690143ccSmrg yysize = yysize1; 1499690143ccSmrg yyfmt = yystpcpy (yyfmt, yyprefix); 1500690143ccSmrg yyprefix = yyor; 1501690143ccSmrg } 1502690143ccSmrg 1503690143ccSmrg yyf = YY_(yyformat); 1504690143ccSmrg yysize1 = yysize + yystrlen (yyf); 1505690143ccSmrg yysize_overflow |= (yysize1 < yysize); 1506690143ccSmrg yysize = yysize1; 1507690143ccSmrg 1508690143ccSmrg if (yysize_overflow) 1509690143ccSmrg return YYSIZE_MAXIMUM; 1510690143ccSmrg 1511690143ccSmrg if (yyresult) 1512690143ccSmrg { 1513690143ccSmrg /* Avoid sprintf, as that infringes on the user's name space. 1514690143ccSmrg Don't have undefined behavior even if the translation 1515690143ccSmrg produced a string with the wrong number of "%s"s. */ 1516690143ccSmrg char *yyp = yyresult; 1517690143ccSmrg int yyi = 0; 1518690143ccSmrg while ((*yyp = *yyf) != '\0') 1519690143ccSmrg { 1520690143ccSmrg if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) 1521690143ccSmrg { 1522690143ccSmrg yyp += yytnamerr (yyp, yyarg[yyi++]); 1523690143ccSmrg yyf += 2; 1524690143ccSmrg } 1525690143ccSmrg else 1526690143ccSmrg { 1527690143ccSmrg yyp++; 1528690143ccSmrg yyf++; 1529690143ccSmrg } 1530690143ccSmrg } 1531690143ccSmrg } 1532690143ccSmrg return yysize; 1533690143ccSmrg } 1534690143ccSmrg} 1535690143ccSmrg#endif /* YYERROR_VERBOSE */ 1536690143ccSmrg 1537690143ccSmrg 1538690143ccSmrg/*-----------------------------------------------. 1539690143ccSmrg| Release the memory associated to this symbol. | 1540690143ccSmrg`-----------------------------------------------*/ 1541690143ccSmrg 1542690143ccSmrg/*ARGSUSED*/ 1543690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1544690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1545690143ccSmrgstatic void 1546690143ccSmrgyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 1547690143ccSmrg#else 1548690143ccSmrgstatic void 1549690143ccSmrgyydestruct (yymsg, yytype, yyvaluep) 1550690143ccSmrg const char *yymsg; 1551690143ccSmrg int yytype; 1552690143ccSmrg YYSTYPE *yyvaluep; 155307d2e718Smrg#endif 1554690143ccSmrg{ 1555690143ccSmrg YYUSE (yyvaluep); 1556690143ccSmrg 1557690143ccSmrg if (!yymsg) 1558690143ccSmrg yymsg = "Deleting"; 1559690143ccSmrg YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 1560690143ccSmrg 1561690143ccSmrg switch (yytype) 1562690143ccSmrg { 1563690143ccSmrg 1564690143ccSmrg default: 1565690143ccSmrg break; 156607d2e718Smrg } 1567690143ccSmrg} 15681d8c7986Smrg 1569f46a6179Smrg 1570690143ccSmrg/* Prevent warnings from -Wmissing-prototypes. */ 15711d8c7986Smrg 1572690143ccSmrg#ifdef YYPARSE_PARAM 1573690143ccSmrg#if defined __STDC__ || defined __cplusplus 1574690143ccSmrgint yyparse (void *YYPARSE_PARAM); 1575690143ccSmrg#else 1576690143ccSmrgint yyparse (); 1577690143ccSmrg#endif 1578690143ccSmrg#else /* ! YYPARSE_PARAM */ 1579690143ccSmrg#if defined __STDC__ || defined __cplusplus 1580690143ccSmrgint yyparse (void); 1581690143ccSmrg#else 1582690143ccSmrgint yyparse (); 158307d2e718Smrg#endif 1584690143ccSmrg#endif /* ! YYPARSE_PARAM */ 1585690143ccSmrg 1586690143ccSmrg 15871d8c7986Smrg 15881d8c7986Smrg/* The look-ahead symbol. */ 1589690143ccSmrgint yychar; 1590690143ccSmrg 15911d8c7986Smrg/* The semantic value of the look-ahead symbol. */ 1592690143ccSmrgYYSTYPE yylval; 1593690143ccSmrg 1594690143ccSmrg/* Number of syntax errors so far. */ 1595690143ccSmrgint yynerrs; 1596690143ccSmrg 1597690143ccSmrg 1598690143ccSmrg 15991d8c7986Smrg/*----------. 16001d8c7986Smrg| yyparse. | 16011d8c7986Smrg`----------*/ 1602690143ccSmrg 1603690143ccSmrg#ifdef YYPARSE_PARAM 1604690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1605690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1606690143ccSmrgint 1607690143ccSmrgyyparse (void *YYPARSE_PARAM) 1608690143ccSmrg#else 1609690143ccSmrgint 1610690143ccSmrgyyparse (YYPARSE_PARAM) 1611690143ccSmrg void *YYPARSE_PARAM; 1612690143ccSmrg#endif 1613690143ccSmrg#else /* ! YYPARSE_PARAM */ 1614690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1615690143ccSmrg || defined __cplusplus || defined _MSC_VER) 1616690143ccSmrgint 1617690143ccSmrgyyparse (void) 1618690143ccSmrg#else 1619690143ccSmrgint 1620690143ccSmrgyyparse () 1621690143ccSmrg 1622690143ccSmrg#endif 1623690143ccSmrg#endif 1624690143ccSmrg{ 16251d8c7986Smrg 16261d8c7986Smrg int yystate; 16271d8c7986Smrg int yyn; 16281d8c7986Smrg int yyresult; 16291d8c7986Smrg /* Number of tokens to shift before error messages enabled. */ 16301d8c7986Smrg int yyerrstatus; 16311d8c7986Smrg /* Look-ahead token as an internal (translated) token number. */ 16321d8c7986Smrg int yytoken = 0; 16331d8c7986Smrg#if YYERROR_VERBOSE 16341d8c7986Smrg /* Buffer for error messages, and its allocated size. */ 16351d8c7986Smrg char yymsgbuf[128]; 16361d8c7986Smrg char *yymsg = yymsgbuf; 16371d8c7986Smrg YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 16381d8c7986Smrg#endif 1639690143ccSmrg 16401d8c7986Smrg /* Three stacks and their tools: 16411d8c7986Smrg `yyss': related to states, 16421d8c7986Smrg `yyvs': related to semantic values, 16431d8c7986Smrg `yyls': related to locations. 1644690143ccSmrg 16451d8c7986Smrg Refer to the stacks thru separate pointers, to allow yyoverflow 16461d8c7986Smrg to reallocate them elsewhere. */ 1647690143ccSmrg 16481d8c7986Smrg /* The state stack. */ 16491d8c7986Smrg yytype_int16 yyssa[YYINITDEPTH]; 16501d8c7986Smrg yytype_int16 *yyss = yyssa; 16511d8c7986Smrg yytype_int16 *yyssp; 1652690143ccSmrg 16531d8c7986Smrg /* The semantic value stack. */ 16541d8c7986Smrg YYSTYPE yyvsa[YYINITDEPTH]; 16551d8c7986Smrg YYSTYPE *yyvs = yyvsa; 16561d8c7986Smrg YYSTYPE *yyvsp; 1657690143ccSmrg 1658690143ccSmrg 1659690143ccSmrg 16601d8c7986Smrg#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 16611d8c7986Smrg 16621d8c7986Smrg YYSIZE_T yystacksize = YYINITDEPTH; 1663690143ccSmrg 1664690143ccSmrg /* The variables used to return semantic value and location from the 1665690143ccSmrg action routines. */ 1666690143ccSmrg YYSTYPE yyval; 1667690143ccSmrg 1668690143ccSmrg 1669690143ccSmrg /* The number of symbols on the RHS of the reduced rule. 1670690143ccSmrg Keep to zero when no symbol should be popped. */ 1671690143ccSmrg int yylen = 0; 1672690143ccSmrg 1673690143ccSmrg YYDPRINTF ((stderr, "Starting parse\n")); 1674690143ccSmrg 1675690143ccSmrg yystate = 0; 1676690143ccSmrg yyerrstatus = 0; 1677690143ccSmrg yynerrs = 0; 16781d8c7986Smrg yychar = YYEMPTY; /* Cause a token to be read. */ 1679690143ccSmrg 1680690143ccSmrg /* Initialize stack pointers. 1681690143ccSmrg Waste one element of value and location stack 1682690143ccSmrg so that they stay on the same level as the state stack. 1683690143ccSmrg The wasted elements are never initialized. */ 16841d8c7986Smrg 1685690143ccSmrg yyssp = yyss; 1686690143ccSmrg yyvsp = yyvs; 1687690143ccSmrg 1688690143ccSmrg goto yysetstate; 1689690143ccSmrg 1690690143ccSmrg/*------------------------------------------------------------. 1691690143ccSmrg| yynewstate -- Push a new state, which is found in yystate. | 1692690143ccSmrg`------------------------------------------------------------*/ 1693690143ccSmrg yynewstate: 1694690143ccSmrg /* In all cases, when you get here, the value and location stacks 1695690143ccSmrg have just been pushed. So pushing a state here evens the stacks. */ 1696690143ccSmrg yyssp++; 1697690143ccSmrg 1698690143ccSmrg yysetstate: 1699690143ccSmrg *yyssp = yystate; 1700690143ccSmrg 1701690143ccSmrg if (yyss + yystacksize - 1 <= yyssp) 1702690143ccSmrg { 1703690143ccSmrg /* Get the current used size of the three stacks, in elements. */ 1704690143ccSmrg YYSIZE_T yysize = yyssp - yyss + 1; 1705690143ccSmrg 1706690143ccSmrg#ifdef yyoverflow 1707690143ccSmrg { 1708690143ccSmrg /* Give user a chance to reallocate the stack. Use copies of 1709690143ccSmrg these so that the &'s don't force the real ones into 1710690143ccSmrg memory. */ 1711690143ccSmrg YYSTYPE *yyvs1 = yyvs; 1712690143ccSmrg yytype_int16 *yyss1 = yyss; 1713690143ccSmrg 17141d8c7986Smrg 1715690143ccSmrg /* Each stack pointer address is followed by the size of the 1716690143ccSmrg data in use in that stack, in bytes. This used to be a 1717690143ccSmrg conditional around just the two extra args, but that might 1718690143ccSmrg be undefined if yyoverflow is a macro. */ 1719690143ccSmrg yyoverflow (YY_("memory exhausted"), 1720690143ccSmrg &yyss1, yysize * sizeof (*yyssp), 1721690143ccSmrg &yyvs1, yysize * sizeof (*yyvsp), 17221d8c7986Smrg 1723690143ccSmrg &yystacksize); 1724690143ccSmrg 1725690143ccSmrg yyss = yyss1; 1726690143ccSmrg yyvs = yyvs1; 1727690143ccSmrg } 1728690143ccSmrg#else /* no yyoverflow */ 1729690143ccSmrg# ifndef YYSTACK_RELOCATE 1730690143ccSmrg goto yyexhaustedlab; 1731690143ccSmrg# else 1732690143ccSmrg /* Extend the stack our own way. */ 1733690143ccSmrg if (YYMAXDEPTH <= yystacksize) 1734690143ccSmrg goto yyexhaustedlab; 1735690143ccSmrg yystacksize *= 2; 1736690143ccSmrg if (YYMAXDEPTH < yystacksize) 1737690143ccSmrg yystacksize = YYMAXDEPTH; 1738690143ccSmrg 1739690143ccSmrg { 1740690143ccSmrg yytype_int16 *yyss1 = yyss; 1741690143ccSmrg union yyalloc *yyptr = 1742690143ccSmrg (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1743690143ccSmrg if (! yyptr) 1744690143ccSmrg goto yyexhaustedlab; 17451d8c7986Smrg YYSTACK_RELOCATE (yyss); 17461d8c7986Smrg YYSTACK_RELOCATE (yyvs); 17471d8c7986Smrg 1748690143ccSmrg# undef YYSTACK_RELOCATE 1749690143ccSmrg if (yyss1 != yyssa) 1750690143ccSmrg YYSTACK_FREE (yyss1); 1751690143ccSmrg } 1752690143ccSmrg# endif 1753690143ccSmrg#endif /* no yyoverflow */ 1754690143ccSmrg 1755690143ccSmrg yyssp = yyss + yysize - 1; 1756690143ccSmrg yyvsp = yyvs + yysize - 1; 1757690143ccSmrg 17581d8c7986Smrg 1759690143ccSmrg YYDPRINTF ((stderr, "Stack size increased to %lu\n", 1760690143ccSmrg (unsigned long int) yystacksize)); 1761690143ccSmrg 1762690143ccSmrg if (yyss + yystacksize - 1 <= yyssp) 1763690143ccSmrg YYABORT; 1764690143ccSmrg } 1765690143ccSmrg 1766690143ccSmrg YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 1767690143ccSmrg 1768690143ccSmrg goto yybackup; 1769690143ccSmrg 1770690143ccSmrg/*-----------. 1771690143ccSmrg| yybackup. | 1772690143ccSmrg`-----------*/ 1773690143ccSmrgyybackup: 1774690143ccSmrg 1775690143ccSmrg /* Do appropriate processing given the current state. Read a 17761d8c7986Smrg look-ahead token if we need one and don't already have one. */ 1777690143ccSmrg 17781d8c7986Smrg /* First try to decide what to do without reference to look-ahead token. */ 1779690143ccSmrg yyn = yypact[yystate]; 1780690143ccSmrg if (yyn == YYPACT_NINF) 1781690143ccSmrg goto yydefault; 1782690143ccSmrg 17831d8c7986Smrg /* Not known => get a look-ahead token if don't already have one. */ 1784690143ccSmrg 17851d8c7986Smrg /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ 1786690143ccSmrg if (yychar == YYEMPTY) 1787690143ccSmrg { 1788690143ccSmrg YYDPRINTF ((stderr, "Reading a token: ")); 1789690143ccSmrg yychar = YYLEX; 1790690143ccSmrg } 1791690143ccSmrg 1792690143ccSmrg if (yychar <= YYEOF) 1793690143ccSmrg { 1794690143ccSmrg yychar = yytoken = YYEOF; 1795690143ccSmrg YYDPRINTF ((stderr, "Now at end of input.\n")); 1796690143ccSmrg } 1797690143ccSmrg else 1798690143ccSmrg { 1799690143ccSmrg yytoken = YYTRANSLATE (yychar); 1800690143ccSmrg YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 1801690143ccSmrg } 1802690143ccSmrg 1803690143ccSmrg /* If the proper action on seeing token YYTOKEN is to reduce or to 1804690143ccSmrg detect an error, take that action. */ 1805690143ccSmrg yyn += yytoken; 1806690143ccSmrg if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 1807690143ccSmrg goto yydefault; 1808690143ccSmrg yyn = yytable[yyn]; 1809690143ccSmrg if (yyn <= 0) 1810690143ccSmrg { 1811690143ccSmrg if (yyn == 0 || yyn == YYTABLE_NINF) 1812690143ccSmrg goto yyerrlab; 1813690143ccSmrg yyn = -yyn; 1814690143ccSmrg goto yyreduce; 1815690143ccSmrg } 1816690143ccSmrg 18171d8c7986Smrg if (yyn == YYFINAL) 18181d8c7986Smrg YYACCEPT; 18191d8c7986Smrg 1820690143ccSmrg /* Count tokens shifted since error; after three, turn off error 1821690143ccSmrg status. */ 1822690143ccSmrg if (yyerrstatus) 1823690143ccSmrg yyerrstatus--; 1824690143ccSmrg 18251d8c7986Smrg /* Shift the look-ahead token. */ 1826690143ccSmrg YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1827690143ccSmrg 18281d8c7986Smrg /* Discard the shifted token unless it is eof. */ 18291d8c7986Smrg if (yychar != YYEOF) 18301d8c7986Smrg yychar = YYEMPTY; 1831690143ccSmrg 1832690143ccSmrg yystate = yyn; 1833690143ccSmrg *++yyvsp = yylval; 1834690143ccSmrg 1835690143ccSmrg goto yynewstate; 1836690143ccSmrg 1837690143ccSmrg 1838690143ccSmrg/*-----------------------------------------------------------. 1839690143ccSmrg| yydefault -- do the default action for the current state. | 1840690143ccSmrg`-----------------------------------------------------------*/ 1841690143ccSmrgyydefault: 1842690143ccSmrg yyn = yydefact[yystate]; 1843690143ccSmrg if (yyn == 0) 1844690143ccSmrg goto yyerrlab; 1845690143ccSmrg goto yyreduce; 1846690143ccSmrg 1847690143ccSmrg 1848690143ccSmrg/*-----------------------------. 1849690143ccSmrg| yyreduce -- Do a reduction. | 1850690143ccSmrg`-----------------------------*/ 1851690143ccSmrgyyreduce: 1852690143ccSmrg /* yyn is the number of a rule to reduce with. */ 1853690143ccSmrg yylen = yyr2[yyn]; 1854690143ccSmrg 1855690143ccSmrg /* If YYLEN is nonzero, implement the default value of the action: 1856690143ccSmrg `$$ = $1'. 1857690143ccSmrg 1858690143ccSmrg Otherwise, the following line sets YYVAL to garbage. 1859690143ccSmrg This behavior is undocumented and Bison 1860690143ccSmrg users should not rely upon it. Assigning to YYVAL 1861690143ccSmrg unconditionally makes the parser a bit smaller, and it avoids a 1862690143ccSmrg GCC warning that YYVAL may be used uninitialized. */ 1863690143ccSmrg yyval = yyvsp[1-yylen]; 1864690143ccSmrg 1865690143ccSmrg 1866690143ccSmrg YY_REDUCE_PRINT (yyn); 1867690143ccSmrg switch (yyn) 1868f46a6179Smrg { 1869690143ccSmrg case 2: 187034345a63Smrg#line 169 "xkbparse.y" 1871690143ccSmrg { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); } 1872690143ccSmrg break; 1873690143ccSmrg 1874690143ccSmrg case 3: 187534345a63Smrg#line 171 "xkbparse.y" 1876690143ccSmrg { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); } 1877690143ccSmrg break; 1878690143ccSmrg 1879690143ccSmrg case 4: 188034345a63Smrg#line 173 "xkbparse.y" 1881690143ccSmrg { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); } 1882690143ccSmrg break; 1883690143ccSmrg 1884690143ccSmrg case 5: 188534345a63Smrg#line 177 "xkbparse.y" 1886690143ccSmrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); } 1887690143ccSmrg break; 1888690143ccSmrg 1889690143ccSmrg case 6: 189034345a63Smrg#line 179 "xkbparse.y" 1891690143ccSmrg { (yyval.file)= (yyvsp[(1) - (1)].file); } 1892690143ccSmrg break; 1893690143ccSmrg 1894690143ccSmrg case 7: 189534345a63Smrg#line 185 "xkbparse.y" 1896690143ccSmrg { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),&(yyvsp[(5) - (7)].file)->common,(yyvsp[(1) - (7)].uval)); } 1897690143ccSmrg break; 1898690143ccSmrg 1899690143ccSmrg case 8: 190034345a63Smrg#line 188 "xkbparse.y" 1901690143ccSmrg { (yyval.uval)= XkmKeymapFile; } 1902690143ccSmrg break; 1903690143ccSmrg 1904690143ccSmrg case 9: 190534345a63Smrg#line 189 "xkbparse.y" 1906690143ccSmrg { (yyval.uval)= XkmSemanticsFile; } 1907690143ccSmrg break; 1908690143ccSmrg 1909690143ccSmrg case 10: 191034345a63Smrg#line 190 "xkbparse.y" 1911690143ccSmrg { (yyval.uval)= XkmLayoutFile; } 1912690143ccSmrg break; 1913690143ccSmrg 1914690143ccSmrg case 11: 191534345a63Smrg#line 194 "xkbparse.y" 1916690143ccSmrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); } 1917690143ccSmrg break; 1918690143ccSmrg 1919690143ccSmrg case 12: 192034345a63Smrg#line 196 "xkbparse.y" 1921690143ccSmrg { (yyval.file)= (yyvsp[(1) - (1)].file); } 1922690143ccSmrg break; 1923690143ccSmrg 1924690143ccSmrg case 13: 192534345a63Smrg#line 202 "xkbparse.y" 1926690143ccSmrg { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),(yyvsp[(5) - (7)].any),(yyvsp[(1) - (7)].uval)); } 1927690143ccSmrg break; 1928690143ccSmrg 1929690143ccSmrg case 14: 193034345a63Smrg#line 206 "xkbparse.y" 1931690143ccSmrg { (yyval.file)= CreateXKBFile((yyvsp[(2) - (4)].uval),(yyvsp[(3) - (4)].str),(yyvsp[(4) - (4)].any),(yyvsp[(1) - (4)].uval)); } 1932690143ccSmrg break; 1933690143ccSmrg 1934690143ccSmrg case 15: 193534345a63Smrg#line 210 "xkbparse.y" 1936690143ccSmrg { (yyval.uval)= XkmKeyNamesIndex; } 1937690143ccSmrg break; 1938690143ccSmrg 1939690143ccSmrg case 16: 194034345a63Smrg#line 211 "xkbparse.y" 1941690143ccSmrg { (yyval.uval)= XkmTypesIndex; } 1942690143ccSmrg break; 1943690143ccSmrg 1944690143ccSmrg case 17: 194534345a63Smrg#line 212 "xkbparse.y" 1946690143ccSmrg { (yyval.uval)= XkmCompatMapIndex; } 1947690143ccSmrg break; 1948690143ccSmrg 1949690143ccSmrg case 18: 195034345a63Smrg#line 213 "xkbparse.y" 1951690143ccSmrg { (yyval.uval)= XkmSymbolsIndex; } 1952690143ccSmrg break; 1953690143ccSmrg 1954690143ccSmrg case 19: 195534345a63Smrg#line 214 "xkbparse.y" 1956690143ccSmrg { (yyval.uval)= XkmGeometryIndex; } 1957690143ccSmrg break; 1958690143ccSmrg 1959690143ccSmrg case 20: 196034345a63Smrg#line 217 "xkbparse.y" 1961690143ccSmrg { (yyval.uval)= (yyvsp[(1) - (1)].uval); } 1962690143ccSmrg break; 1963690143ccSmrg 1964690143ccSmrg case 21: 196534345a63Smrg#line 218 "xkbparse.y" 1966690143ccSmrg { (yyval.uval)= 0; } 1967690143ccSmrg break; 1968690143ccSmrg 1969690143ccSmrg case 22: 197034345a63Smrg#line 221 "xkbparse.y" 1971690143ccSmrg { (yyval.uval)= (((yyvsp[(1) - (2)].uval))|((yyvsp[(2) - (2)].uval))); } 1972690143ccSmrg break; 1973690143ccSmrg 1974690143ccSmrg case 23: 197534345a63Smrg#line 222 "xkbparse.y" 1976690143ccSmrg { (yyval.uval)= (yyvsp[(1) - (1)].uval); } 1977690143ccSmrg break; 1978690143ccSmrg 1979690143ccSmrg case 24: 198034345a63Smrg#line 225 "xkbparse.y" 1981690143ccSmrg { (yyval.uval)= XkbLC_Partial; } 1982690143ccSmrg break; 1983690143ccSmrg 1984690143ccSmrg case 25: 198534345a63Smrg#line 226 "xkbparse.y" 1986690143ccSmrg { (yyval.uval)= XkbLC_Default; } 1987690143ccSmrg break; 1988690143ccSmrg 1989690143ccSmrg case 26: 199034345a63Smrg#line 227 "xkbparse.y" 1991690143ccSmrg { (yyval.uval)= XkbLC_Hidden; } 1992690143ccSmrg break; 1993690143ccSmrg 1994690143ccSmrg case 27: 199534345a63Smrg#line 228 "xkbparse.y" 1996690143ccSmrg { (yyval.uval)= XkbLC_AlphanumericKeys; } 1997690143ccSmrg break; 1998690143ccSmrg 1999690143ccSmrg case 28: 200034345a63Smrg#line 229 "xkbparse.y" 2001690143ccSmrg { (yyval.uval)= XkbLC_ModifierKeys; } 2002690143ccSmrg break; 2003690143ccSmrg 2004690143ccSmrg case 29: 200534345a63Smrg#line 230 "xkbparse.y" 2006690143ccSmrg { (yyval.uval)= XkbLC_KeypadKeys; } 2007690143ccSmrg break; 2008690143ccSmrg 2009690143ccSmrg case 30: 201034345a63Smrg#line 231 "xkbparse.y" 2011690143ccSmrg { (yyval.uval)= XkbLC_FunctionKeys; } 2012690143ccSmrg break; 2013690143ccSmrg 2014690143ccSmrg case 31: 201534345a63Smrg#line 232 "xkbparse.y" 2016690143ccSmrg { (yyval.uval)= XkbLC_AlternateGroup; } 2017690143ccSmrg break; 2018690143ccSmrg 2019690143ccSmrg case 32: 202034345a63Smrg#line 236 "xkbparse.y" 2021690143ccSmrg { (yyval.any)= AppendStmt((yyvsp[(1) - (2)].any),(yyvsp[(2) - (2)].any)); } 2022690143ccSmrg break; 2023690143ccSmrg 2024690143ccSmrg case 33: 202534345a63Smrg#line 237 "xkbparse.y" 2026690143ccSmrg { (yyval.any)= NULL; } 2027690143ccSmrg break; 2028690143ccSmrg 2029690143ccSmrg case 34: 203034345a63Smrg#line 241 "xkbparse.y" 2031690143ccSmrg { 2032690143ccSmrg (yyvsp[(2) - (2)].var)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].var)->common,(yyvsp[(1) - (2)].uval)); 2033690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].var)->common; 2034f46a6179Smrg } 2035690143ccSmrg break; 2036690143ccSmrg 2037690143ccSmrg case 35: 203834345a63Smrg#line 246 "xkbparse.y" 2039690143ccSmrg { 2040690143ccSmrg (yyvsp[(2) - (2)].vmod)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].vmod)->common,(yyvsp[(1) - (2)].uval)); 2041690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].vmod)->common; 2042f46a6179Smrg } 2043690143ccSmrg break; 2044690143ccSmrg 2045690143ccSmrg case 36: 204634345a63Smrg#line 251 "xkbparse.y" 2047690143ccSmrg { 2048690143ccSmrg (yyvsp[(2) - (2)].interp)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].interp)->common,(yyvsp[(1) - (2)].uval)); 2049690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].interp)->common; 2050f46a6179Smrg } 2051690143ccSmrg break; 2052690143ccSmrg 2053690143ccSmrg case 37: 205434345a63Smrg#line 256 "xkbparse.y" 2055690143ccSmrg { 2056690143ccSmrg (yyvsp[(2) - (2)].keyName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyName)->common,(yyvsp[(1) - (2)].uval)); 2057690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].keyName)->common; 2058f46a6179Smrg } 2059690143ccSmrg break; 2060690143ccSmrg 2061690143ccSmrg case 38: 206234345a63Smrg#line 261 "xkbparse.y" 2063690143ccSmrg { 2064690143ccSmrg (yyvsp[(2) - (2)].keyAlias)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyAlias)->common,(yyvsp[(1) - (2)].uval)); 2065690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].keyAlias)->common; 2066f46a6179Smrg } 2067690143ccSmrg break; 2068690143ccSmrg 2069690143ccSmrg case 39: 207034345a63Smrg#line 266 "xkbparse.y" 2071690143ccSmrg { 2072690143ccSmrg (yyvsp[(2) - (2)].keyType)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyType)->common,(yyvsp[(1) - (2)].uval)); 2073690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].keyType)->common; 2074f46a6179Smrg } 2075690143ccSmrg break; 2076690143ccSmrg 2077690143ccSmrg case 40: 207834345a63Smrg#line 271 "xkbparse.y" 2079690143ccSmrg { 2080690143ccSmrg (yyvsp[(2) - (2)].syms)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].syms)->common,(yyvsp[(1) - (2)].uval)); 2081690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].syms)->common; 2082f46a6179Smrg } 2083690143ccSmrg break; 2084690143ccSmrg 2085690143ccSmrg case 41: 208634345a63Smrg#line 276 "xkbparse.y" 2087690143ccSmrg { 2088690143ccSmrg (yyvsp[(2) - (2)].modMask)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].modMask)->common,(yyvsp[(1) - (2)].uval)); 2089690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].modMask)->common; 2090f46a6179Smrg } 2091690143ccSmrg break; 2092690143ccSmrg 2093690143ccSmrg case 42: 209434345a63Smrg#line 281 "xkbparse.y" 2095690143ccSmrg { 2096690143ccSmrg (yyvsp[(2) - (2)].groupCompat)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].groupCompat)->common,(yyvsp[(1) - (2)].uval)); 2097690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].groupCompat)->common; 2098f46a6179Smrg } 2099690143ccSmrg break; 2100690143ccSmrg 2101690143ccSmrg case 43: 210234345a63Smrg#line 286 "xkbparse.y" 2103690143ccSmrg { 2104690143ccSmrg (yyvsp[(2) - (2)].ledMap)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledMap)->common,(yyvsp[(1) - (2)].uval)); 2105690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].ledMap)->common; 2106f46a6179Smrg } 2107690143ccSmrg break; 2108690143ccSmrg 2109690143ccSmrg case 44: 211034345a63Smrg#line 291 "xkbparse.y" 2111690143ccSmrg { 2112690143ccSmrg (yyvsp[(2) - (2)].ledName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledName)->common,(yyvsp[(1) - (2)].uval)); 2113690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].ledName)->common; 2114f46a6179Smrg } 2115690143ccSmrg break; 2116690143ccSmrg 2117690143ccSmrg case 45: 211834345a63Smrg#line 296 "xkbparse.y" 2119690143ccSmrg { 2120690143ccSmrg (yyvsp[(2) - (2)].shape)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].shape)->common,(yyvsp[(1) - (2)].uval)); 2121690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].shape)->common; 2122f46a6179Smrg } 2123690143ccSmrg break; 2124690143ccSmrg 2125690143ccSmrg case 46: 212634345a63Smrg#line 301 "xkbparse.y" 2127690143ccSmrg { 2128690143ccSmrg (yyvsp[(2) - (2)].section)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].section)->common,(yyvsp[(1) - (2)].uval)); 2129690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].section)->common; 2130f46a6179Smrg } 2131690143ccSmrg break; 2132690143ccSmrg 2133690143ccSmrg case 47: 213434345a63Smrg#line 306 "xkbparse.y" 2135690143ccSmrg { 2136690143ccSmrg (yyvsp[(2) - (2)].doodad)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].doodad)->common,(yyvsp[(1) - (2)].uval)); 2137690143ccSmrg (yyval.any)= &(yyvsp[(2) - (2)].doodad)->common; 2138f46a6179Smrg } 2139690143ccSmrg break; 2140690143ccSmrg 2141690143ccSmrg case 48: 214234345a63Smrg#line 311 "xkbparse.y" 2143690143ccSmrg { 2144690143ccSmrg if ((yyvsp[(1) - (2)].uval)==MergeAltForm) { 2145f46a6179Smrg yyerror("cannot use 'alternate' to include other maps"); 2146690143ccSmrg (yyval.any)= &IncludeCreate(scanBuf,MergeDefault)->common; 2147f46a6179Smrg } 2148f46a6179Smrg else { 2149690143ccSmrg (yyval.any)= &IncludeCreate(scanBuf,(yyvsp[(1) - (2)].uval))->common; 2150f46a6179Smrg } 2151f46a6179Smrg } 2152690143ccSmrg break; 2153690143ccSmrg 2154690143ccSmrg case 49: 215534345a63Smrg#line 323 "xkbparse.y" 2156690143ccSmrg { (yyval.var)= VarCreate((yyvsp[(1) - (4)].expr),(yyvsp[(3) - (4)].expr)); } 2157690143ccSmrg break; 2158690143ccSmrg 2159690143ccSmrg case 50: 216034345a63Smrg#line 325 "xkbparse.y" 2161690143ccSmrg { (yyval.var)= BoolVarCreate((yyvsp[(1) - (2)].sval),1); } 2162690143ccSmrg break; 2163690143ccSmrg 2164690143ccSmrg case 51: 216534345a63Smrg#line 327 "xkbparse.y" 2166690143ccSmrg { (yyval.var)= BoolVarCreate((yyvsp[(2) - (3)].sval),0); } 2167690143ccSmrg break; 2168690143ccSmrg 2169690143ccSmrg case 52: 217034345a63Smrg#line 331 "xkbparse.y" 2171690143ccSmrg { 2172f46a6179Smrg KeycodeDef *def; 2173f46a6179Smrg 2174690143ccSmrg def= KeycodeCreate((yyvsp[(1) - (4)].str),(yyvsp[(3) - (4)].expr)); 2175690143ccSmrg if ((yyvsp[(1) - (4)].str)) 2176690143ccSmrg free((yyvsp[(1) - (4)].str)); 2177690143ccSmrg (yyval.keyName)= def; 2178f46a6179Smrg } 2179690143ccSmrg break; 2180690143ccSmrg 2181690143ccSmrg case 53: 218234345a63Smrg#line 342 "xkbparse.y" 2183690143ccSmrg { 2184f46a6179Smrg KeyAliasDef *def; 2185690143ccSmrg def= KeyAliasCreate((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].str)); 2186690143ccSmrg if ((yyvsp[(2) - (5)].str)) free((yyvsp[(2) - (5)].str)); 2187690143ccSmrg if ((yyvsp[(4) - (5)].str)) free((yyvsp[(4) - (5)].str)); 2188690143ccSmrg (yyval.keyAlias)= def; 2189f46a6179Smrg } 2190690143ccSmrg break; 2191690143ccSmrg 2192690143ccSmrg case 54: 219334345a63Smrg#line 352 "xkbparse.y" 2194690143ccSmrg { (yyval.vmod)= (yyvsp[(2) - (3)].vmod); } 2195690143ccSmrg break; 2196690143ccSmrg 2197690143ccSmrg case 55: 219834345a63Smrg#line 356 "xkbparse.y" 2199690143ccSmrg { (yyval.vmod)= (VModDef *)AppendStmt(&(yyvsp[(1) - (3)].vmod)->common,&(yyvsp[(3) - (3)].vmod)->common); } 2200690143ccSmrg break; 2201690143ccSmrg 2202690143ccSmrg case 56: 220334345a63Smrg#line 358 "xkbparse.y" 2204690143ccSmrg { (yyval.vmod)= (yyvsp[(1) - (1)].vmod); } 2205690143ccSmrg break; 2206690143ccSmrg 2207690143ccSmrg case 57: 220834345a63Smrg#line 362 "xkbparse.y" 2209690143ccSmrg { (yyval.vmod)= VModCreate((yyvsp[(1) - (1)].sval),NULL); } 2210690143ccSmrg break; 2211690143ccSmrg 2212690143ccSmrg case 58: 221334345a63Smrg#line 364 "xkbparse.y" 2214690143ccSmrg { (yyval.vmod)= VModCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); } 2215690143ccSmrg break; 2216690143ccSmrg 2217690143ccSmrg case 59: 221834345a63Smrg#line 370 "xkbparse.y" 2219690143ccSmrg { 2220690143ccSmrg (yyvsp[(2) - (6)].interp)->def= (yyvsp[(4) - (6)].var); 2221690143ccSmrg (yyval.interp)= (yyvsp[(2) - (6)].interp); 2222f46a6179Smrg } 2223690143ccSmrg break; 2224690143ccSmrg 2225690143ccSmrg case 60: 222634345a63Smrg#line 377 "xkbparse.y" 2227690143ccSmrg { (yyval.interp)= InterpCreate((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].expr)); } 2228690143ccSmrg break; 2229690143ccSmrg 2230690143ccSmrg case 61: 223134345a63Smrg#line 379 "xkbparse.y" 2232690143ccSmrg { (yyval.interp)= InterpCreate((yyvsp[(1) - (1)].str), NULL); } 2233690143ccSmrg break; 2234690143ccSmrg 2235690143ccSmrg case 62: 223634345a63Smrg#line 383 "xkbparse.y" 2237690143ccSmrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (2)].var)->common,&(yyvsp[(2) - (2)].var)->common); } 2238690143ccSmrg break; 2239690143ccSmrg 2240690143ccSmrg case 63: 224134345a63Smrg#line 385 "xkbparse.y" 2242690143ccSmrg { (yyval.var)= (yyvsp[(1) - (1)].var); } 2243690143ccSmrg break; 2244690143ccSmrg 2245690143ccSmrg case 64: 224634345a63Smrg#line 391 "xkbparse.y" 2247690143ccSmrg { (yyval.keyType)= KeyTypeCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); } 2248690143ccSmrg break; 2249690143ccSmrg 2250690143ccSmrg case 65: 225134345a63Smrg#line 397 "xkbparse.y" 2252690143ccSmrg { (yyval.syms)= SymbolsCreate((yyvsp[(2) - (6)].str),(ExprDef *)(yyvsp[(4) - (6)].var)); } 2253690143ccSmrg break; 2254690143ccSmrg 2255690143ccSmrg case 66: 225634345a63Smrg#line 401 "xkbparse.y" 2257690143ccSmrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (3)].var)->common,&(yyvsp[(3) - (3)].var)->common); } 2258690143ccSmrg break; 2259690143ccSmrg 2260690143ccSmrg case 67: 226134345a63Smrg#line 403 "xkbparse.y" 2262690143ccSmrg { (yyval.var)= (yyvsp[(1) - (1)].var); } 2263690143ccSmrg break; 2264690143ccSmrg 2265690143ccSmrg case 68: 226634345a63Smrg#line 404 "xkbparse.y" 2267690143ccSmrg { (yyval.var)= NULL; } 2268690143ccSmrg break; 2269690143ccSmrg 2270690143ccSmrg case 69: 227134345a63Smrg#line 408 "xkbparse.y" 2272690143ccSmrg { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2273690143ccSmrg break; 2274690143ccSmrg 2275690143ccSmrg case 70: 227634345a63Smrg#line 410 "xkbparse.y" 2277690143ccSmrg { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2278690143ccSmrg break; 2279690143ccSmrg 2280690143ccSmrg case 71: 228134345a63Smrg#line 412 "xkbparse.y" 2282690143ccSmrg { (yyval.var)= BoolVarCreate((yyvsp[(1) - (1)].sval),1); } 2283690143ccSmrg break; 2284690143ccSmrg 2285690143ccSmrg case 72: 228634345a63Smrg#line 414 "xkbparse.y" 2287690143ccSmrg { (yyval.var)= BoolVarCreate((yyvsp[(2) - (2)].sval),0); } 2288690143ccSmrg break; 2289690143ccSmrg 2290690143ccSmrg case 73: 229134345a63Smrg#line 416 "xkbparse.y" 2292690143ccSmrg { (yyval.var)= VarCreate(NULL,(yyvsp[(1) - (1)].expr)); } 2293690143ccSmrg break; 2294690143ccSmrg 2295690143ccSmrg case 74: 229634345a63Smrg#line 420 "xkbparse.y" 2297690143ccSmrg { (yyval.expr)= (yyvsp[(2) - (3)].expr); } 2298690143ccSmrg break; 2299690143ccSmrg 2300690143ccSmrg case 75: 230134345a63Smrg#line 422 "xkbparse.y" 2302690143ccSmrg { (yyval.expr)= ExprCreateUnary(ExprActionList,TypeAction,(yyvsp[(2) - (3)].expr)); } 2303690143ccSmrg break; 2304690143ccSmrg 2305690143ccSmrg case 76: 230634345a63Smrg#line 426 "xkbparse.y" 2307690143ccSmrg { (yyval.groupCompat)= GroupCompatCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr)); } 2308690143ccSmrg break; 2309690143ccSmrg 2310690143ccSmrg case 77: 231134345a63Smrg#line 430 "xkbparse.y" 2312690143ccSmrg { (yyval.modMask)= ModMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].expr)); } 2313690143ccSmrg break; 2314690143ccSmrg 2315690143ccSmrg case 78: 231634345a63Smrg#line 434 "xkbparse.y" 2317690143ccSmrg { (yyval.ledMap)= IndicatorMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); } 2318690143ccSmrg break; 2319690143ccSmrg 2320690143ccSmrg case 79: 232134345a63Smrg#line 438 "xkbparse.y" 2322690143ccSmrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr),False); } 2323690143ccSmrg break; 2324690143ccSmrg 2325690143ccSmrg case 80: 232634345a63Smrg#line 440 "xkbparse.y" 2327690143ccSmrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[(3) - (6)].ival),(yyvsp[(5) - (6)].expr),True); } 2328690143ccSmrg break; 2329690143ccSmrg 2330690143ccSmrg case 81: 233134345a63Smrg#line 444 "xkbparse.y" 2332690143ccSmrg { (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),(OutlineDef *)&(yyvsp[(4) - (6)].outline)->common); } 2333690143ccSmrg break; 2334690143ccSmrg 2335690143ccSmrg case 82: 233634345a63Smrg#line 446 "xkbparse.y" 2337690143ccSmrg { 2338f46a6179Smrg OutlineDef *outlines; 2339690143ccSmrg outlines= OutlineCreate(None,(yyvsp[(4) - (6)].expr)); 2340690143ccSmrg (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),outlines); 2341f46a6179Smrg } 2342690143ccSmrg break; 2343690143ccSmrg 2344690143ccSmrg case 83: 234534345a63Smrg#line 454 "xkbparse.y" 2346690143ccSmrg { (yyval.section)= SectionDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].row)); } 2347690143ccSmrg break; 2348690143ccSmrg 2349690143ccSmrg case 84: 235034345a63Smrg#line 458 "xkbparse.y" 2351690143ccSmrg { (yyval.row)=(RowDef *)AppendStmt(&(yyvsp[(1) - (2)].row)->common,&(yyvsp[(2) - (2)].row)->common);} 2352690143ccSmrg break; 2353690143ccSmrg 2354690143ccSmrg case 85: 235534345a63Smrg#line 460 "xkbparse.y" 2356690143ccSmrg { (yyval.row)= (yyvsp[(1) - (1)].row); } 2357690143ccSmrg break; 2358690143ccSmrg 2359690143ccSmrg case 86: 236034345a63Smrg#line 464 "xkbparse.y" 2361690143ccSmrg { (yyval.row)= RowDeclCreate((yyvsp[(3) - (5)].key)); } 2362690143ccSmrg break; 2363690143ccSmrg 2364690143ccSmrg case 87: 236534345a63Smrg#line 466 "xkbparse.y" 2366690143ccSmrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].var); } 2367690143ccSmrg break; 2368690143ccSmrg 2369690143ccSmrg case 88: 237034345a63Smrg#line 468 "xkbparse.y" 2371690143ccSmrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].doodad); } 2372690143ccSmrg break; 2373690143ccSmrg 2374690143ccSmrg case 89: 237534345a63Smrg#line 470 "xkbparse.y" 2376690143ccSmrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].ledMap); } 2377690143ccSmrg break; 2378690143ccSmrg 2379690143ccSmrg case 90: 238034345a63Smrg#line 472 "xkbparse.y" 2381690143ccSmrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].overlay); } 2382690143ccSmrg break; 2383690143ccSmrg 2384690143ccSmrg case 91: 238534345a63Smrg#line 476 "xkbparse.y" 2386690143ccSmrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (2)].key)->common,&(yyvsp[(2) - (2)].key)->common);} 2387690143ccSmrg break; 2388690143ccSmrg 2389690143ccSmrg case 92: 239034345a63Smrg#line 478 "xkbparse.y" 2391690143ccSmrg { (yyval.key)= (yyvsp[(1) - (1)].key); } 2392690143ccSmrg break; 2393690143ccSmrg 2394690143ccSmrg case 93: 239534345a63Smrg#line 482 "xkbparse.y" 2396690143ccSmrg { (yyval.key)= (yyvsp[(3) - (5)].key); } 2397690143ccSmrg break; 2398690143ccSmrg 2399690143ccSmrg case 94: 240034345a63Smrg#line 484 "xkbparse.y" 2401690143ccSmrg { (yyval.key)= (KeyDef *)(yyvsp[(1) - (1)].var); } 2402690143ccSmrg break; 2403690143ccSmrg 2404690143ccSmrg case 95: 240534345a63Smrg#line 488 "xkbparse.y" 2406690143ccSmrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (3)].key)->common,&(yyvsp[(3) - (3)].key)->common);} 2407690143ccSmrg break; 2408690143ccSmrg 2409690143ccSmrg case 96: 241034345a63Smrg#line 490 "xkbparse.y" 2411690143ccSmrg { (yyval.key)= (yyvsp[(1) - (1)].key); } 2412690143ccSmrg break; 2413690143ccSmrg 2414690143ccSmrg case 97: 241534345a63Smrg#line 494 "xkbparse.y" 2416690143ccSmrg { (yyval.key)= KeyDeclCreate((yyvsp[(1) - (1)].str),NULL); } 2417690143ccSmrg break; 2418690143ccSmrg 2419690143ccSmrg case 98: 242034345a63Smrg#line 496 "xkbparse.y" 2421690143ccSmrg { (yyval.key)= KeyDeclCreate(NULL,(yyvsp[(2) - (3)].expr)); } 2422690143ccSmrg break; 2423690143ccSmrg 2424690143ccSmrg case 99: 242534345a63Smrg#line 500 "xkbparse.y" 2426690143ccSmrg { (yyval.overlay)= OverlayDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].olKey)); } 2427690143ccSmrg break; 2428690143ccSmrg 2429690143ccSmrg case 100: 243034345a63Smrg#line 504 "xkbparse.y" 2431690143ccSmrg { 2432690143ccSmrg (yyval.olKey)= (OverlayKeyDef *) 2433690143ccSmrg AppendStmt(&(yyvsp[(1) - (3)].olKey)->common,&(yyvsp[(3) - (3)].olKey)->common); 2434f46a6179Smrg } 2435690143ccSmrg break; 2436690143ccSmrg 2437690143ccSmrg case 101: 243834345a63Smrg#line 509 "xkbparse.y" 2439690143ccSmrg { (yyval.olKey)= (yyvsp[(1) - (1)].olKey); } 2440690143ccSmrg break; 2441690143ccSmrg 2442690143ccSmrg case 102: 244334345a63Smrg#line 513 "xkbparse.y" 2444690143ccSmrg { (yyval.olKey)= OverlayKeyCreate((yyvsp[(1) - (3)].str),(yyvsp[(3) - (3)].str)); } 2445690143ccSmrg break; 2446690143ccSmrg 2447690143ccSmrg case 103: 244834345a63Smrg#line 517 "xkbparse.y" 2449690143ccSmrg { (yyval.outline)=(OutlineDef *)AppendStmt(&(yyvsp[(1) - (3)].outline)->common,&(yyvsp[(3) - (3)].outline)->common);} 2450690143ccSmrg break; 2451690143ccSmrg 2452690143ccSmrg case 104: 245334345a63Smrg#line 519 "xkbparse.y" 2454690143ccSmrg { (yyval.outline)= (yyvsp[(1) - (1)].outline); } 2455690143ccSmrg break; 2456690143ccSmrg 2457690143ccSmrg case 105: 245834345a63Smrg#line 523 "xkbparse.y" 2459690143ccSmrg { (yyval.outline)= OutlineCreate(None,(yyvsp[(2) - (3)].expr)); } 2460690143ccSmrg break; 2461690143ccSmrg 2462690143ccSmrg case 106: 246334345a63Smrg#line 525 "xkbparse.y" 2464690143ccSmrg { (yyval.outline)= OutlineCreate((yyvsp[(1) - (5)].sval),(yyvsp[(4) - (5)].expr)); } 2465690143ccSmrg break; 2466690143ccSmrg 2467690143ccSmrg case 107: 246834345a63Smrg#line 527 "xkbparse.y" 2469690143ccSmrg { (yyval.outline)= OutlineCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); } 2470690143ccSmrg break; 2471690143ccSmrg 2472690143ccSmrg case 108: 247334345a63Smrg#line 531 "xkbparse.y" 2474690143ccSmrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); } 2475690143ccSmrg break; 2476690143ccSmrg 2477690143ccSmrg case 109: 247834345a63Smrg#line 533 "xkbparse.y" 2479690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2480690143ccSmrg break; 2481690143ccSmrg 2482690143ccSmrg case 110: 248334345a63Smrg#line 537 "xkbparse.y" 2484690143ccSmrg { 2485f46a6179Smrg ExprDef *expr; 2486f46a6179Smrg expr= ExprCreate(ExprCoord,TypeUnknown); 2487690143ccSmrg expr->value.coord.x= (yyvsp[(2) - (5)].ival); 2488690143ccSmrg expr->value.coord.y= (yyvsp[(4) - (5)].ival); 2489690143ccSmrg (yyval.expr)= expr; 2490f46a6179Smrg } 2491690143ccSmrg break; 2492690143ccSmrg 2493690143ccSmrg case 111: 249434345a63Smrg#line 547 "xkbparse.y" 2495690143ccSmrg { (yyval.doodad)= DoodadCreate((yyvsp[(1) - (6)].uval),(yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); } 2496690143ccSmrg break; 2497690143ccSmrg 2498690143ccSmrg case 112: 249934345a63Smrg#line 550 "xkbparse.y" 2500690143ccSmrg { (yyval.uval)= XkbTextDoodad; } 2501690143ccSmrg break; 2502690143ccSmrg 2503690143ccSmrg case 113: 250434345a63Smrg#line 551 "xkbparse.y" 2505690143ccSmrg { (yyval.uval)= XkbOutlineDoodad; } 2506690143ccSmrg break; 2507690143ccSmrg 2508690143ccSmrg case 114: 250934345a63Smrg#line 552 "xkbparse.y" 2510690143ccSmrg { (yyval.uval)= XkbSolidDoodad; } 2511690143ccSmrg break; 2512690143ccSmrg 2513690143ccSmrg case 115: 251434345a63Smrg#line 553 "xkbparse.y" 2515690143ccSmrg { (yyval.uval)= XkbLogoDoodad; } 2516690143ccSmrg break; 2517690143ccSmrg 2518690143ccSmrg case 116: 251934345a63Smrg#line 556 "xkbparse.y" 2520690143ccSmrg { (yyval.sval)= (yyvsp[(1) - (1)].sval); } 2521690143ccSmrg break; 2522690143ccSmrg 2523690143ccSmrg case 117: 252434345a63Smrg#line 557 "xkbparse.y" 2525690143ccSmrg { (yyval.sval)= (yyvsp[(1) - (1)].sval); } 2526690143ccSmrg break; 2527690143ccSmrg 2528690143ccSmrg case 118: 252934345a63Smrg#line 561 "xkbparse.y" 2530690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"action",False); } 2531690143ccSmrg break; 2532690143ccSmrg 2533690143ccSmrg case 119: 253434345a63Smrg#line 563 "xkbparse.y" 2535690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"interpret",False); } 2536690143ccSmrg break; 2537690143ccSmrg 2538690143ccSmrg case 120: 253934345a63Smrg#line 565 "xkbparse.y" 2540690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"type",False); } 2541690143ccSmrg break; 2542690143ccSmrg 2543690143ccSmrg case 121: 254434345a63Smrg#line 567 "xkbparse.y" 2545690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"key",False); } 2546690143ccSmrg break; 2547690143ccSmrg 2548690143ccSmrg case 122: 254934345a63Smrg#line 569 "xkbparse.y" 2550690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"group",False); } 2551690143ccSmrg break; 2552690143ccSmrg 2553690143ccSmrg case 123: 255434345a63Smrg#line 571 "xkbparse.y" 2555690143ccSmrg {(yyval.sval)=XkbInternAtom(NULL,"modifier_map",False);} 2556690143ccSmrg break; 2557690143ccSmrg 2558690143ccSmrg case 124: 255934345a63Smrg#line 573 "xkbparse.y" 2560690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"indicator",False); } 2561690143ccSmrg break; 2562690143ccSmrg 2563690143ccSmrg case 125: 256434345a63Smrg#line 575 "xkbparse.y" 2565690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"shape",False); } 2566690143ccSmrg break; 2567690143ccSmrg 2568690143ccSmrg case 126: 256934345a63Smrg#line 577 "xkbparse.y" 2570690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"row",False); } 2571690143ccSmrg break; 2572690143ccSmrg 2573690143ccSmrg case 127: 257434345a63Smrg#line 579 "xkbparse.y" 2575690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"section",False); } 2576690143ccSmrg break; 2577690143ccSmrg 2578690143ccSmrg case 128: 257934345a63Smrg#line 581 "xkbparse.y" 2580690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"text",False); } 2581690143ccSmrg break; 2582690143ccSmrg 2583690143ccSmrg case 129: 258434345a63Smrg#line 584 "xkbparse.y" 2585690143ccSmrg { (yyval.uval)= (yyvsp[(1) - (1)].uval); } 2586690143ccSmrg break; 2587690143ccSmrg 2588690143ccSmrg case 130: 258934345a63Smrg#line 585 "xkbparse.y" 2590690143ccSmrg { (yyval.uval)= MergeDefault; } 2591690143ccSmrg break; 2592690143ccSmrg 2593690143ccSmrg case 131: 259434345a63Smrg#line 588 "xkbparse.y" 2595690143ccSmrg { (yyval.uval)= MergeDefault; } 2596690143ccSmrg break; 2597690143ccSmrg 2598690143ccSmrg case 132: 259934345a63Smrg#line 589 "xkbparse.y" 2600690143ccSmrg { (yyval.uval)= MergeAugment; } 2601690143ccSmrg break; 2602690143ccSmrg 2603690143ccSmrg case 133: 260434345a63Smrg#line 590 "xkbparse.y" 2605690143ccSmrg { (yyval.uval)= MergeOverride; } 2606690143ccSmrg break; 2607690143ccSmrg 2608690143ccSmrg case 134: 260934345a63Smrg#line 591 "xkbparse.y" 2610690143ccSmrg { (yyval.uval)= MergeReplace; } 2611690143ccSmrg break; 2612690143ccSmrg 2613690143ccSmrg case 135: 261434345a63Smrg#line 592 "xkbparse.y" 2615690143ccSmrg { (yyval.uval)= MergeAltForm; } 2616690143ccSmrg break; 2617690143ccSmrg 2618690143ccSmrg case 136: 261934345a63Smrg#line 595 "xkbparse.y" 2620690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2621690143ccSmrg break; 2622690143ccSmrg 2623690143ccSmrg case 137: 262434345a63Smrg#line 596 "xkbparse.y" 2625690143ccSmrg { (yyval.expr)= NULL; } 2626690143ccSmrg break; 2627690143ccSmrg 2628690143ccSmrg case 138: 262934345a63Smrg#line 600 "xkbparse.y" 2630690143ccSmrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); } 2631690143ccSmrg break; 2632690143ccSmrg 2633690143ccSmrg case 139: 263434345a63Smrg#line 602 "xkbparse.y" 2635690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2636690143ccSmrg break; 2637690143ccSmrg 2638690143ccSmrg case 140: 263934345a63Smrg#line 606 "xkbparse.y" 2640690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpDivide,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2641690143ccSmrg break; 2642690143ccSmrg 2643690143ccSmrg case 141: 264434345a63Smrg#line 608 "xkbparse.y" 2645690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpAdd,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2646690143ccSmrg break; 2647690143ccSmrg 2648690143ccSmrg case 142: 264934345a63Smrg#line 610 "xkbparse.y" 2650690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpSubtract,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2651690143ccSmrg break; 2652690143ccSmrg 2653690143ccSmrg case 143: 265434345a63Smrg#line 612 "xkbparse.y" 2655690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpMultiply,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2656690143ccSmrg break; 2657690143ccSmrg 2658690143ccSmrg case 144: 265934345a63Smrg#line 614 "xkbparse.y" 2660690143ccSmrg { (yyval.expr)= ExprCreateBinary(OpAssign,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2661690143ccSmrg break; 2662690143ccSmrg 2663690143ccSmrg case 145: 266434345a63Smrg#line 616 "xkbparse.y" 2665690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2666690143ccSmrg break; 2667690143ccSmrg 2668690143ccSmrg case 146: 266934345a63Smrg#line 620 "xkbparse.y" 2670690143ccSmrg { (yyval.expr)= ExprCreateUnary(OpNegate,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); } 2671690143ccSmrg break; 2672690143ccSmrg 2673690143ccSmrg case 147: 267434345a63Smrg#line 622 "xkbparse.y" 2675690143ccSmrg { (yyval.expr)= ExprCreateUnary(OpUnaryPlus,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); } 2676690143ccSmrg break; 2677690143ccSmrg 2678690143ccSmrg case 148: 267934345a63Smrg#line 624 "xkbparse.y" 2680690143ccSmrg { (yyval.expr)= ExprCreateUnary(OpNot,TypeBoolean,(yyvsp[(2) - (2)].expr)); } 2681690143ccSmrg break; 2682690143ccSmrg 2683690143ccSmrg case 149: 268434345a63Smrg#line 626 "xkbparse.y" 2685690143ccSmrg { (yyval.expr)= ExprCreateUnary(OpInvert,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); } 2686690143ccSmrg break; 2687690143ccSmrg 2688690143ccSmrg case 150: 268934345a63Smrg#line 628 "xkbparse.y" 2690690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2691690143ccSmrg break; 2692690143ccSmrg 2693690143ccSmrg case 151: 269434345a63Smrg#line 630 "xkbparse.y" 2695690143ccSmrg { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); } 2696690143ccSmrg break; 2697690143ccSmrg 2698690143ccSmrg case 152: 269934345a63Smrg#line 632 "xkbparse.y" 2700690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2701690143ccSmrg break; 2702690143ccSmrg 2703690143ccSmrg case 153: 270434345a63Smrg#line 634 "xkbparse.y" 2705690143ccSmrg { (yyval.expr)= (yyvsp[(2) - (3)].expr); } 2706690143ccSmrg break; 2707690143ccSmrg 2708690143ccSmrg case 154: 270934345a63Smrg#line 638 "xkbparse.y" 2710690143ccSmrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); } 2711690143ccSmrg break; 2712690143ccSmrg 2713690143ccSmrg case 155: 271434345a63Smrg#line 640 "xkbparse.y" 2715690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2716690143ccSmrg break; 2717690143ccSmrg 2718690143ccSmrg case 156: 271934345a63Smrg#line 644 "xkbparse.y" 2720690143ccSmrg { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); } 2721690143ccSmrg break; 2722690143ccSmrg 2723690143ccSmrg case 157: 272434345a63Smrg#line 648 "xkbparse.y" 2725690143ccSmrg { 2726f46a6179Smrg ExprDef *expr; 2727f46a6179Smrg expr= ExprCreate(ExprIdent,TypeUnknown); 2728690143ccSmrg expr->value.str= (yyvsp[(1) - (1)].sval); 2729690143ccSmrg (yyval.expr)= expr; 2730f46a6179Smrg } 2731690143ccSmrg break; 2732690143ccSmrg 2733690143ccSmrg case 158: 273434345a63Smrg#line 655 "xkbparse.y" 2735690143ccSmrg { 2736f46a6179Smrg ExprDef *expr; 2737f46a6179Smrg expr= ExprCreate(ExprFieldRef,TypeUnknown); 2738690143ccSmrg expr->value.field.element= (yyvsp[(1) - (3)].sval); 2739690143ccSmrg expr->value.field.field= (yyvsp[(3) - (3)].sval); 2740690143ccSmrg (yyval.expr)= expr; 2741f46a6179Smrg } 2742690143ccSmrg break; 2743690143ccSmrg 2744690143ccSmrg case 159: 274534345a63Smrg#line 663 "xkbparse.y" 2746690143ccSmrg { 2747f46a6179Smrg ExprDef *expr; 2748f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 2749f46a6179Smrg expr->value.array.element= None; 2750690143ccSmrg expr->value.array.field= (yyvsp[(1) - (4)].sval); 2751690143ccSmrg expr->value.array.entry= (yyvsp[(3) - (4)].expr); 2752690143ccSmrg (yyval.expr)= expr; 2753f46a6179Smrg } 2754690143ccSmrg break; 2755690143ccSmrg 2756690143ccSmrg case 160: 275734345a63Smrg#line 672 "xkbparse.y" 2758690143ccSmrg { 2759f46a6179Smrg ExprDef *expr; 2760f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 2761690143ccSmrg expr->value.array.element= (yyvsp[(1) - (6)].sval); 2762690143ccSmrg expr->value.array.field= (yyvsp[(3) - (6)].sval); 2763690143ccSmrg expr->value.array.entry= (yyvsp[(5) - (6)].expr); 2764690143ccSmrg (yyval.expr)= expr; 2765f46a6179Smrg } 2766690143ccSmrg break; 2767690143ccSmrg 2768690143ccSmrg case 161: 276934345a63Smrg#line 683 "xkbparse.y" 2770690143ccSmrg { 2771f46a6179Smrg ExprDef *expr; 2772f46a6179Smrg expr= ExprCreate(ExprValue,TypeString); 2773690143ccSmrg expr->value.str= (yyvsp[(1) - (1)].sval); 2774690143ccSmrg (yyval.expr)= expr; 2775f46a6179Smrg } 2776690143ccSmrg break; 2777690143ccSmrg 2778690143ccSmrg case 162: 277934345a63Smrg#line 690 "xkbparse.y" 2780690143ccSmrg { 2781f46a6179Smrg ExprDef *expr; 2782f46a6179Smrg expr= ExprCreate(ExprValue,TypeInt); 2783690143ccSmrg expr->value.ival= (yyvsp[(1) - (1)].ival); 2784690143ccSmrg (yyval.expr)= expr; 2785f46a6179Smrg } 2786690143ccSmrg break; 2787690143ccSmrg 2788690143ccSmrg case 163: 278934345a63Smrg#line 697 "xkbparse.y" 2790690143ccSmrg { 2791f46a6179Smrg ExprDef *expr; 2792f46a6179Smrg expr= ExprCreate(ExprValue,TypeFloat); 2793690143ccSmrg expr->value.ival= (yyvsp[(1) - (1)].ival); 2794690143ccSmrg (yyval.expr)= expr; 2795f46a6179Smrg } 2796690143ccSmrg break; 2797690143ccSmrg 2798690143ccSmrg case 164: 279934345a63Smrg#line 704 "xkbparse.y" 2800690143ccSmrg { 2801f46a6179Smrg ExprDef *expr; 2802f46a6179Smrg expr= ExprCreate(ExprValue,TypeKeyName); 2803f46a6179Smrg memset(expr->value.keyName,0,5); 2804690143ccSmrg strncpy(expr->value.keyName,(yyvsp[(1) - (1)].str),4); 2805690143ccSmrg free((yyvsp[(1) - (1)].str)); 2806690143ccSmrg (yyval.expr)= expr; 2807f46a6179Smrg } 2808690143ccSmrg break; 2809690143ccSmrg 2810690143ccSmrg case 165: 281134345a63Smrg#line 714 "xkbparse.y" 2812690143ccSmrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2813690143ccSmrg break; 2814690143ccSmrg 2815690143ccSmrg case 166: 281634345a63Smrg#line 715 "xkbparse.y" 2817690143ccSmrg { (yyval.expr)= NULL; } 2818690143ccSmrg break; 2819690143ccSmrg 2820690143ccSmrg case 167: 282134345a63Smrg#line 719 "xkbparse.y" 2822690143ccSmrg { (yyval.expr)= AppendKeysymList((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].str)); } 2823690143ccSmrg break; 2824690143ccSmrg 2825690143ccSmrg case 168: 282634345a63Smrg#line 721 "xkbparse.y" 2827690143ccSmrg { (yyval.expr)= CreateKeysymList((yyvsp[(1) - (1)].str)); } 2828690143ccSmrg break; 2829690143ccSmrg 2830690143ccSmrg case 169: 283183e5f723Smrg#line 724 "xkbparse.y" 2832690143ccSmrg { (yyval.str)= strdup(scanBuf); } 2833690143ccSmrg break; 2834690143ccSmrg 2835690143ccSmrg case 170: 283683e5f723Smrg#line 725 "xkbparse.y" 2837690143ccSmrg { (yyval.str)= strdup("section"); } 2838690143ccSmrg break; 2839690143ccSmrg 2840690143ccSmrg case 171: 284183e5f723Smrg#line 727 "xkbparse.y" 2842690143ccSmrg { 2843690143ccSmrg if ((yyvsp[(1) - (1)].ival)<10) { (yyval.str)= malloc(2); (yyval.str)[0]= '0' + (yyvsp[(1) - (1)].ival); (yyval.str)[1]= '\0'; } 2844690143ccSmrg else { (yyval.str)= malloc(19); snprintf((yyval.str), 19, "0x%x", (yyvsp[(1) - (1)].ival)); } 2845f46a6179Smrg } 2846690143ccSmrg break; 2847690143ccSmrg 2848690143ccSmrg case 172: 284983e5f723Smrg#line 733 "xkbparse.y" 2850690143ccSmrg { (yyval.ival)= -(yyvsp[(2) - (2)].ival); } 2851690143ccSmrg break; 2852690143ccSmrg 2853690143ccSmrg case 173: 285483e5f723Smrg#line 734 "xkbparse.y" 2855690143ccSmrg { (yyval.ival)= (yyvsp[(1) - (1)].ival); } 2856690143ccSmrg break; 2857690143ccSmrg 2858690143ccSmrg case 174: 285983e5f723Smrg#line 737 "xkbparse.y" 2860690143ccSmrg { (yyval.ival)= scanInt; } 2861690143ccSmrg break; 2862690143ccSmrg 2863690143ccSmrg case 175: 286483e5f723Smrg#line 738 "xkbparse.y" 2865690143ccSmrg { (yyval.ival)= scanInt*XkbGeomPtsPerMM; } 2866690143ccSmrg break; 2867690143ccSmrg 2868690143ccSmrg case 176: 286983e5f723Smrg#line 741 "xkbparse.y" 2870690143ccSmrg { (yyval.ival)= scanInt; } 2871690143ccSmrg break; 2872690143ccSmrg 2873690143ccSmrg case 177: 287483e5f723Smrg#line 744 "xkbparse.y" 2875690143ccSmrg { (yyval.ival)= scanInt; } 2876690143ccSmrg break; 2877690143ccSmrg 2878690143ccSmrg case 178: 287983e5f723Smrg#line 747 "xkbparse.y" 2880690143ccSmrg { (yyval.str)= strdup(scanBuf); } 2881690143ccSmrg break; 2882690143ccSmrg 2883690143ccSmrg case 179: 288483e5f723Smrg#line 750 "xkbparse.y" 2885690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); } 2886690143ccSmrg break; 2887690143ccSmrg 2888690143ccSmrg case 180: 288983e5f723Smrg#line 751 "xkbparse.y" 2890690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"default",False); } 2891690143ccSmrg break; 2892690143ccSmrg 2893690143ccSmrg case 181: 289483e5f723Smrg#line 754 "xkbparse.y" 2895690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); } 2896690143ccSmrg break; 2897690143ccSmrg 2898690143ccSmrg case 182: 289983e5f723Smrg#line 757 "xkbparse.y" 2900690143ccSmrg { (yyval.str)= (yyvsp[(1) - (1)].str); } 2901690143ccSmrg break; 2902690143ccSmrg 2903690143ccSmrg case 183: 290483e5f723Smrg#line 758 "xkbparse.y" 2905690143ccSmrg { (yyval.str)= NULL; } 2906690143ccSmrg break; 2907690143ccSmrg 2908690143ccSmrg case 184: 290983e5f723Smrg#line 761 "xkbparse.y" 2910690143ccSmrg { (yyval.str)= strdup(scanBuf); } 2911690143ccSmrg break; 2912690143ccSmrg 2913690143ccSmrg 29141d8c7986Smrg/* Line 1267 of yacc.c. */ 29151d8c7986Smrg#line 2916 "xkbparse.c" 2916690143ccSmrg default: break; 2917f46a6179Smrg } 2918690143ccSmrg YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 2919690143ccSmrg 2920690143ccSmrg YYPOPSTACK (yylen); 2921690143ccSmrg yylen = 0; 2922690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 2923690143ccSmrg 2924690143ccSmrg *++yyvsp = yyval; 2925690143ccSmrg 29261d8c7986Smrg 2927690143ccSmrg /* Now `shift' the result of the reduction. Determine what state 2928690143ccSmrg that goes to, based on the state we popped back to and the rule 2929690143ccSmrg number reduced by. */ 2930690143ccSmrg 2931690143ccSmrg yyn = yyr1[yyn]; 2932690143ccSmrg 2933690143ccSmrg yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 2934690143ccSmrg if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 2935690143ccSmrg yystate = yytable[yystate]; 2936690143ccSmrg else 2937690143ccSmrg yystate = yydefgoto[yyn - YYNTOKENS]; 2938690143ccSmrg 2939690143ccSmrg goto yynewstate; 2940690143ccSmrg 2941690143ccSmrg 2942690143ccSmrg/*------------------------------------. 2943690143ccSmrg| yyerrlab -- here on detecting error | 2944690143ccSmrg`------------------------------------*/ 2945690143ccSmrgyyerrlab: 2946690143ccSmrg /* If not already recovering from an error, report this error. */ 2947690143ccSmrg if (!yyerrstatus) 2948f46a6179Smrg { 2949690143ccSmrg ++yynerrs; 2950690143ccSmrg#if ! YYERROR_VERBOSE 2951690143ccSmrg yyerror (YY_("syntax error")); 2952690143ccSmrg#else 2953690143ccSmrg { 2954690143ccSmrg YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); 2955690143ccSmrg if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) 2956690143ccSmrg { 2957690143ccSmrg YYSIZE_T yyalloc = 2 * yysize; 2958690143ccSmrg if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) 2959690143ccSmrg yyalloc = YYSTACK_ALLOC_MAXIMUM; 2960690143ccSmrg if (yymsg != yymsgbuf) 2961690143ccSmrg YYSTACK_FREE (yymsg); 2962690143ccSmrg yymsg = (char *) YYSTACK_ALLOC (yyalloc); 2963690143ccSmrg if (yymsg) 2964690143ccSmrg yymsg_alloc = yyalloc; 2965690143ccSmrg else 2966690143ccSmrg { 2967690143ccSmrg yymsg = yymsgbuf; 2968690143ccSmrg yymsg_alloc = sizeof yymsgbuf; 2969690143ccSmrg } 2970690143ccSmrg } 2971690143ccSmrg 2972690143ccSmrg if (0 < yysize && yysize <= yymsg_alloc) 2973690143ccSmrg { 2974690143ccSmrg (void) yysyntax_error (yymsg, yystate, yychar); 2975690143ccSmrg yyerror (yymsg); 2976690143ccSmrg } 2977690143ccSmrg else 2978690143ccSmrg { 2979690143ccSmrg yyerror (YY_("syntax error")); 2980690143ccSmrg if (yysize != 0) 2981690143ccSmrg goto yyexhaustedlab; 2982690143ccSmrg } 2983690143ccSmrg } 298407d2e718Smrg#endif 2985f46a6179Smrg } 2986690143ccSmrg 2987690143ccSmrg 2988690143ccSmrg 2989690143ccSmrg if (yyerrstatus == 3) 2990690143ccSmrg { 29911d8c7986Smrg /* If just tried and failed to reuse look-ahead token after an 2992690143ccSmrg error, discard it. */ 2993690143ccSmrg 2994690143ccSmrg if (yychar <= YYEOF) 2995690143ccSmrg { 2996690143ccSmrg /* Return failure if at end of input. */ 2997690143ccSmrg if (yychar == YYEOF) 2998690143ccSmrg YYABORT; 2999690143ccSmrg } 3000690143ccSmrg else 3001690143ccSmrg { 3002690143ccSmrg yydestruct ("Error: discarding", 3003690143ccSmrg yytoken, &yylval); 3004690143ccSmrg yychar = YYEMPTY; 3005690143ccSmrg } 3006690143ccSmrg } 3007690143ccSmrg 30081d8c7986Smrg /* Else will try to reuse look-ahead token after shifting the error 3009690143ccSmrg token. */ 3010690143ccSmrg goto yyerrlab1; 3011690143ccSmrg 3012690143ccSmrg 3013690143ccSmrg/*---------------------------------------------------. 3014690143ccSmrg| yyerrorlab -- error raised explicitly by YYERROR. | 3015690143ccSmrg`---------------------------------------------------*/ 3016690143ccSmrgyyerrorlab: 3017690143ccSmrg 3018690143ccSmrg /* Pacify compilers like GCC when the user code never invokes 3019690143ccSmrg YYERROR and the label yyerrorlab therefore never appears in user 3020690143ccSmrg code. */ 3021690143ccSmrg if (/*CONSTCOND*/ 0) 3022690143ccSmrg goto yyerrorlab; 3023690143ccSmrg 3024690143ccSmrg /* Do not reclaim the symbols of the rule which action triggered 3025690143ccSmrg this YYERROR. */ 3026690143ccSmrg YYPOPSTACK (yylen); 3027690143ccSmrg yylen = 0; 3028690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3029690143ccSmrg yystate = *yyssp; 3030690143ccSmrg goto yyerrlab1; 3031690143ccSmrg 3032690143ccSmrg 3033690143ccSmrg/*-------------------------------------------------------------. 3034690143ccSmrg| yyerrlab1 -- common code for both syntax error and YYERROR. | 3035690143ccSmrg`-------------------------------------------------------------*/ 3036690143ccSmrgyyerrlab1: 3037690143ccSmrg yyerrstatus = 3; /* Each real token shifted decrements this. */ 3038690143ccSmrg 3039690143ccSmrg for (;;) 3040690143ccSmrg { 3041690143ccSmrg yyn = yypact[yystate]; 3042690143ccSmrg if (yyn != YYPACT_NINF) 3043690143ccSmrg { 3044690143ccSmrg yyn += YYTERROR; 3045690143ccSmrg if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 3046690143ccSmrg { 3047690143ccSmrg yyn = yytable[yyn]; 3048690143ccSmrg if (0 < yyn) 3049690143ccSmrg break; 3050690143ccSmrg } 3051690143ccSmrg } 3052690143ccSmrg 3053690143ccSmrg /* Pop the current state because it cannot handle the error token. */ 3054690143ccSmrg if (yyssp == yyss) 3055690143ccSmrg YYABORT; 3056690143ccSmrg 3057690143ccSmrg 3058690143ccSmrg yydestruct ("Error: popping", 3059690143ccSmrg yystos[yystate], yyvsp); 3060690143ccSmrg YYPOPSTACK (1); 3061690143ccSmrg yystate = *yyssp; 3062690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3063690143ccSmrg } 3064690143ccSmrg 30651d8c7986Smrg if (yyn == YYFINAL) 30661d8c7986Smrg YYACCEPT; 30671d8c7986Smrg 3068690143ccSmrg *++yyvsp = yylval; 3069690143ccSmrg 3070690143ccSmrg 3071690143ccSmrg /* Shift the error token. */ 3072690143ccSmrg YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 3073690143ccSmrg 3074690143ccSmrg yystate = yyn; 3075690143ccSmrg goto yynewstate; 3076690143ccSmrg 3077690143ccSmrg 3078690143ccSmrg/*-------------------------------------. 3079690143ccSmrg| yyacceptlab -- YYACCEPT comes here. | 3080690143ccSmrg`-------------------------------------*/ 3081690143ccSmrgyyacceptlab: 3082690143ccSmrg yyresult = 0; 3083690143ccSmrg goto yyreturn; 3084690143ccSmrg 3085690143ccSmrg/*-----------------------------------. 3086690143ccSmrg| yyabortlab -- YYABORT comes here. | 3087690143ccSmrg`-----------------------------------*/ 3088690143ccSmrgyyabortlab: 3089690143ccSmrg yyresult = 1; 3090690143ccSmrg goto yyreturn; 3091690143ccSmrg 30921d8c7986Smrg#ifndef yyoverflow 3093690143ccSmrg/*-------------------------------------------------. 3094690143ccSmrg| yyexhaustedlab -- memory exhaustion comes here. | 3095690143ccSmrg`-------------------------------------------------*/ 3096690143ccSmrgyyexhaustedlab: 3097690143ccSmrg yyerror (YY_("memory exhausted")); 3098690143ccSmrg yyresult = 2; 3099690143ccSmrg /* Fall through. */ 3100f46a6179Smrg#endif 3101690143ccSmrg 3102690143ccSmrgyyreturn: 31031d8c7986Smrg if (yychar != YYEOF && yychar != YYEMPTY) 3104690143ccSmrg yydestruct ("Cleanup: discarding lookahead", 3105690143ccSmrg yytoken, &yylval); 3106690143ccSmrg /* Do not reclaim the symbols of the rule which action triggered 3107690143ccSmrg this YYABORT or YYACCEPT. */ 3108690143ccSmrg YYPOPSTACK (yylen); 3109690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3110690143ccSmrg while (yyssp != yyss) 3111f46a6179Smrg { 3112690143ccSmrg yydestruct ("Cleanup: popping", 3113690143ccSmrg yystos[*yyssp], yyvsp); 3114690143ccSmrg YYPOPSTACK (1); 3115f46a6179Smrg } 3116690143ccSmrg#ifndef yyoverflow 3117690143ccSmrg if (yyss != yyssa) 3118690143ccSmrg YYSTACK_FREE (yyss); 3119690143ccSmrg#endif 3120690143ccSmrg#if YYERROR_VERBOSE 3121690143ccSmrg if (yymsg != yymsgbuf) 3122690143ccSmrg YYSTACK_FREE (yymsg); 3123690143ccSmrg#endif 3124690143ccSmrg /* Make sure YYID is used. */ 3125690143ccSmrg return YYID (yyresult); 3126690143ccSmrg} 3127f46a6179Smrg 3128f46a6179Smrg 3129690143ccSmrg#line 763 "xkbparse.y" 3130690143ccSmrg 3131690143ccSmrgvoid 3132690143ccSmrgyyerror(const char *s) 3133690143ccSmrg{ 3134690143ccSmrg if (warningLevel>0) { 3135690143ccSmrg (void)fprintf(stderr,"%s: line %d of %s\n",s,lineNum, 3136690143ccSmrg (scanFile?scanFile:"(unknown)")); 3137690143ccSmrg if ((warningLevel>3)) 3138690143ccSmrg (void)fprintf(stderr,"last scanned symbol is: %s\n",scanBuf); 3139690143ccSmrg } 3140690143ccSmrg return; 3141690143ccSmrg} 3142690143ccSmrg 3143690143ccSmrg 3144690143ccSmrgint 3145690143ccSmrgyywrap(void) 3146690143ccSmrg{ 3147690143ccSmrg return 1; 3148f46a6179Smrg} 3149690143ccSmrg 3150690143ccSmrg 3151