xkbparse.c revision f757b1e9
1f757b1e9Smrg/* A Bison parser, made by GNU Bison 3.0.4. */ 2f46a6179Smrg 3c82dfdfbSmrg/* Bison implementation for Yacc-like parsers in C 4f757b1e9Smrg 5f757b1e9Smrg Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. 6f757b1e9Smrg 7c82dfdfbSmrg This program is free software: you can redistribute it and/or modify 8690143ccSmrg it under the terms of the GNU General Public License as published by 9c82dfdfbSmrg the Free Software Foundation, either version 3 of the License, or 10c82dfdfbSmrg (at your option) any later version. 11f757b1e9Smrg 12690143ccSmrg This program is distributed in the hope that it will be useful, 13690143ccSmrg but WITHOUT ANY WARRANTY; without even the implied warranty of 14690143ccSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15690143ccSmrg GNU General Public License for more details. 16f757b1e9Smrg 17690143ccSmrg You should have received a copy of the GNU General Public License 18c82dfdfbSmrg along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19f46a6179Smrg 20690143ccSmrg/* As a special exception, you may create a larger work that contains 21690143ccSmrg part or all of the Bison parser skeleton and distribute that work 22690143ccSmrg under terms of your choice, so long as that work isn't itself a 23690143ccSmrg parser generator using the skeleton or a modified version thereof 24690143ccSmrg as a parser skeleton. Alternatively, if you modify or redistribute 25690143ccSmrg the parser skeleton itself, you may (at your option) remove this 26690143ccSmrg special exception, which will cause the skeleton and the resulting 27690143ccSmrg Bison output files to be licensed under the GNU General Public 28690143ccSmrg License without this special exception. 29f757b1e9Smrg 30690143ccSmrg This special exception was added by the Free Software Foundation in 31690143ccSmrg version 2.2 of Bison. */ 32f46a6179Smrg 33690143ccSmrg/* C LALR(1) parser skeleton written by Richard Stallman, by 34690143ccSmrg simplifying the original so-called "semantic" parser. */ 35690143ccSmrg 36690143ccSmrg/* All symbols defined below should begin with yy or YY, to avoid 37690143ccSmrg infringing on user name space. This should be done even for local 38690143ccSmrg variables, as they might otherwise be expanded by user macros. 39690143ccSmrg There are some unavoidable exceptions within include files to 40690143ccSmrg define necessary library symbols; they are noted "INFRINGES ON 41690143ccSmrg USER NAME SPACE" below. */ 42690143ccSmrg 43690143ccSmrg/* Identify Bison output. */ 44690143ccSmrg#define YYBISON 1 45690143ccSmrg 46690143ccSmrg/* Bison version. */ 47f757b1e9Smrg#define YYBISON_VERSION "3.0.4" 48690143ccSmrg 49690143ccSmrg/* Skeleton name. */ 50690143ccSmrg#define YYSKELETON_NAME "yacc.c" 51690143ccSmrg 52690143ccSmrg/* Pure parsers. */ 53690143ccSmrg#define YYPURE 0 54690143ccSmrg 55c82dfdfbSmrg/* Push parsers. */ 56c82dfdfbSmrg#define YYPUSH 0 57c82dfdfbSmrg 58c82dfdfbSmrg/* Pull parsers. */ 59c82dfdfbSmrg#define YYPULL 1 60c82dfdfbSmrg 61c82dfdfbSmrg 62c82dfdfbSmrg 63c82dfdfbSmrg 64c82dfdfbSmrg/* Copy the first part of user declarations. */ 65f757b1e9Smrg#line 91 "xkbparse.y" /* yacc.c:339 */ 66c82dfdfbSmrg 67c82dfdfbSmrg#ifdef DEBUG 68c82dfdfbSmrg#define YYDEBUG 1 69c82dfdfbSmrg#endif 70c82dfdfbSmrg#define DEBUG_VAR parseDebug 71c82dfdfbSmrg#include "parseutils.h" 72c82dfdfbSmrg#include <X11/keysym.h> 73c82dfdfbSmrg#include <X11/extensions/XKBgeom.h> 74c82dfdfbSmrg#include <stdlib.h> 75c82dfdfbSmrg 76c82dfdfbSmrgunsigned int parseDebug; 77c82dfdfbSmrg 78c82dfdfbSmrg 79f757b1e9Smrg#line 80 "xkbparse.c" /* yacc.c:339 */ 80c82dfdfbSmrg 81f757b1e9Smrg# ifndef YY_NULLPTR 82c82dfdfbSmrg# if defined __cplusplus && 201103L <= __cplusplus 83f757b1e9Smrg# define YY_NULLPTR nullptr 84c82dfdfbSmrg# else 85f757b1e9Smrg# define YY_NULLPTR 0 86c82dfdfbSmrg# endif 87c82dfdfbSmrg# endif 88c82dfdfbSmrg 89c82dfdfbSmrg/* Enabling verbose error messages. */ 90c82dfdfbSmrg#ifdef YYERROR_VERBOSE 91c82dfdfbSmrg# undef YYERROR_VERBOSE 92c82dfdfbSmrg# define YYERROR_VERBOSE 1 93c82dfdfbSmrg#else 94c82dfdfbSmrg# define YYERROR_VERBOSE 0 95c82dfdfbSmrg#endif 96f46a6179Smrg 97f46a6179Smrg 98f757b1e9Smrg/* Debug traces. */ 99c82dfdfbSmrg#ifndef YYDEBUG 100c82dfdfbSmrg# define YYDEBUG 0 101c82dfdfbSmrg#endif 102c82dfdfbSmrg#if YYDEBUG 103c82dfdfbSmrgextern int yydebug; 104c82dfdfbSmrg#endif 105f46a6179Smrg 106f757b1e9Smrg/* Token type. */ 107690143ccSmrg#ifndef YYTOKENTYPE 108690143ccSmrg# define YYTOKENTYPE 109f757b1e9Smrg enum yytokentype 110f757b1e9Smrg { 111f757b1e9Smrg END_OF_FILE = 0, 112f757b1e9Smrg ERROR_TOK = 255, 113f757b1e9Smrg XKB_KEYMAP = 1, 114f757b1e9Smrg XKB_KEYCODES = 2, 115f757b1e9Smrg XKB_TYPES = 3, 116f757b1e9Smrg XKB_SYMBOLS = 4, 117f757b1e9Smrg XKB_COMPATMAP = 5, 118f757b1e9Smrg XKB_GEOMETRY = 6, 119f757b1e9Smrg XKB_SEMANTICS = 7, 120f757b1e9Smrg XKB_LAYOUT = 8, 121f757b1e9Smrg INCLUDE = 10, 122f757b1e9Smrg OVERRIDE = 11, 123f757b1e9Smrg AUGMENT = 12, 124f757b1e9Smrg REPLACE = 13, 125f757b1e9Smrg ALTERNATE = 14, 126f757b1e9Smrg VIRTUAL_MODS = 20, 127f757b1e9Smrg TYPE = 21, 128f757b1e9Smrg INTERPRET = 22, 129f757b1e9Smrg ACTION_TOK = 23, 130f757b1e9Smrg KEY = 24, 131f757b1e9Smrg ALIAS = 25, 132f757b1e9Smrg GROUP = 26, 133f757b1e9Smrg MODIFIER_MAP = 27, 134f757b1e9Smrg INDICATOR = 28, 135f757b1e9Smrg SHAPE = 29, 136f757b1e9Smrg KEYS = 30, 137f757b1e9Smrg ROW = 31, 138f757b1e9Smrg SECTION = 32, 139f757b1e9Smrg OVERLAY = 33, 140f757b1e9Smrg TEXT = 34, 141f757b1e9Smrg OUTLINE = 35, 142f757b1e9Smrg SOLID = 36, 143f757b1e9Smrg LOGO = 37, 144f757b1e9Smrg VIRTUAL = 38, 145f757b1e9Smrg EQUALS = 40, 146f757b1e9Smrg PLUS = 41, 147f757b1e9Smrg MINUS = 42, 148f757b1e9Smrg DIVIDE = 43, 149f757b1e9Smrg TIMES = 44, 150f757b1e9Smrg OBRACE = 45, 151f757b1e9Smrg CBRACE = 46, 152f757b1e9Smrg OPAREN = 47, 153f757b1e9Smrg CPAREN = 48, 154f757b1e9Smrg OBRACKET = 49, 155f757b1e9Smrg CBRACKET = 50, 156f757b1e9Smrg DOT = 51, 157f757b1e9Smrg COMMA = 52, 158f757b1e9Smrg SEMI = 53, 159f757b1e9Smrg EXCLAM = 54, 160f757b1e9Smrg INVERT = 55, 161f757b1e9Smrg STRING = 60, 162f757b1e9Smrg INTEGER = 61, 163f757b1e9Smrg FLOAT = 62, 164f757b1e9Smrg IDENT = 63, 165f757b1e9Smrg KEYNAME = 64, 166f757b1e9Smrg PARTIAL = 70, 167f757b1e9Smrg DEFAULT = 71, 168f757b1e9Smrg HIDDEN = 72, 169f757b1e9Smrg ALPHANUMERIC_KEYS = 73, 170f757b1e9Smrg MODIFIER_KEYS = 74, 171f757b1e9Smrg KEYPAD_KEYS = 75, 172f757b1e9Smrg FUNCTION_KEYS = 76, 173f757b1e9Smrg ALTERNATE_GROUP = 77 174f757b1e9Smrg }; 175690143ccSmrg#endif 176690143ccSmrg/* Tokens. */ 177f46a6179Smrg#define END_OF_FILE 0 178f46a6179Smrg#define ERROR_TOK 255 179f46a6179Smrg#define XKB_KEYMAP 1 180f46a6179Smrg#define XKB_KEYCODES 2 181f46a6179Smrg#define XKB_TYPES 3 182f46a6179Smrg#define XKB_SYMBOLS 4 183f46a6179Smrg#define XKB_COMPATMAP 5 184f46a6179Smrg#define XKB_GEOMETRY 6 185f46a6179Smrg#define XKB_SEMANTICS 7 186f46a6179Smrg#define XKB_LAYOUT 8 187f46a6179Smrg#define INCLUDE 10 188f46a6179Smrg#define OVERRIDE 11 189f46a6179Smrg#define AUGMENT 12 190f46a6179Smrg#define REPLACE 13 191f46a6179Smrg#define ALTERNATE 14 192f46a6179Smrg#define VIRTUAL_MODS 20 193f46a6179Smrg#define TYPE 21 194f46a6179Smrg#define INTERPRET 22 195f46a6179Smrg#define ACTION_TOK 23 196f46a6179Smrg#define KEY 24 197f46a6179Smrg#define ALIAS 25 198f46a6179Smrg#define GROUP 26 199f46a6179Smrg#define MODIFIER_MAP 27 200f46a6179Smrg#define INDICATOR 28 201f46a6179Smrg#define SHAPE 29 202f46a6179Smrg#define KEYS 30 203f46a6179Smrg#define ROW 31 204f46a6179Smrg#define SECTION 32 205f46a6179Smrg#define OVERLAY 33 206f46a6179Smrg#define TEXT 34 207f46a6179Smrg#define OUTLINE 35 208f46a6179Smrg#define SOLID 36 209f46a6179Smrg#define LOGO 37 210f46a6179Smrg#define VIRTUAL 38 211f46a6179Smrg#define EQUALS 40 212f46a6179Smrg#define PLUS 41 213f46a6179Smrg#define MINUS 42 214f46a6179Smrg#define DIVIDE 43 215f46a6179Smrg#define TIMES 44 216f46a6179Smrg#define OBRACE 45 217f46a6179Smrg#define CBRACE 46 218f46a6179Smrg#define OPAREN 47 219f46a6179Smrg#define CPAREN 48 220f46a6179Smrg#define OBRACKET 49 221f46a6179Smrg#define CBRACKET 50 222f46a6179Smrg#define DOT 51 223f46a6179Smrg#define COMMA 52 224f46a6179Smrg#define SEMI 53 225f46a6179Smrg#define EXCLAM 54 226f46a6179Smrg#define INVERT 55 227f46a6179Smrg#define STRING 60 228f46a6179Smrg#define INTEGER 61 229f46a6179Smrg#define FLOAT 62 230f46a6179Smrg#define IDENT 63 231f46a6179Smrg#define KEYNAME 64 232f46a6179Smrg#define PARTIAL 70 233f46a6179Smrg#define DEFAULT 71 234f46a6179Smrg#define HIDDEN 72 235f46a6179Smrg#define ALPHANUMERIC_KEYS 73 236f46a6179Smrg#define MODIFIER_KEYS 74 237f46a6179Smrg#define KEYPAD_KEYS 75 238f46a6179Smrg#define FUNCTION_KEYS 76 239f46a6179Smrg#define ALTERNATE_GROUP 77 240690143ccSmrg 241f757b1e9Smrg/* Value type. */ 242690143ccSmrg#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 243f757b1e9Smrg 244f757b1e9Smrgunion YYSTYPE 2451d8c7986Smrg{ 246f757b1e9Smrg#line 110 "xkbparse.y" /* yacc.c:355 */ 247c82dfdfbSmrg 248690143ccSmrg int ival; 249690143ccSmrg unsigned uval; 250690143ccSmrg char *str; 251690143ccSmrg Atom sval; 252690143ccSmrg ParseCommon *any; 253690143ccSmrg ExprDef *expr; 254690143ccSmrg VarDef *var; 255690143ccSmrg VModDef *vmod; 256690143ccSmrg InterpDef *interp; 257690143ccSmrg KeyTypeDef *keyType; 258690143ccSmrg SymbolsDef *syms; 259690143ccSmrg ModMapDef *modMask; 260690143ccSmrg GroupCompatDef *groupCompat; 261690143ccSmrg IndicatorMapDef *ledMap; 262690143ccSmrg IndicatorNameDef *ledName; 263690143ccSmrg KeycodeDef *keyName; 264690143ccSmrg KeyAliasDef *keyAlias; 265690143ccSmrg ShapeDef *shape; 266690143ccSmrg SectionDef *section; 267690143ccSmrg RowDef *row; 268690143ccSmrg KeyDef *key; 269690143ccSmrg OverlayDef *overlay; 270690143ccSmrg OverlayKeyDef *olKey; 271690143ccSmrg OutlineDef *outline; 272690143ccSmrg DoodadDef *doodad; 273690143ccSmrg XkbFile *file; 274c82dfdfbSmrg 275f757b1e9Smrg#line 276 "xkbparse.c" /* yacc.c:355 */ 276f757b1e9Smrg}; 277c82dfdfbSmrg 278f757b1e9Smrgtypedef union YYSTYPE YYSTYPE; 279c82dfdfbSmrg# define YYSTYPE_IS_TRIVIAL 1 280690143ccSmrg# define YYSTYPE_IS_DECLARED 1 281690143ccSmrg#endif 282690143ccSmrg 283f757b1e9Smrg 284c82dfdfbSmrgextern YYSTYPE yylval; 285690143ccSmrg 286c82dfdfbSmrgint yyparse (void); 2871d8c7986Smrg 288690143ccSmrg 289690143ccSmrg 290c82dfdfbSmrg/* Copy the second part of user declarations. */ 291c82dfdfbSmrg 292f757b1e9Smrg#line 293 "xkbparse.c" /* yacc.c:358 */ 293690143ccSmrg 294690143ccSmrg#ifdef short 295690143ccSmrg# undef short 296690143ccSmrg#endif 297690143ccSmrg 298690143ccSmrg#ifdef YYTYPE_UINT8 299690143ccSmrgtypedef YYTYPE_UINT8 yytype_uint8; 300690143ccSmrg#else 301690143ccSmrgtypedef unsigned char yytype_uint8; 302690143ccSmrg#endif 303690143ccSmrg 304690143ccSmrg#ifdef YYTYPE_INT8 305690143ccSmrgtypedef YYTYPE_INT8 yytype_int8; 306690143ccSmrg#else 307f757b1e9Smrgtypedef signed char yytype_int8; 308690143ccSmrg#endif 309690143ccSmrg 310690143ccSmrg#ifdef YYTYPE_UINT16 311690143ccSmrgtypedef YYTYPE_UINT16 yytype_uint16; 312690143ccSmrg#else 313690143ccSmrgtypedef unsigned short int yytype_uint16; 314690143ccSmrg#endif 315690143ccSmrg 316690143ccSmrg#ifdef YYTYPE_INT16 317690143ccSmrgtypedef YYTYPE_INT16 yytype_int16; 318690143ccSmrg#else 319690143ccSmrgtypedef short int yytype_int16; 320690143ccSmrg#endif 321690143ccSmrg 322690143ccSmrg#ifndef YYSIZE_T 323690143ccSmrg# ifdef __SIZE_TYPE__ 324690143ccSmrg# define YYSIZE_T __SIZE_TYPE__ 325690143ccSmrg# elif defined size_t 326690143ccSmrg# define YYSIZE_T size_t 327f757b1e9Smrg# elif ! defined YYSIZE_T 328690143ccSmrg# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 329690143ccSmrg# define YYSIZE_T size_t 330690143ccSmrg# else 331690143ccSmrg# define YYSIZE_T unsigned int 332690143ccSmrg# endif 333690143ccSmrg#endif 334690143ccSmrg 335690143ccSmrg#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 336690143ccSmrg 337690143ccSmrg#ifndef YY_ 338c82dfdfbSmrg# if defined YYENABLE_NLS && YYENABLE_NLS 339690143ccSmrg# if ENABLE_NLS 340690143ccSmrg# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 341c82dfdfbSmrg# define YY_(Msgid) dgettext ("bison-runtime", Msgid) 342690143ccSmrg# endif 343690143ccSmrg# endif 344690143ccSmrg# ifndef YY_ 345c82dfdfbSmrg# define YY_(Msgid) Msgid 346690143ccSmrg# endif 347690143ccSmrg#endif 348690143ccSmrg 349f757b1e9Smrg#ifndef YY_ATTRIBUTE 350f757b1e9Smrg# if (defined __GNUC__ \ 351f757b1e9Smrg && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ 352f757b1e9Smrg || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 353f757b1e9Smrg# define YY_ATTRIBUTE(Spec) __attribute__(Spec) 354f757b1e9Smrg# else 355f757b1e9Smrg# define YY_ATTRIBUTE(Spec) /* empty */ 356f757b1e9Smrg# endif 357f757b1e9Smrg#endif 358f757b1e9Smrg 359f757b1e9Smrg#ifndef YY_ATTRIBUTE_PURE 360f757b1e9Smrg# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) 361f757b1e9Smrg#endif 362f757b1e9Smrg 363f757b1e9Smrg#ifndef YY_ATTRIBUTE_UNUSED 364f757b1e9Smrg# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 365f757b1e9Smrg#endif 366f757b1e9Smrg 367f757b1e9Smrg#if !defined _Noreturn \ 368f757b1e9Smrg && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 369f757b1e9Smrg# if defined _MSC_VER && 1200 <= _MSC_VER 370f757b1e9Smrg# define _Noreturn __declspec (noreturn) 371f757b1e9Smrg# else 372f757b1e9Smrg# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 373f757b1e9Smrg# endif 374f757b1e9Smrg#endif 375f757b1e9Smrg 376690143ccSmrg/* Suppress unused-variable warnings by "using" E. */ 377690143ccSmrg#if ! defined lint || defined __GNUC__ 378c82dfdfbSmrg# define YYUSE(E) ((void) (E)) 379690143ccSmrg#else 380c82dfdfbSmrg# define YYUSE(E) /* empty */ 381690143ccSmrg#endif 382690143ccSmrg 383f757b1e9Smrg#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 384f757b1e9Smrg/* Suppress an incorrect diagnostic about yylval being uninitialized. */ 385f757b1e9Smrg# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 386f757b1e9Smrg _Pragma ("GCC diagnostic push") \ 387f757b1e9Smrg _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 388f757b1e9Smrg _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 389f757b1e9Smrg# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 390f757b1e9Smrg _Pragma ("GCC diagnostic pop") 391690143ccSmrg#else 392f757b1e9Smrg# define YY_INITIAL_VALUE(Value) Value 393690143ccSmrg#endif 394f757b1e9Smrg#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 395f757b1e9Smrg# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 396f757b1e9Smrg# define YY_IGNORE_MAYBE_UNINITIALIZED_END 397f757b1e9Smrg#endif 398f757b1e9Smrg#ifndef YY_INITIAL_VALUE 399f757b1e9Smrg# define YY_INITIAL_VALUE(Value) /* Nothing. */ 400690143ccSmrg#endif 401690143ccSmrg 402f757b1e9Smrg 403690143ccSmrg#if ! defined yyoverflow || YYERROR_VERBOSE 404690143ccSmrg 405690143ccSmrg/* The parser invokes alloca or malloc; define the necessary symbols. */ 406690143ccSmrg 407690143ccSmrg# ifdef YYSTACK_USE_ALLOCA 408690143ccSmrg# if YYSTACK_USE_ALLOCA 409690143ccSmrg# ifdef __GNUC__ 410690143ccSmrg# define YYSTACK_ALLOC __builtin_alloca 411690143ccSmrg# elif defined __BUILTIN_VA_ARG_INCR 412690143ccSmrg# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 413690143ccSmrg# elif defined _AIX 414690143ccSmrg# define YYSTACK_ALLOC __alloca 415690143ccSmrg# elif defined _MSC_VER 416690143ccSmrg# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 417690143ccSmrg# define alloca _alloca 418690143ccSmrg# else 419690143ccSmrg# define YYSTACK_ALLOC alloca 420f757b1e9Smrg# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 421690143ccSmrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 422c82dfdfbSmrg /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 423c82dfdfbSmrg# ifndef EXIT_SUCCESS 424c82dfdfbSmrg# define EXIT_SUCCESS 0 425690143ccSmrg# endif 426690143ccSmrg# endif 427690143ccSmrg# endif 428690143ccSmrg# endif 429690143ccSmrg# endif 430690143ccSmrg 431690143ccSmrg# ifdef YYSTACK_ALLOC 432f757b1e9Smrg /* Pacify GCC's 'empty if-body' warning. */ 433f757b1e9Smrg# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 434690143ccSmrg# ifndef YYSTACK_ALLOC_MAXIMUM 435690143ccSmrg /* The OS might guarantee only one guard page at the bottom of the stack, 436690143ccSmrg and a page size can be as small as 4096 bytes. So we cannot safely 437690143ccSmrg invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 438690143ccSmrg to allow for a few compiler-allocated temporary stack slots. */ 439690143ccSmrg# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 440690143ccSmrg# endif 441690143ccSmrg# else 442690143ccSmrg# define YYSTACK_ALLOC YYMALLOC 443690143ccSmrg# define YYSTACK_FREE YYFREE 444690143ccSmrg# ifndef YYSTACK_ALLOC_MAXIMUM 445690143ccSmrg# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 446690143ccSmrg# endif 447c82dfdfbSmrg# if (defined __cplusplus && ! defined EXIT_SUCCESS \ 448690143ccSmrg && ! ((defined YYMALLOC || defined malloc) \ 449f757b1e9Smrg && (defined YYFREE || defined free))) 450690143ccSmrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 451c82dfdfbSmrg# ifndef EXIT_SUCCESS 452c82dfdfbSmrg# define EXIT_SUCCESS 0 453690143ccSmrg# endif 454690143ccSmrg# endif 455690143ccSmrg# ifndef YYMALLOC 456690143ccSmrg# define YYMALLOC malloc 457f757b1e9Smrg# if ! defined malloc && ! defined EXIT_SUCCESS 458690143ccSmrgvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 459690143ccSmrg# endif 460690143ccSmrg# endif 461690143ccSmrg# ifndef YYFREE 462690143ccSmrg# define YYFREE free 463f757b1e9Smrg# if ! defined free && ! defined EXIT_SUCCESS 464690143ccSmrgvoid free (void *); /* INFRINGES ON USER NAME SPACE */ 465690143ccSmrg# endif 466690143ccSmrg# endif 467690143ccSmrg# endif 468690143ccSmrg#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 469690143ccSmrg 470690143ccSmrg 471690143ccSmrg#if (! defined yyoverflow \ 472690143ccSmrg && (! defined __cplusplus \ 473f757b1e9Smrg || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 474690143ccSmrg 475690143ccSmrg/* A type that is properly aligned for any stack member. */ 476690143ccSmrgunion yyalloc 477690143ccSmrg{ 478c82dfdfbSmrg yytype_int16 yyss_alloc; 479c82dfdfbSmrg YYSTYPE yyvs_alloc; 480c82dfdfbSmrg}; 481690143ccSmrg 482690143ccSmrg/* The size of the maximum gap between one aligned stack and the next. */ 483690143ccSmrg# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 484690143ccSmrg 485690143ccSmrg/* The size of an array large to enough to hold all stacks, each with 486690143ccSmrg N elements. */ 487690143ccSmrg# define YYSTACK_BYTES(N) \ 488690143ccSmrg ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 489690143ccSmrg + YYSTACK_GAP_MAXIMUM) 490690143ccSmrg 491c82dfdfbSmrg# define YYCOPY_NEEDED 1 492690143ccSmrg 493690143ccSmrg/* Relocate STACK from its old location to the new one. The 494690143ccSmrg local variables YYSIZE and YYSTACKSIZE give the old and new number of 495690143ccSmrg elements in the stack, and YYPTR gives the new location of the 496690143ccSmrg stack. Advance YYPTR to a properly aligned location for the next 497690143ccSmrg stack. */ 498f757b1e9Smrg# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 499f757b1e9Smrg do \ 500f757b1e9Smrg { \ 501f757b1e9Smrg YYSIZE_T yynewbytes; \ 502f757b1e9Smrg YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 503f757b1e9Smrg Stack = &yyptr->Stack_alloc; \ 504f757b1e9Smrg yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 505f757b1e9Smrg yyptr += yynewbytes / sizeof (*yyptr); \ 506f757b1e9Smrg } \ 507f757b1e9Smrg while (0) 508690143ccSmrg 509690143ccSmrg#endif 510690143ccSmrg 511c82dfdfbSmrg#if defined YYCOPY_NEEDED && YYCOPY_NEEDED 512c82dfdfbSmrg/* Copy COUNT objects from SRC to DST. The source and destination do 513c82dfdfbSmrg not overlap. */ 514c82dfdfbSmrg# ifndef YYCOPY 515c82dfdfbSmrg# if defined __GNUC__ && 1 < __GNUC__ 516c82dfdfbSmrg# define YYCOPY(Dst, Src, Count) \ 517c82dfdfbSmrg __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 518c82dfdfbSmrg# else 519c82dfdfbSmrg# define YYCOPY(Dst, Src, Count) \ 520c82dfdfbSmrg do \ 521c82dfdfbSmrg { \ 522c82dfdfbSmrg YYSIZE_T yyi; \ 523c82dfdfbSmrg for (yyi = 0; yyi < (Count); yyi++) \ 524c82dfdfbSmrg (Dst)[yyi] = (Src)[yyi]; \ 525c82dfdfbSmrg } \ 526f757b1e9Smrg while (0) 527c82dfdfbSmrg# endif 528c82dfdfbSmrg# endif 529c82dfdfbSmrg#endif /* !YYCOPY_NEEDED */ 530c82dfdfbSmrg 531690143ccSmrg/* YYFINAL -- State number of the termination state. */ 532690143ccSmrg#define YYFINAL 18 533690143ccSmrg/* YYLAST -- Last index in YYTABLE. */ 534c82dfdfbSmrg#define YYLAST 747 535690143ccSmrg 536690143ccSmrg/* YYNTOKENS -- Number of terminals. */ 537690143ccSmrg#define YYNTOKENS 65 538690143ccSmrg/* YYNNTS -- Number of nonterminals. */ 539c82dfdfbSmrg#define YYNNTS 74 540690143ccSmrg/* YYNRULES -- Number of rules. */ 541c82dfdfbSmrg#define YYNRULES 187 542f757b1e9Smrg/* YYNSTATES -- Number of states. */ 543c82dfdfbSmrg#define YYNSTATES 340 544690143ccSmrg 545f757b1e9Smrg/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned 546f757b1e9Smrg by yylex, with out-of-bounds checking. */ 547690143ccSmrg#define YYUNDEFTOK 2 548690143ccSmrg#define YYMAXUTOK 257 549690143ccSmrg 550f757b1e9Smrg#define YYTRANSLATE(YYX) \ 551690143ccSmrg ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 552690143ccSmrg 553f757b1e9Smrg/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 554f757b1e9Smrg as returned by yylex, without out-of-bounds checking. */ 555690143ccSmrgstatic const yytype_uint8 yytranslate[] = 556690143ccSmrg{ 557690143ccSmrg 0, 4, 5, 6, 7, 8, 9, 10, 11, 2, 558690143ccSmrg 12, 13, 14, 15, 16, 2, 2, 2, 2, 2, 559690143ccSmrg 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 560690143ccSmrg 27, 28, 29, 30, 31, 32, 33, 34, 35, 2, 561690143ccSmrg 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 562690143ccSmrg 46, 47, 48, 49, 50, 51, 2, 2, 2, 2, 563690143ccSmrg 52, 53, 54, 55, 56, 2, 2, 2, 2, 2, 564690143ccSmrg 57, 58, 59, 60, 61, 62, 63, 64, 2, 2, 565690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 566690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 567690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 568690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 569690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 570690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 571690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 572690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 573690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 574690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 575690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 576690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 577690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 578690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 579690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 580690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 581690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 582690143ccSmrg 2, 2, 2, 2, 2, 3, 1, 2 583690143ccSmrg}; 584690143ccSmrg 585690143ccSmrg#if YYDEBUG 586f757b1e9Smrg /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 587690143ccSmrgstatic const yytype_uint16 yyrline[] = 588690143ccSmrg{ 589690143ccSmrg 0, 168, 168, 170, 172, 176, 178, 182, 188, 189, 590690143ccSmrg 190, 193, 195, 199, 205, 210, 211, 212, 213, 214, 591690143ccSmrg 217, 218, 221, 222, 225, 226, 227, 228, 229, 230, 592690143ccSmrg 231, 232, 235, 237, 240, 245, 250, 255, 260, 265, 593690143ccSmrg 270, 275, 280, 285, 290, 295, 300, 305, 310, 322, 594690143ccSmrg 324, 326, 330, 341, 351, 355, 357, 361, 363, 367, 595690143ccSmrg 376, 378, 382, 384, 388, 394, 400, 402, 404, 407, 596690143ccSmrg 409, 411, 413, 415, 419, 421, 425, 429, 433, 437, 597690143ccSmrg 439, 443, 445, 453, 457, 459, 463, 465, 467, 469, 598690143ccSmrg 471, 475, 477, 481, 483, 487, 489, 493, 495, 499, 599690143ccSmrg 503, 508, 512, 516, 518, 522, 524, 526, 530, 532, 600690143ccSmrg 536, 546, 550, 551, 552, 553, 556, 557, 560, 562, 601690143ccSmrg 564, 566, 568, 570, 572, 574, 576, 578, 580, 584, 602690143ccSmrg 585, 588, 589, 590, 591, 592, 595, 596, 599, 601, 603690143ccSmrg 605, 607, 609, 611, 613, 615, 619, 621, 623, 625, 604690143ccSmrg 627, 629, 631, 633, 637, 639, 643, 647, 654, 662, 605c82dfdfbSmrg 671, 682, 689, 696, 703, 714, 715, 718, 720, 722, 606c82dfdfbSmrg 724, 728, 729, 730, 737, 741, 742, 745, 746, 749, 607c82dfdfbSmrg 752, 755, 758, 759, 762, 765, 766, 769 608690143ccSmrg}; 609690143ccSmrg#endif 610690143ccSmrg 611c82dfdfbSmrg#if YYDEBUG || YYERROR_VERBOSE || 0 612690143ccSmrg/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 613690143ccSmrg First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 614690143ccSmrgstatic const char *const yytname[] = 615690143ccSmrg{ 616690143ccSmrg "END_OF_FILE", "error", "$undefined", "ERROR_TOK", "XKB_KEYMAP", 617690143ccSmrg "XKB_KEYCODES", "XKB_TYPES", "XKB_SYMBOLS", "XKB_COMPATMAP", 618690143ccSmrg "XKB_GEOMETRY", "XKB_SEMANTICS", "XKB_LAYOUT", "INCLUDE", "OVERRIDE", 619690143ccSmrg "AUGMENT", "REPLACE", "ALTERNATE", "VIRTUAL_MODS", "TYPE", "INTERPRET", 620690143ccSmrg "ACTION_TOK", "KEY", "ALIAS", "GROUP", "MODIFIER_MAP", "INDICATOR", 621690143ccSmrg "SHAPE", "KEYS", "ROW", "SECTION", "OVERLAY", "TEXT", "OUTLINE", "SOLID", 622690143ccSmrg "LOGO", "VIRTUAL", "EQUALS", "PLUS", "MINUS", "DIVIDE", "TIMES", 623690143ccSmrg "OBRACE", "CBRACE", "OPAREN", "CPAREN", "OBRACKET", "CBRACKET", "DOT", 624690143ccSmrg "COMMA", "SEMI", "EXCLAM", "INVERT", "STRING", "INTEGER", "FLOAT", 625690143ccSmrg "IDENT", "KEYNAME", "PARTIAL", "DEFAULT", "HIDDEN", "ALPHANUMERIC_KEYS", 626690143ccSmrg "MODIFIER_KEYS", "KEYPAD_KEYS", "FUNCTION_KEYS", "ALTERNATE_GROUP", 627690143ccSmrg "$accept", "XkbFile", "XkbCompMapList", "XkbCompositeMap", 628690143ccSmrg "XkbCompositeType", "XkbMapConfigList", "XkbMapConfig", "XkbConfig", 629690143ccSmrg "FileType", "OptFlags", "Flags", "Flag", "DeclList", "Decl", "VarDecl", 630690143ccSmrg "KeyNameDecl", "KeyAliasDecl", "VModDecl", "VModDefList", "VModDef", 631690143ccSmrg "InterpretDecl", "InterpretMatch", "VarDeclList", "KeyTypeDecl", 632690143ccSmrg "SymbolsDecl", "SymbolsBody", "SymbolsVarDecl", "ArrayInit", 633690143ccSmrg "GroupCompatDecl", "ModMapDecl", "IndicatorMapDecl", "IndicatorNameDecl", 634690143ccSmrg "ShapeDecl", "SectionDecl", "SectionBody", "SectionBodyItem", "RowBody", 635690143ccSmrg "RowBodyItem", "Keys", "Key", "OverlayDecl", "OverlayKeyList", 636690143ccSmrg "OverlayKey", "OutlineList", "OutlineInList", "CoordList", "Coord", 637690143ccSmrg "DoodadDecl", "DoodadType", "FieldSpec", "Element", "OptMergeMode", 638690143ccSmrg "MergeMode", "OptExprList", "ExprList", "Expr", "Term", "ActionList", 639690143ccSmrg "Action", "Lhs", "Terminal", "OptKeySymList", "KeySymList", "KeySym", 640c82dfdfbSmrg "KeySyms", "SignedNumber", "Number", "Float", "Integer", "KeyName", 641f757b1e9Smrg "Ident", "String", "OptMapName", "MapName", YY_NULLPTR 642690143ccSmrg}; 643690143ccSmrg#endif 644690143ccSmrg 645690143ccSmrg# ifdef YYPRINT 646f757b1e9Smrg/* YYTOKNUM[NUM] -- (External) token number corresponding to the 647f757b1e9Smrg (internal) symbol number NUM (which must be that of a token). */ 648690143ccSmrgstatic const yytype_uint16 yytoknum[] = 649690143ccSmrg{ 650690143ccSmrg 0, 256, 257, 255, 1, 2, 3, 4, 5, 6, 651690143ccSmrg 7, 8, 10, 11, 12, 13, 14, 20, 21, 22, 652690143ccSmrg 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 653690143ccSmrg 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 654690143ccSmrg 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 655690143ccSmrg 54, 55, 60, 61, 62, 63, 64, 70, 71, 72, 656690143ccSmrg 73, 74, 75, 76, 77 657f46a6179Smrg}; 658690143ccSmrg# endif 659690143ccSmrg 660f757b1e9Smrg#define YYPACT_NINF -179 661690143ccSmrg 662f757b1e9Smrg#define yypact_value_is_default(Yystate) \ 663f757b1e9Smrg (!!((Yystate) == (-179))) 664690143ccSmrg 665f757b1e9Smrg#define YYTABLE_NINF -183 666690143ccSmrg 667f757b1e9Smrg#define yytable_value_is_error(Yytable_value) \ 668f757b1e9Smrg 0 669690143ccSmrg 670f757b1e9Smrg /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 671f757b1e9Smrg STATE-NUM. */ 672690143ccSmrgstatic const yytype_int16 yypact[] = 673690143ccSmrg{ 674c82dfdfbSmrg 669, -179, -179, -179, -179, -179, -179, -179, -179, 19, 675c82dfdfbSmrg 138, -179, 185, -179, -179, 736, 669, -179, -179, -179, 676c82dfdfbSmrg 41, -179, 297, -179, -179, -179, -179, -179, -179, -179, 677c82dfdfbSmrg -179, -3, -3, -179, -3, -179, 13, -179, 31, 31, 678c82dfdfbSmrg 669, -179, 63, 544, 53, -179, -179, -179, -179, -179, 679c82dfdfbSmrg -179, 266, 59, 66, 104, 1, 98, -9, -179, 27, 680c82dfdfbSmrg 27, 52, 1, 79, 98, -179, 98, 109, -179, -179, 681c82dfdfbSmrg -179, 140, 1, -179, -179, -179, -179, -179, -179, -179, 682c82dfdfbSmrg -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, 683c82dfdfbSmrg 98, 130, -179, 132, 135, 125, -179, -179, -179, 144, 684c82dfdfbSmrg -179, 145, -179, 170, -179, -179, -179, 176, 189, -179, 685c82dfdfbSmrg 186, 192, 200, 196, 202, 210, 211, 212, 52, 213, 686c82dfdfbSmrg 220, 371, 681, 371, 371, -179, 1, -179, 371, 667, 687c82dfdfbSmrg 667, 371, 498, 27, 371, 371, 371, 667, 16, 453, 688c82dfdfbSmrg 205, -179, 667, -179, -179, -179, -179, -179, -179, -179, 689c82dfdfbSmrg -179, -179, 371, 371, 371, 371, 371, -179, 358, 194, 690c82dfdfbSmrg -179, 224, -179, -179, -179, -179, -179, -179, 226, 166, 691c82dfdfbSmrg 181, -179, 51, -179, 513, 541, 51, 556, 1, -27, 692c82dfdfbSmrg -179, -179, 233, 22, 223, 219, 38, 51, 325, 597, 693c82dfdfbSmrg 229, -24, 54, -179, 56, -179, 239, 98, 236, 98, 694c82dfdfbSmrg -179, -179, 412, -179, -179, -179, 371, 612, -179, -179, 695c82dfdfbSmrg -179, 291, -179, -179, 371, 371, 371, 371, 371, -179, 696c82dfdfbSmrg 371, 371, -179, -179, 232, -179, 244, 253, -16, 268, 697c82dfdfbSmrg 276, 134, -179, 277, 285, -179, -179, -179, 287, 498, 698c82dfdfbSmrg 289, -179, -179, 288, 371, -179, 303, 70, 154, -179, 699c82dfdfbSmrg -179, 290, -179, 308, -17, 311, 229, 330, 653, 284, 700c82dfdfbSmrg 317, -179, 338, 320, -179, 302, 322, 183, 183, -179, 701c82dfdfbSmrg -179, 51, 227, -179, -179, 80, 371, -179, 681, -179, 702c82dfdfbSmrg -16, -179, -179, -179, 51, -179, 51, -179, -179, -179, 703c82dfdfbSmrg -24, -179, -179, -179, -179, 229, 51, 331, -179, 470, 704c82dfdfbSmrg -179, 27, -179, -179, -179, -179, -179, -179, 335, -179, 705c82dfdfbSmrg -179, -179, 347, 99, -25, 349, -179, 100, -179, 368, 706c82dfdfbSmrg -179, -179, -179, 371, 101, -179, -179, -179, 357, 27, 707c82dfdfbSmrg 27, 116, 361, -25, -179, -179, -179, -179, -179, -179 708f46a6179Smrg}; 709690143ccSmrg 710f757b1e9Smrg /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 711f757b1e9Smrg Performed when YYTABLE does not specify something else to do. Zero 712f757b1e9Smrg means the default is an error. */ 713f757b1e9Smrgstatic const yytype_uint8 yydefact[] = 714f757b1e9Smrg{ 715f757b1e9Smrg 21, 24, 25, 26, 27, 28, 29, 30, 31, 0, 716f757b1e9Smrg 21, 6, 21, 12, 4, 0, 20, 23, 1, 5, 717f757b1e9Smrg 0, 11, 0, 8, 15, 16, 18, 17, 19, 9, 718f757b1e9Smrg 10, 186, 186, 22, 186, 187, 0, 185, 33, 0, 719f757b1e9Smrg 21, 33, 130, 21, 130, 131, 133, 132, 134, 135, 720f757b1e9Smrg 32, 0, 129, 0, 0, 0, 120, 119, 118, 121, 721f757b1e9Smrg 0, 122, 123, 124, 125, 126, 127, 128, 113, 114, 722f757b1e9Smrg 115, 0, 0, 182, 181, 183, 34, 37, 38, 35, 723f757b1e9Smrg 36, 39, 40, 42, 41, 43, 44, 45, 46, 47, 724f757b1e9Smrg 0, 157, 117, 0, 0, 116, 48, 7, 13, 0, 725f757b1e9Smrg 56, 57, 184, 0, 172, 180, 171, 0, 61, 173, 726f757b1e9Smrg 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 727f757b1e9Smrg 0, 0, 0, 0, 0, 50, 0, 54, 0, 0, 728f757b1e9Smrg 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 729f757b1e9Smrg 0, 51, 0, 120, 119, 121, 122, 123, 124, 125, 730f757b1e9Smrg 127, 128, 0, 0, 0, 0, 0, 179, 157, 0, 731f757b1e9Smrg 145, 150, 152, 163, 162, 164, 116, 161, 158, 0, 732f757b1e9Smrg 0, 55, 58, 63, 0, 0, 60, 166, 0, 0, 733f757b1e9Smrg 67, 73, 0, 116, 0, 0, 0, 139, 0, 0, 734f757b1e9Smrg 0, 0, 0, 104, 0, 109, 0, 124, 126, 0, 735f757b1e9Smrg 87, 89, 0, 85, 90, 88, 0, 0, 147, 150, 736f757b1e9Smrg 146, 0, 148, 149, 137, 0, 0, 0, 0, 159, 737f757b1e9Smrg 0, 0, 49, 52, 0, 62, 0, 172, 0, 171, 738f757b1e9Smrg 0, 0, 155, 0, 165, 169, 170, 72, 0, 0, 739f757b1e9Smrg 0, 53, 76, 0, 0, 79, 0, 0, 0, 178, 740f757b1e9Smrg 177, 0, 176, 0, 0, 0, 0, 0, 0, 0, 741f757b1e9Smrg 0, 84, 0, 0, 153, 0, 136, 141, 142, 140, 742f757b1e9Smrg 143, 144, 0, 64, 59, 0, 137, 75, 0, 74, 743f757b1e9Smrg 0, 65, 66, 70, 69, 77, 138, 78, 105, 175, 744f757b1e9Smrg 0, 81, 103, 82, 108, 0, 107, 0, 94, 0, 745f757b1e9Smrg 92, 0, 83, 80, 111, 151, 160, 174, 0, 154, 746f757b1e9Smrg 167, 168, 0, 0, 0, 0, 91, 0, 101, 0, 747f757b1e9Smrg 156, 110, 106, 0, 0, 96, 97, 86, 0, 0, 748f757b1e9Smrg 0, 0, 0, 0, 99, 100, 102, 98, 93, 95 749f757b1e9Smrg}; 750f757b1e9Smrg 751f757b1e9Smrg /* YYPGOTO[NTERM-NUM]. */ 752690143ccSmrgstatic const yytype_int16 yypgoto[] = 753690143ccSmrg{ 754c82dfdfbSmrg -179, -179, -179, 397, -179, 372, -8, -179, 389, 48, 755c82dfdfbSmrg -179, 399, 375, -179, -19, -179, -179, -179, -179, 292, 756c82dfdfbSmrg -179, -179, -119, -179, -179, -179, 174, 177, -179, -179, 757c82dfdfbSmrg 369, -179, -179, -179, -179, 217, -179, 129, -179, 106, 758c82dfdfbSmrg -179, -179, 105, -179, 193, -178, 195, 398, -179, -23, 759c82dfdfbSmrg -179, -179, -179, 172, -132, -81, 34, -179, 175, -29, 760c82dfdfbSmrg -179, -179, 222, -55, 178, 162, 207, -179, -56, -51, 761c82dfdfbSmrg -45, -30, 180, -179 762f46a6179Smrg}; 763690143ccSmrg 764f757b1e9Smrg /* YYDEFGOTO[NTERM-NUM]. */ 765f757b1e9Smrgstatic const yytype_int16 yydefgoto[] = 766f757b1e9Smrg{ 767f757b1e9Smrg -1, 9, 10, 11, 31, 12, 13, 14, 32, 22, 768f757b1e9Smrg 16, 17, 42, 50, 173, 77, 78, 79, 99, 100, 769f757b1e9Smrg 80, 107, 174, 81, 82, 179, 180, 181, 83, 84, 770f757b1e9Smrg 201, 86, 87, 88, 202, 203, 299, 300, 324, 325, 771f757b1e9Smrg 204, 317, 318, 192, 193, 194, 195, 205, 90, 158, 772f757b1e9Smrg 92, 51, 52, 265, 266, 187, 160, 231, 232, 161, 773f757b1e9Smrg 162, 233, 234, 235, 236, 251, 252, 163, 164, 165, 774f757b1e9Smrg 166, 167, 36, 37 775f757b1e9Smrg}; 776f757b1e9Smrg 777f757b1e9Smrg /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 778f757b1e9Smrg positive, shift that token. If negative, reduce the rule whose 779f757b1e9Smrg number is the opposite. If YYTABLE_NINF, syntax error. */ 780690143ccSmrgstatic const yytype_int16 yytable[] = 781690143ccSmrg{ 782c82dfdfbSmrg 94, 109, 108, 186, 21, 112, 95, 114, 110, 111, 783c82dfdfbSmrg 101, 175, 247, 104, 248, 238, 323, 113, 189, 18, 784c82dfdfbSmrg 104, 239, 93, 207, 190, 228, 103, 119, 91, 249, 785c82dfdfbSmrg 250, 74, 76, 115, 116, 21, 117, 105, 73, 106, 786c82dfdfbSmrg 159, 75, 169, 170, 105, 23, 106, 172, 15, 35, 787c82dfdfbSmrg 176, 29, 30, 185, 40, 188, 73, 190, 20, 75, 788c82dfdfbSmrg 120, 191, 140, -14, -71, 45, 46, 47, 48, 49, 789c82dfdfbSmrg -71, 73, 41, 211, 75, 45, 46, 47, 48, 49, 790c82dfdfbSmrg 243, 101, 184, 74, 95, 95, 244, 183, 215, 216, 791c82dfdfbSmrg 217, 218, 95, 196, 95, 54, 253, 95, 255, 168, 792c82dfdfbSmrg 93, 93, 254, 182, 256, 105, 91, 91, 93, 91, 793c82dfdfbSmrg 93, 96, 288, 93, 91, 97, 91, 313, 256, 91, 794c82dfdfbSmrg 200, 109, 307, 209, 209, 262, 209, 209, 280, 95, 795c82dfdfbSmrg 95, 102, 105, 237, 267, 268, 269, 270, -2, 271, 796c82dfdfbSmrg 272, 322, 328, 332, 95, 93, 93, 256, 329, 333, 797c82dfdfbSmrg 102, 91, 91, 98, 230, 225, 225, 95, 337, 284, 798c82dfdfbSmrg 93, -112, 95, 286, 244, 118, 91, 115, 123, 259, 799c82dfdfbSmrg 225, 124, 109, 93, 125, 121, 296, 122, 93, 91, 800c82dfdfbSmrg 277, 128, 278, 200, 91, -3, 208, 210, 225, 212, 801c82dfdfbSmrg 213, 331, 126, 127, 183, 1, 2, 3, 4, 5, 802c82dfdfbSmrg 6, 7, 8, 215, 216, 217, 218, 249, 250, 196, 803c82dfdfbSmrg 182, 129, 38, 95, 39, 222, 91, 130, 215, 216, 804c82dfdfbSmrg 217, 218, 217, 218, 109, 310, 131, 132, 133, 93, 805c82dfdfbSmrg 223, 215, 216, 217, 218, 91, 134, 135, 136, 298, 806c82dfdfbSmrg 219, 206, 1, 2, 3, 4, 5, 6, 7, 8, 807c82dfdfbSmrg 319, 137, 138, 139, 95, 230, 215, 216, 217, 218, 808c82dfdfbSmrg 220, 142, 141, 326, 215, 216, 217, 218, 242, 240, 809c82dfdfbSmrg 93, 221, 241, 306, 191, 257, 91, 258, 319, 336, 810c82dfdfbSmrg 298, 273, 326, 55, 56, 57, 58, 59, 60, 61, 811c82dfdfbSmrg 62, 63, 64, 274, 65, 66, -127, 67, 68, 69, 812c82dfdfbSmrg 70, 71, 24, 25, 26, 27, 28, 143, 144, 58, 813c82dfdfbSmrg 145, -182, 146, 147, 148, 149, 72, 65, 150, 276, 814c82dfdfbSmrg 151, 73, 74, 279, 75, 301, 152, 153, 215, 216, 815c82dfdfbSmrg 217, 218, 154, 280, 177, 264, 281, 285, 290, 155, 816c82dfdfbSmrg 156, 102, 105, 157, 73, 74, 305, 75, 143, 144, 817c82dfdfbSmrg 58, 145, 287, 146, 147, 148, 149, 291, 65, 150, 818c82dfdfbSmrg 293, 151, 215, 216, 217, 218, 302, 152, 153, 304, 819c82dfdfbSmrg 244, 295, 314, 154, 245, 215, 216, 217, 218, 320, 820c82dfdfbSmrg 155, 156, 102, 105, 157, 73, 74, 303, 75, 143, 821c82dfdfbSmrg 144, 58, 145, 321, 146, 147, 148, 149, 327, 65, 822c82dfdfbSmrg 150, 214, 151, 121, 330, 122, 334, 19, 152, 153, 823c82dfdfbSmrg 338, 34, 43, 282, 154, 33, 44, 283, 171, 261, 824c82dfdfbSmrg 85, 155, 156, 102, 105, 157, 73, 74, 316, 75, 825c82dfdfbSmrg 143, 144, 58, 145, 335, 146, 147, 197, 149, 339, 826c82dfdfbSmrg 198, 150, 199, 67, 68, 69, 70, 292, 308, 89, 827c82dfdfbSmrg 275, 294, 312, 309, 260, 289, 0, 0, 311, 0, 828c82dfdfbSmrg 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 829c82dfdfbSmrg 75, 143, 144, 58, 145, 0, 146, 147, 197, 149, 830c82dfdfbSmrg 0, 198, 150, 199, 67, 68, 69, 70, 143, 144, 831c82dfdfbSmrg 58, 145, 0, 146, 147, 148, 149, 297, 65, 150, 832c82dfdfbSmrg 0, 151, 0, 72, 0, 0, 0, 0, 73, 0, 833c82dfdfbSmrg 0, 75, 315, 0, 0, 0, 143, 144, 58, 145, 834c82dfdfbSmrg 72, 146, 147, 148, 149, 73, 65, 150, 75, 151, 835c82dfdfbSmrg 0, 143, 144, 58, 145, 0, 146, 147, 148, 149, 836c82dfdfbSmrg 0, 65, 150, 177, 151, 0, 0, 0, 178, 0, 837c82dfdfbSmrg 0, 0, 0, 73, 0, 224, 75, 0, 0, 143, 838c82dfdfbSmrg 144, 58, 145, 72, 146, 147, 148, 149, 73, 65, 839c82dfdfbSmrg 150, 75, 151, 0, 143, 144, 58, 145, 0, 146, 840c82dfdfbSmrg 147, 148, 149, 226, 65, 227, 53, 151, 0, 0, 841c82dfdfbSmrg 0, 72, 0, 0, 0, 0, 73, 228, 0, 75, 842c82dfdfbSmrg 0, 1, 2, 3, 4, 5, 6, 7, 8, 105, 843c82dfdfbSmrg 0, 229, 0, 0, 75, 143, 144, 58, 145, 0, 844c82dfdfbSmrg 146, 147, 148, 149, 0, 65, 150, 0, 151, 0, 845c82dfdfbSmrg 143, 144, 58, 145, 0, 146, 147, 148, 149, 246, 846c82dfdfbSmrg 65, 150, 0, 151, 0, 0, 0, 72, 0, 0, 847c82dfdfbSmrg 0, 0, 73, 0, 263, 75, 0, 0, 0, 0, 848c82dfdfbSmrg 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 849c82dfdfbSmrg 75, 143, 144, 58, 145, 0, 146, 147, 148, 149, 850c82dfdfbSmrg 297, 65, 150, 0, 151, 143, 144, 58, 145, 0, 851c82dfdfbSmrg 146, 147, 148, 149, 0, 65, 150, 0, 151, 143, 852c82dfdfbSmrg 144, 58, 145, 72, 146, 147, 148, 149, 73, 65, 853c82dfdfbSmrg 150, 75, 151, 0, 0, 0, 0, 72, 0, 0, 854c82dfdfbSmrg 0, 0, 73, 0, 0, 75, 1, 2, 3, 4, 855c82dfdfbSmrg 5, 6, 7, 8, 0, 0, 73, 0, 0, 75, 856c82dfdfbSmrg 23, 24, 25, 26, 27, 28, 29, 30 857f46a6179Smrg}; 858690143ccSmrg 859690143ccSmrgstatic const yytype_int16 yycheck[] = 860690143ccSmrg{ 861c82dfdfbSmrg 51, 57, 57, 135, 12, 61, 51, 63, 59, 60, 862c82dfdfbSmrg 55, 130, 190, 29, 38, 42, 41, 62, 137, 0, 863c82dfdfbSmrg 29, 48, 51, 142, 41, 41, 56, 72, 51, 53, 864c82dfdfbSmrg 54, 56, 51, 63, 64, 43, 66, 53, 55, 55, 865c82dfdfbSmrg 121, 58, 123, 124, 53, 4, 55, 128, 0, 52, 866c82dfdfbSmrg 131, 10, 11, 134, 41, 136, 55, 41, 10, 58, 867c82dfdfbSmrg 90, 45, 118, 0, 42, 12, 13, 14, 15, 16, 868c82dfdfbSmrg 48, 55, 41, 154, 58, 12, 13, 14, 15, 16, 869c82dfdfbSmrg 42, 126, 133, 56, 129, 130, 48, 132, 37, 38, 870c82dfdfbSmrg 39, 40, 137, 138, 139, 42, 42, 142, 42, 122, 871c82dfdfbSmrg 129, 130, 48, 132, 48, 53, 129, 130, 137, 132, 872c82dfdfbSmrg 139, 52, 42, 142, 137, 49, 139, 295, 48, 142, 873c82dfdfbSmrg 139, 177, 42, 152, 153, 206, 155, 156, 48, 174, 874c82dfdfbSmrg 175, 52, 53, 178, 215, 216, 217, 218, 0, 220, 875c82dfdfbSmrg 221, 42, 42, 42, 189, 174, 175, 48, 48, 48, 876c82dfdfbSmrg 52, 174, 175, 49, 177, 174, 175, 202, 42, 240, 877c82dfdfbSmrg 189, 52, 207, 244, 48, 25, 189, 197, 36, 199, 878c82dfdfbSmrg 189, 36, 228, 202, 49, 45, 257, 47, 207, 202, 879c82dfdfbSmrg 46, 36, 48, 202, 207, 0, 152, 153, 207, 155, 880c82dfdfbSmrg 156, 323, 48, 49, 239, 57, 58, 59, 60, 61, 881c82dfdfbSmrg 62, 63, 64, 37, 38, 39, 40, 53, 54, 254, 882c82dfdfbSmrg 239, 41, 32, 258, 34, 49, 239, 41, 37, 38, 883c82dfdfbSmrg 39, 40, 39, 40, 280, 280, 37, 41, 36, 258, 884c82dfdfbSmrg 49, 37, 38, 39, 40, 258, 36, 41, 36, 258, 885c82dfdfbSmrg 46, 36, 57, 58, 59, 60, 61, 62, 63, 64, 886c82dfdfbSmrg 301, 41, 41, 41, 299, 278, 37, 38, 39, 40, 887c82dfdfbSmrg 36, 41, 49, 314, 37, 38, 39, 40, 49, 36, 888c82dfdfbSmrg 299, 45, 49, 46, 45, 36, 299, 41, 329, 330, 889c82dfdfbSmrg 299, 49, 333, 17, 18, 19, 20, 21, 22, 23, 890c82dfdfbSmrg 24, 25, 26, 49, 28, 29, 43, 31, 32, 33, 891c82dfdfbSmrg 34, 35, 5, 6, 7, 8, 9, 18, 19, 20, 892c82dfdfbSmrg 21, 43, 23, 24, 25, 26, 50, 28, 29, 43, 893c82dfdfbSmrg 31, 55, 56, 46, 58, 41, 37, 38, 37, 38, 894c82dfdfbSmrg 39, 40, 43, 48, 45, 44, 49, 49, 48, 50, 895c82dfdfbSmrg 51, 52, 53, 54, 55, 56, 44, 58, 18, 19, 896c82dfdfbSmrg 20, 21, 49, 23, 24, 25, 26, 49, 28, 29, 897c82dfdfbSmrg 49, 31, 37, 38, 39, 40, 49, 37, 38, 49, 898c82dfdfbSmrg 48, 41, 41, 43, 49, 37, 38, 39, 40, 44, 899690143ccSmrg 50, 51, 52, 53, 54, 55, 56, 49, 58, 18, 900c82dfdfbSmrg 19, 20, 21, 46, 23, 24, 25, 26, 49, 28, 901c82dfdfbSmrg 29, 43, 31, 45, 36, 47, 49, 10, 37, 38, 902c82dfdfbSmrg 49, 22, 40, 239, 43, 16, 41, 240, 126, 202, 903c82dfdfbSmrg 51, 50, 51, 52, 53, 54, 55, 56, 299, 58, 904c82dfdfbSmrg 18, 19, 20, 21, 329, 23, 24, 25, 26, 333, 905c82dfdfbSmrg 28, 29, 30, 31, 32, 33, 34, 254, 276, 51, 906c82dfdfbSmrg 228, 256, 290, 278, 42, 248, -1, -1, 280, -1, 907c82dfdfbSmrg -1, -1, 50, -1, -1, -1, -1, 55, -1, -1, 908c82dfdfbSmrg 58, 18, 19, 20, 21, -1, 23, 24, 25, 26, 909c82dfdfbSmrg -1, 28, 29, 30, 31, 32, 33, 34, 18, 19, 910c82dfdfbSmrg 20, 21, -1, 23, 24, 25, 26, 27, 28, 29, 911c82dfdfbSmrg -1, 31, -1, 50, -1, -1, -1, -1, 55, -1, 912c82dfdfbSmrg -1, 58, 42, -1, -1, -1, 18, 19, 20, 21, 913c82dfdfbSmrg 50, 23, 24, 25, 26, 55, 28, 29, 58, 31, 914c82dfdfbSmrg -1, 18, 19, 20, 21, -1, 23, 24, 25, 26, 915c82dfdfbSmrg -1, 28, 29, 45, 31, -1, -1, -1, 50, -1, 916c82dfdfbSmrg -1, -1, -1, 55, -1, 42, 58, -1, -1, 18, 917c82dfdfbSmrg 19, 20, 21, 50, 23, 24, 25, 26, 55, 28, 918c82dfdfbSmrg 29, 58, 31, -1, 18, 19, 20, 21, -1, 23, 919c82dfdfbSmrg 24, 25, 26, 42, 28, 29, 42, 31, -1, -1, 920c82dfdfbSmrg -1, 50, -1, -1, -1, -1, 55, 41, -1, 58, 921c82dfdfbSmrg -1, 57, 58, 59, 60, 61, 62, 63, 64, 53, 922c82dfdfbSmrg -1, 55, -1, -1, 58, 18, 19, 20, 21, -1, 923c82dfdfbSmrg 23, 24, 25, 26, -1, 28, 29, -1, 31, -1, 924c82dfdfbSmrg 18, 19, 20, 21, -1, 23, 24, 25, 26, 42, 925c82dfdfbSmrg 28, 29, -1, 31, -1, -1, -1, 50, -1, -1, 926c82dfdfbSmrg -1, -1, 55, -1, 42, 58, -1, -1, -1, -1, 927c82dfdfbSmrg -1, -1, 50, -1, -1, -1, -1, 55, -1, -1, 928c82dfdfbSmrg 58, 18, 19, 20, 21, -1, 23, 24, 25, 26, 929c82dfdfbSmrg 27, 28, 29, -1, 31, 18, 19, 20, 21, -1, 930c82dfdfbSmrg 23, 24, 25, 26, -1, 28, 29, -1, 31, 18, 931c82dfdfbSmrg 19, 20, 21, 50, 23, 24, 25, 26, 55, 28, 932c82dfdfbSmrg 29, 58, 31, -1, -1, -1, -1, 50, -1, -1, 933c82dfdfbSmrg -1, -1, 55, -1, -1, 58, 57, 58, 59, 60, 934c82dfdfbSmrg 61, 62, 63, 64, -1, -1, 55, -1, -1, 58, 935c82dfdfbSmrg 4, 5, 6, 7, 8, 9, 10, 11 936f46a6179Smrg}; 937f46a6179Smrg 938f757b1e9Smrg /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 939f757b1e9Smrg symbol of state STATE-NUM. */ 940690143ccSmrgstatic const yytype_uint8 yystos[] = 941690143ccSmrg{ 942690143ccSmrg 0, 57, 58, 59, 60, 61, 62, 63, 64, 66, 943690143ccSmrg 67, 68, 70, 71, 72, 74, 75, 76, 0, 68, 944690143ccSmrg 74, 71, 74, 4, 5, 6, 7, 8, 9, 10, 945c82dfdfbSmrg 11, 69, 73, 76, 73, 52, 137, 138, 137, 137, 946690143ccSmrg 41, 41, 77, 70, 77, 12, 13, 14, 15, 16, 947690143ccSmrg 78, 116, 117, 42, 42, 17, 18, 19, 20, 21, 948690143ccSmrg 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 949690143ccSmrg 34, 35, 50, 55, 56, 58, 79, 80, 81, 82, 950690143ccSmrg 85, 88, 89, 93, 94, 95, 96, 97, 98, 112, 951c82dfdfbSmrg 113, 114, 115, 124, 134, 135, 52, 49, 49, 83, 952c82dfdfbSmrg 84, 135, 52, 136, 29, 53, 55, 86, 128, 133, 953c82dfdfbSmrg 134, 134, 133, 135, 133, 136, 136, 136, 25, 135, 954c82dfdfbSmrg 136, 45, 47, 36, 36, 49, 48, 49, 36, 41, 955690143ccSmrg 41, 37, 41, 36, 36, 41, 36, 41, 41, 41, 956c82dfdfbSmrg 133, 49, 41, 18, 19, 21, 23, 24, 25, 26, 957690143ccSmrg 29, 31, 37, 38, 43, 50, 51, 54, 114, 120, 958c82dfdfbSmrg 121, 124, 125, 132, 133, 134, 135, 136, 114, 120, 959690143ccSmrg 120, 84, 120, 79, 87, 87, 120, 45, 50, 90, 960c82dfdfbSmrg 91, 92, 124, 135, 134, 120, 119, 120, 120, 87, 961c82dfdfbSmrg 41, 45, 108, 109, 110, 111, 135, 25, 28, 30, 962690143ccSmrg 79, 95, 99, 100, 105, 112, 36, 87, 121, 124, 963690143ccSmrg 121, 120, 121, 121, 43, 37, 38, 39, 40, 46, 964c82dfdfbSmrg 36, 45, 49, 49, 42, 79, 42, 29, 41, 55, 965c82dfdfbSmrg 114, 122, 123, 126, 127, 128, 129, 135, 42, 48, 966c82dfdfbSmrg 36, 49, 49, 42, 48, 49, 42, 110, 38, 53, 967c82dfdfbSmrg 54, 130, 131, 42, 48, 42, 48, 36, 41, 136, 968c82dfdfbSmrg 42, 100, 120, 42, 44, 118, 119, 120, 120, 120, 969c82dfdfbSmrg 120, 120, 120, 49, 49, 127, 43, 46, 48, 46, 970c82dfdfbSmrg 48, 49, 91, 92, 120, 49, 120, 49, 42, 131, 971c82dfdfbSmrg 48, 49, 109, 49, 111, 41, 120, 27, 79, 101, 972c82dfdfbSmrg 102, 41, 49, 49, 49, 44, 46, 42, 118, 123, 973c82dfdfbSmrg 128, 129, 130, 110, 41, 42, 102, 106, 107, 134, 974c82dfdfbSmrg 44, 46, 42, 41, 103, 104, 134, 49, 42, 48, 975c82dfdfbSmrg 36, 119, 42, 48, 49, 107, 134, 42, 49, 104 976f46a6179Smrg}; 977690143ccSmrg 978f757b1e9Smrg /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 979f757b1e9Smrgstatic const yytype_uint8 yyr1[] = 980f757b1e9Smrg{ 981f757b1e9Smrg 0, 65, 66, 66, 66, 67, 67, 68, 69, 69, 982f757b1e9Smrg 69, 70, 70, 71, 72, 73, 73, 73, 73, 73, 983f757b1e9Smrg 74, 74, 75, 75, 76, 76, 76, 76, 76, 76, 984f757b1e9Smrg 76, 76, 77, 77, 78, 78, 78, 78, 78, 78, 985f757b1e9Smrg 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 986f757b1e9Smrg 79, 79, 80, 81, 82, 83, 83, 84, 84, 85, 987f757b1e9Smrg 86, 86, 87, 87, 88, 89, 90, 90, 90, 91, 988f757b1e9Smrg 91, 91, 91, 91, 92, 92, 93, 94, 95, 96, 989f757b1e9Smrg 96, 97, 97, 98, 99, 99, 100, 100, 100, 100, 990f757b1e9Smrg 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 991f757b1e9Smrg 106, 106, 107, 108, 108, 109, 109, 109, 110, 110, 992f757b1e9Smrg 111, 112, 113, 113, 113, 113, 114, 114, 115, 115, 993f757b1e9Smrg 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 994f757b1e9Smrg 116, 117, 117, 117, 117, 117, 118, 118, 119, 119, 995f757b1e9Smrg 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 996f757b1e9Smrg 121, 121, 121, 121, 122, 122, 123, 124, 124, 124, 997f757b1e9Smrg 124, 125, 125, 125, 125, 126, 126, 127, 127, 127, 998f757b1e9Smrg 127, 128, 128, 128, 129, 130, 130, 131, 131, 132, 999f757b1e9Smrg 133, 134, 135, 135, 136, 137, 137, 138 1000f757b1e9Smrg}; 1001f757b1e9Smrg 1002f757b1e9Smrg /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ 1003f757b1e9Smrgstatic const yytype_uint8 yyr2[] = 1004f757b1e9Smrg{ 1005f757b1e9Smrg 0, 2, 1, 1, 1, 2, 1, 7, 1, 1, 1006f757b1e9Smrg 1, 2, 1, 7, 4, 1, 1, 1, 1, 1, 1007f757b1e9Smrg 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1008f757b1e9Smrg 1, 1, 2, 0, 2, 2, 2, 2, 2, 2, 1009f757b1e9Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1010f757b1e9Smrg 2, 3, 4, 5, 3, 3, 1, 1, 3, 6, 1011f757b1e9Smrg 3, 1, 2, 1, 6, 6, 3, 1, 0, 3, 1012f757b1e9Smrg 3, 1, 2, 1, 3, 3, 5, 6, 6, 5, 1013f757b1e9Smrg 6, 6, 6, 6, 2, 1, 5, 1, 1, 1, 1014f757b1e9Smrg 1, 2, 1, 5, 1, 3, 1, 1, 3, 6, 1015f757b1e9Smrg 3, 1, 3, 3, 1, 3, 5, 3, 3, 1, 1016f757b1e9Smrg 5, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1017f757b1e9Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1018f757b1e9Smrg 0, 1, 1, 1, 1, 1, 1, 0, 3, 1, 1019f757b1e9Smrg 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 1020f757b1e9Smrg 1, 4, 1, 3, 3, 1, 4, 1, 3, 4, 1021f757b1e9Smrg 6, 1, 1, 1, 1, 1, 0, 3, 3, 1, 1022f757b1e9Smrg 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1023f757b1e9Smrg 1, 1, 1, 1, 1, 1, 0, 1 1024f757b1e9Smrg}; 1025f757b1e9Smrg 1026f757b1e9Smrg 1027f757b1e9Smrg#define yyerrok (yyerrstatus = 0) 1028f757b1e9Smrg#define yyclearin (yychar = YYEMPTY) 1029f757b1e9Smrg#define YYEMPTY (-2) 1030f757b1e9Smrg#define YYEOF 0 1031f757b1e9Smrg 1032f757b1e9Smrg#define YYACCEPT goto yyacceptlab 1033f757b1e9Smrg#define YYABORT goto yyabortlab 1034f757b1e9Smrg#define YYERROR goto yyerrorlab 1035f757b1e9Smrg 1036690143ccSmrg 1037690143ccSmrg#define YYRECOVERING() (!!yyerrstatus) 1038690143ccSmrg 1039c82dfdfbSmrg#define YYBACKUP(Token, Value) \ 1040c82dfdfbSmrgdo \ 1041c82dfdfbSmrg if (yychar == YYEMPTY) \ 1042c82dfdfbSmrg { \ 1043c82dfdfbSmrg yychar = (Token); \ 1044c82dfdfbSmrg yylval = (Value); \ 1045c82dfdfbSmrg YYPOPSTACK (yylen); \ 1046c82dfdfbSmrg yystate = *yyssp; \ 1047c82dfdfbSmrg goto yybackup; \ 1048c82dfdfbSmrg } \ 1049c82dfdfbSmrg else \ 1050c82dfdfbSmrg { \ 1051690143ccSmrg yyerror (YY_("syntax error: cannot back up")); \ 1052f757b1e9Smrg YYERROR; \ 1053f757b1e9Smrg } \ 1054f757b1e9Smrgwhile (0) 1055f46a6179Smrg 1056f757b1e9Smrg/* Error token number */ 1057f757b1e9Smrg#define YYTERROR 1 1058f757b1e9Smrg#define YYERRCODE 256 1059690143ccSmrg 1060690143ccSmrg 1061f46a6179Smrg 1062690143ccSmrg/* Enable debugging if requested. */ 1063690143ccSmrg#if YYDEBUG 1064f46a6179Smrg 1065690143ccSmrg# ifndef YYFPRINTF 1066690143ccSmrg# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1067690143ccSmrg# define YYFPRINTF fprintf 1068690143ccSmrg# endif 1069f46a6179Smrg 1070f757b1e9Smrg# define YYDPRINTF(Args) \ 1071f757b1e9Smrgdo { \ 1072f757b1e9Smrg if (yydebug) \ 1073f757b1e9Smrg YYFPRINTF Args; \ 1074f757b1e9Smrg} while (0) 1075f757b1e9Smrg 1076f757b1e9Smrg/* This macro is provided for backward compatibility. */ 1077f757b1e9Smrg#ifndef YY_LOCATION_PRINT 1078f757b1e9Smrg# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1079f757b1e9Smrg#endif 1080f46a6179Smrg 1081f46a6179Smrg 1082f757b1e9Smrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1083f757b1e9Smrgdo { \ 1084f757b1e9Smrg if (yydebug) \ 1085f757b1e9Smrg { \ 1086f757b1e9Smrg YYFPRINTF (stderr, "%s ", Title); \ 1087f757b1e9Smrg yy_symbol_print (stderr, \ 1088f757b1e9Smrg Type, Value); \ 1089f757b1e9Smrg YYFPRINTF (stderr, "\n"); \ 1090f757b1e9Smrg } \ 1091f757b1e9Smrg} while (0) 1092f46a6179Smrg 1093690143ccSmrg 1094f757b1e9Smrg/*----------------------------------------. 1095f757b1e9Smrg| Print this symbol's value on YYOUTPUT. | 1096f757b1e9Smrg`----------------------------------------*/ 1097f757b1e9Smrg 1098690143ccSmrgstatic void 1099690143ccSmrgyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1100f46a6179Smrg{ 1101c82dfdfbSmrg FILE *yyo = yyoutput; 1102c82dfdfbSmrg YYUSE (yyo); 1103690143ccSmrg if (!yyvaluep) 110407d2e718Smrg return; 1105690143ccSmrg# ifdef YYPRINT 1106690143ccSmrg if (yytype < YYNTOKENS) 1107690143ccSmrg YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1108690143ccSmrg# endif 1109f757b1e9Smrg YYUSE (yytype); 1110f46a6179Smrg} 1111f46a6179Smrg 1112f46a6179Smrg 1113690143ccSmrg/*--------------------------------. 1114690143ccSmrg| Print this symbol on YYOUTPUT. | 1115690143ccSmrg`--------------------------------*/ 1116f46a6179Smrg 1117690143ccSmrgstatic void 1118690143ccSmrgyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1119f46a6179Smrg{ 1120f757b1e9Smrg YYFPRINTF (yyoutput, "%s %s (", 1121f757b1e9Smrg yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); 1122f46a6179Smrg 1123690143ccSmrg yy_symbol_value_print (yyoutput, yytype, yyvaluep); 1124690143ccSmrg YYFPRINTF (yyoutput, ")"); 1125f46a6179Smrg} 1126f46a6179Smrg 1127690143ccSmrg/*------------------------------------------------------------------. 1128690143ccSmrg| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1129690143ccSmrg| TOP (included). | 1130690143ccSmrg`------------------------------------------------------------------*/ 1131f46a6179Smrg 1132690143ccSmrgstatic void 1133c82dfdfbSmrgyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 1134f46a6179Smrg{ 1135690143ccSmrg YYFPRINTF (stderr, "Stack now"); 1136c82dfdfbSmrg for (; yybottom <= yytop; yybottom++) 1137c82dfdfbSmrg { 1138c82dfdfbSmrg int yybot = *yybottom; 1139c82dfdfbSmrg YYFPRINTF (stderr, " %d", yybot); 1140c82dfdfbSmrg } 1141690143ccSmrg YYFPRINTF (stderr, "\n"); 1142690143ccSmrg} 1143f46a6179Smrg 1144f757b1e9Smrg# define YY_STACK_PRINT(Bottom, Top) \ 1145f757b1e9Smrgdo { \ 1146f757b1e9Smrg if (yydebug) \ 1147f757b1e9Smrg yy_stack_print ((Bottom), (Top)); \ 1148f757b1e9Smrg} while (0) 1149f46a6179Smrg 1150f46a6179Smrg 1151690143ccSmrg/*------------------------------------------------. 1152690143ccSmrg| Report that the YYRULE is going to be reduced. | 1153690143ccSmrg`------------------------------------------------*/ 1154f46a6179Smrg 1155690143ccSmrgstatic void 1156f757b1e9Smrgyy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) 1157690143ccSmrg{ 1158f757b1e9Smrg unsigned long int yylno = yyrline[yyrule]; 1159690143ccSmrg int yynrhs = yyr2[yyrule]; 1160690143ccSmrg int yyi; 1161690143ccSmrg YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1162f757b1e9Smrg yyrule - 1, yylno); 1163690143ccSmrg /* The symbols being reduced. */ 1164690143ccSmrg for (yyi = 0; yyi < yynrhs; yyi++) 1165f46a6179Smrg { 1166c82dfdfbSmrg YYFPRINTF (stderr, " $%d = ", yyi + 1); 1167f757b1e9Smrg yy_symbol_print (stderr, 1168f757b1e9Smrg yystos[yyssp[yyi + 1 - yynrhs]], 1169f757b1e9Smrg &(yyvsp[(yyi + 1) - (yynrhs)]) 1170f757b1e9Smrg ); 1171c82dfdfbSmrg YYFPRINTF (stderr, "\n"); 1172f46a6179Smrg } 1173690143ccSmrg} 1174f46a6179Smrg 1175f757b1e9Smrg# define YY_REDUCE_PRINT(Rule) \ 1176f757b1e9Smrgdo { \ 1177f757b1e9Smrg if (yydebug) \ 1178f757b1e9Smrg yy_reduce_print (yyssp, yyvsp, Rule); \ 1179f757b1e9Smrg} while (0) 1180f46a6179Smrg 1181690143ccSmrg/* Nonzero means print parse trace. It is left uninitialized so that 1182690143ccSmrg multiple parsers can coexist. */ 1183690143ccSmrgint yydebug; 1184690143ccSmrg#else /* !YYDEBUG */ 1185690143ccSmrg# define YYDPRINTF(Args) 1186690143ccSmrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1187690143ccSmrg# define YY_STACK_PRINT(Bottom, Top) 1188690143ccSmrg# define YY_REDUCE_PRINT(Rule) 1189690143ccSmrg#endif /* !YYDEBUG */ 1190f46a6179Smrg 1191f46a6179Smrg 1192690143ccSmrg/* YYINITDEPTH -- initial size of the parser's stacks. */ 1193f757b1e9Smrg#ifndef YYINITDEPTH 1194690143ccSmrg# define YYINITDEPTH 200 119507d2e718Smrg#endif 1196690143ccSmrg 1197690143ccSmrg/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1198690143ccSmrg if the built-in stack extension method is used). 1199690143ccSmrg 1200690143ccSmrg Do not make this value too large; the results are undefined if 1201690143ccSmrg YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1202690143ccSmrg evaluated with infinite-precision integer arithmetic. */ 1203690143ccSmrg 1204690143ccSmrg#ifndef YYMAXDEPTH 1205690143ccSmrg# define YYMAXDEPTH 10000 1206690143ccSmrg#endif 1207690143ccSmrg 1208690143ccSmrg 1209690143ccSmrg#if YYERROR_VERBOSE 1210690143ccSmrg 1211690143ccSmrg# ifndef yystrlen 1212690143ccSmrg# if defined __GLIBC__ && defined _STRING_H 1213690143ccSmrg# define yystrlen strlen 1214690143ccSmrg# else 1215690143ccSmrg/* Return the length of YYSTR. */ 1216690143ccSmrgstatic YYSIZE_T 1217690143ccSmrgyystrlen (const char *yystr) 1218690143ccSmrg{ 1219690143ccSmrg YYSIZE_T yylen; 1220690143ccSmrg for (yylen = 0; yystr[yylen]; yylen++) 1221690143ccSmrg continue; 1222690143ccSmrg return yylen; 1223690143ccSmrg} 1224690143ccSmrg# endif 1225690143ccSmrg# endif 1226690143ccSmrg 1227690143ccSmrg# ifndef yystpcpy 1228690143ccSmrg# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1229690143ccSmrg# define yystpcpy stpcpy 1230690143ccSmrg# else 1231690143ccSmrg/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1232690143ccSmrg YYDEST. */ 1233690143ccSmrgstatic char * 1234690143ccSmrgyystpcpy (char *yydest, const char *yysrc) 1235690143ccSmrg{ 1236690143ccSmrg char *yyd = yydest; 1237690143ccSmrg const char *yys = yysrc; 1238690143ccSmrg 1239690143ccSmrg while ((*yyd++ = *yys++) != '\0') 1240690143ccSmrg continue; 1241690143ccSmrg 1242690143ccSmrg return yyd - 1; 1243690143ccSmrg} 1244690143ccSmrg# endif 1245690143ccSmrg# endif 1246690143ccSmrg 1247690143ccSmrg# ifndef yytnamerr 1248690143ccSmrg/* Copy to YYRES the contents of YYSTR after stripping away unnecessary 1249690143ccSmrg quotes and backslashes, so that it's suitable for yyerror. The 1250690143ccSmrg heuristic is that double-quoting is unnecessary unless the string 1251690143ccSmrg contains an apostrophe, a comma, or backslash (other than 1252690143ccSmrg backslash-backslash). YYSTR is taken from yytname. If YYRES is 1253690143ccSmrg null, do not copy; instead, return the length of what the result 1254690143ccSmrg would have been. */ 1255690143ccSmrgstatic YYSIZE_T 1256690143ccSmrgyytnamerr (char *yyres, const char *yystr) 1257690143ccSmrg{ 1258690143ccSmrg if (*yystr == '"') 1259690143ccSmrg { 1260690143ccSmrg YYSIZE_T yyn = 0; 1261690143ccSmrg char const *yyp = yystr; 1262690143ccSmrg 1263690143ccSmrg for (;;) 1264f757b1e9Smrg switch (*++yyp) 1265f757b1e9Smrg { 1266f757b1e9Smrg case '\'': 1267f757b1e9Smrg case ',': 1268f757b1e9Smrg goto do_not_strip_quotes; 1269f757b1e9Smrg 1270f757b1e9Smrg case '\\': 1271f757b1e9Smrg if (*++yyp != '\\') 1272f757b1e9Smrg goto do_not_strip_quotes; 1273f757b1e9Smrg /* Fall through. */ 1274f757b1e9Smrg default: 1275f757b1e9Smrg if (yyres) 1276f757b1e9Smrg yyres[yyn] = *yyp; 1277f757b1e9Smrg yyn++; 1278f757b1e9Smrg break; 1279f757b1e9Smrg 1280f757b1e9Smrg case '"': 1281f757b1e9Smrg if (yyres) 1282f757b1e9Smrg yyres[yyn] = '\0'; 1283f757b1e9Smrg return yyn; 1284f757b1e9Smrg } 1285690143ccSmrg do_not_strip_quotes: ; 128607d2e718Smrg } 1287690143ccSmrg 1288690143ccSmrg if (! yyres) 1289690143ccSmrg return yystrlen (yystr); 1290690143ccSmrg 1291690143ccSmrg return yystpcpy (yyres, yystr) - yyres; 1292690143ccSmrg} 1293690143ccSmrg# endif 1294690143ccSmrg 1295c82dfdfbSmrg/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message 1296c82dfdfbSmrg about the unexpected token YYTOKEN for the state stack whose top is 1297c82dfdfbSmrg YYSSP. 1298690143ccSmrg 1299c82dfdfbSmrg Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is 1300c82dfdfbSmrg not large enough to hold the message. In that case, also set 1301c82dfdfbSmrg *YYMSG_ALLOC to the required number of bytes. Return 2 if the 1302c82dfdfbSmrg required number of bytes is too large to store. */ 1303c82dfdfbSmrgstatic int 1304c82dfdfbSmrgyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, 1305c82dfdfbSmrg yytype_int16 *yyssp, int yytoken) 1306c82dfdfbSmrg{ 1307f757b1e9Smrg YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); 1308c82dfdfbSmrg YYSIZE_T yysize = yysize0; 1309c82dfdfbSmrg enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 1310c82dfdfbSmrg /* Internationalized format string. */ 1311f757b1e9Smrg const char *yyformat = YY_NULLPTR; 1312c82dfdfbSmrg /* Arguments of yyformat. */ 1313c82dfdfbSmrg char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 1314c82dfdfbSmrg /* Number of reported tokens (one for the "unexpected", one per 1315c82dfdfbSmrg "expected"). */ 1316c82dfdfbSmrg int yycount = 0; 1317c82dfdfbSmrg 1318c82dfdfbSmrg /* There are many possibilities here to consider: 1319c82dfdfbSmrg - If this state is a consistent state with a default action, then 1320c82dfdfbSmrg the only way this function was invoked is if the default action 1321c82dfdfbSmrg is an error action. In that case, don't check for expected 1322c82dfdfbSmrg tokens because there are none. 1323c82dfdfbSmrg - The only way there can be no lookahead present (in yychar) is if 1324c82dfdfbSmrg this state is a consistent state with a default action. Thus, 1325c82dfdfbSmrg detecting the absence of a lookahead is sufficient to determine 1326c82dfdfbSmrg that there is no unexpected or expected token to report. In that 1327c82dfdfbSmrg case, just report a simple "syntax error". 1328c82dfdfbSmrg - Don't assume there isn't a lookahead just because this state is a 1329c82dfdfbSmrg consistent state with a default action. There might have been a 1330c82dfdfbSmrg previous inconsistent state, consistent state with a non-default 1331c82dfdfbSmrg action, or user semantic action that manipulated yychar. 1332c82dfdfbSmrg - Of course, the expected token list depends on states to have 1333c82dfdfbSmrg correct lookahead information, and it depends on the parser not 1334c82dfdfbSmrg to perform extra reductions after fetching a lookahead from the 1335c82dfdfbSmrg scanner and before detecting a syntax error. Thus, state merging 1336c82dfdfbSmrg (from LALR or IELR) and default reductions corrupt the expected 1337c82dfdfbSmrg token list. However, the list is correct for canonical LR with 1338c82dfdfbSmrg one exception: it will still contain any token that will not be 1339c82dfdfbSmrg accepted due to an error action in a later state. 1340c82dfdfbSmrg */ 1341c82dfdfbSmrg if (yytoken != YYEMPTY) 134207d2e718Smrg { 1343c82dfdfbSmrg int yyn = yypact[*yyssp]; 1344c82dfdfbSmrg yyarg[yycount++] = yytname[yytoken]; 1345c82dfdfbSmrg if (!yypact_value_is_default (yyn)) 1346c82dfdfbSmrg { 1347c82dfdfbSmrg /* Start YYX at -YYN if negative to avoid negative indexes in 1348c82dfdfbSmrg YYCHECK. In other words, skip the first -YYN actions for 1349c82dfdfbSmrg this state because they are default actions. */ 1350c82dfdfbSmrg int yyxbegin = yyn < 0 ? -yyn : 0; 1351c82dfdfbSmrg /* Stay within bounds of both yycheck and yytname. */ 1352c82dfdfbSmrg int yychecklim = YYLAST - yyn + 1; 1353c82dfdfbSmrg int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 1354c82dfdfbSmrg int yyx; 1355c82dfdfbSmrg 1356c82dfdfbSmrg for (yyx = yyxbegin; yyx < yyxend; ++yyx) 1357c82dfdfbSmrg if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR 1358c82dfdfbSmrg && !yytable_value_is_error (yytable[yyx + yyn])) 1359c82dfdfbSmrg { 1360c82dfdfbSmrg if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 1361c82dfdfbSmrg { 1362c82dfdfbSmrg yycount = 1; 1363c82dfdfbSmrg yysize = yysize0; 1364c82dfdfbSmrg break; 1365c82dfdfbSmrg } 1366c82dfdfbSmrg yyarg[yycount++] = yytname[yyx]; 1367f757b1e9Smrg { 1368f757b1e9Smrg YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); 1369f757b1e9Smrg if (! (yysize <= yysize1 1370f757b1e9Smrg && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1371f757b1e9Smrg return 2; 1372f757b1e9Smrg yysize = yysize1; 1373f757b1e9Smrg } 1374c82dfdfbSmrg } 1375c82dfdfbSmrg } 1376c82dfdfbSmrg } 1377690143ccSmrg 1378c82dfdfbSmrg switch (yycount) 1379c82dfdfbSmrg { 1380c82dfdfbSmrg# define YYCASE_(N, S) \ 1381c82dfdfbSmrg case N: \ 1382c82dfdfbSmrg yyformat = S; \ 1383c82dfdfbSmrg break 1384c82dfdfbSmrg YYCASE_(0, YY_("syntax error")); 1385c82dfdfbSmrg YYCASE_(1, YY_("syntax error, unexpected %s")); 1386c82dfdfbSmrg YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); 1387c82dfdfbSmrg YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); 1388c82dfdfbSmrg YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); 1389c82dfdfbSmrg YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); 1390c82dfdfbSmrg# undef YYCASE_ 1391c82dfdfbSmrg } 1392690143ccSmrg 1393f757b1e9Smrg { 1394f757b1e9Smrg YYSIZE_T yysize1 = yysize + yystrlen (yyformat); 1395f757b1e9Smrg if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) 1396f757b1e9Smrg return 2; 1397f757b1e9Smrg yysize = yysize1; 1398f757b1e9Smrg } 1399690143ccSmrg 1400c82dfdfbSmrg if (*yymsg_alloc < yysize) 1401c82dfdfbSmrg { 1402c82dfdfbSmrg *yymsg_alloc = 2 * yysize; 1403c82dfdfbSmrg if (! (yysize <= *yymsg_alloc 1404c82dfdfbSmrg && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) 1405c82dfdfbSmrg *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; 1406c82dfdfbSmrg return 1; 1407690143ccSmrg } 1408c82dfdfbSmrg 1409c82dfdfbSmrg /* Avoid sprintf, as that infringes on the user's name space. 1410c82dfdfbSmrg Don't have undefined behavior even if the translation 1411c82dfdfbSmrg produced a string with the wrong number of "%s"s. */ 1412c82dfdfbSmrg { 1413c82dfdfbSmrg char *yyp = *yymsg; 1414c82dfdfbSmrg int yyi = 0; 1415c82dfdfbSmrg while ((*yyp = *yyformat) != '\0') 1416c82dfdfbSmrg if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) 1417c82dfdfbSmrg { 1418c82dfdfbSmrg yyp += yytnamerr (yyp, yyarg[yyi++]); 1419c82dfdfbSmrg yyformat += 2; 1420c82dfdfbSmrg } 1421c82dfdfbSmrg else 1422c82dfdfbSmrg { 1423c82dfdfbSmrg yyp++; 1424c82dfdfbSmrg yyformat++; 1425c82dfdfbSmrg } 1426c82dfdfbSmrg } 1427c82dfdfbSmrg return 0; 1428690143ccSmrg} 1429690143ccSmrg#endif /* YYERROR_VERBOSE */ 1430690143ccSmrg 1431690143ccSmrg/*-----------------------------------------------. 1432690143ccSmrg| Release the memory associated to this symbol. | 1433690143ccSmrg`-----------------------------------------------*/ 1434690143ccSmrg 1435690143ccSmrgstatic void 1436690143ccSmrgyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 1437690143ccSmrg{ 1438690143ccSmrg YYUSE (yyvaluep); 1439690143ccSmrg if (!yymsg) 1440690143ccSmrg yymsg = "Deleting"; 1441690143ccSmrg YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 1442690143ccSmrg 1443f757b1e9Smrg YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1444f757b1e9Smrg YYUSE (yytype); 1445f757b1e9Smrg YY_IGNORE_MAYBE_UNINITIALIZED_END 1446690143ccSmrg} 14471d8c7986Smrg 1448690143ccSmrg 1449690143ccSmrg 14501d8c7986Smrg 1451c82dfdfbSmrg/* The lookahead symbol. */ 1452690143ccSmrgint yychar; 1453690143ccSmrg 1454c82dfdfbSmrg/* The semantic value of the lookahead symbol. */ 1455690143ccSmrgYYSTYPE yylval; 1456690143ccSmrg/* Number of syntax errors so far. */ 1457690143ccSmrgint yynerrs; 1458690143ccSmrg 1459690143ccSmrg 14601d8c7986Smrg/*----------. 14611d8c7986Smrg| yyparse. | 14621d8c7986Smrg`----------*/ 1463690143ccSmrg 1464690143ccSmrgint 1465690143ccSmrgyyparse (void) 1466690143ccSmrg{ 1467c82dfdfbSmrg int yystate; 1468c82dfdfbSmrg /* Number of tokens to shift before error messages enabled. */ 1469c82dfdfbSmrg int yyerrstatus; 1470c82dfdfbSmrg 1471c82dfdfbSmrg /* The stacks and their tools: 1472f757b1e9Smrg 'yyss': related to states. 1473f757b1e9Smrg 'yyvs': related to semantic values. 1474c82dfdfbSmrg 1475c82dfdfbSmrg Refer to the stacks through separate pointers, to allow yyoverflow 1476c82dfdfbSmrg to reallocate them elsewhere. */ 1477c82dfdfbSmrg 1478c82dfdfbSmrg /* The state stack. */ 1479c82dfdfbSmrg yytype_int16 yyssa[YYINITDEPTH]; 1480c82dfdfbSmrg yytype_int16 *yyss; 1481c82dfdfbSmrg yytype_int16 *yyssp; 1482c82dfdfbSmrg 1483c82dfdfbSmrg /* The semantic value stack. */ 1484c82dfdfbSmrg YYSTYPE yyvsa[YYINITDEPTH]; 1485c82dfdfbSmrg YYSTYPE *yyvs; 1486c82dfdfbSmrg YYSTYPE *yyvsp; 1487c82dfdfbSmrg 1488c82dfdfbSmrg YYSIZE_T yystacksize; 1489c82dfdfbSmrg 14901d8c7986Smrg int yyn; 14911d8c7986Smrg int yyresult; 1492c82dfdfbSmrg /* Lookahead token as an internal (translated) token number. */ 14931d8c7986Smrg int yytoken = 0; 1494c82dfdfbSmrg /* The variables used to return semantic value and location from the 1495c82dfdfbSmrg action routines. */ 1496c82dfdfbSmrg YYSTYPE yyval; 1497c82dfdfbSmrg 14981d8c7986Smrg#if YYERROR_VERBOSE 14991d8c7986Smrg /* Buffer for error messages, and its allocated size. */ 15001d8c7986Smrg char yymsgbuf[128]; 15011d8c7986Smrg char *yymsg = yymsgbuf; 15021d8c7986Smrg YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 15031d8c7986Smrg#endif 1504690143ccSmrg 15051d8c7986Smrg#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 15061d8c7986Smrg 1507690143ccSmrg /* The number of symbols on the RHS of the reduced rule. 1508690143ccSmrg Keep to zero when no symbol should be popped. */ 1509690143ccSmrg int yylen = 0; 1510690143ccSmrg 1511f757b1e9Smrg yyssp = yyss = yyssa; 1512f757b1e9Smrg yyvsp = yyvs = yyvsa; 1513c82dfdfbSmrg yystacksize = YYINITDEPTH; 1514c82dfdfbSmrg 1515690143ccSmrg YYDPRINTF ((stderr, "Starting parse\n")); 1516690143ccSmrg 1517690143ccSmrg yystate = 0; 1518690143ccSmrg yyerrstatus = 0; 1519690143ccSmrg yynerrs = 0; 1520c82dfdfbSmrg yychar = YYEMPTY; /* Cause a token to be read. */ 1521690143ccSmrg goto yysetstate; 1522690143ccSmrg 1523690143ccSmrg/*------------------------------------------------------------. 1524690143ccSmrg| yynewstate -- Push a new state, which is found in yystate. | 1525690143ccSmrg`------------------------------------------------------------*/ 1526690143ccSmrg yynewstate: 1527690143ccSmrg /* In all cases, when you get here, the value and location stacks 1528690143ccSmrg have just been pushed. So pushing a state here evens the stacks. */ 1529690143ccSmrg yyssp++; 1530690143ccSmrg 1531690143ccSmrg yysetstate: 1532690143ccSmrg *yyssp = yystate; 1533690143ccSmrg 1534690143ccSmrg if (yyss + yystacksize - 1 <= yyssp) 1535690143ccSmrg { 1536690143ccSmrg /* Get the current used size of the three stacks, in elements. */ 1537690143ccSmrg YYSIZE_T yysize = yyssp - yyss + 1; 1538690143ccSmrg 1539690143ccSmrg#ifdef yyoverflow 1540690143ccSmrg { 1541f757b1e9Smrg /* Give user a chance to reallocate the stack. Use copies of 1542f757b1e9Smrg these so that the &'s don't force the real ones into 1543f757b1e9Smrg memory. */ 1544f757b1e9Smrg YYSTYPE *yyvs1 = yyvs; 1545f757b1e9Smrg yytype_int16 *yyss1 = yyss; 1546f757b1e9Smrg 1547f757b1e9Smrg /* Each stack pointer address is followed by the size of the 1548f757b1e9Smrg data in use in that stack, in bytes. This used to be a 1549f757b1e9Smrg conditional around just the two extra args, but that might 1550f757b1e9Smrg be undefined if yyoverflow is a macro. */ 1551f757b1e9Smrg yyoverflow (YY_("memory exhausted"), 1552f757b1e9Smrg &yyss1, yysize * sizeof (*yyssp), 1553f757b1e9Smrg &yyvs1, yysize * sizeof (*yyvsp), 1554f757b1e9Smrg &yystacksize); 1555f757b1e9Smrg 1556f757b1e9Smrg yyss = yyss1; 1557f757b1e9Smrg yyvs = yyvs1; 1558690143ccSmrg } 1559690143ccSmrg#else /* no yyoverflow */ 1560690143ccSmrg# ifndef YYSTACK_RELOCATE 1561690143ccSmrg goto yyexhaustedlab; 1562690143ccSmrg# else 1563690143ccSmrg /* Extend the stack our own way. */ 1564690143ccSmrg if (YYMAXDEPTH <= yystacksize) 1565f757b1e9Smrg goto yyexhaustedlab; 1566690143ccSmrg yystacksize *= 2; 1567690143ccSmrg if (YYMAXDEPTH < yystacksize) 1568f757b1e9Smrg yystacksize = YYMAXDEPTH; 1569690143ccSmrg 1570690143ccSmrg { 1571f757b1e9Smrg yytype_int16 *yyss1 = yyss; 1572f757b1e9Smrg union yyalloc *yyptr = 1573f757b1e9Smrg (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1574f757b1e9Smrg if (! yyptr) 1575f757b1e9Smrg goto yyexhaustedlab; 1576f757b1e9Smrg YYSTACK_RELOCATE (yyss_alloc, yyss); 1577f757b1e9Smrg YYSTACK_RELOCATE (yyvs_alloc, yyvs); 1578690143ccSmrg# undef YYSTACK_RELOCATE 1579f757b1e9Smrg if (yyss1 != yyssa) 1580f757b1e9Smrg YYSTACK_FREE (yyss1); 1581690143ccSmrg } 1582690143ccSmrg# endif 1583690143ccSmrg#endif /* no yyoverflow */ 1584690143ccSmrg 1585690143ccSmrg yyssp = yyss + yysize - 1; 1586690143ccSmrg yyvsp = yyvs + yysize - 1; 1587690143ccSmrg 1588690143ccSmrg YYDPRINTF ((stderr, "Stack size increased to %lu\n", 1589f757b1e9Smrg (unsigned long int) yystacksize)); 1590690143ccSmrg 1591690143ccSmrg if (yyss + yystacksize - 1 <= yyssp) 1592f757b1e9Smrg YYABORT; 1593690143ccSmrg } 1594690143ccSmrg 1595690143ccSmrg YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 1596690143ccSmrg 1597c82dfdfbSmrg if (yystate == YYFINAL) 1598c82dfdfbSmrg YYACCEPT; 1599c82dfdfbSmrg 1600690143ccSmrg goto yybackup; 1601690143ccSmrg 1602690143ccSmrg/*-----------. 1603690143ccSmrg| yybackup. | 1604690143ccSmrg`-----------*/ 1605690143ccSmrgyybackup: 1606690143ccSmrg 1607690143ccSmrg /* Do appropriate processing given the current state. Read a 1608c82dfdfbSmrg lookahead token if we need one and don't already have one. */ 1609690143ccSmrg 1610c82dfdfbSmrg /* First try to decide what to do without reference to lookahead token. */ 1611690143ccSmrg yyn = yypact[yystate]; 1612c82dfdfbSmrg if (yypact_value_is_default (yyn)) 1613690143ccSmrg goto yydefault; 1614690143ccSmrg 1615c82dfdfbSmrg /* Not known => get a lookahead token if don't already have one. */ 1616690143ccSmrg 1617c82dfdfbSmrg /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 1618690143ccSmrg if (yychar == YYEMPTY) 1619690143ccSmrg { 1620690143ccSmrg YYDPRINTF ((stderr, "Reading a token: ")); 1621f757b1e9Smrg yychar = yylex (); 1622690143ccSmrg } 1623690143ccSmrg 1624690143ccSmrg if (yychar <= YYEOF) 1625690143ccSmrg { 1626690143ccSmrg yychar = yytoken = YYEOF; 1627690143ccSmrg YYDPRINTF ((stderr, "Now at end of input.\n")); 1628690143ccSmrg } 1629690143ccSmrg else 1630690143ccSmrg { 1631690143ccSmrg yytoken = YYTRANSLATE (yychar); 1632690143ccSmrg YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 1633690143ccSmrg } 1634690143ccSmrg 1635690143ccSmrg /* If the proper action on seeing token YYTOKEN is to reduce or to 1636690143ccSmrg detect an error, take that action. */ 1637690143ccSmrg yyn += yytoken; 1638690143ccSmrg if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 1639690143ccSmrg goto yydefault; 1640690143ccSmrg yyn = yytable[yyn]; 1641690143ccSmrg if (yyn <= 0) 1642690143ccSmrg { 1643c82dfdfbSmrg if (yytable_value_is_error (yyn)) 1644c82dfdfbSmrg goto yyerrlab; 1645690143ccSmrg yyn = -yyn; 1646690143ccSmrg goto yyreduce; 1647690143ccSmrg } 1648690143ccSmrg 1649690143ccSmrg /* Count tokens shifted since error; after three, turn off error 1650690143ccSmrg status. */ 1651690143ccSmrg if (yyerrstatus) 1652690143ccSmrg yyerrstatus--; 1653690143ccSmrg 1654c82dfdfbSmrg /* Shift the lookahead token. */ 1655690143ccSmrg YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1656690143ccSmrg 1657c82dfdfbSmrg /* Discard the shifted token. */ 1658c82dfdfbSmrg yychar = YYEMPTY; 1659690143ccSmrg 1660690143ccSmrg yystate = yyn; 1661c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1662690143ccSmrg *++yyvsp = yylval; 1663c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_END 1664690143ccSmrg 1665690143ccSmrg goto yynewstate; 1666690143ccSmrg 1667690143ccSmrg 1668690143ccSmrg/*-----------------------------------------------------------. 1669690143ccSmrg| yydefault -- do the default action for the current state. | 1670690143ccSmrg`-----------------------------------------------------------*/ 1671690143ccSmrgyydefault: 1672690143ccSmrg yyn = yydefact[yystate]; 1673690143ccSmrg if (yyn == 0) 1674690143ccSmrg goto yyerrlab; 1675690143ccSmrg goto yyreduce; 1676690143ccSmrg 1677690143ccSmrg 1678690143ccSmrg/*-----------------------------. 1679690143ccSmrg| yyreduce -- Do a reduction. | 1680690143ccSmrg`-----------------------------*/ 1681690143ccSmrgyyreduce: 1682690143ccSmrg /* yyn is the number of a rule to reduce with. */ 1683690143ccSmrg yylen = yyr2[yyn]; 1684690143ccSmrg 1685690143ccSmrg /* If YYLEN is nonzero, implement the default value of the action: 1686f757b1e9Smrg '$$ = $1'. 1687690143ccSmrg 1688690143ccSmrg Otherwise, the following line sets YYVAL to garbage. 1689690143ccSmrg This behavior is undocumented and Bison 1690690143ccSmrg users should not rely upon it. Assigning to YYVAL 1691690143ccSmrg unconditionally makes the parser a bit smaller, and it avoids a 1692690143ccSmrg GCC warning that YYVAL may be used uninitialized. */ 1693690143ccSmrg yyval = yyvsp[1-yylen]; 1694690143ccSmrg 1695690143ccSmrg 1696690143ccSmrg YY_REDUCE_PRINT (yyn); 1697690143ccSmrg switch (yyn) 1698f46a6179Smrg { 1699690143ccSmrg case 2: 1700f757b1e9Smrg#line 169 "xkbparse.y" /* yacc.c:1646 */ 1701f757b1e9Smrg { (yyval.file)= rtrnValue= (yyvsp[0].file); } 1702f757b1e9Smrg#line 1703 "xkbparse.c" /* yacc.c:1646 */ 1703690143ccSmrg break; 1704690143ccSmrg 1705690143ccSmrg case 3: 1706f757b1e9Smrg#line 171 "xkbparse.y" /* yacc.c:1646 */ 1707f757b1e9Smrg { (yyval.file)= rtrnValue= (yyvsp[0].file); } 1708f757b1e9Smrg#line 1709 "xkbparse.c" /* yacc.c:1646 */ 1709690143ccSmrg break; 1710690143ccSmrg 1711690143ccSmrg case 4: 1712f757b1e9Smrg#line 173 "xkbparse.y" /* yacc.c:1646 */ 1713f757b1e9Smrg { (yyval.file)= rtrnValue= (yyvsp[0].file); } 1714f757b1e9Smrg#line 1715 "xkbparse.c" /* yacc.c:1646 */ 1715690143ccSmrg break; 1716690143ccSmrg 1717690143ccSmrg case 5: 1718f757b1e9Smrg#line 177 "xkbparse.y" /* yacc.c:1646 */ 1719f757b1e9Smrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[-1].file)->common,&(yyvsp[0].file)->common); } 1720f757b1e9Smrg#line 1721 "xkbparse.c" /* yacc.c:1646 */ 1721690143ccSmrg break; 1722690143ccSmrg 1723690143ccSmrg case 6: 1724f757b1e9Smrg#line 179 "xkbparse.y" /* yacc.c:1646 */ 1725f757b1e9Smrg { (yyval.file)= (yyvsp[0].file); } 1726f757b1e9Smrg#line 1727 "xkbparse.c" /* yacc.c:1646 */ 1727690143ccSmrg break; 1728690143ccSmrg 1729690143ccSmrg case 7: 1730f757b1e9Smrg#line 185 "xkbparse.y" /* yacc.c:1646 */ 1731f757b1e9Smrg { (yyval.file)= CreateXKBFile((yyvsp[-5].uval),(yyvsp[-4].str),&(yyvsp[-2].file)->common,(yyvsp[-6].uval)); } 1732f757b1e9Smrg#line 1733 "xkbparse.c" /* yacc.c:1646 */ 1733690143ccSmrg break; 1734690143ccSmrg 1735690143ccSmrg case 8: 1736f757b1e9Smrg#line 188 "xkbparse.y" /* yacc.c:1646 */ 1737690143ccSmrg { (yyval.uval)= XkmKeymapFile; } 1738f757b1e9Smrg#line 1739 "xkbparse.c" /* yacc.c:1646 */ 1739690143ccSmrg break; 1740690143ccSmrg 1741690143ccSmrg case 9: 1742f757b1e9Smrg#line 189 "xkbparse.y" /* yacc.c:1646 */ 1743690143ccSmrg { (yyval.uval)= XkmSemanticsFile; } 1744f757b1e9Smrg#line 1745 "xkbparse.c" /* yacc.c:1646 */ 1745690143ccSmrg break; 1746690143ccSmrg 1747690143ccSmrg case 10: 1748f757b1e9Smrg#line 190 "xkbparse.y" /* yacc.c:1646 */ 1749690143ccSmrg { (yyval.uval)= XkmLayoutFile; } 1750f757b1e9Smrg#line 1751 "xkbparse.c" /* yacc.c:1646 */ 1751690143ccSmrg break; 1752690143ccSmrg 1753690143ccSmrg case 11: 1754f757b1e9Smrg#line 194 "xkbparse.y" /* yacc.c:1646 */ 1755f757b1e9Smrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[-1].file)->common,&(yyvsp[0].file)->common); } 1756f757b1e9Smrg#line 1757 "xkbparse.c" /* yacc.c:1646 */ 1757690143ccSmrg break; 1758690143ccSmrg 1759690143ccSmrg case 12: 1760f757b1e9Smrg#line 196 "xkbparse.y" /* yacc.c:1646 */ 1761f757b1e9Smrg { (yyval.file)= (yyvsp[0].file); } 1762f757b1e9Smrg#line 1763 "xkbparse.c" /* yacc.c:1646 */ 1763690143ccSmrg break; 1764690143ccSmrg 1765690143ccSmrg case 13: 1766f757b1e9Smrg#line 202 "xkbparse.y" /* yacc.c:1646 */ 1767f757b1e9Smrg { (yyval.file)= CreateXKBFile((yyvsp[-5].uval),(yyvsp[-4].str),(yyvsp[-2].any),(yyvsp[-6].uval)); } 1768f757b1e9Smrg#line 1769 "xkbparse.c" /* yacc.c:1646 */ 1769690143ccSmrg break; 1770690143ccSmrg 1771690143ccSmrg case 14: 1772f757b1e9Smrg#line 206 "xkbparse.y" /* yacc.c:1646 */ 1773f757b1e9Smrg { (yyval.file)= CreateXKBFile((yyvsp[-2].uval),(yyvsp[-1].str),(yyvsp[0].any),(yyvsp[-3].uval)); } 1774f757b1e9Smrg#line 1775 "xkbparse.c" /* yacc.c:1646 */ 1775690143ccSmrg break; 1776690143ccSmrg 1777690143ccSmrg case 15: 1778f757b1e9Smrg#line 210 "xkbparse.y" /* yacc.c:1646 */ 1779690143ccSmrg { (yyval.uval)= XkmKeyNamesIndex; } 1780f757b1e9Smrg#line 1781 "xkbparse.c" /* yacc.c:1646 */ 1781690143ccSmrg break; 1782690143ccSmrg 1783690143ccSmrg case 16: 1784f757b1e9Smrg#line 211 "xkbparse.y" /* yacc.c:1646 */ 1785690143ccSmrg { (yyval.uval)= XkmTypesIndex; } 1786f757b1e9Smrg#line 1787 "xkbparse.c" /* yacc.c:1646 */ 1787690143ccSmrg break; 1788690143ccSmrg 1789690143ccSmrg case 17: 1790f757b1e9Smrg#line 212 "xkbparse.y" /* yacc.c:1646 */ 1791690143ccSmrg { (yyval.uval)= XkmCompatMapIndex; } 1792f757b1e9Smrg#line 1793 "xkbparse.c" /* yacc.c:1646 */ 1793690143ccSmrg break; 1794690143ccSmrg 1795690143ccSmrg case 18: 1796f757b1e9Smrg#line 213 "xkbparse.y" /* yacc.c:1646 */ 1797690143ccSmrg { (yyval.uval)= XkmSymbolsIndex; } 1798f757b1e9Smrg#line 1799 "xkbparse.c" /* yacc.c:1646 */ 1799690143ccSmrg break; 1800690143ccSmrg 1801690143ccSmrg case 19: 1802f757b1e9Smrg#line 214 "xkbparse.y" /* yacc.c:1646 */ 1803690143ccSmrg { (yyval.uval)= XkmGeometryIndex; } 1804f757b1e9Smrg#line 1805 "xkbparse.c" /* yacc.c:1646 */ 1805690143ccSmrg break; 1806690143ccSmrg 1807690143ccSmrg case 20: 1808f757b1e9Smrg#line 217 "xkbparse.y" /* yacc.c:1646 */ 1809f757b1e9Smrg { (yyval.uval)= (yyvsp[0].uval); } 1810f757b1e9Smrg#line 1811 "xkbparse.c" /* yacc.c:1646 */ 1811690143ccSmrg break; 1812690143ccSmrg 1813690143ccSmrg case 21: 1814f757b1e9Smrg#line 218 "xkbparse.y" /* yacc.c:1646 */ 1815690143ccSmrg { (yyval.uval)= 0; } 1816f757b1e9Smrg#line 1817 "xkbparse.c" /* yacc.c:1646 */ 1817690143ccSmrg break; 1818690143ccSmrg 1819690143ccSmrg case 22: 1820f757b1e9Smrg#line 221 "xkbparse.y" /* yacc.c:1646 */ 1821f757b1e9Smrg { (yyval.uval)= (((yyvsp[-1].uval))|((yyvsp[0].uval))); } 1822f757b1e9Smrg#line 1823 "xkbparse.c" /* yacc.c:1646 */ 1823690143ccSmrg break; 1824690143ccSmrg 1825690143ccSmrg case 23: 1826f757b1e9Smrg#line 222 "xkbparse.y" /* yacc.c:1646 */ 1827f757b1e9Smrg { (yyval.uval)= (yyvsp[0].uval); } 1828f757b1e9Smrg#line 1829 "xkbparse.c" /* yacc.c:1646 */ 1829690143ccSmrg break; 1830690143ccSmrg 1831690143ccSmrg case 24: 1832f757b1e9Smrg#line 225 "xkbparse.y" /* yacc.c:1646 */ 1833690143ccSmrg { (yyval.uval)= XkbLC_Partial; } 1834f757b1e9Smrg#line 1835 "xkbparse.c" /* yacc.c:1646 */ 1835690143ccSmrg break; 1836690143ccSmrg 1837690143ccSmrg case 25: 1838f757b1e9Smrg#line 226 "xkbparse.y" /* yacc.c:1646 */ 1839690143ccSmrg { (yyval.uval)= XkbLC_Default; } 1840f757b1e9Smrg#line 1841 "xkbparse.c" /* yacc.c:1646 */ 1841690143ccSmrg break; 1842690143ccSmrg 1843690143ccSmrg case 26: 1844f757b1e9Smrg#line 227 "xkbparse.y" /* yacc.c:1646 */ 1845690143ccSmrg { (yyval.uval)= XkbLC_Hidden; } 1846f757b1e9Smrg#line 1847 "xkbparse.c" /* yacc.c:1646 */ 1847690143ccSmrg break; 1848690143ccSmrg 1849690143ccSmrg case 27: 1850f757b1e9Smrg#line 228 "xkbparse.y" /* yacc.c:1646 */ 1851690143ccSmrg { (yyval.uval)= XkbLC_AlphanumericKeys; } 1852f757b1e9Smrg#line 1853 "xkbparse.c" /* yacc.c:1646 */ 1853690143ccSmrg break; 1854690143ccSmrg 1855690143ccSmrg case 28: 1856f757b1e9Smrg#line 229 "xkbparse.y" /* yacc.c:1646 */ 1857690143ccSmrg { (yyval.uval)= XkbLC_ModifierKeys; } 1858f757b1e9Smrg#line 1859 "xkbparse.c" /* yacc.c:1646 */ 1859690143ccSmrg break; 1860690143ccSmrg 1861690143ccSmrg case 29: 1862f757b1e9Smrg#line 230 "xkbparse.y" /* yacc.c:1646 */ 1863690143ccSmrg { (yyval.uval)= XkbLC_KeypadKeys; } 1864f757b1e9Smrg#line 1865 "xkbparse.c" /* yacc.c:1646 */ 1865690143ccSmrg break; 1866690143ccSmrg 1867690143ccSmrg case 30: 1868f757b1e9Smrg#line 231 "xkbparse.y" /* yacc.c:1646 */ 1869690143ccSmrg { (yyval.uval)= XkbLC_FunctionKeys; } 1870f757b1e9Smrg#line 1871 "xkbparse.c" /* yacc.c:1646 */ 1871690143ccSmrg break; 1872690143ccSmrg 1873690143ccSmrg case 31: 1874f757b1e9Smrg#line 232 "xkbparse.y" /* yacc.c:1646 */ 1875690143ccSmrg { (yyval.uval)= XkbLC_AlternateGroup; } 1876f757b1e9Smrg#line 1877 "xkbparse.c" /* yacc.c:1646 */ 1877690143ccSmrg break; 1878690143ccSmrg 1879690143ccSmrg case 32: 1880f757b1e9Smrg#line 236 "xkbparse.y" /* yacc.c:1646 */ 1881f757b1e9Smrg { (yyval.any)= AppendStmt((yyvsp[-1].any),(yyvsp[0].any)); } 1882f757b1e9Smrg#line 1883 "xkbparse.c" /* yacc.c:1646 */ 1883690143ccSmrg break; 1884690143ccSmrg 1885690143ccSmrg case 33: 1886f757b1e9Smrg#line 237 "xkbparse.y" /* yacc.c:1646 */ 1887690143ccSmrg { (yyval.any)= NULL; } 1888f757b1e9Smrg#line 1889 "xkbparse.c" /* yacc.c:1646 */ 1889690143ccSmrg break; 1890690143ccSmrg 1891690143ccSmrg case 34: 1892f757b1e9Smrg#line 241 "xkbparse.y" /* yacc.c:1646 */ 1893690143ccSmrg { 1894f757b1e9Smrg (yyvsp[0].var)->merge= StmtSetMerge(&(yyvsp[0].var)->common,(yyvsp[-1].uval)); 1895f757b1e9Smrg (yyval.any)= &(yyvsp[0].var)->common; 1896f46a6179Smrg } 1897f757b1e9Smrg#line 1898 "xkbparse.c" /* yacc.c:1646 */ 1898690143ccSmrg break; 1899690143ccSmrg 1900690143ccSmrg case 35: 1901f757b1e9Smrg#line 246 "xkbparse.y" /* yacc.c:1646 */ 1902690143ccSmrg { 1903f757b1e9Smrg (yyvsp[0].vmod)->merge= StmtSetMerge(&(yyvsp[0].vmod)->common,(yyvsp[-1].uval)); 1904f757b1e9Smrg (yyval.any)= &(yyvsp[0].vmod)->common; 1905f46a6179Smrg } 1906f757b1e9Smrg#line 1907 "xkbparse.c" /* yacc.c:1646 */ 1907690143ccSmrg break; 1908690143ccSmrg 1909690143ccSmrg case 36: 1910f757b1e9Smrg#line 251 "xkbparse.y" /* yacc.c:1646 */ 1911690143ccSmrg { 1912f757b1e9Smrg (yyvsp[0].interp)->merge= StmtSetMerge(&(yyvsp[0].interp)->common,(yyvsp[-1].uval)); 1913f757b1e9Smrg (yyval.any)= &(yyvsp[0].interp)->common; 1914f46a6179Smrg } 1915f757b1e9Smrg#line 1916 "xkbparse.c" /* yacc.c:1646 */ 1916690143ccSmrg break; 1917690143ccSmrg 1918690143ccSmrg case 37: 1919f757b1e9Smrg#line 256 "xkbparse.y" /* yacc.c:1646 */ 1920690143ccSmrg { 1921f757b1e9Smrg (yyvsp[0].keyName)->merge= StmtSetMerge(&(yyvsp[0].keyName)->common,(yyvsp[-1].uval)); 1922f757b1e9Smrg (yyval.any)= &(yyvsp[0].keyName)->common; 1923f46a6179Smrg } 1924f757b1e9Smrg#line 1925 "xkbparse.c" /* yacc.c:1646 */ 1925690143ccSmrg break; 1926690143ccSmrg 1927690143ccSmrg case 38: 1928f757b1e9Smrg#line 261 "xkbparse.y" /* yacc.c:1646 */ 1929690143ccSmrg { 1930f757b1e9Smrg (yyvsp[0].keyAlias)->merge= StmtSetMerge(&(yyvsp[0].keyAlias)->common,(yyvsp[-1].uval)); 1931f757b1e9Smrg (yyval.any)= &(yyvsp[0].keyAlias)->common; 1932f46a6179Smrg } 1933f757b1e9Smrg#line 1934 "xkbparse.c" /* yacc.c:1646 */ 1934690143ccSmrg break; 1935690143ccSmrg 1936690143ccSmrg case 39: 1937f757b1e9Smrg#line 266 "xkbparse.y" /* yacc.c:1646 */ 1938690143ccSmrg { 1939f757b1e9Smrg (yyvsp[0].keyType)->merge= StmtSetMerge(&(yyvsp[0].keyType)->common,(yyvsp[-1].uval)); 1940f757b1e9Smrg (yyval.any)= &(yyvsp[0].keyType)->common; 1941f46a6179Smrg } 1942f757b1e9Smrg#line 1943 "xkbparse.c" /* yacc.c:1646 */ 1943690143ccSmrg break; 1944690143ccSmrg 1945690143ccSmrg case 40: 1946f757b1e9Smrg#line 271 "xkbparse.y" /* yacc.c:1646 */ 1947690143ccSmrg { 1948f757b1e9Smrg (yyvsp[0].syms)->merge= StmtSetMerge(&(yyvsp[0].syms)->common,(yyvsp[-1].uval)); 1949f757b1e9Smrg (yyval.any)= &(yyvsp[0].syms)->common; 1950f46a6179Smrg } 1951f757b1e9Smrg#line 1952 "xkbparse.c" /* yacc.c:1646 */ 1952690143ccSmrg break; 1953690143ccSmrg 1954690143ccSmrg case 41: 1955f757b1e9Smrg#line 276 "xkbparse.y" /* yacc.c:1646 */ 1956690143ccSmrg { 1957f757b1e9Smrg (yyvsp[0].modMask)->merge= StmtSetMerge(&(yyvsp[0].modMask)->common,(yyvsp[-1].uval)); 1958f757b1e9Smrg (yyval.any)= &(yyvsp[0].modMask)->common; 1959f46a6179Smrg } 1960f757b1e9Smrg#line 1961 "xkbparse.c" /* yacc.c:1646 */ 1961690143ccSmrg break; 1962690143ccSmrg 1963690143ccSmrg case 42: 1964f757b1e9Smrg#line 281 "xkbparse.y" /* yacc.c:1646 */ 1965690143ccSmrg { 1966f757b1e9Smrg (yyvsp[0].groupCompat)->merge= StmtSetMerge(&(yyvsp[0].groupCompat)->common,(yyvsp[-1].uval)); 1967f757b1e9Smrg (yyval.any)= &(yyvsp[0].groupCompat)->common; 1968f46a6179Smrg } 1969f757b1e9Smrg#line 1970 "xkbparse.c" /* yacc.c:1646 */ 1970690143ccSmrg break; 1971690143ccSmrg 1972690143ccSmrg case 43: 1973f757b1e9Smrg#line 286 "xkbparse.y" /* yacc.c:1646 */ 1974690143ccSmrg { 1975f757b1e9Smrg (yyvsp[0].ledMap)->merge= StmtSetMerge(&(yyvsp[0].ledMap)->common,(yyvsp[-1].uval)); 1976f757b1e9Smrg (yyval.any)= &(yyvsp[0].ledMap)->common; 1977f46a6179Smrg } 1978f757b1e9Smrg#line 1979 "xkbparse.c" /* yacc.c:1646 */ 1979690143ccSmrg break; 1980690143ccSmrg 1981690143ccSmrg case 44: 1982f757b1e9Smrg#line 291 "xkbparse.y" /* yacc.c:1646 */ 1983690143ccSmrg { 1984f757b1e9Smrg (yyvsp[0].ledName)->merge= StmtSetMerge(&(yyvsp[0].ledName)->common,(yyvsp[-1].uval)); 1985f757b1e9Smrg (yyval.any)= &(yyvsp[0].ledName)->common; 1986f46a6179Smrg } 1987f757b1e9Smrg#line 1988 "xkbparse.c" /* yacc.c:1646 */ 1988690143ccSmrg break; 1989690143ccSmrg 1990690143ccSmrg case 45: 1991f757b1e9Smrg#line 296 "xkbparse.y" /* yacc.c:1646 */ 1992690143ccSmrg { 1993f757b1e9Smrg (yyvsp[0].shape)->merge= StmtSetMerge(&(yyvsp[0].shape)->common,(yyvsp[-1].uval)); 1994f757b1e9Smrg (yyval.any)= &(yyvsp[0].shape)->common; 1995f46a6179Smrg } 1996f757b1e9Smrg#line 1997 "xkbparse.c" /* yacc.c:1646 */ 1997690143ccSmrg break; 1998690143ccSmrg 1999690143ccSmrg case 46: 2000f757b1e9Smrg#line 301 "xkbparse.y" /* yacc.c:1646 */ 2001690143ccSmrg { 2002f757b1e9Smrg (yyvsp[0].section)->merge= StmtSetMerge(&(yyvsp[0].section)->common,(yyvsp[-1].uval)); 2003f757b1e9Smrg (yyval.any)= &(yyvsp[0].section)->common; 2004f46a6179Smrg } 2005f757b1e9Smrg#line 2006 "xkbparse.c" /* yacc.c:1646 */ 2006690143ccSmrg break; 2007690143ccSmrg 2008690143ccSmrg case 47: 2009f757b1e9Smrg#line 306 "xkbparse.y" /* yacc.c:1646 */ 2010690143ccSmrg { 2011f757b1e9Smrg (yyvsp[0].doodad)->merge= StmtSetMerge(&(yyvsp[0].doodad)->common,(yyvsp[-1].uval)); 2012f757b1e9Smrg (yyval.any)= &(yyvsp[0].doodad)->common; 2013f46a6179Smrg } 2014f757b1e9Smrg#line 2015 "xkbparse.c" /* yacc.c:1646 */ 2015690143ccSmrg break; 2016690143ccSmrg 2017690143ccSmrg case 48: 2018f757b1e9Smrg#line 311 "xkbparse.y" /* yacc.c:1646 */ 2019690143ccSmrg { 2020f757b1e9Smrg if ((yyvsp[-1].uval)==MergeAltForm) { 2021f46a6179Smrg yyerror("cannot use 'alternate' to include other maps"); 2022690143ccSmrg (yyval.any)= &IncludeCreate(scanBuf,MergeDefault)->common; 2023f46a6179Smrg } 2024f46a6179Smrg else { 2025f757b1e9Smrg (yyval.any)= &IncludeCreate(scanBuf,(yyvsp[-1].uval))->common; 2026f46a6179Smrg } 2027f46a6179Smrg } 2028f757b1e9Smrg#line 2029 "xkbparse.c" /* yacc.c:1646 */ 2029690143ccSmrg break; 2030690143ccSmrg 2031690143ccSmrg case 49: 2032f757b1e9Smrg#line 323 "xkbparse.y" /* yacc.c:1646 */ 2033f757b1e9Smrg { (yyval.var)= VarCreate((yyvsp[-3].expr),(yyvsp[-1].expr)); } 2034f757b1e9Smrg#line 2035 "xkbparse.c" /* yacc.c:1646 */ 2035690143ccSmrg break; 2036690143ccSmrg 2037690143ccSmrg case 50: 2038f757b1e9Smrg#line 325 "xkbparse.y" /* yacc.c:1646 */ 2039f757b1e9Smrg { (yyval.var)= BoolVarCreate((yyvsp[-1].sval),1); } 2040f757b1e9Smrg#line 2041 "xkbparse.c" /* yacc.c:1646 */ 2041690143ccSmrg break; 2042690143ccSmrg 2043690143ccSmrg case 51: 2044f757b1e9Smrg#line 327 "xkbparse.y" /* yacc.c:1646 */ 2045f757b1e9Smrg { (yyval.var)= BoolVarCreate((yyvsp[-1].sval),0); } 2046f757b1e9Smrg#line 2047 "xkbparse.c" /* yacc.c:1646 */ 2047690143ccSmrg break; 2048690143ccSmrg 2049690143ccSmrg case 52: 2050f757b1e9Smrg#line 331 "xkbparse.y" /* yacc.c:1646 */ 2051690143ccSmrg { 2052f46a6179Smrg KeycodeDef *def; 2053f46a6179Smrg 2054f757b1e9Smrg def= KeycodeCreate((yyvsp[-3].str),(yyvsp[-1].expr)); 2055f757b1e9Smrg if ((yyvsp[-3].str)) 2056f757b1e9Smrg free((yyvsp[-3].str)); 2057690143ccSmrg (yyval.keyName)= def; 2058f46a6179Smrg } 2059f757b1e9Smrg#line 2060 "xkbparse.c" /* yacc.c:1646 */ 2060690143ccSmrg break; 2061690143ccSmrg 2062690143ccSmrg case 53: 2063f757b1e9Smrg#line 342 "xkbparse.y" /* yacc.c:1646 */ 2064690143ccSmrg { 2065f46a6179Smrg KeyAliasDef *def; 2066f757b1e9Smrg def= KeyAliasCreate((yyvsp[-3].str),(yyvsp[-1].str)); 2067f757b1e9Smrg if ((yyvsp[-3].str)) free((yyvsp[-3].str)); 2068f757b1e9Smrg if ((yyvsp[-1].str)) free((yyvsp[-1].str)); 2069690143ccSmrg (yyval.keyAlias)= def; 2070f46a6179Smrg } 2071f757b1e9Smrg#line 2072 "xkbparse.c" /* yacc.c:1646 */ 2072690143ccSmrg break; 2073690143ccSmrg 2074690143ccSmrg case 54: 2075f757b1e9Smrg#line 352 "xkbparse.y" /* yacc.c:1646 */ 2076f757b1e9Smrg { (yyval.vmod)= (yyvsp[-1].vmod); } 2077f757b1e9Smrg#line 2078 "xkbparse.c" /* yacc.c:1646 */ 2078690143ccSmrg break; 2079690143ccSmrg 2080690143ccSmrg case 55: 2081f757b1e9Smrg#line 356 "xkbparse.y" /* yacc.c:1646 */ 2082f757b1e9Smrg { (yyval.vmod)= (VModDef *)AppendStmt(&(yyvsp[-2].vmod)->common,&(yyvsp[0].vmod)->common); } 2083f757b1e9Smrg#line 2084 "xkbparse.c" /* yacc.c:1646 */ 2084690143ccSmrg break; 2085690143ccSmrg 2086690143ccSmrg case 56: 2087f757b1e9Smrg#line 358 "xkbparse.y" /* yacc.c:1646 */ 2088f757b1e9Smrg { (yyval.vmod)= (yyvsp[0].vmod); } 2089f757b1e9Smrg#line 2090 "xkbparse.c" /* yacc.c:1646 */ 2090690143ccSmrg break; 2091690143ccSmrg 2092690143ccSmrg case 57: 2093f757b1e9Smrg#line 362 "xkbparse.y" /* yacc.c:1646 */ 2094f757b1e9Smrg { (yyval.vmod)= VModCreate((yyvsp[0].sval),NULL); } 2095f757b1e9Smrg#line 2096 "xkbparse.c" /* yacc.c:1646 */ 2096690143ccSmrg break; 2097690143ccSmrg 2098690143ccSmrg case 58: 2099f757b1e9Smrg#line 364 "xkbparse.y" /* yacc.c:1646 */ 2100f757b1e9Smrg { (yyval.vmod)= VModCreate((yyvsp[-2].sval),(yyvsp[0].expr)); } 2101f757b1e9Smrg#line 2102 "xkbparse.c" /* yacc.c:1646 */ 2102690143ccSmrg break; 2103690143ccSmrg 2104690143ccSmrg case 59: 2105f757b1e9Smrg#line 370 "xkbparse.y" /* yacc.c:1646 */ 2106690143ccSmrg { 2107f757b1e9Smrg (yyvsp[-4].interp)->def= (yyvsp[-2].var); 2108f757b1e9Smrg (yyval.interp)= (yyvsp[-4].interp); 2109f46a6179Smrg } 2110f757b1e9Smrg#line 2111 "xkbparse.c" /* yacc.c:1646 */ 2111690143ccSmrg break; 2112690143ccSmrg 2113690143ccSmrg case 60: 2114f757b1e9Smrg#line 377 "xkbparse.y" /* yacc.c:1646 */ 2115f757b1e9Smrg { (yyval.interp)= InterpCreate((yyvsp[-2].str), (yyvsp[0].expr)); } 2116f757b1e9Smrg#line 2117 "xkbparse.c" /* yacc.c:1646 */ 2117690143ccSmrg break; 2118690143ccSmrg 2119690143ccSmrg case 61: 2120f757b1e9Smrg#line 379 "xkbparse.y" /* yacc.c:1646 */ 2121f757b1e9Smrg { (yyval.interp)= InterpCreate((yyvsp[0].str), NULL); } 2122f757b1e9Smrg#line 2123 "xkbparse.c" /* yacc.c:1646 */ 2123690143ccSmrg break; 2124690143ccSmrg 2125690143ccSmrg case 62: 2126f757b1e9Smrg#line 383 "xkbparse.y" /* yacc.c:1646 */ 2127f757b1e9Smrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[-1].var)->common,&(yyvsp[0].var)->common); } 2128f757b1e9Smrg#line 2129 "xkbparse.c" /* yacc.c:1646 */ 2129690143ccSmrg break; 2130690143ccSmrg 2131690143ccSmrg case 63: 2132f757b1e9Smrg#line 385 "xkbparse.y" /* yacc.c:1646 */ 2133f757b1e9Smrg { (yyval.var)= (yyvsp[0].var); } 2134f757b1e9Smrg#line 2135 "xkbparse.c" /* yacc.c:1646 */ 2135690143ccSmrg break; 2136690143ccSmrg 2137690143ccSmrg case 64: 2138f757b1e9Smrg#line 391 "xkbparse.y" /* yacc.c:1646 */ 2139f757b1e9Smrg { (yyval.keyType)= KeyTypeCreate((yyvsp[-4].sval),(yyvsp[-2].var)); } 2140f757b1e9Smrg#line 2141 "xkbparse.c" /* yacc.c:1646 */ 2141690143ccSmrg break; 2142690143ccSmrg 2143690143ccSmrg case 65: 2144f757b1e9Smrg#line 397 "xkbparse.y" /* yacc.c:1646 */ 2145f757b1e9Smrg { (yyval.syms)= SymbolsCreate((yyvsp[-4].str),(ExprDef *)(yyvsp[-2].var)); } 2146f757b1e9Smrg#line 2147 "xkbparse.c" /* yacc.c:1646 */ 2147690143ccSmrg break; 2148690143ccSmrg 2149690143ccSmrg case 66: 2150f757b1e9Smrg#line 401 "xkbparse.y" /* yacc.c:1646 */ 2151f757b1e9Smrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[-2].var)->common,&(yyvsp[0].var)->common); } 2152f757b1e9Smrg#line 2153 "xkbparse.c" /* yacc.c:1646 */ 2153690143ccSmrg break; 2154690143ccSmrg 2155690143ccSmrg case 67: 2156f757b1e9Smrg#line 403 "xkbparse.y" /* yacc.c:1646 */ 2157f757b1e9Smrg { (yyval.var)= (yyvsp[0].var); } 2158f757b1e9Smrg#line 2159 "xkbparse.c" /* yacc.c:1646 */ 2159690143ccSmrg break; 2160690143ccSmrg 2161690143ccSmrg case 68: 2162f757b1e9Smrg#line 404 "xkbparse.y" /* yacc.c:1646 */ 2163690143ccSmrg { (yyval.var)= NULL; } 2164f757b1e9Smrg#line 2165 "xkbparse.c" /* yacc.c:1646 */ 2165690143ccSmrg break; 2166690143ccSmrg 2167690143ccSmrg case 69: 2168f757b1e9Smrg#line 408 "xkbparse.y" /* yacc.c:1646 */ 2169f757b1e9Smrg { (yyval.var)= VarCreate((yyvsp[-2].expr),(yyvsp[0].expr)); } 2170f757b1e9Smrg#line 2171 "xkbparse.c" /* yacc.c:1646 */ 2171690143ccSmrg break; 2172690143ccSmrg 2173690143ccSmrg case 70: 2174f757b1e9Smrg#line 410 "xkbparse.y" /* yacc.c:1646 */ 2175f757b1e9Smrg { (yyval.var)= VarCreate((yyvsp[-2].expr),(yyvsp[0].expr)); } 2176f757b1e9Smrg#line 2177 "xkbparse.c" /* yacc.c:1646 */ 2177690143ccSmrg break; 2178690143ccSmrg 2179690143ccSmrg case 71: 2180f757b1e9Smrg#line 412 "xkbparse.y" /* yacc.c:1646 */ 2181f757b1e9Smrg { (yyval.var)= BoolVarCreate((yyvsp[0].sval),1); } 2182f757b1e9Smrg#line 2183 "xkbparse.c" /* yacc.c:1646 */ 2183690143ccSmrg break; 2184690143ccSmrg 2185690143ccSmrg case 72: 2186f757b1e9Smrg#line 414 "xkbparse.y" /* yacc.c:1646 */ 2187f757b1e9Smrg { (yyval.var)= BoolVarCreate((yyvsp[0].sval),0); } 2188f757b1e9Smrg#line 2189 "xkbparse.c" /* yacc.c:1646 */ 2189690143ccSmrg break; 2190690143ccSmrg 2191690143ccSmrg case 73: 2192f757b1e9Smrg#line 416 "xkbparse.y" /* yacc.c:1646 */ 2193f757b1e9Smrg { (yyval.var)= VarCreate(NULL,(yyvsp[0].expr)); } 2194f757b1e9Smrg#line 2195 "xkbparse.c" /* yacc.c:1646 */ 2195690143ccSmrg break; 2196690143ccSmrg 2197690143ccSmrg case 74: 2198f757b1e9Smrg#line 420 "xkbparse.y" /* yacc.c:1646 */ 2199f757b1e9Smrg { (yyval.expr)= (yyvsp[-1].expr); } 2200f757b1e9Smrg#line 2201 "xkbparse.c" /* yacc.c:1646 */ 2201690143ccSmrg break; 2202690143ccSmrg 2203690143ccSmrg case 75: 2204f757b1e9Smrg#line 422 "xkbparse.y" /* yacc.c:1646 */ 2205f757b1e9Smrg { (yyval.expr)= ExprCreateUnary(ExprActionList,TypeAction,(yyvsp[-1].expr)); } 2206f757b1e9Smrg#line 2207 "xkbparse.c" /* yacc.c:1646 */ 2207690143ccSmrg break; 2208690143ccSmrg 2209690143ccSmrg case 76: 2210f757b1e9Smrg#line 426 "xkbparse.y" /* yacc.c:1646 */ 2211f757b1e9Smrg { (yyval.groupCompat)= GroupCompatCreate((yyvsp[-3].ival),(yyvsp[-1].expr)); } 2212f757b1e9Smrg#line 2213 "xkbparse.c" /* yacc.c:1646 */ 2213690143ccSmrg break; 2214690143ccSmrg 2215690143ccSmrg case 77: 2216f757b1e9Smrg#line 430 "xkbparse.y" /* yacc.c:1646 */ 2217f757b1e9Smrg { (yyval.modMask)= ModMapCreate((yyvsp[-4].sval),(yyvsp[-2].expr)); } 2218f757b1e9Smrg#line 2219 "xkbparse.c" /* yacc.c:1646 */ 2219690143ccSmrg break; 2220690143ccSmrg 2221690143ccSmrg case 78: 2222f757b1e9Smrg#line 434 "xkbparse.y" /* yacc.c:1646 */ 2223f757b1e9Smrg { (yyval.ledMap)= IndicatorMapCreate((yyvsp[-4].sval),(yyvsp[-2].var)); } 2224f757b1e9Smrg#line 2225 "xkbparse.c" /* yacc.c:1646 */ 2225690143ccSmrg break; 2226690143ccSmrg 2227690143ccSmrg case 79: 2228f757b1e9Smrg#line 438 "xkbparse.y" /* yacc.c:1646 */ 2229f757b1e9Smrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[-3].ival),(yyvsp[-1].expr),False); } 2230f757b1e9Smrg#line 2231 "xkbparse.c" /* yacc.c:1646 */ 2231690143ccSmrg break; 2232690143ccSmrg 2233690143ccSmrg case 80: 2234f757b1e9Smrg#line 440 "xkbparse.y" /* yacc.c:1646 */ 2235f757b1e9Smrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[-3].ival),(yyvsp[-1].expr),True); } 2236f757b1e9Smrg#line 2237 "xkbparse.c" /* yacc.c:1646 */ 2237690143ccSmrg break; 2238690143ccSmrg 2239690143ccSmrg case 81: 2240f757b1e9Smrg#line 444 "xkbparse.y" /* yacc.c:1646 */ 2241f757b1e9Smrg { (yyval.shape)= ShapeDeclCreate((yyvsp[-4].sval),(OutlineDef *)&(yyvsp[-2].outline)->common); } 2242f757b1e9Smrg#line 2243 "xkbparse.c" /* yacc.c:1646 */ 2243690143ccSmrg break; 2244690143ccSmrg 2245690143ccSmrg case 82: 2246f757b1e9Smrg#line 446 "xkbparse.y" /* yacc.c:1646 */ 2247690143ccSmrg { 2248f46a6179Smrg OutlineDef *outlines; 2249f757b1e9Smrg outlines= OutlineCreate(None,(yyvsp[-2].expr)); 2250f757b1e9Smrg (yyval.shape)= ShapeDeclCreate((yyvsp[-4].sval),outlines); 2251f46a6179Smrg } 2252f757b1e9Smrg#line 2253 "xkbparse.c" /* yacc.c:1646 */ 2253690143ccSmrg break; 2254690143ccSmrg 2255690143ccSmrg case 83: 2256f757b1e9Smrg#line 454 "xkbparse.y" /* yacc.c:1646 */ 2257f757b1e9Smrg { (yyval.section)= SectionDeclCreate((yyvsp[-4].sval),(yyvsp[-2].row)); } 2258f757b1e9Smrg#line 2259 "xkbparse.c" /* yacc.c:1646 */ 2259690143ccSmrg break; 2260690143ccSmrg 2261690143ccSmrg case 84: 2262f757b1e9Smrg#line 458 "xkbparse.y" /* yacc.c:1646 */ 2263f757b1e9Smrg { (yyval.row)=(RowDef *)AppendStmt(&(yyvsp[-1].row)->common,&(yyvsp[0].row)->common);} 2264f757b1e9Smrg#line 2265 "xkbparse.c" /* yacc.c:1646 */ 2265690143ccSmrg break; 2266690143ccSmrg 2267690143ccSmrg case 85: 2268f757b1e9Smrg#line 460 "xkbparse.y" /* yacc.c:1646 */ 2269f757b1e9Smrg { (yyval.row)= (yyvsp[0].row); } 2270f757b1e9Smrg#line 2271 "xkbparse.c" /* yacc.c:1646 */ 2271690143ccSmrg break; 2272690143ccSmrg 2273690143ccSmrg case 86: 2274f757b1e9Smrg#line 464 "xkbparse.y" /* yacc.c:1646 */ 2275f757b1e9Smrg { (yyval.row)= RowDeclCreate((yyvsp[-2].key)); } 2276f757b1e9Smrg#line 2277 "xkbparse.c" /* yacc.c:1646 */ 2277690143ccSmrg break; 2278690143ccSmrg 2279690143ccSmrg case 87: 2280f757b1e9Smrg#line 466 "xkbparse.y" /* yacc.c:1646 */ 2281f757b1e9Smrg { (yyval.row)= (RowDef *)(yyvsp[0].var); } 2282f757b1e9Smrg#line 2283 "xkbparse.c" /* yacc.c:1646 */ 2283690143ccSmrg break; 2284690143ccSmrg 2285690143ccSmrg case 88: 2286f757b1e9Smrg#line 468 "xkbparse.y" /* yacc.c:1646 */ 2287f757b1e9Smrg { (yyval.row)= (RowDef *)(yyvsp[0].doodad); } 2288f757b1e9Smrg#line 2289 "xkbparse.c" /* yacc.c:1646 */ 2289690143ccSmrg break; 2290690143ccSmrg 2291690143ccSmrg case 89: 2292f757b1e9Smrg#line 470 "xkbparse.y" /* yacc.c:1646 */ 2293f757b1e9Smrg { (yyval.row)= (RowDef *)(yyvsp[0].ledMap); } 2294f757b1e9Smrg#line 2295 "xkbparse.c" /* yacc.c:1646 */ 2295690143ccSmrg break; 2296690143ccSmrg 2297690143ccSmrg case 90: 2298f757b1e9Smrg#line 472 "xkbparse.y" /* yacc.c:1646 */ 2299f757b1e9Smrg { (yyval.row)= (RowDef *)(yyvsp[0].overlay); } 2300f757b1e9Smrg#line 2301 "xkbparse.c" /* yacc.c:1646 */ 2301690143ccSmrg break; 2302690143ccSmrg 2303690143ccSmrg case 91: 2304f757b1e9Smrg#line 476 "xkbparse.y" /* yacc.c:1646 */ 2305f757b1e9Smrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[-1].key)->common,&(yyvsp[0].key)->common);} 2306f757b1e9Smrg#line 2307 "xkbparse.c" /* yacc.c:1646 */ 2307690143ccSmrg break; 2308690143ccSmrg 2309690143ccSmrg case 92: 2310f757b1e9Smrg#line 478 "xkbparse.y" /* yacc.c:1646 */ 2311f757b1e9Smrg { (yyval.key)= (yyvsp[0].key); } 2312f757b1e9Smrg#line 2313 "xkbparse.c" /* yacc.c:1646 */ 2313690143ccSmrg break; 2314690143ccSmrg 2315690143ccSmrg case 93: 2316f757b1e9Smrg#line 482 "xkbparse.y" /* yacc.c:1646 */ 2317f757b1e9Smrg { (yyval.key)= (yyvsp[-2].key); } 2318f757b1e9Smrg#line 2319 "xkbparse.c" /* yacc.c:1646 */ 2319690143ccSmrg break; 2320690143ccSmrg 2321690143ccSmrg case 94: 2322f757b1e9Smrg#line 484 "xkbparse.y" /* yacc.c:1646 */ 2323f757b1e9Smrg { (yyval.key)= (KeyDef *)(yyvsp[0].var); } 2324f757b1e9Smrg#line 2325 "xkbparse.c" /* yacc.c:1646 */ 2325690143ccSmrg break; 2326690143ccSmrg 2327690143ccSmrg case 95: 2328f757b1e9Smrg#line 488 "xkbparse.y" /* yacc.c:1646 */ 2329f757b1e9Smrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[-2].key)->common,&(yyvsp[0].key)->common);} 2330f757b1e9Smrg#line 2331 "xkbparse.c" /* yacc.c:1646 */ 2331690143ccSmrg break; 2332690143ccSmrg 2333690143ccSmrg case 96: 2334f757b1e9Smrg#line 490 "xkbparse.y" /* yacc.c:1646 */ 2335f757b1e9Smrg { (yyval.key)= (yyvsp[0].key); } 2336f757b1e9Smrg#line 2337 "xkbparse.c" /* yacc.c:1646 */ 2337690143ccSmrg break; 2338690143ccSmrg 2339690143ccSmrg case 97: 2340f757b1e9Smrg#line 494 "xkbparse.y" /* yacc.c:1646 */ 2341f757b1e9Smrg { (yyval.key)= KeyDeclCreate((yyvsp[0].str),NULL); } 2342f757b1e9Smrg#line 2343 "xkbparse.c" /* yacc.c:1646 */ 2343690143ccSmrg break; 2344690143ccSmrg 2345690143ccSmrg case 98: 2346f757b1e9Smrg#line 496 "xkbparse.y" /* yacc.c:1646 */ 2347f757b1e9Smrg { (yyval.key)= KeyDeclCreate(NULL,(yyvsp[-1].expr)); } 2348f757b1e9Smrg#line 2349 "xkbparse.c" /* yacc.c:1646 */ 2349690143ccSmrg break; 2350690143ccSmrg 2351690143ccSmrg case 99: 2352f757b1e9Smrg#line 500 "xkbparse.y" /* yacc.c:1646 */ 2353f757b1e9Smrg { (yyval.overlay)= OverlayDeclCreate((yyvsp[-4].sval),(yyvsp[-2].olKey)); } 2354f757b1e9Smrg#line 2355 "xkbparse.c" /* yacc.c:1646 */ 2355690143ccSmrg break; 2356690143ccSmrg 2357690143ccSmrg case 100: 2358f757b1e9Smrg#line 504 "xkbparse.y" /* yacc.c:1646 */ 2359690143ccSmrg { 2360690143ccSmrg (yyval.olKey)= (OverlayKeyDef *) 2361f757b1e9Smrg AppendStmt(&(yyvsp[-2].olKey)->common,&(yyvsp[0].olKey)->common); 2362f46a6179Smrg } 2363f757b1e9Smrg#line 2364 "xkbparse.c" /* yacc.c:1646 */ 2364690143ccSmrg break; 2365690143ccSmrg 2366690143ccSmrg case 101: 2367f757b1e9Smrg#line 509 "xkbparse.y" /* yacc.c:1646 */ 2368f757b1e9Smrg { (yyval.olKey)= (yyvsp[0].olKey); } 2369f757b1e9Smrg#line 2370 "xkbparse.c" /* yacc.c:1646 */ 2370690143ccSmrg break; 2371690143ccSmrg 2372690143ccSmrg case 102: 2373f757b1e9Smrg#line 513 "xkbparse.y" /* yacc.c:1646 */ 2374f757b1e9Smrg { (yyval.olKey)= OverlayKeyCreate((yyvsp[-2].str),(yyvsp[0].str)); } 2375f757b1e9Smrg#line 2376 "xkbparse.c" /* yacc.c:1646 */ 2376690143ccSmrg break; 2377690143ccSmrg 2378690143ccSmrg case 103: 2379f757b1e9Smrg#line 517 "xkbparse.y" /* yacc.c:1646 */ 2380f757b1e9Smrg { (yyval.outline)=(OutlineDef *)AppendStmt(&(yyvsp[-2].outline)->common,&(yyvsp[0].outline)->common);} 2381f757b1e9Smrg#line 2382 "xkbparse.c" /* yacc.c:1646 */ 2382690143ccSmrg break; 2383690143ccSmrg 2384690143ccSmrg case 104: 2385f757b1e9Smrg#line 519 "xkbparse.y" /* yacc.c:1646 */ 2386f757b1e9Smrg { (yyval.outline)= (yyvsp[0].outline); } 2387f757b1e9Smrg#line 2388 "xkbparse.c" /* yacc.c:1646 */ 2388690143ccSmrg break; 2389690143ccSmrg 2390690143ccSmrg case 105: 2391f757b1e9Smrg#line 523 "xkbparse.y" /* yacc.c:1646 */ 2392f757b1e9Smrg { (yyval.outline)= OutlineCreate(None,(yyvsp[-1].expr)); } 2393f757b1e9Smrg#line 2394 "xkbparse.c" /* yacc.c:1646 */ 2394690143ccSmrg break; 2395690143ccSmrg 2396690143ccSmrg case 106: 2397f757b1e9Smrg#line 525 "xkbparse.y" /* yacc.c:1646 */ 2398f757b1e9Smrg { (yyval.outline)= OutlineCreate((yyvsp[-4].sval),(yyvsp[-1].expr)); } 2399f757b1e9Smrg#line 2400 "xkbparse.c" /* yacc.c:1646 */ 2400690143ccSmrg break; 2401690143ccSmrg 2402690143ccSmrg case 107: 2403f757b1e9Smrg#line 527 "xkbparse.y" /* yacc.c:1646 */ 2404f757b1e9Smrg { (yyval.outline)= OutlineCreate((yyvsp[-2].sval),(yyvsp[0].expr)); } 2405f757b1e9Smrg#line 2406 "xkbparse.c" /* yacc.c:1646 */ 2406690143ccSmrg break; 2407690143ccSmrg 2408690143ccSmrg case 108: 2409f757b1e9Smrg#line 531 "xkbparse.y" /* yacc.c:1646 */ 2410f757b1e9Smrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[-2].expr)->common,&(yyvsp[0].expr)->common); } 2411f757b1e9Smrg#line 2412 "xkbparse.c" /* yacc.c:1646 */ 2412690143ccSmrg break; 2413690143ccSmrg 2414690143ccSmrg case 109: 2415f757b1e9Smrg#line 533 "xkbparse.y" /* yacc.c:1646 */ 2416f757b1e9Smrg { (yyval.expr)= (yyvsp[0].expr); } 2417f757b1e9Smrg#line 2418 "xkbparse.c" /* yacc.c:1646 */ 2418690143ccSmrg break; 2419690143ccSmrg 2420690143ccSmrg case 110: 2421f757b1e9Smrg#line 537 "xkbparse.y" /* yacc.c:1646 */ 2422690143ccSmrg { 2423f46a6179Smrg ExprDef *expr; 2424f46a6179Smrg expr= ExprCreate(ExprCoord,TypeUnknown); 2425f757b1e9Smrg expr->value.coord.x= (yyvsp[-3].ival); 2426f757b1e9Smrg expr->value.coord.y= (yyvsp[-1].ival); 2427690143ccSmrg (yyval.expr)= expr; 2428f46a6179Smrg } 2429f757b1e9Smrg#line 2430 "xkbparse.c" /* yacc.c:1646 */ 2430690143ccSmrg break; 2431690143ccSmrg 2432690143ccSmrg case 111: 2433f757b1e9Smrg#line 547 "xkbparse.y" /* yacc.c:1646 */ 2434f757b1e9Smrg { (yyval.doodad)= DoodadCreate((yyvsp[-5].uval),(yyvsp[-4].sval),(yyvsp[-2].var)); } 2435f757b1e9Smrg#line 2436 "xkbparse.c" /* yacc.c:1646 */ 2436690143ccSmrg break; 2437690143ccSmrg 2438690143ccSmrg case 112: 2439f757b1e9Smrg#line 550 "xkbparse.y" /* yacc.c:1646 */ 2440690143ccSmrg { (yyval.uval)= XkbTextDoodad; } 2441f757b1e9Smrg#line 2442 "xkbparse.c" /* yacc.c:1646 */ 2442690143ccSmrg break; 2443690143ccSmrg 2444690143ccSmrg case 113: 2445f757b1e9Smrg#line 551 "xkbparse.y" /* yacc.c:1646 */ 2446690143ccSmrg { (yyval.uval)= XkbOutlineDoodad; } 2447f757b1e9Smrg#line 2448 "xkbparse.c" /* yacc.c:1646 */ 2448690143ccSmrg break; 2449690143ccSmrg 2450690143ccSmrg case 114: 2451f757b1e9Smrg#line 552 "xkbparse.y" /* yacc.c:1646 */ 2452690143ccSmrg { (yyval.uval)= XkbSolidDoodad; } 2453f757b1e9Smrg#line 2454 "xkbparse.c" /* yacc.c:1646 */ 2454690143ccSmrg break; 2455690143ccSmrg 2456690143ccSmrg case 115: 2457f757b1e9Smrg#line 553 "xkbparse.y" /* yacc.c:1646 */ 2458690143ccSmrg { (yyval.uval)= XkbLogoDoodad; } 2459f757b1e9Smrg#line 2460 "xkbparse.c" /* yacc.c:1646 */ 2460690143ccSmrg break; 2461690143ccSmrg 2462690143ccSmrg case 116: 2463f757b1e9Smrg#line 556 "xkbparse.y" /* yacc.c:1646 */ 2464f757b1e9Smrg { (yyval.sval)= (yyvsp[0].sval); } 2465f757b1e9Smrg#line 2466 "xkbparse.c" /* yacc.c:1646 */ 2466690143ccSmrg break; 2467690143ccSmrg 2468690143ccSmrg case 117: 2469f757b1e9Smrg#line 557 "xkbparse.y" /* yacc.c:1646 */ 2470f757b1e9Smrg { (yyval.sval)= (yyvsp[0].sval); } 2471f757b1e9Smrg#line 2472 "xkbparse.c" /* yacc.c:1646 */ 2472690143ccSmrg break; 2473690143ccSmrg 2474690143ccSmrg case 118: 2475f757b1e9Smrg#line 561 "xkbparse.y" /* yacc.c:1646 */ 2476690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"action",False); } 2477f757b1e9Smrg#line 2478 "xkbparse.c" /* yacc.c:1646 */ 2478690143ccSmrg break; 2479690143ccSmrg 2480690143ccSmrg case 119: 2481f757b1e9Smrg#line 563 "xkbparse.y" /* yacc.c:1646 */ 2482690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"interpret",False); } 2483f757b1e9Smrg#line 2484 "xkbparse.c" /* yacc.c:1646 */ 2484690143ccSmrg break; 2485690143ccSmrg 2486690143ccSmrg case 120: 2487f757b1e9Smrg#line 565 "xkbparse.y" /* yacc.c:1646 */ 2488690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"type",False); } 2489f757b1e9Smrg#line 2490 "xkbparse.c" /* yacc.c:1646 */ 2490690143ccSmrg break; 2491690143ccSmrg 2492690143ccSmrg case 121: 2493f757b1e9Smrg#line 567 "xkbparse.y" /* yacc.c:1646 */ 2494690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"key",False); } 2495f757b1e9Smrg#line 2496 "xkbparse.c" /* yacc.c:1646 */ 2496690143ccSmrg break; 2497690143ccSmrg 2498690143ccSmrg case 122: 2499f757b1e9Smrg#line 569 "xkbparse.y" /* yacc.c:1646 */ 2500690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"group",False); } 2501f757b1e9Smrg#line 2502 "xkbparse.c" /* yacc.c:1646 */ 2502690143ccSmrg break; 2503690143ccSmrg 2504690143ccSmrg case 123: 2505f757b1e9Smrg#line 571 "xkbparse.y" /* yacc.c:1646 */ 2506690143ccSmrg {(yyval.sval)=XkbInternAtom(NULL,"modifier_map",False);} 2507f757b1e9Smrg#line 2508 "xkbparse.c" /* yacc.c:1646 */ 2508690143ccSmrg break; 2509690143ccSmrg 2510690143ccSmrg case 124: 2511f757b1e9Smrg#line 573 "xkbparse.y" /* yacc.c:1646 */ 2512690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"indicator",False); } 2513f757b1e9Smrg#line 2514 "xkbparse.c" /* yacc.c:1646 */ 2514690143ccSmrg break; 2515690143ccSmrg 2516690143ccSmrg case 125: 2517f757b1e9Smrg#line 575 "xkbparse.y" /* yacc.c:1646 */ 2518690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"shape",False); } 2519f757b1e9Smrg#line 2520 "xkbparse.c" /* yacc.c:1646 */ 2520690143ccSmrg break; 2521690143ccSmrg 2522690143ccSmrg case 126: 2523f757b1e9Smrg#line 577 "xkbparse.y" /* yacc.c:1646 */ 2524690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"row",False); } 2525f757b1e9Smrg#line 2526 "xkbparse.c" /* yacc.c:1646 */ 2526690143ccSmrg break; 2527690143ccSmrg 2528690143ccSmrg case 127: 2529f757b1e9Smrg#line 579 "xkbparse.y" /* yacc.c:1646 */ 2530690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"section",False); } 2531f757b1e9Smrg#line 2532 "xkbparse.c" /* yacc.c:1646 */ 2532690143ccSmrg break; 2533690143ccSmrg 2534690143ccSmrg case 128: 2535f757b1e9Smrg#line 581 "xkbparse.y" /* yacc.c:1646 */ 2536690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"text",False); } 2537f757b1e9Smrg#line 2538 "xkbparse.c" /* yacc.c:1646 */ 2538690143ccSmrg break; 2539690143ccSmrg 2540690143ccSmrg case 129: 2541f757b1e9Smrg#line 584 "xkbparse.y" /* yacc.c:1646 */ 2542f757b1e9Smrg { (yyval.uval)= (yyvsp[0].uval); } 2543f757b1e9Smrg#line 2544 "xkbparse.c" /* yacc.c:1646 */ 2544690143ccSmrg break; 2545690143ccSmrg 2546690143ccSmrg case 130: 2547f757b1e9Smrg#line 585 "xkbparse.y" /* yacc.c:1646 */ 2548690143ccSmrg { (yyval.uval)= MergeDefault; } 2549f757b1e9Smrg#line 2550 "xkbparse.c" /* yacc.c:1646 */ 2550690143ccSmrg break; 2551690143ccSmrg 2552690143ccSmrg case 131: 2553f757b1e9Smrg#line 588 "xkbparse.y" /* yacc.c:1646 */ 2554690143ccSmrg { (yyval.uval)= MergeDefault; } 2555f757b1e9Smrg#line 2556 "xkbparse.c" /* yacc.c:1646 */ 2556690143ccSmrg break; 2557690143ccSmrg 2558690143ccSmrg case 132: 2559f757b1e9Smrg#line 589 "xkbparse.y" /* yacc.c:1646 */ 2560690143ccSmrg { (yyval.uval)= MergeAugment; } 2561f757b1e9Smrg#line 2562 "xkbparse.c" /* yacc.c:1646 */ 2562690143ccSmrg break; 2563690143ccSmrg 2564690143ccSmrg case 133: 2565f757b1e9Smrg#line 590 "xkbparse.y" /* yacc.c:1646 */ 2566690143ccSmrg { (yyval.uval)= MergeOverride; } 2567f757b1e9Smrg#line 2568 "xkbparse.c" /* yacc.c:1646 */ 2568690143ccSmrg break; 2569690143ccSmrg 2570690143ccSmrg case 134: 2571f757b1e9Smrg#line 591 "xkbparse.y" /* yacc.c:1646 */ 2572690143ccSmrg { (yyval.uval)= MergeReplace; } 2573f757b1e9Smrg#line 2574 "xkbparse.c" /* yacc.c:1646 */ 2574690143ccSmrg break; 2575690143ccSmrg 2576690143ccSmrg case 135: 2577f757b1e9Smrg#line 592 "xkbparse.y" /* yacc.c:1646 */ 2578690143ccSmrg { (yyval.uval)= MergeAltForm; } 2579f757b1e9Smrg#line 2580 "xkbparse.c" /* yacc.c:1646 */ 2580690143ccSmrg break; 2581690143ccSmrg 2582690143ccSmrg case 136: 2583f757b1e9Smrg#line 595 "xkbparse.y" /* yacc.c:1646 */ 2584f757b1e9Smrg { (yyval.expr)= (yyvsp[0].expr); } 2585f757b1e9Smrg#line 2586 "xkbparse.c" /* yacc.c:1646 */ 2586690143ccSmrg break; 2587690143ccSmrg 2588690143ccSmrg case 137: 2589f757b1e9Smrg#line 596 "xkbparse.y" /* yacc.c:1646 */ 2590690143ccSmrg { (yyval.expr)= NULL; } 2591f757b1e9Smrg#line 2592 "xkbparse.c" /* yacc.c:1646 */ 2592690143ccSmrg break; 2593690143ccSmrg 2594690143ccSmrg case 138: 2595f757b1e9Smrg#line 600 "xkbparse.y" /* yacc.c:1646 */ 2596f757b1e9Smrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[-2].expr)->common,&(yyvsp[0].expr)->common); } 2597f757b1e9Smrg#line 2598 "xkbparse.c" /* yacc.c:1646 */ 2598690143ccSmrg break; 2599690143ccSmrg 2600690143ccSmrg case 139: 2601f757b1e9Smrg#line 602 "xkbparse.y" /* yacc.c:1646 */ 2602f757b1e9Smrg { (yyval.expr)= (yyvsp[0].expr); } 2603f757b1e9Smrg#line 2604 "xkbparse.c" /* yacc.c:1646 */ 2604690143ccSmrg break; 2605690143ccSmrg 2606690143ccSmrg case 140: 2607f757b1e9Smrg#line 606 "xkbparse.y" /* yacc.c:1646 */ 2608f757b1e9Smrg { (yyval.expr)= ExprCreateBinary(OpDivide,(yyvsp[-2].expr),(yyvsp[0].expr)); } 2609f757b1e9Smrg#line 2610 "xkbparse.c" /* yacc.c:1646 */ 2610690143ccSmrg break; 2611690143ccSmrg 2612690143ccSmrg case 141: 2613f757b1e9Smrg#line 608 "xkbparse.y" /* yacc.c:1646 */ 2614f757b1e9Smrg { (yyval.expr)= ExprCreateBinary(OpAdd,(yyvsp[-2].expr),(yyvsp[0].expr)); } 2615f757b1e9Smrg#line 2616 "xkbparse.c" /* yacc.c:1646 */ 2616690143ccSmrg break; 2617690143ccSmrg 2618690143ccSmrg case 142: 2619f757b1e9Smrg#line 610 "xkbparse.y" /* yacc.c:1646 */ 2620f757b1e9Smrg { (yyval.expr)= ExprCreateBinary(OpSubtract,(yyvsp[-2].expr),(yyvsp[0].expr)); } 2621f757b1e9Smrg#line 2622 "xkbparse.c" /* yacc.c:1646 */ 2622690143ccSmrg break; 2623690143ccSmrg 2624690143ccSmrg case 143: 2625f757b1e9Smrg#line 612 "xkbparse.y" /* yacc.c:1646 */ 2626f757b1e9Smrg { (yyval.expr)= ExprCreateBinary(OpMultiply,(yyvsp[-2].expr),(yyvsp[0].expr)); } 2627f757b1e9Smrg#line 2628 "xkbparse.c" /* yacc.c:1646 */ 2628690143ccSmrg break; 2629690143ccSmrg 2630690143ccSmrg case 144: 2631f757b1e9Smrg#line 614 "xkbparse.y" /* yacc.c:1646 */ 2632f757b1e9Smrg { (yyval.expr)= ExprCreateBinary(OpAssign,(yyvsp[-2].expr),(yyvsp[0].expr)); } 2633f757b1e9Smrg#line 2634 "xkbparse.c" /* yacc.c:1646 */ 2634690143ccSmrg break; 2635690143ccSmrg 2636690143ccSmrg case 145: 2637f757b1e9Smrg#line 616 "xkbparse.y" /* yacc.c:1646 */ 2638f757b1e9Smrg { (yyval.expr)= (yyvsp[0].expr); } 2639f757b1e9Smrg#line 2640 "xkbparse.c" /* yacc.c:1646 */ 2640690143ccSmrg break; 2641690143ccSmrg 2642690143ccSmrg case 146: 2643f757b1e9Smrg#line 620 "xkbparse.y" /* yacc.c:1646 */ 2644f757b1e9Smrg { (yyval.expr)= ExprCreateUnary(OpNegate,(yyvsp[0].expr)->type,(yyvsp[0].expr)); } 2645f757b1e9Smrg#line 2646 "xkbparse.c" /* yacc.c:1646 */ 2646690143ccSmrg break; 2647690143ccSmrg 2648690143ccSmrg case 147: 2649f757b1e9Smrg#line 622 "xkbparse.y" /* yacc.c:1646 */ 2650f757b1e9Smrg { (yyval.expr)= ExprCreateUnary(OpUnaryPlus,(yyvsp[0].expr)->type,(yyvsp[0].expr)); } 2651f757b1e9Smrg#line 2652 "xkbparse.c" /* yacc.c:1646 */ 2652690143ccSmrg break; 2653690143ccSmrg 2654690143ccSmrg case 148: 2655f757b1e9Smrg#line 624 "xkbparse.y" /* yacc.c:1646 */ 2656f757b1e9Smrg { (yyval.expr)= ExprCreateUnary(OpNot,TypeBoolean,(yyvsp[0].expr)); } 2657f757b1e9Smrg#line 2658 "xkbparse.c" /* yacc.c:1646 */ 2658690143ccSmrg break; 2659690143ccSmrg 2660690143ccSmrg case 149: 2661f757b1e9Smrg#line 626 "xkbparse.y" /* yacc.c:1646 */ 2662f757b1e9Smrg { (yyval.expr)= ExprCreateUnary(OpInvert,(yyvsp[0].expr)->type,(yyvsp[0].expr)); } 2663f757b1e9Smrg#line 2664 "xkbparse.c" /* yacc.c:1646 */ 2664690143ccSmrg break; 2665690143ccSmrg 2666690143ccSmrg case 150: 2667f757b1e9Smrg#line 628 "xkbparse.y" /* yacc.c:1646 */ 2668f757b1e9Smrg { (yyval.expr)= (yyvsp[0].expr); } 2669f757b1e9Smrg#line 2670 "xkbparse.c" /* yacc.c:1646 */ 2670690143ccSmrg break; 2671690143ccSmrg 2672690143ccSmrg case 151: 2673f757b1e9Smrg#line 630 "xkbparse.y" /* yacc.c:1646 */ 2674f757b1e9Smrg { (yyval.expr)= ActionCreate((yyvsp[-3].sval),(yyvsp[-1].expr)); } 2675f757b1e9Smrg#line 2676 "xkbparse.c" /* yacc.c:1646 */ 2676690143ccSmrg break; 2677690143ccSmrg 2678690143ccSmrg case 152: 2679f757b1e9Smrg#line 632 "xkbparse.y" /* yacc.c:1646 */ 2680f757b1e9Smrg { (yyval.expr)= (yyvsp[0].expr); } 2681f757b1e9Smrg#line 2682 "xkbparse.c" /* yacc.c:1646 */ 2682690143ccSmrg break; 2683690143ccSmrg 2684690143ccSmrg case 153: 2685f757b1e9Smrg#line 634 "xkbparse.y" /* yacc.c:1646 */ 2686f757b1e9Smrg { (yyval.expr)= (yyvsp[-1].expr); } 2687f757b1e9Smrg#line 2688 "xkbparse.c" /* yacc.c:1646 */ 2688690143ccSmrg break; 2689690143ccSmrg 2690690143ccSmrg case 154: 2691f757b1e9Smrg#line 638 "xkbparse.y" /* yacc.c:1646 */ 2692f757b1e9Smrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[-2].expr)->common,&(yyvsp[0].expr)->common); } 2693f757b1e9Smrg#line 2694 "xkbparse.c" /* yacc.c:1646 */ 2694690143ccSmrg break; 2695690143ccSmrg 2696690143ccSmrg case 155: 2697f757b1e9Smrg#line 640 "xkbparse.y" /* yacc.c:1646 */ 2698f757b1e9Smrg { (yyval.expr)= (yyvsp[0].expr); } 2699f757b1e9Smrg#line 2700 "xkbparse.c" /* yacc.c:1646 */ 2700690143ccSmrg break; 2701690143ccSmrg 2702690143ccSmrg case 156: 2703f757b1e9Smrg#line 644 "xkbparse.y" /* yacc.c:1646 */ 2704f757b1e9Smrg { (yyval.expr)= ActionCreate((yyvsp[-3].sval),(yyvsp[-1].expr)); } 2705f757b1e9Smrg#line 2706 "xkbparse.c" /* yacc.c:1646 */ 2706690143ccSmrg break; 2707690143ccSmrg 2708690143ccSmrg case 157: 2709f757b1e9Smrg#line 648 "xkbparse.y" /* yacc.c:1646 */ 2710690143ccSmrg { 2711f46a6179Smrg ExprDef *expr; 2712f46a6179Smrg expr= ExprCreate(ExprIdent,TypeUnknown); 2713f757b1e9Smrg expr->value.str= (yyvsp[0].sval); 2714690143ccSmrg (yyval.expr)= expr; 2715f46a6179Smrg } 2716f757b1e9Smrg#line 2717 "xkbparse.c" /* yacc.c:1646 */ 2717690143ccSmrg break; 2718690143ccSmrg 2719690143ccSmrg case 158: 2720f757b1e9Smrg#line 655 "xkbparse.y" /* yacc.c:1646 */ 2721690143ccSmrg { 2722f46a6179Smrg ExprDef *expr; 2723f46a6179Smrg expr= ExprCreate(ExprFieldRef,TypeUnknown); 2724f757b1e9Smrg expr->value.field.element= (yyvsp[-2].sval); 2725f757b1e9Smrg expr->value.field.field= (yyvsp[0].sval); 2726690143ccSmrg (yyval.expr)= expr; 2727f46a6179Smrg } 2728f757b1e9Smrg#line 2729 "xkbparse.c" /* yacc.c:1646 */ 2729690143ccSmrg break; 2730690143ccSmrg 2731690143ccSmrg case 159: 2732f757b1e9Smrg#line 663 "xkbparse.y" /* yacc.c:1646 */ 2733690143ccSmrg { 2734f46a6179Smrg ExprDef *expr; 2735f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 2736f46a6179Smrg expr->value.array.element= None; 2737f757b1e9Smrg expr->value.array.field= (yyvsp[-3].sval); 2738f757b1e9Smrg expr->value.array.entry= (yyvsp[-1].expr); 2739690143ccSmrg (yyval.expr)= expr; 2740f46a6179Smrg } 2741f757b1e9Smrg#line 2742 "xkbparse.c" /* yacc.c:1646 */ 2742690143ccSmrg break; 2743690143ccSmrg 2744690143ccSmrg case 160: 2745f757b1e9Smrg#line 672 "xkbparse.y" /* yacc.c:1646 */ 2746690143ccSmrg { 2747f46a6179Smrg ExprDef *expr; 2748f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 2749f757b1e9Smrg expr->value.array.element= (yyvsp[-5].sval); 2750f757b1e9Smrg expr->value.array.field= (yyvsp[-3].sval); 2751f757b1e9Smrg expr->value.array.entry= (yyvsp[-1].expr); 2752690143ccSmrg (yyval.expr)= expr; 2753f46a6179Smrg } 2754f757b1e9Smrg#line 2755 "xkbparse.c" /* yacc.c:1646 */ 2755690143ccSmrg break; 2756690143ccSmrg 2757690143ccSmrg case 161: 2758f757b1e9Smrg#line 683 "xkbparse.y" /* yacc.c:1646 */ 2759690143ccSmrg { 2760f46a6179Smrg ExprDef *expr; 2761f46a6179Smrg expr= ExprCreate(ExprValue,TypeString); 2762f757b1e9Smrg expr->value.str= (yyvsp[0].sval); 2763690143ccSmrg (yyval.expr)= expr; 2764f46a6179Smrg } 2765f757b1e9Smrg#line 2766 "xkbparse.c" /* yacc.c:1646 */ 2766690143ccSmrg break; 2767690143ccSmrg 2768690143ccSmrg case 162: 2769f757b1e9Smrg#line 690 "xkbparse.y" /* yacc.c:1646 */ 2770690143ccSmrg { 2771f46a6179Smrg ExprDef *expr; 2772f46a6179Smrg expr= ExprCreate(ExprValue,TypeInt); 2773f757b1e9Smrg expr->value.ival= (yyvsp[0].ival); 2774690143ccSmrg (yyval.expr)= expr; 2775f46a6179Smrg } 2776f757b1e9Smrg#line 2777 "xkbparse.c" /* yacc.c:1646 */ 2777690143ccSmrg break; 2778690143ccSmrg 2779690143ccSmrg case 163: 2780f757b1e9Smrg#line 697 "xkbparse.y" /* yacc.c:1646 */ 2781690143ccSmrg { 2782f46a6179Smrg ExprDef *expr; 2783f46a6179Smrg expr= ExprCreate(ExprValue,TypeFloat); 2784f757b1e9Smrg expr->value.ival= (yyvsp[0].ival); 2785690143ccSmrg (yyval.expr)= expr; 2786f46a6179Smrg } 2787f757b1e9Smrg#line 2788 "xkbparse.c" /* yacc.c:1646 */ 2788690143ccSmrg break; 2789690143ccSmrg 2790690143ccSmrg case 164: 2791f757b1e9Smrg#line 704 "xkbparse.y" /* yacc.c:1646 */ 2792690143ccSmrg { 2793f46a6179Smrg ExprDef *expr; 2794f46a6179Smrg expr= ExprCreate(ExprValue,TypeKeyName); 2795f46a6179Smrg memset(expr->value.keyName,0,5); 2796f757b1e9Smrg strncpy(expr->value.keyName,(yyvsp[0].str),4); 2797f757b1e9Smrg free((yyvsp[0].str)); 2798690143ccSmrg (yyval.expr)= expr; 2799f46a6179Smrg } 2800f757b1e9Smrg#line 2801 "xkbparse.c" /* yacc.c:1646 */ 2801690143ccSmrg break; 2802690143ccSmrg 2803690143ccSmrg case 165: 2804f757b1e9Smrg#line 714 "xkbparse.y" /* yacc.c:1646 */ 2805f757b1e9Smrg { (yyval.expr)= (yyvsp[0].expr); } 2806f757b1e9Smrg#line 2807 "xkbparse.c" /* yacc.c:1646 */ 2807690143ccSmrg break; 2808690143ccSmrg 2809690143ccSmrg case 166: 2810f757b1e9Smrg#line 715 "xkbparse.y" /* yacc.c:1646 */ 2811690143ccSmrg { (yyval.expr)= NULL; } 2812f757b1e9Smrg#line 2813 "xkbparse.c" /* yacc.c:1646 */ 2813690143ccSmrg break; 2814690143ccSmrg 2815690143ccSmrg case 167: 2816f757b1e9Smrg#line 719 "xkbparse.y" /* yacc.c:1646 */ 2817f757b1e9Smrg { (yyval.expr)= AppendKeysymList((yyvsp[-2].expr),(yyvsp[0].str)); } 2818f757b1e9Smrg#line 2819 "xkbparse.c" /* yacc.c:1646 */ 2819690143ccSmrg break; 2820690143ccSmrg 2821690143ccSmrg case 168: 2822f757b1e9Smrg#line 721 "xkbparse.y" /* yacc.c:1646 */ 2823f757b1e9Smrg { (yyval.expr)= AppendKeysymList((yyvsp[-2].expr),strdup("NoSymbol")); } 2824f757b1e9Smrg#line 2825 "xkbparse.c" /* yacc.c:1646 */ 2825690143ccSmrg break; 2826690143ccSmrg 2827690143ccSmrg case 169: 2828f757b1e9Smrg#line 723 "xkbparse.y" /* yacc.c:1646 */ 2829f757b1e9Smrg { (yyval.expr)= CreateKeysymList((yyvsp[0].str)); } 2830f757b1e9Smrg#line 2831 "xkbparse.c" /* yacc.c:1646 */ 2831690143ccSmrg break; 2832690143ccSmrg 2833690143ccSmrg case 170: 2834f757b1e9Smrg#line 725 "xkbparse.y" /* yacc.c:1646 */ 2835c82dfdfbSmrg { (yyval.expr)= CreateKeysymList(strdup("NoSymbol")); } 2836f757b1e9Smrg#line 2837 "xkbparse.c" /* yacc.c:1646 */ 2837690143ccSmrg break; 2838690143ccSmrg 2839690143ccSmrg case 171: 2840f757b1e9Smrg#line 728 "xkbparse.y" /* yacc.c:1646 */ 2841c82dfdfbSmrg { (yyval.str)= strdup(scanBuf); } 2842f757b1e9Smrg#line 2843 "xkbparse.c" /* yacc.c:1646 */ 2843c82dfdfbSmrg break; 2844c82dfdfbSmrg 2845c82dfdfbSmrg case 172: 2846f757b1e9Smrg#line 729 "xkbparse.y" /* yacc.c:1646 */ 2847c82dfdfbSmrg { (yyval.str)= strdup("section"); } 2848f757b1e9Smrg#line 2849 "xkbparse.c" /* yacc.c:1646 */ 2849c82dfdfbSmrg break; 2850c82dfdfbSmrg 2851c82dfdfbSmrg case 173: 2852f757b1e9Smrg#line 731 "xkbparse.y" /* yacc.c:1646 */ 2853690143ccSmrg { 2854f757b1e9Smrg if ((yyvsp[0].ival)<10) { (yyval.str)= malloc(2); (yyval.str)[0]= '0' + (yyvsp[0].ival); (yyval.str)[1]= '\0'; } 2855f757b1e9Smrg else { (yyval.str)= malloc(19); snprintf((yyval.str), 19, "0x%x", (yyvsp[0].ival)); } 2856f46a6179Smrg } 2857f757b1e9Smrg#line 2858 "xkbparse.c" /* yacc.c:1646 */ 2858690143ccSmrg break; 2859690143ccSmrg 2860c82dfdfbSmrg case 174: 2861f757b1e9Smrg#line 738 "xkbparse.y" /* yacc.c:1646 */ 2862f757b1e9Smrg { (yyval.expr)= (yyvsp[-1].expr); } 2863f757b1e9Smrg#line 2864 "xkbparse.c" /* yacc.c:1646 */ 2864c82dfdfbSmrg break; 2865c82dfdfbSmrg 2866c82dfdfbSmrg case 175: 2867f757b1e9Smrg#line 741 "xkbparse.y" /* yacc.c:1646 */ 2868f757b1e9Smrg { (yyval.ival)= -(yyvsp[0].ival); } 2869f757b1e9Smrg#line 2870 "xkbparse.c" /* yacc.c:1646 */ 2870690143ccSmrg break; 2871690143ccSmrg 2872c82dfdfbSmrg case 176: 2873f757b1e9Smrg#line 742 "xkbparse.y" /* yacc.c:1646 */ 2874f757b1e9Smrg { (yyval.ival)= (yyvsp[0].ival); } 2875f757b1e9Smrg#line 2876 "xkbparse.c" /* yacc.c:1646 */ 2876690143ccSmrg break; 2877690143ccSmrg 2878c82dfdfbSmrg case 177: 2879f757b1e9Smrg#line 745 "xkbparse.y" /* yacc.c:1646 */ 2880690143ccSmrg { (yyval.ival)= scanInt; } 2881f757b1e9Smrg#line 2882 "xkbparse.c" /* yacc.c:1646 */ 2882690143ccSmrg break; 2883690143ccSmrg 2884c82dfdfbSmrg case 178: 2885f757b1e9Smrg#line 746 "xkbparse.y" /* yacc.c:1646 */ 2886690143ccSmrg { (yyval.ival)= scanInt*XkbGeomPtsPerMM; } 2887f757b1e9Smrg#line 2888 "xkbparse.c" /* yacc.c:1646 */ 2888690143ccSmrg break; 2889690143ccSmrg 2890c82dfdfbSmrg case 179: 2891f757b1e9Smrg#line 749 "xkbparse.y" /* yacc.c:1646 */ 2892690143ccSmrg { (yyval.ival)= scanInt; } 2893f757b1e9Smrg#line 2894 "xkbparse.c" /* yacc.c:1646 */ 2894690143ccSmrg break; 2895690143ccSmrg 2896c82dfdfbSmrg case 180: 2897f757b1e9Smrg#line 752 "xkbparse.y" /* yacc.c:1646 */ 2898690143ccSmrg { (yyval.ival)= scanInt; } 2899f757b1e9Smrg#line 2900 "xkbparse.c" /* yacc.c:1646 */ 2900690143ccSmrg break; 2901690143ccSmrg 2902c82dfdfbSmrg case 181: 2903f757b1e9Smrg#line 755 "xkbparse.y" /* yacc.c:1646 */ 2904690143ccSmrg { (yyval.str)= strdup(scanBuf); } 2905f757b1e9Smrg#line 2906 "xkbparse.c" /* yacc.c:1646 */ 2906690143ccSmrg break; 2907690143ccSmrg 2908c82dfdfbSmrg case 182: 2909f757b1e9Smrg#line 758 "xkbparse.y" /* yacc.c:1646 */ 2910690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); } 2911f757b1e9Smrg#line 2912 "xkbparse.c" /* yacc.c:1646 */ 2912690143ccSmrg break; 2913690143ccSmrg 2914c82dfdfbSmrg case 183: 2915f757b1e9Smrg#line 759 "xkbparse.y" /* yacc.c:1646 */ 2916690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,"default",False); } 2917f757b1e9Smrg#line 2918 "xkbparse.c" /* yacc.c:1646 */ 2918690143ccSmrg break; 2919690143ccSmrg 2920c82dfdfbSmrg case 184: 2921f757b1e9Smrg#line 762 "xkbparse.y" /* yacc.c:1646 */ 2922690143ccSmrg { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); } 2923f757b1e9Smrg#line 2924 "xkbparse.c" /* yacc.c:1646 */ 2924690143ccSmrg break; 2925690143ccSmrg 2926c82dfdfbSmrg case 185: 2927f757b1e9Smrg#line 765 "xkbparse.y" /* yacc.c:1646 */ 2928f757b1e9Smrg { (yyval.str)= (yyvsp[0].str); } 2929f757b1e9Smrg#line 2930 "xkbparse.c" /* yacc.c:1646 */ 2930690143ccSmrg break; 2931690143ccSmrg 2932c82dfdfbSmrg case 186: 2933f757b1e9Smrg#line 766 "xkbparse.y" /* yacc.c:1646 */ 2934690143ccSmrg { (yyval.str)= NULL; } 2935f757b1e9Smrg#line 2936 "xkbparse.c" /* yacc.c:1646 */ 2936690143ccSmrg break; 2937690143ccSmrg 2938c82dfdfbSmrg case 187: 2939f757b1e9Smrg#line 769 "xkbparse.y" /* yacc.c:1646 */ 2940690143ccSmrg { (yyval.str)= strdup(scanBuf); } 2941f757b1e9Smrg#line 2942 "xkbparse.c" /* yacc.c:1646 */ 2942690143ccSmrg break; 2943690143ccSmrg 2944690143ccSmrg 2945f757b1e9Smrg#line 2946 "xkbparse.c" /* yacc.c:1646 */ 2946690143ccSmrg default: break; 2947f46a6179Smrg } 2948c82dfdfbSmrg /* User semantic actions sometimes alter yychar, and that requires 2949c82dfdfbSmrg that yytoken be updated with the new translation. We take the 2950c82dfdfbSmrg approach of translating immediately before every use of yytoken. 2951c82dfdfbSmrg One alternative is translating here after every semantic action, 2952c82dfdfbSmrg but that translation would be missed if the semantic action invokes 2953c82dfdfbSmrg YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 2954c82dfdfbSmrg if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 2955c82dfdfbSmrg incorrect destructor might then be invoked immediately. In the 2956c82dfdfbSmrg case of YYERROR or YYBACKUP, subsequent parser actions might lead 2957c82dfdfbSmrg to an incorrect destructor call or verbose syntax error message 2958c82dfdfbSmrg before the lookahead is translated. */ 2959690143ccSmrg YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 2960690143ccSmrg 2961690143ccSmrg YYPOPSTACK (yylen); 2962690143ccSmrg yylen = 0; 2963690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 2964690143ccSmrg 2965690143ccSmrg *++yyvsp = yyval; 2966690143ccSmrg 2967f757b1e9Smrg /* Now 'shift' the result of the reduction. Determine what state 2968690143ccSmrg that goes to, based on the state we popped back to and the rule 2969690143ccSmrg number reduced by. */ 2970690143ccSmrg 2971690143ccSmrg yyn = yyr1[yyn]; 2972690143ccSmrg 2973690143ccSmrg yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 2974690143ccSmrg if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 2975690143ccSmrg yystate = yytable[yystate]; 2976690143ccSmrg else 2977690143ccSmrg yystate = yydefgoto[yyn - YYNTOKENS]; 2978690143ccSmrg 2979690143ccSmrg goto yynewstate; 2980690143ccSmrg 2981690143ccSmrg 2982f757b1e9Smrg/*--------------------------------------. 2983f757b1e9Smrg| yyerrlab -- here on detecting error. | 2984f757b1e9Smrg`--------------------------------------*/ 2985690143ccSmrgyyerrlab: 2986c82dfdfbSmrg /* Make sure we have latest lookahead translation. See comments at 2987c82dfdfbSmrg user semantic actions for why this is necessary. */ 2988c82dfdfbSmrg yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); 2989c82dfdfbSmrg 2990690143ccSmrg /* If not already recovering from an error, report this error. */ 2991690143ccSmrg if (!yyerrstatus) 2992f46a6179Smrg { 2993690143ccSmrg ++yynerrs; 2994690143ccSmrg#if ! YYERROR_VERBOSE 2995690143ccSmrg yyerror (YY_("syntax error")); 2996690143ccSmrg#else 2997c82dfdfbSmrg# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 2998c82dfdfbSmrg yyssp, yytoken) 2999690143ccSmrg { 3000c82dfdfbSmrg char const *yymsgp = YY_("syntax error"); 3001c82dfdfbSmrg int yysyntax_error_status; 3002c82dfdfbSmrg yysyntax_error_status = YYSYNTAX_ERROR; 3003c82dfdfbSmrg if (yysyntax_error_status == 0) 3004c82dfdfbSmrg yymsgp = yymsg; 3005c82dfdfbSmrg else if (yysyntax_error_status == 1) 3006c82dfdfbSmrg { 3007c82dfdfbSmrg if (yymsg != yymsgbuf) 3008c82dfdfbSmrg YYSTACK_FREE (yymsg); 3009c82dfdfbSmrg yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); 3010c82dfdfbSmrg if (!yymsg) 3011c82dfdfbSmrg { 3012c82dfdfbSmrg yymsg = yymsgbuf; 3013c82dfdfbSmrg yymsg_alloc = sizeof yymsgbuf; 3014c82dfdfbSmrg yysyntax_error_status = 2; 3015c82dfdfbSmrg } 3016c82dfdfbSmrg else 3017c82dfdfbSmrg { 3018c82dfdfbSmrg yysyntax_error_status = YYSYNTAX_ERROR; 3019c82dfdfbSmrg yymsgp = yymsg; 3020c82dfdfbSmrg } 3021c82dfdfbSmrg } 3022c82dfdfbSmrg yyerror (yymsgp); 3023c82dfdfbSmrg if (yysyntax_error_status == 2) 3024c82dfdfbSmrg goto yyexhaustedlab; 3025690143ccSmrg } 3026c82dfdfbSmrg# undef YYSYNTAX_ERROR 302707d2e718Smrg#endif 3028f46a6179Smrg } 3029690143ccSmrg 3030690143ccSmrg 3031690143ccSmrg 3032690143ccSmrg if (yyerrstatus == 3) 3033690143ccSmrg { 3034c82dfdfbSmrg /* If just tried and failed to reuse lookahead token after an 3035f757b1e9Smrg error, discard it. */ 3036690143ccSmrg 3037690143ccSmrg if (yychar <= YYEOF) 3038f757b1e9Smrg { 3039f757b1e9Smrg /* Return failure if at end of input. */ 3040f757b1e9Smrg if (yychar == YYEOF) 3041f757b1e9Smrg YYABORT; 3042f757b1e9Smrg } 3043690143ccSmrg else 3044f757b1e9Smrg { 3045f757b1e9Smrg yydestruct ("Error: discarding", 3046f757b1e9Smrg yytoken, &yylval); 3047f757b1e9Smrg yychar = YYEMPTY; 3048f757b1e9Smrg } 3049690143ccSmrg } 3050690143ccSmrg 3051c82dfdfbSmrg /* Else will try to reuse lookahead token after shifting the error 3052690143ccSmrg token. */ 3053690143ccSmrg goto yyerrlab1; 3054690143ccSmrg 3055690143ccSmrg 3056690143ccSmrg/*---------------------------------------------------. 3057690143ccSmrg| yyerrorlab -- error raised explicitly by YYERROR. | 3058690143ccSmrg`---------------------------------------------------*/ 3059690143ccSmrgyyerrorlab: 3060690143ccSmrg 3061690143ccSmrg /* Pacify compilers like GCC when the user code never invokes 3062690143ccSmrg YYERROR and the label yyerrorlab therefore never appears in user 3063690143ccSmrg code. */ 3064690143ccSmrg if (/*CONSTCOND*/ 0) 3065690143ccSmrg goto yyerrorlab; 3066690143ccSmrg 3067f757b1e9Smrg /* Do not reclaim the symbols of the rule whose action triggered 3068690143ccSmrg this YYERROR. */ 3069690143ccSmrg YYPOPSTACK (yylen); 3070690143ccSmrg yylen = 0; 3071690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3072690143ccSmrg yystate = *yyssp; 3073690143ccSmrg goto yyerrlab1; 3074690143ccSmrg 3075690143ccSmrg 3076690143ccSmrg/*-------------------------------------------------------------. 3077690143ccSmrg| yyerrlab1 -- common code for both syntax error and YYERROR. | 3078690143ccSmrg`-------------------------------------------------------------*/ 3079690143ccSmrgyyerrlab1: 3080f757b1e9Smrg yyerrstatus = 3; /* Each real token shifted decrements this. */ 3081690143ccSmrg 3082690143ccSmrg for (;;) 3083690143ccSmrg { 3084690143ccSmrg yyn = yypact[yystate]; 3085c82dfdfbSmrg if (!yypact_value_is_default (yyn)) 3086f757b1e9Smrg { 3087f757b1e9Smrg yyn += YYTERROR; 3088f757b1e9Smrg if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 3089f757b1e9Smrg { 3090f757b1e9Smrg yyn = yytable[yyn]; 3091f757b1e9Smrg if (0 < yyn) 3092f757b1e9Smrg break; 3093f757b1e9Smrg } 3094f757b1e9Smrg } 3095690143ccSmrg 3096690143ccSmrg /* Pop the current state because it cannot handle the error token. */ 3097690143ccSmrg if (yyssp == yyss) 3098f757b1e9Smrg YYABORT; 3099690143ccSmrg 3100690143ccSmrg 3101690143ccSmrg yydestruct ("Error: popping", 3102f757b1e9Smrg yystos[yystate], yyvsp); 3103690143ccSmrg YYPOPSTACK (1); 3104690143ccSmrg yystate = *yyssp; 3105690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3106690143ccSmrg } 3107690143ccSmrg 3108c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 3109690143ccSmrg *++yyvsp = yylval; 3110c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_END 3111690143ccSmrg 3112690143ccSmrg 3113690143ccSmrg /* Shift the error token. */ 3114690143ccSmrg YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 3115690143ccSmrg 3116690143ccSmrg yystate = yyn; 3117690143ccSmrg goto yynewstate; 3118690143ccSmrg 3119690143ccSmrg 3120690143ccSmrg/*-------------------------------------. 3121690143ccSmrg| yyacceptlab -- YYACCEPT comes here. | 3122690143ccSmrg`-------------------------------------*/ 3123690143ccSmrgyyacceptlab: 3124690143ccSmrg yyresult = 0; 3125690143ccSmrg goto yyreturn; 3126690143ccSmrg 3127690143ccSmrg/*-----------------------------------. 3128690143ccSmrg| yyabortlab -- YYABORT comes here. | 3129690143ccSmrg`-----------------------------------*/ 3130690143ccSmrgyyabortlab: 3131690143ccSmrg yyresult = 1; 3132690143ccSmrg goto yyreturn; 3133690143ccSmrg 3134c82dfdfbSmrg#if !defined yyoverflow || YYERROR_VERBOSE 3135690143ccSmrg/*-------------------------------------------------. 3136690143ccSmrg| yyexhaustedlab -- memory exhaustion comes here. | 3137690143ccSmrg`-------------------------------------------------*/ 3138690143ccSmrgyyexhaustedlab: 3139690143ccSmrg yyerror (YY_("memory exhausted")); 3140690143ccSmrg yyresult = 2; 3141690143ccSmrg /* Fall through. */ 3142f46a6179Smrg#endif 3143690143ccSmrg 3144690143ccSmrgyyreturn: 3145c82dfdfbSmrg if (yychar != YYEMPTY) 3146c82dfdfbSmrg { 3147c82dfdfbSmrg /* Make sure we have latest lookahead translation. See comments at 3148c82dfdfbSmrg user semantic actions for why this is necessary. */ 3149c82dfdfbSmrg yytoken = YYTRANSLATE (yychar); 3150c82dfdfbSmrg yydestruct ("Cleanup: discarding lookahead", 3151c82dfdfbSmrg yytoken, &yylval); 3152c82dfdfbSmrg } 3153f757b1e9Smrg /* Do not reclaim the symbols of the rule whose action triggered 3154690143ccSmrg this YYABORT or YYACCEPT. */ 3155690143ccSmrg YYPOPSTACK (yylen); 3156690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3157690143ccSmrg while (yyssp != yyss) 3158f46a6179Smrg { 3159690143ccSmrg yydestruct ("Cleanup: popping", 3160f757b1e9Smrg yystos[*yyssp], yyvsp); 3161690143ccSmrg YYPOPSTACK (1); 3162f46a6179Smrg } 3163690143ccSmrg#ifndef yyoverflow 3164690143ccSmrg if (yyss != yyssa) 3165690143ccSmrg YYSTACK_FREE (yyss); 3166690143ccSmrg#endif 3167690143ccSmrg#if YYERROR_VERBOSE 3168690143ccSmrg if (yymsg != yymsgbuf) 3169690143ccSmrg YYSTACK_FREE (yymsg); 3170690143ccSmrg#endif 3171f757b1e9Smrg return yyresult; 3172690143ccSmrg} 3173f757b1e9Smrg#line 771 "xkbparse.y" /* yacc.c:1906 */ 3174690143ccSmrg 3175690143ccSmrgvoid 3176690143ccSmrgyyerror(const char *s) 3177690143ccSmrg{ 3178690143ccSmrg if (warningLevel>0) { 3179690143ccSmrg (void)fprintf(stderr,"%s: line %d of %s\n",s,lineNum, 3180690143ccSmrg (scanFile?scanFile:"(unknown)")); 3181690143ccSmrg if ((warningLevel>3)) 3182690143ccSmrg (void)fprintf(stderr,"last scanned symbol is: %s\n",scanBuf); 3183690143ccSmrg } 3184690143ccSmrg return; 3185690143ccSmrg} 3186690143ccSmrg 3187690143ccSmrg 3188690143ccSmrgint 3189690143ccSmrgyywrap(void) 3190690143ccSmrg{ 3191690143ccSmrg return 1; 3192f46a6179Smrg} 3193690143ccSmrg 3194