xkbparse.c revision 5fac8b10
1f46a6179Smrg 25fac8b10Smrg/* A Bison parser, made by GNU Bison 2.4.1. */ 3f46a6179Smrg 45fac8b10Smrg/* Skeleton implementation for Bison's Yacc-like parsers in C 55fac8b10Smrg 65fac8b10Smrg Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 7f46a6179Smrg Free Software Foundation, Inc. 85fac8b10Smrg 95fac8b10Smrg This program is free software: you can redistribute it and/or modify 10f46a6179Smrg it under the terms of the GNU General Public License as published by 115fac8b10Smrg the Free Software Foundation, either version 3 of the License, or 125fac8b10Smrg (at your option) any later version. 135fac8b10Smrg 14f46a6179Smrg This program is distributed in the hope that it will be useful, 15f46a6179Smrg but WITHOUT ANY WARRANTY; without even the implied warranty of 16f46a6179Smrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17f46a6179Smrg GNU General Public License for more details. 185fac8b10Smrg 19f46a6179Smrg You should have received a copy of the GNU General Public License 205fac8b10Smrg along with this program. If not, see <http://www.gnu.org/licenses/>. */ 21f46a6179Smrg 22f46a6179Smrg/* As a special exception, you may create a larger work that contains 23f46a6179Smrg part or all of the Bison parser skeleton and distribute that work 24f46a6179Smrg under terms of your choice, so long as that work isn't itself a 25f46a6179Smrg parser generator using the skeleton or a modified version thereof 26f46a6179Smrg as a parser skeleton. Alternatively, if you modify or redistribute 27f46a6179Smrg the parser skeleton itself, you may (at your option) remove this 28f46a6179Smrg special exception, which will cause the skeleton and the resulting 29f46a6179Smrg Bison output files to be licensed under the GNU General Public 30f46a6179Smrg License without this special exception. 315fac8b10Smrg 32f46a6179Smrg This special exception was added by the Free Software Foundation in 33f46a6179Smrg version 2.2 of Bison. */ 34f46a6179Smrg 35f46a6179Smrg/* C LALR(1) parser skeleton written by Richard Stallman, by 36f46a6179Smrg simplifying the original so-called "semantic" parser. */ 37f46a6179Smrg 38f46a6179Smrg/* All symbols defined below should begin with yy or YY, to avoid 39f46a6179Smrg infringing on user name space. This should be done even for local 40f46a6179Smrg variables, as they might otherwise be expanded by user macros. 41f46a6179Smrg There are some unavoidable exceptions within include files to 42f46a6179Smrg define necessary library symbols; they are noted "INFRINGES ON 43f46a6179Smrg USER NAME SPACE" below. */ 44f46a6179Smrg 45f46a6179Smrg/* Identify Bison output. */ 46f46a6179Smrg#define YYBISON 1 47f46a6179Smrg 48f46a6179Smrg/* Bison version. */ 495fac8b10Smrg#define YYBISON_VERSION "2.4.1" 50f46a6179Smrg 51f46a6179Smrg/* Skeleton name. */ 52f46a6179Smrg#define YYSKELETON_NAME "yacc.c" 53f46a6179Smrg 54f46a6179Smrg/* Pure parsers. */ 55f46a6179Smrg#define YYPURE 0 56f46a6179Smrg 575fac8b10Smrg/* Push parsers. */ 585fac8b10Smrg#define YYPUSH 0 595fac8b10Smrg 605fac8b10Smrg/* Pull parsers. */ 615fac8b10Smrg#define YYPULL 1 625fac8b10Smrg 63f46a6179Smrg/* Using locations. */ 64f46a6179Smrg#define YYLSP_NEEDED 0 65f46a6179Smrg 66f46a6179Smrg 67f46a6179Smrg 685fac8b10Smrg/* Copy the first part of user declarations. */ 695fac8b10Smrg 705fac8b10Smrg/* Line 189 of yacc.c */ 715fac8b10Smrg#line 91 "xkbparse.y" 725fac8b10Smrg 735fac8b10Smrg#ifdef DEBUG 745fac8b10Smrg#define YYDEBUG 1 755fac8b10Smrg#endif 765fac8b10Smrg#define DEBUG_VAR parseDebug 775fac8b10Smrg#include "parseutils.h" 785fac8b10Smrg#include <X11/keysym.h> 795fac8b10Smrg#include <X11/extensions/XKBgeom.h> 805fac8b10Smrg#include <stdlib.h> 815fac8b10Smrg 825fac8b10Smrgunsigned int parseDebug; 835fac8b10Smrg 845fac8b10Smrg 855fac8b10Smrg 865fac8b10Smrg/* Line 189 of yacc.c */ 875fac8b10Smrg#line 88 "xkbparse.c" 885fac8b10Smrg 895fac8b10Smrg/* Enabling traces. */ 905fac8b10Smrg#ifndef YYDEBUG 915fac8b10Smrg# define YYDEBUG 0 925fac8b10Smrg#endif 935fac8b10Smrg 945fac8b10Smrg/* Enabling verbose error messages. */ 955fac8b10Smrg#ifdef YYERROR_VERBOSE 965fac8b10Smrg# undef YYERROR_VERBOSE 975fac8b10Smrg# define YYERROR_VERBOSE 1 985fac8b10Smrg#else 995fac8b10Smrg# define YYERROR_VERBOSE 0 1005fac8b10Smrg#endif 1015fac8b10Smrg 1025fac8b10Smrg/* Enabling the token table. */ 1035fac8b10Smrg#ifndef YYTOKEN_TABLE 1045fac8b10Smrg# define YYTOKEN_TABLE 0 1055fac8b10Smrg#endif 1065fac8b10Smrg 1075fac8b10Smrg 108f46a6179Smrg/* Tokens. */ 109f46a6179Smrg#ifndef YYTOKENTYPE 110f46a6179Smrg# define YYTOKENTYPE 111f46a6179Smrg /* Put the tokens into the symbol table, so that GDB and other debuggers 112f46a6179Smrg know about them. */ 113f46a6179Smrg enum yytokentype { 114f46a6179Smrg END_OF_FILE = 0, 115f46a6179Smrg ERROR_TOK = 255, 116f46a6179Smrg XKB_KEYMAP = 1, 117f46a6179Smrg XKB_KEYCODES = 2, 118f46a6179Smrg XKB_TYPES = 3, 119f46a6179Smrg XKB_SYMBOLS = 4, 120f46a6179Smrg XKB_COMPATMAP = 5, 121f46a6179Smrg XKB_GEOMETRY = 6, 122f46a6179Smrg XKB_SEMANTICS = 7, 123f46a6179Smrg XKB_LAYOUT = 8, 124f46a6179Smrg INCLUDE = 10, 125f46a6179Smrg OVERRIDE = 11, 126f46a6179Smrg AUGMENT = 12, 127f46a6179Smrg REPLACE = 13, 128f46a6179Smrg ALTERNATE = 14, 129f46a6179Smrg VIRTUAL_MODS = 20, 130f46a6179Smrg TYPE = 21, 131f46a6179Smrg INTERPRET = 22, 132f46a6179Smrg ACTION_TOK = 23, 133f46a6179Smrg KEY = 24, 134f46a6179Smrg ALIAS = 25, 135f46a6179Smrg GROUP = 26, 136f46a6179Smrg MODIFIER_MAP = 27, 137f46a6179Smrg INDICATOR = 28, 138f46a6179Smrg SHAPE = 29, 139f46a6179Smrg KEYS = 30, 140f46a6179Smrg ROW = 31, 141f46a6179Smrg SECTION = 32, 142f46a6179Smrg OVERLAY = 33, 143f46a6179Smrg TEXT = 34, 144f46a6179Smrg OUTLINE = 35, 145f46a6179Smrg SOLID = 36, 146f46a6179Smrg LOGO = 37, 147f46a6179Smrg VIRTUAL = 38, 148f46a6179Smrg EQUALS = 40, 149f46a6179Smrg PLUS = 41, 150f46a6179Smrg MINUS = 42, 151f46a6179Smrg DIVIDE = 43, 152f46a6179Smrg TIMES = 44, 153f46a6179Smrg OBRACE = 45, 154f46a6179Smrg CBRACE = 46, 155f46a6179Smrg OPAREN = 47, 156f46a6179Smrg CPAREN = 48, 157f46a6179Smrg OBRACKET = 49, 158f46a6179Smrg CBRACKET = 50, 159f46a6179Smrg DOT = 51, 160f46a6179Smrg COMMA = 52, 161f46a6179Smrg SEMI = 53, 162f46a6179Smrg EXCLAM = 54, 163f46a6179Smrg INVERT = 55, 164f46a6179Smrg STRING = 60, 165f46a6179Smrg INTEGER = 61, 166f46a6179Smrg FLOAT = 62, 167f46a6179Smrg IDENT = 63, 168f46a6179Smrg KEYNAME = 64, 169f46a6179Smrg PARTIAL = 70, 170f46a6179Smrg DEFAULT = 71, 171f46a6179Smrg HIDDEN = 72, 172f46a6179Smrg ALPHANUMERIC_KEYS = 73, 173f46a6179Smrg MODIFIER_KEYS = 74, 174f46a6179Smrg KEYPAD_KEYS = 75, 175f46a6179Smrg FUNCTION_KEYS = 76, 176f46a6179Smrg ALTERNATE_GROUP = 77 177f46a6179Smrg }; 178f46a6179Smrg#endif 179f46a6179Smrg/* Tokens. */ 180f46a6179Smrg#define END_OF_FILE 0 181f46a6179Smrg#define ERROR_TOK 255 182f46a6179Smrg#define XKB_KEYMAP 1 183f46a6179Smrg#define XKB_KEYCODES 2 184f46a6179Smrg#define XKB_TYPES 3 185f46a6179Smrg#define XKB_SYMBOLS 4 186f46a6179Smrg#define XKB_COMPATMAP 5 187f46a6179Smrg#define XKB_GEOMETRY 6 188f46a6179Smrg#define XKB_SEMANTICS 7 189f46a6179Smrg#define XKB_LAYOUT 8 190f46a6179Smrg#define INCLUDE 10 191f46a6179Smrg#define OVERRIDE 11 192f46a6179Smrg#define AUGMENT 12 193f46a6179Smrg#define REPLACE 13 194f46a6179Smrg#define ALTERNATE 14 195f46a6179Smrg#define VIRTUAL_MODS 20 196f46a6179Smrg#define TYPE 21 197f46a6179Smrg#define INTERPRET 22 198f46a6179Smrg#define ACTION_TOK 23 199f46a6179Smrg#define KEY 24 200f46a6179Smrg#define ALIAS 25 201f46a6179Smrg#define GROUP 26 202f46a6179Smrg#define MODIFIER_MAP 27 203f46a6179Smrg#define INDICATOR 28 204f46a6179Smrg#define SHAPE 29 205f46a6179Smrg#define KEYS 30 206f46a6179Smrg#define ROW 31 207f46a6179Smrg#define SECTION 32 208f46a6179Smrg#define OVERLAY 33 209f46a6179Smrg#define TEXT 34 210f46a6179Smrg#define OUTLINE 35 211f46a6179Smrg#define SOLID 36 212f46a6179Smrg#define LOGO 37 213f46a6179Smrg#define VIRTUAL 38 214f46a6179Smrg#define EQUALS 40 215f46a6179Smrg#define PLUS 41 216f46a6179Smrg#define MINUS 42 217f46a6179Smrg#define DIVIDE 43 218f46a6179Smrg#define TIMES 44 219f46a6179Smrg#define OBRACE 45 220f46a6179Smrg#define CBRACE 46 221f46a6179Smrg#define OPAREN 47 222f46a6179Smrg#define CPAREN 48 223f46a6179Smrg#define OBRACKET 49 224f46a6179Smrg#define CBRACKET 50 225f46a6179Smrg#define DOT 51 226f46a6179Smrg#define COMMA 52 227f46a6179Smrg#define SEMI 53 228f46a6179Smrg#define EXCLAM 54 229f46a6179Smrg#define INVERT 55 230f46a6179Smrg#define STRING 60 231f46a6179Smrg#define INTEGER 61 232f46a6179Smrg#define FLOAT 62 233f46a6179Smrg#define IDENT 63 234f46a6179Smrg#define KEYNAME 64 235f46a6179Smrg#define PARTIAL 70 236f46a6179Smrg#define DEFAULT 71 237f46a6179Smrg#define HIDDEN 72 238f46a6179Smrg#define ALPHANUMERIC_KEYS 73 239f46a6179Smrg#define MODIFIER_KEYS 74 240f46a6179Smrg#define KEYPAD_KEYS 75 241f46a6179Smrg#define FUNCTION_KEYS 76 242f46a6179Smrg#define ALTERNATE_GROUP 77 243f46a6179Smrg 244f46a6179Smrg 245f46a6179Smrg 246f46a6179Smrg 247f46a6179Smrg#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 248f46a6179Smrgtypedef union YYSTYPE 249f46a6179Smrg{ 2505fac8b10Smrg 2515fac8b10Smrg/* Line 214 of yacc.c */ 2525fac8b10Smrg#line 110 "xkbparse.y" 2535fac8b10Smrg 254f46a6179Smrg int ival; 255f46a6179Smrg unsigned uval; 256f46a6179Smrg char *str; 257f46a6179Smrg Atom sval; 258f46a6179Smrg ParseCommon *any; 259f46a6179Smrg ExprDef *expr; 260f46a6179Smrg VarDef *var; 261f46a6179Smrg VModDef *vmod; 262f46a6179Smrg InterpDef *interp; 263f46a6179Smrg KeyTypeDef *keyType; 264f46a6179Smrg SymbolsDef *syms; 265f46a6179Smrg ModMapDef *modMask; 266f46a6179Smrg GroupCompatDef *groupCompat; 267f46a6179Smrg IndicatorMapDef *ledMap; 268f46a6179Smrg IndicatorNameDef *ledName; 269f46a6179Smrg KeycodeDef *keyName; 270f46a6179Smrg KeyAliasDef *keyAlias; 271f46a6179Smrg ShapeDef *shape; 272f46a6179Smrg SectionDef *section; 273f46a6179Smrg RowDef *row; 274f46a6179Smrg KeyDef *key; 275f46a6179Smrg OverlayDef *overlay; 276f46a6179Smrg OverlayKeyDef *olKey; 277f46a6179Smrg OutlineDef *outline; 278f46a6179Smrg DoodadDef *doodad; 279f46a6179Smrg XkbFile *file; 2805fac8b10Smrg 2815fac8b10Smrg 2825fac8b10Smrg 2835fac8b10Smrg/* Line 214 of yacc.c */ 2845fac8b10Smrg#line 285 "xkbparse.c" 2855fac8b10Smrg} YYSTYPE; 2865fac8b10Smrg# define YYSTYPE_IS_TRIVIAL 1 287f46a6179Smrg# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 288f46a6179Smrg# define YYSTYPE_IS_DECLARED 1 289f46a6179Smrg#endif 290f46a6179Smrg 291f46a6179Smrg 292f46a6179Smrg/* Copy the second part of user declarations. */ 293f46a6179Smrg 294f46a6179Smrg 2955fac8b10Smrg/* Line 264 of yacc.c */ 2965fac8b10Smrg#line 297 "xkbparse.c" 297f46a6179Smrg 298f46a6179Smrg#ifdef short 299f46a6179Smrg# undef short 300f46a6179Smrg#endif 301f46a6179Smrg 302f46a6179Smrg#ifdef YYTYPE_UINT8 303f46a6179Smrgtypedef YYTYPE_UINT8 yytype_uint8; 304f46a6179Smrg#else 305f46a6179Smrgtypedef unsigned char yytype_uint8; 306f46a6179Smrg#endif 307f46a6179Smrg 308f46a6179Smrg#ifdef YYTYPE_INT8 309f46a6179Smrgtypedef YYTYPE_INT8 yytype_int8; 310f46a6179Smrg#elif (defined __STDC__ || defined __C99__FUNC__ \ 311f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 312f46a6179Smrgtypedef signed char yytype_int8; 313f46a6179Smrg#else 314f46a6179Smrgtypedef short int yytype_int8; 315f46a6179Smrg#endif 316f46a6179Smrg 317f46a6179Smrg#ifdef YYTYPE_UINT16 318f46a6179Smrgtypedef YYTYPE_UINT16 yytype_uint16; 319f46a6179Smrg#else 320f46a6179Smrgtypedef unsigned short int yytype_uint16; 321f46a6179Smrg#endif 322f46a6179Smrg 323f46a6179Smrg#ifdef YYTYPE_INT16 324f46a6179Smrgtypedef YYTYPE_INT16 yytype_int16; 325f46a6179Smrg#else 326f46a6179Smrgtypedef short int yytype_int16; 327f46a6179Smrg#endif 328f46a6179Smrg 329f46a6179Smrg#ifndef YYSIZE_T 330f46a6179Smrg# ifdef __SIZE_TYPE__ 331f46a6179Smrg# define YYSIZE_T __SIZE_TYPE__ 332f46a6179Smrg# elif defined size_t 333f46a6179Smrg# define YYSIZE_T size_t 334f46a6179Smrg# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 335f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 336f46a6179Smrg# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 337f46a6179Smrg# define YYSIZE_T size_t 338f46a6179Smrg# else 339f46a6179Smrg# define YYSIZE_T unsigned int 340f46a6179Smrg# endif 341f46a6179Smrg#endif 342f46a6179Smrg 343f46a6179Smrg#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 344f46a6179Smrg 345f46a6179Smrg#ifndef YY_ 346f46a6179Smrg# if YYENABLE_NLS 347f46a6179Smrg# if ENABLE_NLS 348f46a6179Smrg# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 349f46a6179Smrg# define YY_(msgid) dgettext ("bison-runtime", msgid) 350f46a6179Smrg# endif 351f46a6179Smrg# endif 352f46a6179Smrg# ifndef YY_ 353f46a6179Smrg# define YY_(msgid) msgid 354f46a6179Smrg# endif 355f46a6179Smrg#endif 356f46a6179Smrg 357f46a6179Smrg/* Suppress unused-variable warnings by "using" E. */ 358f46a6179Smrg#if ! defined lint || defined __GNUC__ 359f46a6179Smrg# define YYUSE(e) ((void) (e)) 360f46a6179Smrg#else 361f46a6179Smrg# define YYUSE(e) /* empty */ 362f46a6179Smrg#endif 363f46a6179Smrg 364f46a6179Smrg/* Identity function, used to suppress warnings about constant conditions. */ 365f46a6179Smrg#ifndef lint 366f46a6179Smrg# define YYID(n) (n) 367f46a6179Smrg#else 368f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 369f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 370f46a6179Smrgstatic int 3715fac8b10SmrgYYID (int yyi) 372f46a6179Smrg#else 373f46a6179Smrgstatic int 3745fac8b10SmrgYYID (yyi) 3755fac8b10Smrg int yyi; 376f46a6179Smrg#endif 377f46a6179Smrg{ 3785fac8b10Smrg return yyi; 379f46a6179Smrg} 380f46a6179Smrg#endif 381f46a6179Smrg 382f46a6179Smrg#if ! defined yyoverflow || YYERROR_VERBOSE 383f46a6179Smrg 384f46a6179Smrg/* The parser invokes alloca or malloc; define the necessary symbols. */ 385f46a6179Smrg 386f46a6179Smrg# ifdef YYSTACK_USE_ALLOCA 387f46a6179Smrg# if YYSTACK_USE_ALLOCA 388f46a6179Smrg# ifdef __GNUC__ 389f46a6179Smrg# define YYSTACK_ALLOC __builtin_alloca 390f46a6179Smrg# elif defined __BUILTIN_VA_ARG_INCR 391f46a6179Smrg# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 392f46a6179Smrg# elif defined _AIX 393f46a6179Smrg# define YYSTACK_ALLOC __alloca 394f46a6179Smrg# elif defined _MSC_VER 395f46a6179Smrg# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 396f46a6179Smrg# define alloca _alloca 397f46a6179Smrg# else 398f46a6179Smrg# define YYSTACK_ALLOC alloca 399f46a6179Smrg# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 400f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 401f46a6179Smrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 402f46a6179Smrg# ifndef _STDLIB_H 403f46a6179Smrg# define _STDLIB_H 1 404f46a6179Smrg# endif 405f46a6179Smrg# endif 406f46a6179Smrg# endif 407f46a6179Smrg# endif 408f46a6179Smrg# endif 409f46a6179Smrg 410f46a6179Smrg# ifdef YYSTACK_ALLOC 411f46a6179Smrg /* Pacify GCC's `empty if-body' warning. */ 412f46a6179Smrg# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) 413f46a6179Smrg# ifndef YYSTACK_ALLOC_MAXIMUM 414f46a6179Smrg /* The OS might guarantee only one guard page at the bottom of the stack, 415f46a6179Smrg and a page size can be as small as 4096 bytes. So we cannot safely 416f46a6179Smrg invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 417f46a6179Smrg to allow for a few compiler-allocated temporary stack slots. */ 418f46a6179Smrg# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 419f46a6179Smrg# endif 420f46a6179Smrg# else 421f46a6179Smrg# define YYSTACK_ALLOC YYMALLOC 422f46a6179Smrg# define YYSTACK_FREE YYFREE 423f46a6179Smrg# ifndef YYSTACK_ALLOC_MAXIMUM 424f46a6179Smrg# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 425f46a6179Smrg# endif 426f46a6179Smrg# if (defined __cplusplus && ! defined _STDLIB_H \ 427f46a6179Smrg && ! ((defined YYMALLOC || defined malloc) \ 428f46a6179Smrg && (defined YYFREE || defined free))) 429f46a6179Smrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 430f46a6179Smrg# ifndef _STDLIB_H 431f46a6179Smrg# define _STDLIB_H 1 432f46a6179Smrg# endif 433f46a6179Smrg# endif 434f46a6179Smrg# ifndef YYMALLOC 435f46a6179Smrg# define YYMALLOC malloc 436f46a6179Smrg# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 437f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 438f46a6179Smrgvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 439f46a6179Smrg# endif 440f46a6179Smrg# endif 441f46a6179Smrg# ifndef YYFREE 442f46a6179Smrg# define YYFREE free 443f46a6179Smrg# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 444f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 445f46a6179Smrgvoid free (void *); /* INFRINGES ON USER NAME SPACE */ 446f46a6179Smrg# endif 447f46a6179Smrg# endif 448f46a6179Smrg# endif 449f46a6179Smrg#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ 450f46a6179Smrg 451f46a6179Smrg 452f46a6179Smrg#if (! defined yyoverflow \ 453f46a6179Smrg && (! defined __cplusplus \ 454f46a6179Smrg || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 455f46a6179Smrg 456f46a6179Smrg/* A type that is properly aligned for any stack member. */ 457f46a6179Smrgunion yyalloc 458f46a6179Smrg{ 4595fac8b10Smrg yytype_int16 yyss_alloc; 4605fac8b10Smrg YYSTYPE yyvs_alloc; 4615fac8b10Smrg}; 462f46a6179Smrg 463f46a6179Smrg/* The size of the maximum gap between one aligned stack and the next. */ 464f46a6179Smrg# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 465f46a6179Smrg 466f46a6179Smrg/* The size of an array large to enough to hold all stacks, each with 467f46a6179Smrg N elements. */ 468f46a6179Smrg# define YYSTACK_BYTES(N) \ 469f46a6179Smrg ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 470f46a6179Smrg + YYSTACK_GAP_MAXIMUM) 471f46a6179Smrg 472f46a6179Smrg/* Copy COUNT objects from FROM to TO. The source and destination do 473f46a6179Smrg not overlap. */ 474f46a6179Smrg# ifndef YYCOPY 475f46a6179Smrg# if defined __GNUC__ && 1 < __GNUC__ 476f46a6179Smrg# define YYCOPY(To, From, Count) \ 477f46a6179Smrg __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 478f46a6179Smrg# else 479f46a6179Smrg# define YYCOPY(To, From, Count) \ 480f46a6179Smrg do \ 481f46a6179Smrg { \ 482f46a6179Smrg YYSIZE_T yyi; \ 483f46a6179Smrg for (yyi = 0; yyi < (Count); yyi++) \ 484f46a6179Smrg (To)[yyi] = (From)[yyi]; \ 485f46a6179Smrg } \ 486f46a6179Smrg while (YYID (0)) 487f46a6179Smrg# endif 488f46a6179Smrg# endif 489f46a6179Smrg 490f46a6179Smrg/* Relocate STACK from its old location to the new one. The 491f46a6179Smrg local variables YYSIZE and YYSTACKSIZE give the old and new number of 492f46a6179Smrg elements in the stack, and YYPTR gives the new location of the 493f46a6179Smrg stack. Advance YYPTR to a properly aligned location for the next 494f46a6179Smrg stack. */ 4955fac8b10Smrg# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 496f46a6179Smrg do \ 497f46a6179Smrg { \ 498f46a6179Smrg YYSIZE_T yynewbytes; \ 4995fac8b10Smrg YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 5005fac8b10Smrg Stack = &yyptr->Stack_alloc; \ 501f46a6179Smrg yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 502f46a6179Smrg yyptr += yynewbytes / sizeof (*yyptr); \ 503f46a6179Smrg } \ 504f46a6179Smrg while (YYID (0)) 505f46a6179Smrg 506f46a6179Smrg#endif 507f46a6179Smrg 508f46a6179Smrg/* YYFINAL -- State number of the termination state. */ 509f46a6179Smrg#define YYFINAL 18 510f46a6179Smrg/* YYLAST -- Last index in YYTABLE. */ 511f46a6179Smrg#define YYLAST 706 512f46a6179Smrg 513f46a6179Smrg/* YYNTOKENS -- Number of terminals. */ 514f46a6179Smrg#define YYNTOKENS 65 515f46a6179Smrg/* YYNNTS -- Number of nonterminals. */ 516f46a6179Smrg#define YYNNTS 73 517f46a6179Smrg/* YYNRULES -- Number of rules. */ 518f46a6179Smrg#define YYNRULES 184 519f46a6179Smrg/* YYNRULES -- Number of states. */ 520f46a6179Smrg#define YYNSTATES 335 521f46a6179Smrg 522f46a6179Smrg/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 523f46a6179Smrg#define YYUNDEFTOK 2 524f46a6179Smrg#define YYMAXUTOK 257 525f46a6179Smrg 526f46a6179Smrg#define YYTRANSLATE(YYX) \ 527f46a6179Smrg ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 528f46a6179Smrg 529f46a6179Smrg/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 530f46a6179Smrgstatic const yytype_uint8 yytranslate[] = 531f46a6179Smrg{ 532f46a6179Smrg 0, 4, 5, 6, 7, 8, 9, 10, 11, 2, 533f46a6179Smrg 12, 13, 14, 15, 16, 2, 2, 2, 2, 2, 534f46a6179Smrg 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 535f46a6179Smrg 27, 28, 29, 30, 31, 32, 33, 34, 35, 2, 536f46a6179Smrg 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 537f46a6179Smrg 46, 47, 48, 49, 50, 51, 2, 2, 2, 2, 538f46a6179Smrg 52, 53, 54, 55, 56, 2, 2, 2, 2, 2, 539f46a6179Smrg 57, 58, 59, 60, 61, 62, 63, 64, 2, 2, 540f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 541f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 542f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 543f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 544f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 545f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 546f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 547f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 548f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 549f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 550f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 551f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 552f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 553f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 554f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 555f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 556f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 557f46a6179Smrg 2, 2, 2, 2, 2, 3, 1, 2 558f46a6179Smrg}; 559f46a6179Smrg 560f46a6179Smrg#if YYDEBUG 561f46a6179Smrg/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 562f46a6179Smrg YYRHS. */ 563f46a6179Smrgstatic const yytype_uint16 yyprhs[] = 564f46a6179Smrg{ 565f46a6179Smrg 0, 0, 3, 5, 7, 9, 12, 14, 22, 24, 566f46a6179Smrg 26, 28, 31, 33, 41, 46, 48, 50, 52, 54, 567f46a6179Smrg 56, 58, 59, 62, 64, 66, 68, 70, 72, 74, 568f46a6179Smrg 76, 78, 80, 83, 84, 87, 90, 93, 96, 99, 569f46a6179Smrg 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 570f46a6179Smrg 134, 137, 141, 146, 152, 156, 160, 162, 164, 168, 571f46a6179Smrg 175, 179, 181, 184, 186, 193, 200, 204, 206, 207, 572f46a6179Smrg 211, 215, 217, 220, 222, 226, 230, 236, 243, 250, 573f46a6179Smrg 256, 263, 270, 277, 284, 287, 289, 295, 297, 299, 574f46a6179Smrg 301, 303, 306, 308, 314, 316, 320, 322, 324, 328, 575f46a6179Smrg 335, 339, 341, 345, 349, 351, 355, 361, 365, 369, 576f46a6179Smrg 371, 377, 384, 386, 388, 390, 392, 394, 396, 398, 577f46a6179Smrg 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 578f46a6179Smrg 420, 421, 423, 425, 427, 429, 431, 433, 434, 438, 579f46a6179Smrg 440, 444, 448, 452, 456, 460, 462, 465, 468, 471, 580f46a6179Smrg 474, 476, 481, 483, 487, 491, 493, 498, 500, 504, 581f46a6179Smrg 509, 516, 518, 520, 522, 524, 526, 527, 531, 533, 582f46a6179Smrg 535, 537, 539, 542, 544, 546, 548, 550, 552, 554, 583f46a6179Smrg 556, 558, 560, 562, 563 584f46a6179Smrg}; 585f46a6179Smrg 586f46a6179Smrg/* YYRHS -- A `-1'-separated list of the rules' RHS. */ 587f46a6179Smrgstatic const yytype_int16 yyrhs[] = 588f46a6179Smrg{ 589f46a6179Smrg 66, 0, -1, 67, -1, 70, -1, 72, -1, 67, 590f46a6179Smrg 68, -1, 68, -1, 74, 69, 136, 41, 70, 42, 591f46a6179Smrg 49, -1, 4, -1, 10, -1, 11, -1, 70, 71, 592f46a6179Smrg -1, 71, -1, 74, 73, 136, 41, 77, 42, 49, 593f46a6179Smrg -1, 74, 73, 136, 77, -1, 5, -1, 6, -1, 594f46a6179Smrg 8, -1, 7, -1, 9, -1, 75, -1, -1, 75, 595f46a6179Smrg 76, -1, 76, -1, 57, -1, 58, -1, 59, -1, 596f46a6179Smrg 60, -1, 61, -1, 62, -1, 63, -1, 64, -1, 597f46a6179Smrg 77, 78, -1, -1, 116, 79, -1, 116, 82, -1, 598f46a6179Smrg 116, 85, -1, 116, 80, -1, 116, 81, -1, 116, 599f46a6179Smrg 88, -1, 116, 89, -1, 116, 94, -1, 116, 93, 600f46a6179Smrg -1, 116, 95, -1, 116, 96, -1, 116, 97, -1, 601f46a6179Smrg 116, 98, -1, 116, 112, -1, 117, 52, -1, 124, 602f46a6179Smrg 36, 120, 49, -1, 134, 49, -1, 50, 134, 49, 603f46a6179Smrg -1, 133, 36, 120, 49, -1, 22, 133, 36, 133, 604f46a6179Smrg 49, -1, 17, 83, 49, -1, 83, 48, 84, -1, 605f46a6179Smrg 84, -1, 134, -1, 134, 36, 120, -1, 19, 86, 606f46a6179Smrg 41, 87, 42, 49, -1, 128, 37, 120, -1, 128, 607f46a6179Smrg -1, 87, 79, -1, 79, -1, 18, 135, 41, 87, 608f46a6179Smrg 42, 49, -1, 21, 133, 41, 90, 42, 49, -1, 609f46a6179Smrg 90, 48, 91, -1, 91, -1, -1, 124, 36, 120, 610f46a6179Smrg -1, 124, 36, 92, -1, 134, -1, 50, 134, -1, 611f46a6179Smrg 92, -1, 45, 126, 46, -1, 45, 122, 46, -1, 612f46a6179Smrg 23, 132, 36, 120, 49, -1, 24, 134, 41, 119, 613f46a6179Smrg 42, 49, -1, 25, 135, 41, 87, 42, 49, -1, 614f46a6179Smrg 25, 132, 36, 120, 49, -1, 35, 25, 132, 36, 615f46a6179Smrg 120, 49, -1, 26, 135, 41, 108, 42, 49, -1, 616f46a6179Smrg 26, 135, 41, 110, 42, 49, -1, 29, 135, 41, 617f46a6179Smrg 99, 42, 49, -1, 99, 100, -1, 100, -1, 28, 618f46a6179Smrg 41, 101, 42, 49, -1, 79, -1, 112, -1, 95, 619f46a6179Smrg -1, 105, -1, 101, 102, -1, 102, -1, 27, 41, 620f46a6179Smrg 103, 42, 49, -1, 79, -1, 103, 48, 104, -1, 621f46a6179Smrg 104, -1, 133, -1, 41, 119, 42, -1, 30, 135, 622f46a6179Smrg 41, 106, 42, 49, -1, 106, 48, 107, -1, 107, 623f46a6179Smrg -1, 133, 36, 133, -1, 108, 48, 109, -1, 109, 624f46a6179Smrg -1, 41, 110, 42, -1, 134, 36, 41, 110, 42, 625f46a6179Smrg -1, 134, 36, 120, -1, 110, 48, 111, -1, 111, 626f46a6179Smrg -1, 45, 129, 48, 129, 46, -1, 113, 135, 41, 627f46a6179Smrg 87, 42, 49, -1, 31, -1, 32, -1, 33, -1, 628f46a6179Smrg 34, -1, 134, -1, 115, -1, 20, -1, 19, -1, 629f46a6179Smrg 18, -1, 21, -1, 23, -1, 24, -1, 25, -1, 630f46a6179Smrg 26, -1, 28, -1, 29, -1, 31, -1, 117, -1, 631f46a6179Smrg -1, 12, -1, 14, -1, 13, -1, 15, -1, 16, 632f46a6179Smrg -1, 119, -1, -1, 119, 48, 120, -1, 120, -1, 633f46a6179Smrg 120, 39, 120, -1, 120, 37, 120, -1, 120, 38, 634f46a6179Smrg 120, -1, 120, 40, 120, -1, 124, 36, 120, -1, 635f46a6179Smrg 121, -1, 38, 121, -1, 37, 121, -1, 50, 121, 636f46a6179Smrg -1, 51, 121, -1, 124, -1, 114, 43, 118, 44, 637f46a6179Smrg -1, 125, -1, 43, 120, 44, -1, 122, 48, 123, 638f46a6179Smrg -1, 123, -1, 114, 43, 118, 44, -1, 114, -1, 639f46a6179Smrg 114, 47, 114, -1, 114, 45, 120, 46, -1, 114, 640f46a6179Smrg 47, 114, 45, 120, 46, -1, 135, -1, 132, -1, 641f46a6179Smrg 131, -1, 133, -1, 127, -1, -1, 127, 48, 128, 642f46a6179Smrg -1, 128, -1, 55, -1, 29, -1, 132, -1, 38, 643f46a6179Smrg 130, -1, 130, -1, 54, -1, 53, -1, 54, -1, 644f46a6179Smrg 53, -1, 56, -1, 55, -1, 58, -1, 52, -1, 645f46a6179Smrg 137, -1, -1, 52, -1 646f46a6179Smrg}; 647f46a6179Smrg 648f46a6179Smrg/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 649f46a6179Smrgstatic const yytype_uint16 yyrline[] = 650f46a6179Smrg{ 65134345a63Smrg 0, 168, 168, 170, 172, 176, 178, 182, 188, 189, 65234345a63Smrg 190, 193, 195, 199, 205, 210, 211, 212, 213, 214, 65334345a63Smrg 217, 218, 221, 222, 225, 226, 227, 228, 229, 230, 65434345a63Smrg 231, 232, 235, 237, 240, 245, 250, 255, 260, 265, 65534345a63Smrg 270, 275, 280, 285, 290, 295, 300, 305, 310, 322, 65634345a63Smrg 324, 326, 330, 341, 351, 355, 357, 361, 363, 367, 65734345a63Smrg 376, 378, 382, 384, 388, 394, 400, 402, 404, 407, 65834345a63Smrg 409, 411, 413, 415, 419, 421, 425, 429, 433, 437, 65934345a63Smrg 439, 443, 445, 453, 457, 459, 463, 465, 467, 469, 66034345a63Smrg 471, 475, 477, 481, 483, 487, 489, 493, 495, 499, 66134345a63Smrg 503, 508, 512, 516, 518, 522, 524, 526, 530, 532, 66234345a63Smrg 536, 546, 550, 551, 552, 553, 556, 557, 560, 562, 66334345a63Smrg 564, 566, 568, 570, 572, 574, 576, 578, 580, 584, 66434345a63Smrg 585, 588, 589, 590, 591, 592, 595, 596, 599, 601, 66534345a63Smrg 605, 607, 609, 611, 613, 615, 619, 621, 623, 625, 66634345a63Smrg 627, 629, 631, 633, 637, 639, 643, 647, 654, 662, 66734345a63Smrg 671, 682, 689, 696, 703, 714, 715, 718, 720, 724, 668f46a6179Smrg 739, 743, 750, 751, 754, 755, 758, 761, 764, 767, 669f46a6179Smrg 768, 771, 774, 775, 778 670f46a6179Smrg}; 671f46a6179Smrg#endif 672f46a6179Smrg 673f46a6179Smrg#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 674f46a6179Smrg/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 675f46a6179Smrg First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 676f46a6179Smrgstatic const char *const yytname[] = 677f46a6179Smrg{ 678f46a6179Smrg "END_OF_FILE", "error", "$undefined", "ERROR_TOK", "XKB_KEYMAP", 679f46a6179Smrg "XKB_KEYCODES", "XKB_TYPES", "XKB_SYMBOLS", "XKB_COMPATMAP", 680f46a6179Smrg "XKB_GEOMETRY", "XKB_SEMANTICS", "XKB_LAYOUT", "INCLUDE", "OVERRIDE", 681f46a6179Smrg "AUGMENT", "REPLACE", "ALTERNATE", "VIRTUAL_MODS", "TYPE", "INTERPRET", 682f46a6179Smrg "ACTION_TOK", "KEY", "ALIAS", "GROUP", "MODIFIER_MAP", "INDICATOR", 683f46a6179Smrg "SHAPE", "KEYS", "ROW", "SECTION", "OVERLAY", "TEXT", "OUTLINE", "SOLID", 684f46a6179Smrg "LOGO", "VIRTUAL", "EQUALS", "PLUS", "MINUS", "DIVIDE", "TIMES", 685f46a6179Smrg "OBRACE", "CBRACE", "OPAREN", "CPAREN", "OBRACKET", "CBRACKET", "DOT", 686f46a6179Smrg "COMMA", "SEMI", "EXCLAM", "INVERT", "STRING", "INTEGER", "FLOAT", 687f46a6179Smrg "IDENT", "KEYNAME", "PARTIAL", "DEFAULT", "HIDDEN", "ALPHANUMERIC_KEYS", 688f46a6179Smrg "MODIFIER_KEYS", "KEYPAD_KEYS", "FUNCTION_KEYS", "ALTERNATE_GROUP", 689f46a6179Smrg "$accept", "XkbFile", "XkbCompMapList", "XkbCompositeMap", 690f46a6179Smrg "XkbCompositeType", "XkbMapConfigList", "XkbMapConfig", "XkbConfig", 691f46a6179Smrg "FileType", "OptFlags", "Flags", "Flag", "DeclList", "Decl", "VarDecl", 692f46a6179Smrg "KeyNameDecl", "KeyAliasDecl", "VModDecl", "VModDefList", "VModDef", 693f46a6179Smrg "InterpretDecl", "InterpretMatch", "VarDeclList", "KeyTypeDecl", 694f46a6179Smrg "SymbolsDecl", "SymbolsBody", "SymbolsVarDecl", "ArrayInit", 695f46a6179Smrg "GroupCompatDecl", "ModMapDecl", "IndicatorMapDecl", "IndicatorNameDecl", 696f46a6179Smrg "ShapeDecl", "SectionDecl", "SectionBody", "SectionBodyItem", "RowBody", 697f46a6179Smrg "RowBodyItem", "Keys", "Key", "OverlayDecl", "OverlayKeyList", 698f46a6179Smrg "OverlayKey", "OutlineList", "OutlineInList", "CoordList", "Coord", 699f46a6179Smrg "DoodadDecl", "DoodadType", "FieldSpec", "Element", "OptMergeMode", 700f46a6179Smrg "MergeMode", "OptExprList", "ExprList", "Expr", "Term", "ActionList", 701f46a6179Smrg "Action", "Lhs", "Terminal", "OptKeySymList", "KeySymList", "KeySym", 702f46a6179Smrg "SignedNumber", "Number", "Float", "Integer", "KeyName", "Ident", 703f46a6179Smrg "String", "OptMapName", "MapName", 0 704f46a6179Smrg}; 705f46a6179Smrg#endif 706f46a6179Smrg 707f46a6179Smrg# ifdef YYPRINT 708f46a6179Smrg/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 709f46a6179Smrg token YYLEX-NUM. */ 710f46a6179Smrgstatic const yytype_uint16 yytoknum[] = 711f46a6179Smrg{ 712f46a6179Smrg 0, 256, 257, 255, 1, 2, 3, 4, 5, 6, 713f46a6179Smrg 7, 8, 10, 11, 12, 13, 14, 20, 21, 22, 714f46a6179Smrg 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 715f46a6179Smrg 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 716f46a6179Smrg 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 717f46a6179Smrg 54, 55, 60, 61, 62, 63, 64, 70, 71, 72, 718f46a6179Smrg 73, 74, 75, 76, 77 719f46a6179Smrg}; 720f46a6179Smrg# endif 721f46a6179Smrg 722f46a6179Smrg/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 723f46a6179Smrgstatic const yytype_uint8 yyr1[] = 724f46a6179Smrg{ 725f46a6179Smrg 0, 65, 66, 66, 66, 67, 67, 68, 69, 69, 726f46a6179Smrg 69, 70, 70, 71, 72, 73, 73, 73, 73, 73, 727f46a6179Smrg 74, 74, 75, 75, 76, 76, 76, 76, 76, 76, 728f46a6179Smrg 76, 76, 77, 77, 78, 78, 78, 78, 78, 78, 729f46a6179Smrg 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 730f46a6179Smrg 79, 79, 80, 81, 82, 83, 83, 84, 84, 85, 731f46a6179Smrg 86, 86, 87, 87, 88, 89, 90, 90, 90, 91, 732f46a6179Smrg 91, 91, 91, 91, 92, 92, 93, 94, 95, 96, 733f46a6179Smrg 96, 97, 97, 98, 99, 99, 100, 100, 100, 100, 734f46a6179Smrg 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 735f46a6179Smrg 106, 106, 107, 108, 108, 109, 109, 109, 110, 110, 736f46a6179Smrg 111, 112, 113, 113, 113, 113, 114, 114, 115, 115, 737f46a6179Smrg 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 738f46a6179Smrg 116, 117, 117, 117, 117, 117, 118, 118, 119, 119, 739f46a6179Smrg 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 740f46a6179Smrg 121, 121, 121, 121, 122, 122, 123, 124, 124, 124, 741f46a6179Smrg 124, 125, 125, 125, 125, 126, 126, 127, 127, 128, 742f46a6179Smrg 128, 128, 129, 129, 130, 130, 131, 132, 133, 134, 743f46a6179Smrg 134, 135, 136, 136, 137 744f46a6179Smrg}; 745f46a6179Smrg 746f46a6179Smrg/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 747f46a6179Smrgstatic const yytype_uint8 yyr2[] = 748f46a6179Smrg{ 749f46a6179Smrg 0, 2, 1, 1, 1, 2, 1, 7, 1, 1, 750f46a6179Smrg 1, 2, 1, 7, 4, 1, 1, 1, 1, 1, 751f46a6179Smrg 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 752f46a6179Smrg 1, 1, 2, 0, 2, 2, 2, 2, 2, 2, 753f46a6179Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 754f46a6179Smrg 2, 3, 4, 5, 3, 3, 1, 1, 3, 6, 755f46a6179Smrg 3, 1, 2, 1, 6, 6, 3, 1, 0, 3, 756f46a6179Smrg 3, 1, 2, 1, 3, 3, 5, 6, 6, 5, 757f46a6179Smrg 6, 6, 6, 6, 2, 1, 5, 1, 1, 1, 758f46a6179Smrg 1, 2, 1, 5, 1, 3, 1, 1, 3, 6, 759f46a6179Smrg 3, 1, 3, 3, 1, 3, 5, 3, 3, 1, 760f46a6179Smrg 5, 6, 1, 1, 1, 1, 1, 1, 1, 1, 761f46a6179Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 762f46a6179Smrg 0, 1, 1, 1, 1, 1, 1, 0, 3, 1, 763f46a6179Smrg 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 764f46a6179Smrg 1, 4, 1, 3, 3, 1, 4, 1, 3, 4, 765f46a6179Smrg 6, 1, 1, 1, 1, 1, 0, 3, 1, 1, 766f46a6179Smrg 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 767f46a6179Smrg 1, 1, 1, 0, 1 768f46a6179Smrg}; 769f46a6179Smrg 770f46a6179Smrg/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state 771f46a6179Smrg STATE-NUM when YYTABLE doesn't specify something else to do. Zero 772f46a6179Smrg means the default is an error. */ 773f46a6179Smrgstatic const yytype_uint8 yydefact[] = 774f46a6179Smrg{ 775f46a6179Smrg 21, 24, 25, 26, 27, 28, 29, 30, 31, 0, 776f46a6179Smrg 21, 6, 21, 12, 4, 0, 20, 23, 1, 5, 777f46a6179Smrg 0, 11, 0, 8, 15, 16, 18, 17, 19, 9, 778f46a6179Smrg 10, 183, 183, 22, 183, 184, 0, 182, 33, 0, 779f46a6179Smrg 21, 33, 130, 21, 130, 131, 133, 132, 134, 135, 780f46a6179Smrg 32, 0, 129, 0, 0, 0, 120, 119, 118, 121, 781f46a6179Smrg 0, 122, 123, 124, 125, 126, 127, 128, 113, 114, 782f46a6179Smrg 115, 0, 0, 179, 178, 180, 34, 37, 38, 35, 783f46a6179Smrg 36, 39, 40, 42, 41, 43, 44, 45, 46, 47, 784f46a6179Smrg 0, 157, 117, 0, 0, 116, 48, 7, 13, 0, 785f46a6179Smrg 56, 57, 181, 0, 170, 177, 169, 0, 61, 171, 786f46a6179Smrg 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787f46a6179Smrg 0, 0, 0, 0, 0, 50, 0, 54, 0, 0, 788f46a6179Smrg 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 789f46a6179Smrg 0, 51, 0, 120, 119, 121, 122, 123, 124, 125, 790f46a6179Smrg 127, 128, 0, 0, 0, 0, 0, 176, 157, 0, 791f46a6179Smrg 145, 150, 152, 163, 162, 164, 116, 161, 158, 0, 792f46a6179Smrg 0, 55, 58, 63, 0, 0, 60, 166, 0, 0, 793f46a6179Smrg 67, 73, 0, 116, 0, 0, 0, 139, 0, 0, 794f46a6179Smrg 0, 0, 0, 104, 0, 109, 0, 124, 126, 0, 795f46a6179Smrg 87, 89, 0, 85, 90, 88, 0, 0, 147, 150, 796f46a6179Smrg 146, 0, 148, 149, 137, 0, 0, 0, 0, 159, 797f46a6179Smrg 0, 0, 49, 52, 0, 62, 0, 170, 169, 0, 798f46a6179Smrg 0, 155, 0, 165, 168, 72, 0, 0, 0, 53, 799f46a6179Smrg 76, 0, 0, 79, 0, 0, 0, 175, 174, 0, 800f46a6179Smrg 173, 0, 0, 0, 0, 0, 0, 0, 0, 84, 801f46a6179Smrg 0, 0, 153, 0, 136, 141, 142, 140, 143, 144, 802f46a6179Smrg 0, 64, 59, 137, 75, 0, 74, 0, 65, 66, 803f46a6179Smrg 70, 69, 77, 138, 78, 105, 172, 0, 81, 103, 804f46a6179Smrg 82, 108, 0, 107, 0, 94, 0, 92, 0, 83, 805f46a6179Smrg 80, 111, 151, 160, 0, 154, 167, 0, 0, 0, 806f46a6179Smrg 0, 91, 0, 101, 0, 156, 110, 106, 0, 0, 807f46a6179Smrg 96, 97, 86, 0, 0, 0, 0, 0, 0, 99, 808f46a6179Smrg 100, 102, 98, 93, 95 809f46a6179Smrg}; 810f46a6179Smrg 811f46a6179Smrg/* YYDEFGOTO[NTERM-NUM]. */ 812f46a6179Smrgstatic const yytype_int16 yydefgoto[] = 813f46a6179Smrg{ 814f46a6179Smrg -1, 9, 10, 11, 31, 12, 13, 14, 32, 22, 815f46a6179Smrg 16, 17, 42, 50, 173, 77, 78, 79, 99, 100, 816f46a6179Smrg 80, 107, 174, 81, 82, 179, 180, 181, 83, 84, 817f46a6179Smrg 201, 86, 87, 88, 202, 203, 296, 297, 319, 320, 818f46a6179Smrg 204, 312, 313, 192, 193, 194, 195, 205, 90, 158, 819f46a6179Smrg 92, 51, 52, 263, 264, 187, 160, 230, 231, 161, 820f46a6179Smrg 162, 232, 233, 108, 249, 250, 163, 164, 165, 166, 821f46a6179Smrg 167, 36, 37 822f46a6179Smrg}; 823f46a6179Smrg 824f46a6179Smrg/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 825f46a6179Smrg STATE-NUM. */ 826f46a6179Smrg#define YYPACT_NINF -188 827f46a6179Smrgstatic const yytype_int16 yypact[] = 828f46a6179Smrg{ 829f46a6179Smrg 628, -188, -188, -188, -188, -188, -188, -188, -188, 12, 830f46a6179Smrg 4, -188, 58, -188, -188, 695, 628, -188, -188, -188, 831f46a6179Smrg 121, -188, 408, -188, -188, -188, -188, -188, -188, -188, 832f46a6179Smrg -188, -9, -9, -188, -9, -188, 19, -188, 45, 45, 833f46a6179Smrg 628, -188, 174, 620, 137, -188, -188, -188, -188, -188, 834f46a6179Smrg -188, 317, 39, -15, 50, 1, 59, -18, -188, 72, 835f46a6179Smrg 72, 106, 1, -27, 59, -188, 59, 62, -188, -188, 836f46a6179Smrg -188, 117, 1, -188, -188, -188, -188, -188, -188, -188, 837f46a6179Smrg -188, -188, -188, -188, -188, -188, -188, -188, -188, -188, 838f46a6179Smrg 59, 51, -188, 125, 146, 134, -188, -188, -188, 132, 839f46a6179Smrg -188, 163, -188, 168, -188, -188, -188, 173, 179, -188, 840f46a6179Smrg 178, 186, 190, 194, 206, 204, 208, 221, 106, 216, 841f46a6179Smrg 225, 265, 640, 265, 265, -188, 1, -188, 265, 599, 842f46a6179Smrg 599, 265, 470, 72, 265, 265, 265, 599, -26, 21, 843f46a6179Smrg 239, -188, 599, -188, -188, -188, -188, -188, -188, -188, 844f46a6179Smrg -188, -188, 265, 265, 265, 265, 265, -188, 159, 232, 845f46a6179Smrg -188, 240, -188, -188, -188, -188, -188, -188, 223, 98, 846f46a6179Smrg 156, -188, 260, -188, 485, 513, 260, 617, 1, 30, 847f46a6179Smrg -188, -188, 243, 32, 231, 192, 64, 260, 199, 528, 848f46a6179Smrg 236, 35, 127, -188, 128, -188, 251, 59, 270, 59, 849f46a6179Smrg -188, -188, 422, -188, -188, -188, 265, 556, -188, -188, 850f46a6179Smrg -188, 342, -188, -188, 265, 265, 265, 265, 265, -188, 851f46a6179Smrg 265, 265, -188, -188, 263, -188, 264, 249, 271, 281, 852f46a6179Smrg 61, -188, 279, 278, -188, -188, 280, 470, 340, -188, 853f46a6179Smrg -188, 283, 265, -188, 284, 129, 16, -188, -188, 282, 854f46a6179Smrg -188, 298, -34, 308, 236, 381, 576, 287, 321, -188, 855f46a6179Smrg 215, 325, -188, 332, 336, 158, 158, -188, -188, 260, 856f46a6179Smrg 316, -188, -188, 265, -188, 640, -188, -18, -188, -188, 857f46a6179Smrg -188, 260, -188, 260, -188, -188, -188, 35, -188, -188, 858f46a6179Smrg -188, -188, 236, 260, 346, -188, 442, -188, 72, -188, 859f46a6179Smrg -188, -188, -188, -188, 344, -188, -188, 343, 143, -28, 860f46a6179Smrg 348, -188, 176, -188, 367, -188, -188, -188, 265, 198, 861f46a6179Smrg -188, -188, -188, 359, 72, 72, 202, 362, -28, -188, 862f46a6179Smrg -188, -188, -188, -188, -188 863f46a6179Smrg}; 864f46a6179Smrg 865f46a6179Smrg/* YYPGOTO[NTERM-NUM]. */ 866f46a6179Smrgstatic const yytype_int16 yypgoto[] = 867f46a6179Smrg{ 868f46a6179Smrg -188, -188, -188, 410, -188, 383, -7, -188, 399, 38, 869f46a6179Smrg -188, 409, 385, -188, -35, -188, -188, -188, -188, 301, 870f46a6179Smrg -188, -188, -47, -188, -188, -188, 191, 200, -188, -188, 871f46a6179Smrg 378, -188, -188, -188, -188, 228, -188, 148, -188, 130, 872f46a6179Smrg -188, -188, 133, -188, 197, -187, 205, 423, -188, 26, 873f46a6179Smrg -188, -188, -188, 203, -134, 89, 104, -188, 207, -29, 874f46a6179Smrg -188, -188, -188, -175, 188, 233, -188, -43, -51, -45, 875f46a6179Smrg -33, 109, -188 876f46a6179Smrg}; 877f46a6179Smrg 878f46a6179Smrg/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 879f46a6179Smrg positive, shift that token. If negative, reduce the rule which 880f46a6179Smrg number is the opposite. If zero, do what YYDEFACT says. 881f46a6179Smrg If YYTABLE_NINF, syntax error. */ 882f46a6179Smrg#define YYTABLE_NINF -180 883f46a6179Smrgstatic const yytype_int16 yytable[] = 884f46a6179Smrg{ 885f46a6179Smrg 94, 186, 234, 245, -2, 21, 95, 190, 110, 111, 886f46a6179Smrg 101, 104, 18, 318, 109, 190, 76, 113, 112, 191, 887f46a6179Smrg 114, 73, 93, 103, 75, 102, 105, 119, 74, 73, 888f46a6179Smrg 115, 116, 75, 117, 97, 105, 21, 106, 15, 143, 889f46a6179Smrg 144, 58, 145, 35, 146, 147, 197, 149, 20, 198, 890f46a6179Smrg 150, 199, 67, 68, 69, 70, 73, 120, -3, 75, 891f46a6179Smrg 40, 1, 2, 3, 4, 5, 6, 7, 8, 247, 892f46a6179Smrg 248, 72, 236, 246, -71, 140, 73, 91, 237, 75, 893f46a6179Smrg -71, 101, 184, 175, 95, 95, 41, 183, 247, 248, 894f46a6179Smrg 189, 96, 95, 196, 95, 207, 121, 95, 122, 98, 895f46a6179Smrg 93, 93, 306, 182, 200, 308, 241, 274, 93, 275, 896f46a6179Smrg 93, 102, 242, 93, -112, 1, 2, 3, 4, 5, 897f46a6179Smrg 6, 7, 8, 209, 209, 23, 209, 209, 74, 95, 898f46a6179Smrg 95, 29, 30, 235, 109, 215, 216, 217, 218, 225, 899f46a6179Smrg 225, 38, 118, 39, 95, 93, 93, 222, 168, 45, 900f46a6179Smrg 46, 47, 48, 49, 225, 91, 91, 95, 91, 105, 901f46a6179Smrg 93, 123, 95, 91, 115, 91, 257, 200, 91, 251, 902f46a6179Smrg 253, 285, 225, 93, -14, 252, 254, 254, 93, 54, 903f46a6179Smrg 126, 127, 124, 125, 326, 317, 45, 46, 47, 48, 904f46a6179Smrg 49, 254, 183, 215, 216, 217, 218, 217, 218, 128, 905f46a6179Smrg 91, 91, 214, 229, 121, 223, 122, 196, 182, 129, 906f46a6179Smrg 159, 95, 169, 170, 130, 91, 131, 172, 323, 132, 907f46a6179Smrg 176, 295, 133, 185, 324, 188, 134, 93, 91, 215, 908f46a6179Smrg 216, 217, 218, 91, 109, 135, 215, 216, 217, 218, 909f46a6179Smrg 327, 240, 136, 211, 332, 137, 328, 314, 243, 138, 910f46a6179Smrg 242, 95, 215, 216, 217, 218, 208, 210, 321, 212, 911f46a6179Smrg 213, 295, 139, 91, 300, 141, 142, 93, 221, 215, 912f46a6179Smrg 216, 217, 218, 314, 331, 206, 220, 321, 219, 238, 913f46a6179Smrg 239, 191, 91, 143, 144, 58, 145, 255, 146, 147, 914f46a6179Smrg 148, 149, -127, 65, 150, 260, 151, 215, 216, 217, 915f46a6179Smrg 218, 229, 152, 153, 265, 266, 267, 268, 154, 269, 916f46a6179Smrg 270, 256, 271, 272, -179, 155, 156, 102, 105, 157, 917f46a6179Smrg 73, 74, 91, 75, 273, 276, 277, 281, 298, 278, 918f46a6179Smrg 287, 283, 282, 284, 55, 56, 57, 58, 59, 60, 919f46a6179Smrg 61, 62, 63, 64, 293, 65, 66, 288, 67, 68, 920f46a6179Smrg 69, 70, 71, 215, 216, 217, 218, 290, 143, 144, 921f46a6179Smrg 58, 145, 303, 146, 147, 148, 149, 72, 65, 150, 922f46a6179Smrg 299, 151, 73, 74, 301, 75, 302, 152, 153, 215, 923f46a6179Smrg 216, 217, 218, 154, 242, 177, 262, 309, 315, 316, 924f46a6179Smrg 155, 156, 102, 105, 157, 73, 74, 322, 75, 143, 925f46a6179Smrg 144, 58, 145, 325, 146, 147, 148, 149, 329, 65, 926f46a6179Smrg 150, 333, 151, 24, 25, 26, 27, 28, 152, 153, 927f46a6179Smrg 19, 34, 292, 43, 154, 33, 44, 171, 279, 85, 928f46a6179Smrg 259, 155, 156, 102, 105, 157, 73, 74, 280, 75, 929f46a6179Smrg 143, 144, 58, 145, 311, 146, 147, 197, 149, 289, 930f46a6179Smrg 198, 150, 199, 67, 68, 69, 70, 330, 334, 291, 931f46a6179Smrg 143, 144, 58, 145, 258, 146, 147, 148, 149, 294, 932f46a6179Smrg 65, 150, 72, 151, 89, 307, 304, 73, 0, 286, 933f46a6179Smrg 75, 0, 305, 0, 310, 0, 0, 0, 143, 144, 934f46a6179Smrg 58, 145, 72, 146, 147, 148, 149, 73, 65, 150, 935f46a6179Smrg 75, 151, 0, 143, 144, 58, 145, 0, 146, 147, 936f46a6179Smrg 148, 149, 0, 65, 150, 177, 151, 0, 0, 0, 937f46a6179Smrg 178, 0, 0, 0, 0, 73, 0, 224, 75, 0, 938f46a6179Smrg 0, 143, 144, 58, 145, 72, 146, 147, 148, 149, 939f46a6179Smrg 73, 65, 150, 75, 151, 0, 143, 144, 58, 145, 940f46a6179Smrg 0, 146, 147, 148, 149, 226, 65, 150, 0, 151, 941f46a6179Smrg 0, 0, 0, 72, 0, 0, 0, 0, 73, 0, 942f46a6179Smrg 244, 75, 0, 0, 143, 144, 58, 145, 72, 146, 943f46a6179Smrg 147, 148, 149, 73, 65, 150, 75, 151, 0, 0, 944f46a6179Smrg 0, 0, 0, 0, 143, 144, 58, 145, 261, 146, 945f46a6179Smrg 147, 148, 149, 294, 65, 150, 72, 151, 0, 0, 946f46a6179Smrg 0, 73, 0, 0, 75, 0, 0, 143, 144, 58, 947f46a6179Smrg 145, 0, 146, 147, 148, 149, 72, 65, 150, 0, 948f46a6179Smrg 151, 73, 0, 0, 75, 143, 144, 58, 145, 0, 949f46a6179Smrg 146, 147, 148, 149, 0, 65, 227, 0, 151, 72, 950f46a6179Smrg 0, 0, 0, 0, 73, 0, 0, 75, 143, 144, 951f46a6179Smrg 58, 145, 53, 146, 147, 148, 149, 0, 65, 150, 952f46a6179Smrg 105, 151, 228, 0, 0, 75, 0, 1, 2, 3, 953f46a6179Smrg 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 954f46a6179Smrg 6, 7, 8, 0, 0, 73, 0, 0, 75, 23, 955f46a6179Smrg 24, 25, 26, 27, 28, 29, 30 956f46a6179Smrg}; 957f46a6179Smrg 958f46a6179Smrgstatic const yytype_int16 yycheck[] = 959f46a6179Smrg{ 960f46a6179Smrg 51, 135, 177, 190, 0, 12, 51, 41, 59, 60, 961f46a6179Smrg 55, 29, 0, 41, 57, 41, 51, 62, 61, 45, 962f46a6179Smrg 63, 55, 51, 56, 58, 52, 53, 72, 56, 55, 963f46a6179Smrg 63, 64, 58, 66, 49, 53, 43, 55, 0, 18, 964f46a6179Smrg 19, 20, 21, 52, 23, 24, 25, 26, 10, 28, 965f46a6179Smrg 29, 30, 31, 32, 33, 34, 55, 90, 0, 58, 966f46a6179Smrg 41, 57, 58, 59, 60, 61, 62, 63, 64, 53, 967f46a6179Smrg 54, 50, 42, 38, 42, 118, 55, 51, 48, 58, 968f46a6179Smrg 48, 126, 133, 130, 129, 130, 41, 132, 53, 54, 969f46a6179Smrg 137, 52, 137, 138, 139, 142, 45, 142, 47, 49, 970f46a6179Smrg 129, 130, 277, 132, 139, 292, 42, 46, 137, 48, 971f46a6179Smrg 139, 52, 48, 142, 52, 57, 58, 59, 60, 61, 972f46a6179Smrg 62, 63, 64, 152, 153, 4, 155, 156, 56, 174, 973f46a6179Smrg 175, 10, 11, 178, 177, 37, 38, 39, 40, 174, 974f46a6179Smrg 175, 32, 25, 34, 189, 174, 175, 49, 122, 12, 975f46a6179Smrg 13, 14, 15, 16, 189, 129, 130, 202, 132, 53, 976f46a6179Smrg 189, 36, 207, 137, 197, 139, 199, 202, 142, 42, 977f46a6179Smrg 42, 42, 207, 202, 0, 48, 48, 48, 207, 42, 978f46a6179Smrg 48, 49, 36, 49, 318, 42, 12, 13, 14, 15, 979f46a6179Smrg 16, 48, 237, 37, 38, 39, 40, 39, 40, 36, 980f46a6179Smrg 174, 175, 43, 177, 45, 49, 47, 252, 237, 41, 981f46a6179Smrg 121, 256, 123, 124, 41, 189, 37, 128, 42, 41, 982f46a6179Smrg 131, 256, 36, 134, 48, 136, 36, 256, 202, 37, 983f46a6179Smrg 38, 39, 40, 207, 277, 41, 37, 38, 39, 40, 984f46a6179Smrg 42, 49, 36, 154, 42, 41, 48, 298, 49, 41, 985f46a6179Smrg 48, 296, 37, 38, 39, 40, 152, 153, 309, 155, 986f46a6179Smrg 156, 296, 41, 237, 49, 49, 41, 296, 45, 37, 987f46a6179Smrg 38, 39, 40, 324, 325, 36, 36, 328, 46, 36, 988f46a6179Smrg 49, 45, 256, 18, 19, 20, 21, 36, 23, 24, 989f46a6179Smrg 25, 26, 43, 28, 29, 206, 31, 37, 38, 39, 990f46a6179Smrg 40, 275, 37, 38, 215, 216, 217, 218, 43, 220, 991f46a6179Smrg 221, 41, 49, 49, 43, 50, 51, 52, 53, 54, 992f46a6179Smrg 55, 56, 296, 58, 43, 46, 48, 238, 41, 49, 993f46a6179Smrg 48, 242, 49, 49, 17, 18, 19, 20, 21, 22, 994f46a6179Smrg 23, 24, 25, 26, 255, 28, 29, 49, 31, 32, 995f46a6179Smrg 33, 34, 35, 37, 38, 39, 40, 49, 18, 19, 996f46a6179Smrg 20, 21, 46, 23, 24, 25, 26, 50, 28, 29, 997f46a6179Smrg 49, 31, 55, 56, 49, 58, 44, 37, 38, 37, 998f46a6179Smrg 38, 39, 40, 43, 48, 45, 44, 41, 44, 46, 999f46a6179Smrg 50, 51, 52, 53, 54, 55, 56, 49, 58, 18, 1000f46a6179Smrg 19, 20, 21, 36, 23, 24, 25, 26, 49, 28, 1001f46a6179Smrg 29, 49, 31, 5, 6, 7, 8, 9, 37, 38, 1002f46a6179Smrg 10, 22, 41, 40, 43, 16, 41, 126, 237, 51, 1003f46a6179Smrg 202, 50, 51, 52, 53, 54, 55, 56, 238, 58, 1004f46a6179Smrg 18, 19, 20, 21, 296, 23, 24, 25, 26, 252, 1005f46a6179Smrg 28, 29, 30, 31, 32, 33, 34, 324, 328, 254, 1006f46a6179Smrg 18, 19, 20, 21, 42, 23, 24, 25, 26, 27, 1007f46a6179Smrg 28, 29, 50, 31, 51, 287, 273, 55, -1, 246, 1008f46a6179Smrg 58, -1, 275, -1, 42, -1, -1, -1, 18, 19, 1009f46a6179Smrg 20, 21, 50, 23, 24, 25, 26, 55, 28, 29, 1010f46a6179Smrg 58, 31, -1, 18, 19, 20, 21, -1, 23, 24, 1011f46a6179Smrg 25, 26, -1, 28, 29, 45, 31, -1, -1, -1, 1012f46a6179Smrg 50, -1, -1, -1, -1, 55, -1, 42, 58, -1, 1013f46a6179Smrg -1, 18, 19, 20, 21, 50, 23, 24, 25, 26, 1014f46a6179Smrg 55, 28, 29, 58, 31, -1, 18, 19, 20, 21, 1015f46a6179Smrg -1, 23, 24, 25, 26, 42, 28, 29, -1, 31, 1016f46a6179Smrg -1, -1, -1, 50, -1, -1, -1, -1, 55, -1, 1017f46a6179Smrg 42, 58, -1, -1, 18, 19, 20, 21, 50, 23, 1018f46a6179Smrg 24, 25, 26, 55, 28, 29, 58, 31, -1, -1, 1019f46a6179Smrg -1, -1, -1, -1, 18, 19, 20, 21, 42, 23, 1020f46a6179Smrg 24, 25, 26, 27, 28, 29, 50, 31, -1, -1, 1021f46a6179Smrg -1, 55, -1, -1, 58, -1, -1, 18, 19, 20, 1022f46a6179Smrg 21, -1, 23, 24, 25, 26, 50, 28, 29, -1, 1023f46a6179Smrg 31, 55, -1, -1, 58, 18, 19, 20, 21, -1, 1024f46a6179Smrg 23, 24, 25, 26, -1, 28, 29, -1, 31, 50, 1025f46a6179Smrg -1, -1, -1, -1, 55, -1, -1, 58, 18, 19, 1026f46a6179Smrg 20, 21, 42, 23, 24, 25, 26, -1, 28, 29, 1027f46a6179Smrg 53, 31, 55, -1, -1, 58, -1, 57, 58, 59, 1028f46a6179Smrg 60, 61, 62, 63, 64, 57, 58, 59, 60, 61, 1029f46a6179Smrg 62, 63, 64, -1, -1, 55, -1, -1, 58, 4, 1030f46a6179Smrg 5, 6, 7, 8, 9, 10, 11 1031f46a6179Smrg}; 1032f46a6179Smrg 1033f46a6179Smrg/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 1034f46a6179Smrg symbol of state STATE-NUM. */ 1035f46a6179Smrgstatic const yytype_uint8 yystos[] = 1036f46a6179Smrg{ 1037f46a6179Smrg 0, 57, 58, 59, 60, 61, 62, 63, 64, 66, 1038f46a6179Smrg 67, 68, 70, 71, 72, 74, 75, 76, 0, 68, 1039f46a6179Smrg 74, 71, 74, 4, 5, 6, 7, 8, 9, 10, 1040f46a6179Smrg 11, 69, 73, 76, 73, 52, 136, 137, 136, 136, 1041f46a6179Smrg 41, 41, 77, 70, 77, 12, 13, 14, 15, 16, 1042f46a6179Smrg 78, 116, 117, 42, 42, 17, 18, 19, 20, 21, 1043f46a6179Smrg 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 1044f46a6179Smrg 34, 35, 50, 55, 56, 58, 79, 80, 81, 82, 1045f46a6179Smrg 85, 88, 89, 93, 94, 95, 96, 97, 98, 112, 1046f46a6179Smrg 113, 114, 115, 124, 133, 134, 52, 49, 49, 83, 1047f46a6179Smrg 84, 134, 52, 135, 29, 53, 55, 86, 128, 132, 1048f46a6179Smrg 133, 133, 132, 134, 132, 135, 135, 135, 25, 134, 1049f46a6179Smrg 135, 45, 47, 36, 36, 49, 48, 49, 36, 41, 1050f46a6179Smrg 41, 37, 41, 36, 36, 41, 36, 41, 41, 41, 1051f46a6179Smrg 132, 49, 41, 18, 19, 21, 23, 24, 25, 26, 1052f46a6179Smrg 29, 31, 37, 38, 43, 50, 51, 54, 114, 120, 1053f46a6179Smrg 121, 124, 125, 131, 132, 133, 134, 135, 114, 120, 1054f46a6179Smrg 120, 84, 120, 79, 87, 87, 120, 45, 50, 90, 1055f46a6179Smrg 91, 92, 124, 134, 133, 120, 119, 120, 120, 87, 1056f46a6179Smrg 41, 45, 108, 109, 110, 111, 134, 25, 28, 30, 1057f46a6179Smrg 79, 95, 99, 100, 105, 112, 36, 87, 121, 124, 1058f46a6179Smrg 121, 120, 121, 121, 43, 37, 38, 39, 40, 46, 1059f46a6179Smrg 36, 45, 49, 49, 42, 79, 42, 29, 55, 114, 1060f46a6179Smrg 122, 123, 126, 127, 128, 134, 42, 48, 36, 49, 1061f46a6179Smrg 49, 42, 48, 49, 42, 110, 38, 53, 54, 129, 1062f46a6179Smrg 130, 42, 48, 42, 48, 36, 41, 135, 42, 100, 1063f46a6179Smrg 120, 42, 44, 118, 119, 120, 120, 120, 120, 120, 1064f46a6179Smrg 120, 49, 49, 43, 46, 48, 46, 48, 49, 91, 1065f46a6179Smrg 92, 120, 49, 120, 49, 42, 130, 48, 49, 109, 1066f46a6179Smrg 49, 111, 41, 120, 27, 79, 101, 102, 41, 49, 1067f46a6179Smrg 49, 49, 44, 46, 118, 123, 128, 129, 110, 41, 1068f46a6179Smrg 42, 102, 106, 107, 133, 44, 46, 42, 41, 103, 1069f46a6179Smrg 104, 133, 49, 42, 48, 36, 119, 42, 48, 49, 1070f46a6179Smrg 107, 133, 42, 49, 104 1071f46a6179Smrg}; 1072f46a6179Smrg 1073f46a6179Smrg#define yyerrok (yyerrstatus = 0) 1074f46a6179Smrg#define yyclearin (yychar = YYEMPTY) 1075f46a6179Smrg#define YYEMPTY (-2) 1076f46a6179Smrg#define YYEOF 0 1077f46a6179Smrg 1078f46a6179Smrg#define YYACCEPT goto yyacceptlab 1079f46a6179Smrg#define YYABORT goto yyabortlab 1080f46a6179Smrg#define YYERROR goto yyerrorlab 1081f46a6179Smrg 1082f46a6179Smrg 1083f46a6179Smrg/* Like YYERROR except do call yyerror. This remains here temporarily 1084f46a6179Smrg to ease the transition to the new meaning of YYERROR, for GCC. 1085f46a6179Smrg Once GCC version 2 has supplanted version 1, this can go. */ 1086f46a6179Smrg 1087f46a6179Smrg#define YYFAIL goto yyerrlab 1088f46a6179Smrg 1089f46a6179Smrg#define YYRECOVERING() (!!yyerrstatus) 1090f46a6179Smrg 1091f46a6179Smrg#define YYBACKUP(Token, Value) \ 1092f46a6179Smrgdo \ 1093f46a6179Smrg if (yychar == YYEMPTY && yylen == 1) \ 1094f46a6179Smrg { \ 1095f46a6179Smrg yychar = (Token); \ 1096f46a6179Smrg yylval = (Value); \ 1097f46a6179Smrg yytoken = YYTRANSLATE (yychar); \ 1098f46a6179Smrg YYPOPSTACK (1); \ 1099f46a6179Smrg goto yybackup; \ 1100f46a6179Smrg } \ 1101f46a6179Smrg else \ 1102f46a6179Smrg { \ 1103f46a6179Smrg yyerror (YY_("syntax error: cannot back up")); \ 1104f46a6179Smrg YYERROR; \ 1105f46a6179Smrg } \ 1106f46a6179Smrgwhile (YYID (0)) 1107f46a6179Smrg 1108f46a6179Smrg 1109f46a6179Smrg#define YYTERROR 1 1110f46a6179Smrg#define YYERRCODE 256 1111f46a6179Smrg 1112f46a6179Smrg 1113f46a6179Smrg/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. 1114f46a6179Smrg If N is 0, then set CURRENT to the empty location which ends 1115f46a6179Smrg the previous symbol: RHS[0] (always defined). */ 1116f46a6179Smrg 1117f46a6179Smrg#define YYRHSLOC(Rhs, K) ((Rhs)[K]) 1118f46a6179Smrg#ifndef YYLLOC_DEFAULT 1119f46a6179Smrg# define YYLLOC_DEFAULT(Current, Rhs, N) \ 1120f46a6179Smrg do \ 1121f46a6179Smrg if (YYID (N)) \ 1122f46a6179Smrg { \ 1123f46a6179Smrg (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 1124f46a6179Smrg (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 1125f46a6179Smrg (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 1126f46a6179Smrg (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 1127f46a6179Smrg } \ 1128f46a6179Smrg else \ 1129f46a6179Smrg { \ 1130f46a6179Smrg (Current).first_line = (Current).last_line = \ 1131f46a6179Smrg YYRHSLOC (Rhs, 0).last_line; \ 1132f46a6179Smrg (Current).first_column = (Current).last_column = \ 1133f46a6179Smrg YYRHSLOC (Rhs, 0).last_column; \ 1134f46a6179Smrg } \ 1135f46a6179Smrg while (YYID (0)) 1136f46a6179Smrg#endif 1137f46a6179Smrg 1138f46a6179Smrg 1139f46a6179Smrg/* YY_LOCATION_PRINT -- Print the location on the stream. 1140f46a6179Smrg This macro was not mandated originally: define only if we know 1141f46a6179Smrg we won't break user code: when these are the locations we know. */ 1142f46a6179Smrg 1143f46a6179Smrg#ifndef YY_LOCATION_PRINT 1144f46a6179Smrg# if YYLTYPE_IS_TRIVIAL 1145f46a6179Smrg# define YY_LOCATION_PRINT(File, Loc) \ 1146f46a6179Smrg fprintf (File, "%d.%d-%d.%d", \ 1147f46a6179Smrg (Loc).first_line, (Loc).first_column, \ 1148f46a6179Smrg (Loc).last_line, (Loc).last_column) 1149f46a6179Smrg# else 1150f46a6179Smrg# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1151f46a6179Smrg# endif 1152f46a6179Smrg#endif 1153f46a6179Smrg 1154f46a6179Smrg 1155f46a6179Smrg/* YYLEX -- calling `yylex' with the right arguments. */ 1156f46a6179Smrg 1157f46a6179Smrg#ifdef YYLEX_PARAM 1158f46a6179Smrg# define YYLEX yylex (YYLEX_PARAM) 1159f46a6179Smrg#else 1160f46a6179Smrg# define YYLEX yylex () 1161f46a6179Smrg#endif 1162f46a6179Smrg 1163f46a6179Smrg/* Enable debugging if requested. */ 1164f46a6179Smrg#if YYDEBUG 1165f46a6179Smrg 1166f46a6179Smrg# ifndef YYFPRINTF 1167f46a6179Smrg# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1168f46a6179Smrg# define YYFPRINTF fprintf 1169f46a6179Smrg# endif 1170f46a6179Smrg 1171f46a6179Smrg# define YYDPRINTF(Args) \ 1172f46a6179Smrgdo { \ 1173f46a6179Smrg if (yydebug) \ 1174f46a6179Smrg YYFPRINTF Args; \ 1175f46a6179Smrg} while (YYID (0)) 1176f46a6179Smrg 1177f46a6179Smrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1178f46a6179Smrgdo { \ 1179f46a6179Smrg if (yydebug) \ 1180f46a6179Smrg { \ 1181f46a6179Smrg YYFPRINTF (stderr, "%s ", Title); \ 1182f46a6179Smrg yy_symbol_print (stderr, \ 1183f46a6179Smrg Type, Value); \ 1184f46a6179Smrg YYFPRINTF (stderr, "\n"); \ 1185f46a6179Smrg } \ 1186f46a6179Smrg} while (YYID (0)) 1187f46a6179Smrg 1188f46a6179Smrg 1189f46a6179Smrg/*--------------------------------. 1190f46a6179Smrg| Print this symbol on YYOUTPUT. | 1191f46a6179Smrg`--------------------------------*/ 1192f46a6179Smrg 1193f46a6179Smrg/*ARGSUSED*/ 1194f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1195f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 1196f46a6179Smrgstatic void 1197f46a6179Smrgyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1198f46a6179Smrg#else 1199f46a6179Smrgstatic void 1200f46a6179Smrgyy_symbol_value_print (yyoutput, yytype, yyvaluep) 1201f46a6179Smrg FILE *yyoutput; 1202f46a6179Smrg int yytype; 1203f46a6179Smrg YYSTYPE const * const yyvaluep; 1204f46a6179Smrg#endif 1205f46a6179Smrg{ 1206f46a6179Smrg if (!yyvaluep) 1207f46a6179Smrg return; 1208f46a6179Smrg# ifdef YYPRINT 1209f46a6179Smrg if (yytype < YYNTOKENS) 1210f46a6179Smrg YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); 1211f46a6179Smrg# else 1212f46a6179Smrg YYUSE (yyoutput); 1213f46a6179Smrg# endif 1214f46a6179Smrg switch (yytype) 1215f46a6179Smrg { 1216f46a6179Smrg default: 1217f46a6179Smrg break; 1218f46a6179Smrg } 1219f46a6179Smrg} 1220f46a6179Smrg 1221f46a6179Smrg 1222f46a6179Smrg/*--------------------------------. 1223f46a6179Smrg| Print this symbol on YYOUTPUT. | 1224f46a6179Smrg`--------------------------------*/ 1225f46a6179Smrg 1226f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1227f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 1228f46a6179Smrgstatic void 1229f46a6179Smrgyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) 1230f46a6179Smrg#else 1231f46a6179Smrgstatic void 1232f46a6179Smrgyy_symbol_print (yyoutput, yytype, yyvaluep) 1233f46a6179Smrg FILE *yyoutput; 1234f46a6179Smrg int yytype; 1235f46a6179Smrg YYSTYPE const * const yyvaluep; 1236f46a6179Smrg#endif 1237f46a6179Smrg{ 1238f46a6179Smrg if (yytype < YYNTOKENS) 1239f46a6179Smrg YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1240f46a6179Smrg else 1241f46a6179Smrg YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); 1242f46a6179Smrg 1243f46a6179Smrg yy_symbol_value_print (yyoutput, yytype, yyvaluep); 1244f46a6179Smrg YYFPRINTF (yyoutput, ")"); 1245f46a6179Smrg} 1246f46a6179Smrg 1247f46a6179Smrg/*------------------------------------------------------------------. 1248f46a6179Smrg| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1249f46a6179Smrg| TOP (included). | 1250f46a6179Smrg`------------------------------------------------------------------*/ 1251f46a6179Smrg 1252f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1253f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 1254f46a6179Smrgstatic void 12555fac8b10Smrgyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) 1256f46a6179Smrg#else 1257f46a6179Smrgstatic void 12585fac8b10Smrgyy_stack_print (yybottom, yytop) 12595fac8b10Smrg yytype_int16 *yybottom; 12605fac8b10Smrg yytype_int16 *yytop; 1261f46a6179Smrg#endif 1262f46a6179Smrg{ 1263f46a6179Smrg YYFPRINTF (stderr, "Stack now"); 12645fac8b10Smrg for (; yybottom <= yytop; yybottom++) 12655fac8b10Smrg { 12665fac8b10Smrg int yybot = *yybottom; 12675fac8b10Smrg YYFPRINTF (stderr, " %d", yybot); 12685fac8b10Smrg } 1269f46a6179Smrg YYFPRINTF (stderr, "\n"); 1270f46a6179Smrg} 1271f46a6179Smrg 1272f46a6179Smrg# define YY_STACK_PRINT(Bottom, Top) \ 1273f46a6179Smrgdo { \ 1274f46a6179Smrg if (yydebug) \ 1275f46a6179Smrg yy_stack_print ((Bottom), (Top)); \ 1276f46a6179Smrg} while (YYID (0)) 1277f46a6179Smrg 1278f46a6179Smrg 1279f46a6179Smrg/*------------------------------------------------. 1280f46a6179Smrg| Report that the YYRULE is going to be reduced. | 1281f46a6179Smrg`------------------------------------------------*/ 1282f46a6179Smrg 1283f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1284f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 1285f46a6179Smrgstatic void 1286f46a6179Smrgyy_reduce_print (YYSTYPE *yyvsp, int yyrule) 1287f46a6179Smrg#else 1288f46a6179Smrgstatic void 1289f46a6179Smrgyy_reduce_print (yyvsp, yyrule) 1290f46a6179Smrg YYSTYPE *yyvsp; 1291f46a6179Smrg int yyrule; 1292f46a6179Smrg#endif 1293f46a6179Smrg{ 1294f46a6179Smrg int yynrhs = yyr2[yyrule]; 1295f46a6179Smrg int yyi; 1296f46a6179Smrg unsigned long int yylno = yyrline[yyrule]; 1297f46a6179Smrg YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", 1298f46a6179Smrg yyrule - 1, yylno); 1299f46a6179Smrg /* The symbols being reduced. */ 1300f46a6179Smrg for (yyi = 0; yyi < yynrhs; yyi++) 1301f46a6179Smrg { 13025fac8b10Smrg YYFPRINTF (stderr, " $%d = ", yyi + 1); 1303f46a6179Smrg yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], 1304f46a6179Smrg &(yyvsp[(yyi + 1) - (yynrhs)]) 1305f46a6179Smrg ); 13065fac8b10Smrg YYFPRINTF (stderr, "\n"); 1307f46a6179Smrg } 1308f46a6179Smrg} 1309f46a6179Smrg 1310f46a6179Smrg# define YY_REDUCE_PRINT(Rule) \ 1311f46a6179Smrgdo { \ 1312f46a6179Smrg if (yydebug) \ 1313f46a6179Smrg yy_reduce_print (yyvsp, Rule); \ 1314f46a6179Smrg} while (YYID (0)) 1315f46a6179Smrg 1316f46a6179Smrg/* Nonzero means print parse trace. It is left uninitialized so that 1317f46a6179Smrg multiple parsers can coexist. */ 1318f46a6179Smrgint yydebug; 1319f46a6179Smrg#else /* !YYDEBUG */ 1320f46a6179Smrg# define YYDPRINTF(Args) 1321f46a6179Smrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1322f46a6179Smrg# define YY_STACK_PRINT(Bottom, Top) 1323f46a6179Smrg# define YY_REDUCE_PRINT(Rule) 1324f46a6179Smrg#endif /* !YYDEBUG */ 1325f46a6179Smrg 1326f46a6179Smrg 1327f46a6179Smrg/* YYINITDEPTH -- initial size of the parser's stacks. */ 1328f46a6179Smrg#ifndef YYINITDEPTH 1329f46a6179Smrg# define YYINITDEPTH 200 1330f46a6179Smrg#endif 1331f46a6179Smrg 1332f46a6179Smrg/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1333f46a6179Smrg if the built-in stack extension method is used). 1334f46a6179Smrg 1335f46a6179Smrg Do not make this value too large; the results are undefined if 1336f46a6179Smrg YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1337f46a6179Smrg evaluated with infinite-precision integer arithmetic. */ 1338f46a6179Smrg 1339f46a6179Smrg#ifndef YYMAXDEPTH 1340f46a6179Smrg# define YYMAXDEPTH 10000 1341f46a6179Smrg#endif 1342f46a6179Smrg 1343f46a6179Smrg 1344f46a6179Smrg 1345f46a6179Smrg#if YYERROR_VERBOSE 1346f46a6179Smrg 1347f46a6179Smrg# ifndef yystrlen 1348f46a6179Smrg# if defined __GLIBC__ && defined _STRING_H 1349f46a6179Smrg# define yystrlen strlen 1350f46a6179Smrg# else 1351f46a6179Smrg/* Return the length of YYSTR. */ 1352f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1353f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 1354f46a6179Smrgstatic YYSIZE_T 1355f46a6179Smrgyystrlen (const char *yystr) 1356f46a6179Smrg#else 1357f46a6179Smrgstatic YYSIZE_T 1358f46a6179Smrgyystrlen (yystr) 1359f46a6179Smrg const char *yystr; 1360f46a6179Smrg#endif 1361f46a6179Smrg{ 1362f46a6179Smrg YYSIZE_T yylen; 1363f46a6179Smrg for (yylen = 0; yystr[yylen]; yylen++) 1364f46a6179Smrg continue; 1365f46a6179Smrg return yylen; 1366f46a6179Smrg} 1367f46a6179Smrg# endif 1368f46a6179Smrg# endif 1369f46a6179Smrg 1370f46a6179Smrg# ifndef yystpcpy 1371f46a6179Smrg# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1372f46a6179Smrg# define yystpcpy stpcpy 1373f46a6179Smrg# else 1374f46a6179Smrg/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1375f46a6179Smrg YYDEST. */ 1376f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1377f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 1378f46a6179Smrgstatic char * 1379f46a6179Smrgyystpcpy (char *yydest, const char *yysrc) 1380f46a6179Smrg#else 1381f46a6179Smrgstatic char * 1382f46a6179Smrgyystpcpy (yydest, yysrc) 1383f46a6179Smrg char *yydest; 1384f46a6179Smrg const char *yysrc; 1385f46a6179Smrg#endif 1386f46a6179Smrg{ 1387f46a6179Smrg char *yyd = yydest; 1388f46a6179Smrg const char *yys = yysrc; 1389f46a6179Smrg 1390f46a6179Smrg while ((*yyd++ = *yys++) != '\0') 1391f46a6179Smrg continue; 1392f46a6179Smrg 1393f46a6179Smrg return yyd - 1; 1394f46a6179Smrg} 1395f46a6179Smrg# endif 1396f46a6179Smrg# endif 1397f46a6179Smrg 1398f46a6179Smrg# ifndef yytnamerr 1399f46a6179Smrg/* Copy to YYRES the contents of YYSTR after stripping away unnecessary 1400f46a6179Smrg quotes and backslashes, so that it's suitable for yyerror. The 1401f46a6179Smrg heuristic is that double-quoting is unnecessary unless the string 1402f46a6179Smrg contains an apostrophe, a comma, or backslash (other than 1403f46a6179Smrg backslash-backslash). YYSTR is taken from yytname. If YYRES is 1404f46a6179Smrg null, do not copy; instead, return the length of what the result 1405f46a6179Smrg would have been. */ 1406f46a6179Smrgstatic YYSIZE_T 1407f46a6179Smrgyytnamerr (char *yyres, const char *yystr) 1408f46a6179Smrg{ 1409f46a6179Smrg if (*yystr == '"') 1410f46a6179Smrg { 1411f46a6179Smrg YYSIZE_T yyn = 0; 1412f46a6179Smrg char const *yyp = yystr; 1413f46a6179Smrg 1414f46a6179Smrg for (;;) 1415f46a6179Smrg switch (*++yyp) 1416f46a6179Smrg { 1417f46a6179Smrg case '\'': 1418f46a6179Smrg case ',': 1419f46a6179Smrg goto do_not_strip_quotes; 1420f46a6179Smrg 1421f46a6179Smrg case '\\': 1422f46a6179Smrg if (*++yyp != '\\') 1423f46a6179Smrg goto do_not_strip_quotes; 1424f46a6179Smrg /* Fall through. */ 1425f46a6179Smrg default: 1426f46a6179Smrg if (yyres) 1427f46a6179Smrg yyres[yyn] = *yyp; 1428f46a6179Smrg yyn++; 1429f46a6179Smrg break; 1430f46a6179Smrg 1431f46a6179Smrg case '"': 1432f46a6179Smrg if (yyres) 1433f46a6179Smrg yyres[yyn] = '\0'; 1434f46a6179Smrg return yyn; 1435f46a6179Smrg } 1436f46a6179Smrg do_not_strip_quotes: ; 1437f46a6179Smrg } 1438f46a6179Smrg 1439f46a6179Smrg if (! yyres) 1440f46a6179Smrg return yystrlen (yystr); 1441f46a6179Smrg 1442f46a6179Smrg return yystpcpy (yyres, yystr) - yyres; 1443f46a6179Smrg} 1444f46a6179Smrg# endif 1445f46a6179Smrg 1446f46a6179Smrg/* Copy into YYRESULT an error message about the unexpected token 1447f46a6179Smrg YYCHAR while in state YYSTATE. Return the number of bytes copied, 1448f46a6179Smrg including the terminating null byte. If YYRESULT is null, do not 1449f46a6179Smrg copy anything; just return the number of bytes that would be 1450f46a6179Smrg copied. As a special case, return 0 if an ordinary "syntax error" 1451f46a6179Smrg message will do. Return YYSIZE_MAXIMUM if overflow occurs during 1452f46a6179Smrg size calculation. */ 1453f46a6179Smrgstatic YYSIZE_T 1454f46a6179Smrgyysyntax_error (char *yyresult, int yystate, int yychar) 1455f46a6179Smrg{ 1456f46a6179Smrg int yyn = yypact[yystate]; 1457f46a6179Smrg 1458f46a6179Smrg if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) 1459f46a6179Smrg return 0; 1460f46a6179Smrg else 1461f46a6179Smrg { 1462f46a6179Smrg int yytype = YYTRANSLATE (yychar); 1463f46a6179Smrg YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); 1464f46a6179Smrg YYSIZE_T yysize = yysize0; 1465f46a6179Smrg YYSIZE_T yysize1; 1466f46a6179Smrg int yysize_overflow = 0; 1467f46a6179Smrg enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; 1468f46a6179Smrg char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; 1469f46a6179Smrg int yyx; 1470f46a6179Smrg 1471f46a6179Smrg# if 0 1472f46a6179Smrg /* This is so xgettext sees the translatable formats that are 1473f46a6179Smrg constructed on the fly. */ 1474f46a6179Smrg YY_("syntax error, unexpected %s"); 1475f46a6179Smrg YY_("syntax error, unexpected %s, expecting %s"); 1476f46a6179Smrg YY_("syntax error, unexpected %s, expecting %s or %s"); 1477f46a6179Smrg YY_("syntax error, unexpected %s, expecting %s or %s or %s"); 1478f46a6179Smrg YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); 1479f46a6179Smrg# endif 1480f46a6179Smrg char *yyfmt; 1481f46a6179Smrg char const *yyf; 1482f46a6179Smrg static char const yyunexpected[] = "syntax error, unexpected %s"; 1483f46a6179Smrg static char const yyexpecting[] = ", expecting %s"; 1484f46a6179Smrg static char const yyor[] = " or %s"; 1485f46a6179Smrg char yyformat[sizeof yyunexpected 1486f46a6179Smrg + sizeof yyexpecting - 1 1487f46a6179Smrg + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) 1488f46a6179Smrg * (sizeof yyor - 1))]; 1489f46a6179Smrg char const *yyprefix = yyexpecting; 1490f46a6179Smrg 1491f46a6179Smrg /* Start YYX at -YYN if negative to avoid negative indexes in 1492f46a6179Smrg YYCHECK. */ 1493f46a6179Smrg int yyxbegin = yyn < 0 ? -yyn : 0; 1494f46a6179Smrg 1495f46a6179Smrg /* Stay within bounds of both yycheck and yytname. */ 1496f46a6179Smrg int yychecklim = YYLAST - yyn + 1; 1497f46a6179Smrg int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; 1498f46a6179Smrg int yycount = 1; 1499f46a6179Smrg 1500f46a6179Smrg yyarg[0] = yytname[yytype]; 1501f46a6179Smrg yyfmt = yystpcpy (yyformat, yyunexpected); 1502f46a6179Smrg 1503f46a6179Smrg for (yyx = yyxbegin; yyx < yyxend; ++yyx) 1504f46a6179Smrg if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 1505f46a6179Smrg { 1506f46a6179Smrg if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) 1507f46a6179Smrg { 1508f46a6179Smrg yycount = 1; 1509f46a6179Smrg yysize = yysize0; 1510f46a6179Smrg yyformat[sizeof yyunexpected - 1] = '\0'; 1511f46a6179Smrg break; 1512f46a6179Smrg } 1513f46a6179Smrg yyarg[yycount++] = yytname[yyx]; 1514f46a6179Smrg yysize1 = yysize + yytnamerr (0, yytname[yyx]); 1515f46a6179Smrg yysize_overflow |= (yysize1 < yysize); 1516f46a6179Smrg yysize = yysize1; 1517f46a6179Smrg yyfmt = yystpcpy (yyfmt, yyprefix); 1518f46a6179Smrg yyprefix = yyor; 1519f46a6179Smrg } 1520f46a6179Smrg 1521f46a6179Smrg yyf = YY_(yyformat); 1522f46a6179Smrg yysize1 = yysize + yystrlen (yyf); 1523f46a6179Smrg yysize_overflow |= (yysize1 < yysize); 1524f46a6179Smrg yysize = yysize1; 1525f46a6179Smrg 1526f46a6179Smrg if (yysize_overflow) 1527f46a6179Smrg return YYSIZE_MAXIMUM; 1528f46a6179Smrg 1529f46a6179Smrg if (yyresult) 1530f46a6179Smrg { 1531f46a6179Smrg /* Avoid sprintf, as that infringes on the user's name space. 1532f46a6179Smrg Don't have undefined behavior even if the translation 1533f46a6179Smrg produced a string with the wrong number of "%s"s. */ 1534f46a6179Smrg char *yyp = yyresult; 1535f46a6179Smrg int yyi = 0; 1536f46a6179Smrg while ((*yyp = *yyf) != '\0') 1537f46a6179Smrg { 1538f46a6179Smrg if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) 1539f46a6179Smrg { 1540f46a6179Smrg yyp += yytnamerr (yyp, yyarg[yyi++]); 1541f46a6179Smrg yyf += 2; 1542f46a6179Smrg } 1543f46a6179Smrg else 1544f46a6179Smrg { 1545f46a6179Smrg yyp++; 1546f46a6179Smrg yyf++; 1547f46a6179Smrg } 1548f46a6179Smrg } 1549f46a6179Smrg } 1550f46a6179Smrg return yysize; 1551f46a6179Smrg } 1552f46a6179Smrg} 1553f46a6179Smrg#endif /* YYERROR_VERBOSE */ 1554f46a6179Smrg 1555f46a6179Smrg 1556f46a6179Smrg/*-----------------------------------------------. 1557f46a6179Smrg| Release the memory associated to this symbol. | 1558f46a6179Smrg`-----------------------------------------------*/ 1559f46a6179Smrg 1560f46a6179Smrg/*ARGSUSED*/ 1561f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1562f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 1563f46a6179Smrgstatic void 1564f46a6179Smrgyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 1565f46a6179Smrg#else 1566f46a6179Smrgstatic void 1567f46a6179Smrgyydestruct (yymsg, yytype, yyvaluep) 1568f46a6179Smrg const char *yymsg; 1569f46a6179Smrg int yytype; 1570f46a6179Smrg YYSTYPE *yyvaluep; 1571f46a6179Smrg#endif 1572f46a6179Smrg{ 1573f46a6179Smrg YYUSE (yyvaluep); 1574f46a6179Smrg 1575f46a6179Smrg if (!yymsg) 1576f46a6179Smrg yymsg = "Deleting"; 1577f46a6179Smrg YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); 1578f46a6179Smrg 1579f46a6179Smrg switch (yytype) 1580f46a6179Smrg { 1581f46a6179Smrg 1582f46a6179Smrg default: 1583f46a6179Smrg break; 1584f46a6179Smrg } 1585f46a6179Smrg} 1586f46a6179Smrg 1587f46a6179Smrg/* Prevent warnings from -Wmissing-prototypes. */ 1588f46a6179Smrg#ifdef YYPARSE_PARAM 1589f46a6179Smrg#if defined __STDC__ || defined __cplusplus 1590f46a6179Smrgint yyparse (void *YYPARSE_PARAM); 1591f46a6179Smrg#else 1592f46a6179Smrgint yyparse (); 1593f46a6179Smrg#endif 1594f46a6179Smrg#else /* ! YYPARSE_PARAM */ 1595f46a6179Smrg#if defined __STDC__ || defined __cplusplus 1596f46a6179Smrgint yyparse (void); 1597f46a6179Smrg#else 1598f46a6179Smrgint yyparse (); 1599f46a6179Smrg#endif 1600f46a6179Smrg#endif /* ! YYPARSE_PARAM */ 1601f46a6179Smrg 1602f46a6179Smrg 16035fac8b10Smrg/* The lookahead symbol. */ 1604f46a6179Smrgint yychar; 1605f46a6179Smrg 16065fac8b10Smrg/* The semantic value of the lookahead symbol. */ 1607f46a6179SmrgYYSTYPE yylval; 1608f46a6179Smrg 1609f46a6179Smrg/* Number of syntax errors so far. */ 1610f46a6179Smrgint yynerrs; 1611f46a6179Smrg 1612f46a6179Smrg 1613f46a6179Smrg 16145fac8b10Smrg/*-------------------------. 16155fac8b10Smrg| yyparse or yypush_parse. | 16165fac8b10Smrg`-------------------------*/ 1617f46a6179Smrg 1618f46a6179Smrg#ifdef YYPARSE_PARAM 1619f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1620f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 1621f46a6179Smrgint 1622f46a6179Smrgyyparse (void *YYPARSE_PARAM) 1623f46a6179Smrg#else 1624f46a6179Smrgint 1625f46a6179Smrgyyparse (YYPARSE_PARAM) 1626f46a6179Smrg void *YYPARSE_PARAM; 1627f46a6179Smrg#endif 1628f46a6179Smrg#else /* ! YYPARSE_PARAM */ 1629f46a6179Smrg#if (defined __STDC__ || defined __C99__FUNC__ \ 1630f46a6179Smrg || defined __cplusplus || defined _MSC_VER) 1631f46a6179Smrgint 1632f46a6179Smrgyyparse (void) 1633f46a6179Smrg#else 1634f46a6179Smrgint 1635f46a6179Smrgyyparse () 1636f46a6179Smrg 1637f46a6179Smrg#endif 1638f46a6179Smrg#endif 1639f46a6179Smrg{ 1640f46a6179Smrg 1641f46a6179Smrg 16425fac8b10Smrg int yystate; 16435fac8b10Smrg /* Number of tokens to shift before error messages enabled. */ 16445fac8b10Smrg int yyerrstatus; 1645f46a6179Smrg 16465fac8b10Smrg /* The stacks and their tools: 16475fac8b10Smrg `yyss': related to states. 16485fac8b10Smrg `yyvs': related to semantic values. 1649f46a6179Smrg 16505fac8b10Smrg Refer to the stacks thru separate pointers, to allow yyoverflow 16515fac8b10Smrg to reallocate them elsewhere. */ 1652f46a6179Smrg 16535fac8b10Smrg /* The state stack. */ 16545fac8b10Smrg yytype_int16 yyssa[YYINITDEPTH]; 16555fac8b10Smrg yytype_int16 *yyss; 16565fac8b10Smrg yytype_int16 *yyssp; 1657f46a6179Smrg 16585fac8b10Smrg /* The semantic value stack. */ 16595fac8b10Smrg YYSTYPE yyvsa[YYINITDEPTH]; 16605fac8b10Smrg YYSTYPE *yyvs; 16615fac8b10Smrg YYSTYPE *yyvsp; 1662f46a6179Smrg 16635fac8b10Smrg YYSIZE_T yystacksize; 1664f46a6179Smrg 16655fac8b10Smrg int yyn; 16665fac8b10Smrg int yyresult; 16675fac8b10Smrg /* Lookahead token as an internal (translated) token number. */ 16685fac8b10Smrg int yytoken; 1669f46a6179Smrg /* The variables used to return semantic value and location from the 1670f46a6179Smrg action routines. */ 1671f46a6179Smrg YYSTYPE yyval; 1672f46a6179Smrg 16735fac8b10Smrg#if YYERROR_VERBOSE 16745fac8b10Smrg /* Buffer for error messages, and its allocated size. */ 16755fac8b10Smrg char yymsgbuf[128]; 16765fac8b10Smrg char *yymsg = yymsgbuf; 16775fac8b10Smrg YYSIZE_T yymsg_alloc = sizeof yymsgbuf; 16785fac8b10Smrg#endif 16795fac8b10Smrg 16805fac8b10Smrg#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 1681f46a6179Smrg 1682f46a6179Smrg /* The number of symbols on the RHS of the reduced rule. 1683f46a6179Smrg Keep to zero when no symbol should be popped. */ 1684f46a6179Smrg int yylen = 0; 1685f46a6179Smrg 16865fac8b10Smrg yytoken = 0; 16875fac8b10Smrg yyss = yyssa; 16885fac8b10Smrg yyvs = yyvsa; 16895fac8b10Smrg yystacksize = YYINITDEPTH; 16905fac8b10Smrg 1691f46a6179Smrg YYDPRINTF ((stderr, "Starting parse\n")); 1692f46a6179Smrg 1693f46a6179Smrg yystate = 0; 1694f46a6179Smrg yyerrstatus = 0; 1695f46a6179Smrg yynerrs = 0; 16965fac8b10Smrg yychar = YYEMPTY; /* Cause a token to be read. */ 1697f46a6179Smrg 1698f46a6179Smrg /* Initialize stack pointers. 1699f46a6179Smrg Waste one element of value and location stack 1700f46a6179Smrg so that they stay on the same level as the state stack. 1701f46a6179Smrg The wasted elements are never initialized. */ 1702f46a6179Smrg yyssp = yyss; 1703f46a6179Smrg yyvsp = yyvs; 1704f46a6179Smrg 1705f46a6179Smrg goto yysetstate; 1706f46a6179Smrg 1707f46a6179Smrg/*------------------------------------------------------------. 1708f46a6179Smrg| yynewstate -- Push a new state, which is found in yystate. | 1709f46a6179Smrg`------------------------------------------------------------*/ 1710f46a6179Smrg yynewstate: 1711f46a6179Smrg /* In all cases, when you get here, the value and location stacks 1712f46a6179Smrg have just been pushed. So pushing a state here evens the stacks. */ 1713f46a6179Smrg yyssp++; 1714f46a6179Smrg 1715f46a6179Smrg yysetstate: 1716f46a6179Smrg *yyssp = yystate; 1717f46a6179Smrg 1718f46a6179Smrg if (yyss + yystacksize - 1 <= yyssp) 1719f46a6179Smrg { 1720f46a6179Smrg /* Get the current used size of the three stacks, in elements. */ 1721f46a6179Smrg YYSIZE_T yysize = yyssp - yyss + 1; 1722f46a6179Smrg 1723f46a6179Smrg#ifdef yyoverflow 1724f46a6179Smrg { 1725f46a6179Smrg /* Give user a chance to reallocate the stack. Use copies of 1726f46a6179Smrg these so that the &'s don't force the real ones into 1727f46a6179Smrg memory. */ 1728f46a6179Smrg YYSTYPE *yyvs1 = yyvs; 1729f46a6179Smrg yytype_int16 *yyss1 = yyss; 1730f46a6179Smrg 1731f46a6179Smrg /* Each stack pointer address is followed by the size of the 1732f46a6179Smrg data in use in that stack, in bytes. This used to be a 1733f46a6179Smrg conditional around just the two extra args, but that might 1734f46a6179Smrg be undefined if yyoverflow is a macro. */ 1735f46a6179Smrg yyoverflow (YY_("memory exhausted"), 1736f46a6179Smrg &yyss1, yysize * sizeof (*yyssp), 1737f46a6179Smrg &yyvs1, yysize * sizeof (*yyvsp), 1738f46a6179Smrg &yystacksize); 1739f46a6179Smrg 1740f46a6179Smrg yyss = yyss1; 1741f46a6179Smrg yyvs = yyvs1; 1742f46a6179Smrg } 1743f46a6179Smrg#else /* no yyoverflow */ 1744f46a6179Smrg# ifndef YYSTACK_RELOCATE 1745f46a6179Smrg goto yyexhaustedlab; 1746f46a6179Smrg# else 1747f46a6179Smrg /* Extend the stack our own way. */ 1748f46a6179Smrg if (YYMAXDEPTH <= yystacksize) 1749f46a6179Smrg goto yyexhaustedlab; 1750f46a6179Smrg yystacksize *= 2; 1751f46a6179Smrg if (YYMAXDEPTH < yystacksize) 1752f46a6179Smrg yystacksize = YYMAXDEPTH; 1753f46a6179Smrg 1754f46a6179Smrg { 1755f46a6179Smrg yytype_int16 *yyss1 = yyss; 1756f46a6179Smrg union yyalloc *yyptr = 1757f46a6179Smrg (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1758f46a6179Smrg if (! yyptr) 1759f46a6179Smrg goto yyexhaustedlab; 17605fac8b10Smrg YYSTACK_RELOCATE (yyss_alloc, yyss); 17615fac8b10Smrg YYSTACK_RELOCATE (yyvs_alloc, yyvs); 1762f46a6179Smrg# undef YYSTACK_RELOCATE 1763f46a6179Smrg if (yyss1 != yyssa) 1764f46a6179Smrg YYSTACK_FREE (yyss1); 1765f46a6179Smrg } 1766f46a6179Smrg# endif 1767f46a6179Smrg#endif /* no yyoverflow */ 1768f46a6179Smrg 1769f46a6179Smrg yyssp = yyss + yysize - 1; 1770f46a6179Smrg yyvsp = yyvs + yysize - 1; 1771f46a6179Smrg 1772f46a6179Smrg YYDPRINTF ((stderr, "Stack size increased to %lu\n", 1773f46a6179Smrg (unsigned long int) yystacksize)); 1774f46a6179Smrg 1775f46a6179Smrg if (yyss + yystacksize - 1 <= yyssp) 1776f46a6179Smrg YYABORT; 1777f46a6179Smrg } 1778f46a6179Smrg 1779f46a6179Smrg YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 1780f46a6179Smrg 17815fac8b10Smrg if (yystate == YYFINAL) 17825fac8b10Smrg YYACCEPT; 17835fac8b10Smrg 1784f46a6179Smrg goto yybackup; 1785f46a6179Smrg 1786f46a6179Smrg/*-----------. 1787f46a6179Smrg| yybackup. | 1788f46a6179Smrg`-----------*/ 1789f46a6179Smrgyybackup: 1790f46a6179Smrg 1791f46a6179Smrg /* Do appropriate processing given the current state. Read a 17925fac8b10Smrg lookahead token if we need one and don't already have one. */ 1793f46a6179Smrg 17945fac8b10Smrg /* First try to decide what to do without reference to lookahead token. */ 1795f46a6179Smrg yyn = yypact[yystate]; 1796f46a6179Smrg if (yyn == YYPACT_NINF) 1797f46a6179Smrg goto yydefault; 1798f46a6179Smrg 17995fac8b10Smrg /* Not known => get a lookahead token if don't already have one. */ 1800f46a6179Smrg 18015fac8b10Smrg /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ 1802f46a6179Smrg if (yychar == YYEMPTY) 1803f46a6179Smrg { 1804f46a6179Smrg YYDPRINTF ((stderr, "Reading a token: ")); 1805f46a6179Smrg yychar = YYLEX; 1806f46a6179Smrg } 1807f46a6179Smrg 1808f46a6179Smrg if (yychar <= YYEOF) 1809f46a6179Smrg { 1810f46a6179Smrg yychar = yytoken = YYEOF; 1811f46a6179Smrg YYDPRINTF ((stderr, "Now at end of input.\n")); 1812f46a6179Smrg } 1813f46a6179Smrg else 1814f46a6179Smrg { 1815f46a6179Smrg yytoken = YYTRANSLATE (yychar); 1816f46a6179Smrg YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 1817f46a6179Smrg } 1818f46a6179Smrg 1819f46a6179Smrg /* If the proper action on seeing token YYTOKEN is to reduce or to 1820f46a6179Smrg detect an error, take that action. */ 1821f46a6179Smrg yyn += yytoken; 1822f46a6179Smrg if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 1823f46a6179Smrg goto yydefault; 1824f46a6179Smrg yyn = yytable[yyn]; 1825f46a6179Smrg if (yyn <= 0) 1826f46a6179Smrg { 1827f46a6179Smrg if (yyn == 0 || yyn == YYTABLE_NINF) 1828f46a6179Smrg goto yyerrlab; 1829f46a6179Smrg yyn = -yyn; 1830f46a6179Smrg goto yyreduce; 1831f46a6179Smrg } 1832f46a6179Smrg 1833f46a6179Smrg /* Count tokens shifted since error; after three, turn off error 1834f46a6179Smrg status. */ 1835f46a6179Smrg if (yyerrstatus) 1836f46a6179Smrg yyerrstatus--; 1837f46a6179Smrg 18385fac8b10Smrg /* Shift the lookahead token. */ 1839f46a6179Smrg YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1840f46a6179Smrg 18415fac8b10Smrg /* Discard the shifted token. */ 18425fac8b10Smrg yychar = YYEMPTY; 1843f46a6179Smrg 1844f46a6179Smrg yystate = yyn; 1845f46a6179Smrg *++yyvsp = yylval; 1846f46a6179Smrg 1847f46a6179Smrg goto yynewstate; 1848f46a6179Smrg 1849f46a6179Smrg 1850f46a6179Smrg/*-----------------------------------------------------------. 1851f46a6179Smrg| yydefault -- do the default action for the current state. | 1852f46a6179Smrg`-----------------------------------------------------------*/ 1853f46a6179Smrgyydefault: 1854f46a6179Smrg yyn = yydefact[yystate]; 1855f46a6179Smrg if (yyn == 0) 1856f46a6179Smrg goto yyerrlab; 1857f46a6179Smrg goto yyreduce; 1858f46a6179Smrg 1859f46a6179Smrg 1860f46a6179Smrg/*-----------------------------. 1861f46a6179Smrg| yyreduce -- Do a reduction. | 1862f46a6179Smrg`-----------------------------*/ 1863f46a6179Smrgyyreduce: 1864f46a6179Smrg /* yyn is the number of a rule to reduce with. */ 1865f46a6179Smrg yylen = yyr2[yyn]; 1866f46a6179Smrg 1867f46a6179Smrg /* If YYLEN is nonzero, implement the default value of the action: 1868f46a6179Smrg `$$ = $1'. 1869f46a6179Smrg 1870f46a6179Smrg Otherwise, the following line sets YYVAL to garbage. 1871f46a6179Smrg This behavior is undocumented and Bison 1872f46a6179Smrg users should not rely upon it. Assigning to YYVAL 1873f46a6179Smrg unconditionally makes the parser a bit smaller, and it avoids a 1874f46a6179Smrg GCC warning that YYVAL may be used uninitialized. */ 1875f46a6179Smrg yyval = yyvsp[1-yylen]; 1876f46a6179Smrg 1877f46a6179Smrg 1878f46a6179Smrg YY_REDUCE_PRINT (yyn); 1879f46a6179Smrg switch (yyn) 1880f46a6179Smrg { 1881f46a6179Smrg case 2: 18825fac8b10Smrg 18835fac8b10Smrg/* Line 1455 of yacc.c */ 188434345a63Smrg#line 169 "xkbparse.y" 1885f46a6179Smrg { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); } 1886f46a6179Smrg break; 1887f46a6179Smrg 1888f46a6179Smrg case 3: 18895fac8b10Smrg 18905fac8b10Smrg/* Line 1455 of yacc.c */ 189134345a63Smrg#line 171 "xkbparse.y" 1892f46a6179Smrg { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); } 1893f46a6179Smrg break; 1894f46a6179Smrg 1895f46a6179Smrg case 4: 18965fac8b10Smrg 18975fac8b10Smrg/* Line 1455 of yacc.c */ 189834345a63Smrg#line 173 "xkbparse.y" 1899f46a6179Smrg { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); } 1900f46a6179Smrg break; 1901f46a6179Smrg 1902f46a6179Smrg case 5: 19035fac8b10Smrg 19045fac8b10Smrg/* Line 1455 of yacc.c */ 190534345a63Smrg#line 177 "xkbparse.y" 1906f46a6179Smrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); } 1907f46a6179Smrg break; 1908f46a6179Smrg 1909f46a6179Smrg case 6: 19105fac8b10Smrg 19115fac8b10Smrg/* Line 1455 of yacc.c */ 191234345a63Smrg#line 179 "xkbparse.y" 1913f46a6179Smrg { (yyval.file)= (yyvsp[(1) - (1)].file); } 1914f46a6179Smrg break; 1915f46a6179Smrg 1916f46a6179Smrg case 7: 19175fac8b10Smrg 19185fac8b10Smrg/* Line 1455 of yacc.c */ 191934345a63Smrg#line 185 "xkbparse.y" 1920f46a6179Smrg { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),&(yyvsp[(5) - (7)].file)->common,(yyvsp[(1) - (7)].uval)); } 1921f46a6179Smrg break; 1922f46a6179Smrg 1923f46a6179Smrg case 8: 19245fac8b10Smrg 19255fac8b10Smrg/* Line 1455 of yacc.c */ 192634345a63Smrg#line 188 "xkbparse.y" 1927f46a6179Smrg { (yyval.uval)= XkmKeymapFile; } 1928f46a6179Smrg break; 1929f46a6179Smrg 1930f46a6179Smrg case 9: 19315fac8b10Smrg 19325fac8b10Smrg/* Line 1455 of yacc.c */ 193334345a63Smrg#line 189 "xkbparse.y" 1934f46a6179Smrg { (yyval.uval)= XkmSemanticsFile; } 1935f46a6179Smrg break; 1936f46a6179Smrg 1937f46a6179Smrg case 10: 19385fac8b10Smrg 19395fac8b10Smrg/* Line 1455 of yacc.c */ 194034345a63Smrg#line 190 "xkbparse.y" 1941f46a6179Smrg { (yyval.uval)= XkmLayoutFile; } 1942f46a6179Smrg break; 1943f46a6179Smrg 1944f46a6179Smrg case 11: 19455fac8b10Smrg 19465fac8b10Smrg/* Line 1455 of yacc.c */ 194734345a63Smrg#line 194 "xkbparse.y" 1948f46a6179Smrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); } 1949f46a6179Smrg break; 1950f46a6179Smrg 1951f46a6179Smrg case 12: 19525fac8b10Smrg 19535fac8b10Smrg/* Line 1455 of yacc.c */ 195434345a63Smrg#line 196 "xkbparse.y" 1955f46a6179Smrg { (yyval.file)= (yyvsp[(1) - (1)].file); } 1956f46a6179Smrg break; 1957f46a6179Smrg 1958f46a6179Smrg case 13: 19595fac8b10Smrg 19605fac8b10Smrg/* Line 1455 of yacc.c */ 196134345a63Smrg#line 202 "xkbparse.y" 1962f46a6179Smrg { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),(yyvsp[(5) - (7)].any),(yyvsp[(1) - (7)].uval)); } 1963f46a6179Smrg break; 1964f46a6179Smrg 1965f46a6179Smrg case 14: 19665fac8b10Smrg 19675fac8b10Smrg/* Line 1455 of yacc.c */ 196834345a63Smrg#line 206 "xkbparse.y" 1969f46a6179Smrg { (yyval.file)= CreateXKBFile((yyvsp[(2) - (4)].uval),(yyvsp[(3) - (4)].str),(yyvsp[(4) - (4)].any),(yyvsp[(1) - (4)].uval)); } 1970f46a6179Smrg break; 1971f46a6179Smrg 1972f46a6179Smrg case 15: 19735fac8b10Smrg 19745fac8b10Smrg/* Line 1455 of yacc.c */ 197534345a63Smrg#line 210 "xkbparse.y" 1976f46a6179Smrg { (yyval.uval)= XkmKeyNamesIndex; } 1977f46a6179Smrg break; 1978f46a6179Smrg 1979f46a6179Smrg case 16: 19805fac8b10Smrg 19815fac8b10Smrg/* Line 1455 of yacc.c */ 198234345a63Smrg#line 211 "xkbparse.y" 1983f46a6179Smrg { (yyval.uval)= XkmTypesIndex; } 1984f46a6179Smrg break; 1985f46a6179Smrg 1986f46a6179Smrg case 17: 19875fac8b10Smrg 19885fac8b10Smrg/* Line 1455 of yacc.c */ 198934345a63Smrg#line 212 "xkbparse.y" 1990f46a6179Smrg { (yyval.uval)= XkmCompatMapIndex; } 1991f46a6179Smrg break; 1992f46a6179Smrg 1993f46a6179Smrg case 18: 19945fac8b10Smrg 19955fac8b10Smrg/* Line 1455 of yacc.c */ 199634345a63Smrg#line 213 "xkbparse.y" 1997f46a6179Smrg { (yyval.uval)= XkmSymbolsIndex; } 1998f46a6179Smrg break; 1999f46a6179Smrg 2000f46a6179Smrg case 19: 20015fac8b10Smrg 20025fac8b10Smrg/* Line 1455 of yacc.c */ 200334345a63Smrg#line 214 "xkbparse.y" 2004f46a6179Smrg { (yyval.uval)= XkmGeometryIndex; } 2005f46a6179Smrg break; 2006f46a6179Smrg 2007f46a6179Smrg case 20: 20085fac8b10Smrg 20095fac8b10Smrg/* Line 1455 of yacc.c */ 201034345a63Smrg#line 217 "xkbparse.y" 2011f46a6179Smrg { (yyval.uval)= (yyvsp[(1) - (1)].uval); } 2012f46a6179Smrg break; 2013f46a6179Smrg 2014f46a6179Smrg case 21: 20155fac8b10Smrg 20165fac8b10Smrg/* Line 1455 of yacc.c */ 201734345a63Smrg#line 218 "xkbparse.y" 2018f46a6179Smrg { (yyval.uval)= 0; } 2019f46a6179Smrg break; 2020f46a6179Smrg 2021f46a6179Smrg case 22: 20225fac8b10Smrg 20235fac8b10Smrg/* Line 1455 of yacc.c */ 202434345a63Smrg#line 221 "xkbparse.y" 2025f46a6179Smrg { (yyval.uval)= (((yyvsp[(1) - (2)].uval))|((yyvsp[(2) - (2)].uval))); } 2026f46a6179Smrg break; 2027f46a6179Smrg 2028f46a6179Smrg case 23: 20295fac8b10Smrg 20305fac8b10Smrg/* Line 1455 of yacc.c */ 203134345a63Smrg#line 222 "xkbparse.y" 2032f46a6179Smrg { (yyval.uval)= (yyvsp[(1) - (1)].uval); } 2033f46a6179Smrg break; 2034f46a6179Smrg 2035f46a6179Smrg case 24: 20365fac8b10Smrg 20375fac8b10Smrg/* Line 1455 of yacc.c */ 203834345a63Smrg#line 225 "xkbparse.y" 2039f46a6179Smrg { (yyval.uval)= XkbLC_Partial; } 2040f46a6179Smrg break; 2041f46a6179Smrg 2042f46a6179Smrg case 25: 20435fac8b10Smrg 20445fac8b10Smrg/* Line 1455 of yacc.c */ 204534345a63Smrg#line 226 "xkbparse.y" 2046f46a6179Smrg { (yyval.uval)= XkbLC_Default; } 2047f46a6179Smrg break; 2048f46a6179Smrg 2049f46a6179Smrg case 26: 20505fac8b10Smrg 20515fac8b10Smrg/* Line 1455 of yacc.c */ 205234345a63Smrg#line 227 "xkbparse.y" 2053f46a6179Smrg { (yyval.uval)= XkbLC_Hidden; } 2054f46a6179Smrg break; 2055f46a6179Smrg 2056f46a6179Smrg case 27: 20575fac8b10Smrg 20585fac8b10Smrg/* Line 1455 of yacc.c */ 205934345a63Smrg#line 228 "xkbparse.y" 2060f46a6179Smrg { (yyval.uval)= XkbLC_AlphanumericKeys; } 2061f46a6179Smrg break; 2062f46a6179Smrg 2063f46a6179Smrg case 28: 20645fac8b10Smrg 20655fac8b10Smrg/* Line 1455 of yacc.c */ 206634345a63Smrg#line 229 "xkbparse.y" 2067f46a6179Smrg { (yyval.uval)= XkbLC_ModifierKeys; } 2068f46a6179Smrg break; 2069f46a6179Smrg 2070f46a6179Smrg case 29: 20715fac8b10Smrg 20725fac8b10Smrg/* Line 1455 of yacc.c */ 207334345a63Smrg#line 230 "xkbparse.y" 2074f46a6179Smrg { (yyval.uval)= XkbLC_KeypadKeys; } 2075f46a6179Smrg break; 2076f46a6179Smrg 2077f46a6179Smrg case 30: 20785fac8b10Smrg 20795fac8b10Smrg/* Line 1455 of yacc.c */ 208034345a63Smrg#line 231 "xkbparse.y" 2081f46a6179Smrg { (yyval.uval)= XkbLC_FunctionKeys; } 2082f46a6179Smrg break; 2083f46a6179Smrg 2084f46a6179Smrg case 31: 20855fac8b10Smrg 20865fac8b10Smrg/* Line 1455 of yacc.c */ 208734345a63Smrg#line 232 "xkbparse.y" 2088f46a6179Smrg { (yyval.uval)= XkbLC_AlternateGroup; } 2089f46a6179Smrg break; 2090f46a6179Smrg 2091f46a6179Smrg case 32: 20925fac8b10Smrg 20935fac8b10Smrg/* Line 1455 of yacc.c */ 209434345a63Smrg#line 236 "xkbparse.y" 2095f46a6179Smrg { (yyval.any)= AppendStmt((yyvsp[(1) - (2)].any),(yyvsp[(2) - (2)].any)); } 2096f46a6179Smrg break; 2097f46a6179Smrg 2098f46a6179Smrg case 33: 20995fac8b10Smrg 21005fac8b10Smrg/* Line 1455 of yacc.c */ 210134345a63Smrg#line 237 "xkbparse.y" 2102f46a6179Smrg { (yyval.any)= NULL; } 2103f46a6179Smrg break; 2104f46a6179Smrg 2105f46a6179Smrg case 34: 21065fac8b10Smrg 21075fac8b10Smrg/* Line 1455 of yacc.c */ 210834345a63Smrg#line 241 "xkbparse.y" 2109f46a6179Smrg { 2110f46a6179Smrg (yyvsp[(2) - (2)].var)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].var)->common,(yyvsp[(1) - (2)].uval)); 2111f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].var)->common; 2112f46a6179Smrg } 2113f46a6179Smrg break; 2114f46a6179Smrg 2115f46a6179Smrg case 35: 21165fac8b10Smrg 21175fac8b10Smrg/* Line 1455 of yacc.c */ 211834345a63Smrg#line 246 "xkbparse.y" 2119f46a6179Smrg { 2120f46a6179Smrg (yyvsp[(2) - (2)].vmod)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].vmod)->common,(yyvsp[(1) - (2)].uval)); 2121f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].vmod)->common; 2122f46a6179Smrg } 2123f46a6179Smrg break; 2124f46a6179Smrg 2125f46a6179Smrg case 36: 21265fac8b10Smrg 21275fac8b10Smrg/* Line 1455 of yacc.c */ 212834345a63Smrg#line 251 "xkbparse.y" 2129f46a6179Smrg { 2130f46a6179Smrg (yyvsp[(2) - (2)].interp)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].interp)->common,(yyvsp[(1) - (2)].uval)); 2131f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].interp)->common; 2132f46a6179Smrg } 2133f46a6179Smrg break; 2134f46a6179Smrg 2135f46a6179Smrg case 37: 21365fac8b10Smrg 21375fac8b10Smrg/* Line 1455 of yacc.c */ 213834345a63Smrg#line 256 "xkbparse.y" 2139f46a6179Smrg { 2140f46a6179Smrg (yyvsp[(2) - (2)].keyName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyName)->common,(yyvsp[(1) - (2)].uval)); 2141f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].keyName)->common; 2142f46a6179Smrg } 2143f46a6179Smrg break; 2144f46a6179Smrg 2145f46a6179Smrg case 38: 21465fac8b10Smrg 21475fac8b10Smrg/* Line 1455 of yacc.c */ 214834345a63Smrg#line 261 "xkbparse.y" 2149f46a6179Smrg { 2150f46a6179Smrg (yyvsp[(2) - (2)].keyAlias)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyAlias)->common,(yyvsp[(1) - (2)].uval)); 2151f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].keyAlias)->common; 2152f46a6179Smrg } 2153f46a6179Smrg break; 2154f46a6179Smrg 2155f46a6179Smrg case 39: 21565fac8b10Smrg 21575fac8b10Smrg/* Line 1455 of yacc.c */ 215834345a63Smrg#line 266 "xkbparse.y" 2159f46a6179Smrg { 2160f46a6179Smrg (yyvsp[(2) - (2)].keyType)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyType)->common,(yyvsp[(1) - (2)].uval)); 2161f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].keyType)->common; 2162f46a6179Smrg } 2163f46a6179Smrg break; 2164f46a6179Smrg 2165f46a6179Smrg case 40: 21665fac8b10Smrg 21675fac8b10Smrg/* Line 1455 of yacc.c */ 216834345a63Smrg#line 271 "xkbparse.y" 2169f46a6179Smrg { 2170f46a6179Smrg (yyvsp[(2) - (2)].syms)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].syms)->common,(yyvsp[(1) - (2)].uval)); 2171f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].syms)->common; 2172f46a6179Smrg } 2173f46a6179Smrg break; 2174f46a6179Smrg 2175f46a6179Smrg case 41: 21765fac8b10Smrg 21775fac8b10Smrg/* Line 1455 of yacc.c */ 217834345a63Smrg#line 276 "xkbparse.y" 2179f46a6179Smrg { 2180f46a6179Smrg (yyvsp[(2) - (2)].modMask)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].modMask)->common,(yyvsp[(1) - (2)].uval)); 2181f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].modMask)->common; 2182f46a6179Smrg } 2183f46a6179Smrg break; 2184f46a6179Smrg 2185f46a6179Smrg case 42: 21865fac8b10Smrg 21875fac8b10Smrg/* Line 1455 of yacc.c */ 218834345a63Smrg#line 281 "xkbparse.y" 2189f46a6179Smrg { 2190f46a6179Smrg (yyvsp[(2) - (2)].groupCompat)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].groupCompat)->common,(yyvsp[(1) - (2)].uval)); 2191f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].groupCompat)->common; 2192f46a6179Smrg } 2193f46a6179Smrg break; 2194f46a6179Smrg 2195f46a6179Smrg case 43: 21965fac8b10Smrg 21975fac8b10Smrg/* Line 1455 of yacc.c */ 219834345a63Smrg#line 286 "xkbparse.y" 2199f46a6179Smrg { 2200f46a6179Smrg (yyvsp[(2) - (2)].ledMap)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledMap)->common,(yyvsp[(1) - (2)].uval)); 2201f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].ledMap)->common; 2202f46a6179Smrg } 2203f46a6179Smrg break; 2204f46a6179Smrg 2205f46a6179Smrg case 44: 22065fac8b10Smrg 22075fac8b10Smrg/* Line 1455 of yacc.c */ 220834345a63Smrg#line 291 "xkbparse.y" 2209f46a6179Smrg { 2210f46a6179Smrg (yyvsp[(2) - (2)].ledName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledName)->common,(yyvsp[(1) - (2)].uval)); 2211f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].ledName)->common; 2212f46a6179Smrg } 2213f46a6179Smrg break; 2214f46a6179Smrg 2215f46a6179Smrg case 45: 22165fac8b10Smrg 22175fac8b10Smrg/* Line 1455 of yacc.c */ 221834345a63Smrg#line 296 "xkbparse.y" 2219f46a6179Smrg { 2220f46a6179Smrg (yyvsp[(2) - (2)].shape)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].shape)->common,(yyvsp[(1) - (2)].uval)); 2221f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].shape)->common; 2222f46a6179Smrg } 2223f46a6179Smrg break; 2224f46a6179Smrg 2225f46a6179Smrg case 46: 22265fac8b10Smrg 22275fac8b10Smrg/* Line 1455 of yacc.c */ 222834345a63Smrg#line 301 "xkbparse.y" 2229f46a6179Smrg { 2230f46a6179Smrg (yyvsp[(2) - (2)].section)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].section)->common,(yyvsp[(1) - (2)].uval)); 2231f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].section)->common; 2232f46a6179Smrg } 2233f46a6179Smrg break; 2234f46a6179Smrg 2235f46a6179Smrg case 47: 22365fac8b10Smrg 22375fac8b10Smrg/* Line 1455 of yacc.c */ 223834345a63Smrg#line 306 "xkbparse.y" 2239f46a6179Smrg { 2240f46a6179Smrg (yyvsp[(2) - (2)].doodad)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].doodad)->common,(yyvsp[(1) - (2)].uval)); 2241f46a6179Smrg (yyval.any)= &(yyvsp[(2) - (2)].doodad)->common; 2242f46a6179Smrg } 2243f46a6179Smrg break; 2244f46a6179Smrg 2245f46a6179Smrg case 48: 22465fac8b10Smrg 22475fac8b10Smrg/* Line 1455 of yacc.c */ 224834345a63Smrg#line 311 "xkbparse.y" 2249f46a6179Smrg { 2250f46a6179Smrg if ((yyvsp[(1) - (2)].uval)==MergeAltForm) { 2251f46a6179Smrg yyerror("cannot use 'alternate' to include other maps"); 2252f46a6179Smrg (yyval.any)= &IncludeCreate(scanStr,MergeDefault)->common; 2253f46a6179Smrg } 2254f46a6179Smrg else { 2255f46a6179Smrg (yyval.any)= &IncludeCreate(scanStr,(yyvsp[(1) - (2)].uval))->common; 2256f46a6179Smrg } 2257f46a6179Smrg } 2258f46a6179Smrg break; 2259f46a6179Smrg 2260f46a6179Smrg case 49: 22615fac8b10Smrg 22625fac8b10Smrg/* Line 1455 of yacc.c */ 226334345a63Smrg#line 323 "xkbparse.y" 2264f46a6179Smrg { (yyval.var)= VarCreate((yyvsp[(1) - (4)].expr),(yyvsp[(3) - (4)].expr)); } 2265f46a6179Smrg break; 2266f46a6179Smrg 2267f46a6179Smrg case 50: 22685fac8b10Smrg 22695fac8b10Smrg/* Line 1455 of yacc.c */ 227034345a63Smrg#line 325 "xkbparse.y" 2271f46a6179Smrg { (yyval.var)= BoolVarCreate((yyvsp[(1) - (2)].sval),1); } 2272f46a6179Smrg break; 2273f46a6179Smrg 2274f46a6179Smrg case 51: 22755fac8b10Smrg 22765fac8b10Smrg/* Line 1455 of yacc.c */ 227734345a63Smrg#line 327 "xkbparse.y" 2278f46a6179Smrg { (yyval.var)= BoolVarCreate((yyvsp[(2) - (3)].sval),0); } 2279f46a6179Smrg break; 2280f46a6179Smrg 2281f46a6179Smrg case 52: 22825fac8b10Smrg 22835fac8b10Smrg/* Line 1455 of yacc.c */ 228434345a63Smrg#line 331 "xkbparse.y" 2285f46a6179Smrg { 2286f46a6179Smrg KeycodeDef *def; 2287f46a6179Smrg 2288f46a6179Smrg def= KeycodeCreate((yyvsp[(1) - (4)].str),(yyvsp[(3) - (4)].expr)); 2289f46a6179Smrg if ((yyvsp[(1) - (4)].str)) 2290f46a6179Smrg free((yyvsp[(1) - (4)].str)); 2291f46a6179Smrg (yyval.keyName)= def; 2292f46a6179Smrg } 2293f46a6179Smrg break; 2294f46a6179Smrg 2295f46a6179Smrg case 53: 22965fac8b10Smrg 22975fac8b10Smrg/* Line 1455 of yacc.c */ 229834345a63Smrg#line 342 "xkbparse.y" 2299f46a6179Smrg { 2300f46a6179Smrg KeyAliasDef *def; 2301f46a6179Smrg def= KeyAliasCreate((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].str)); 2302f46a6179Smrg if ((yyvsp[(2) - (5)].str)) free((yyvsp[(2) - (5)].str)); 2303f46a6179Smrg if ((yyvsp[(4) - (5)].str)) free((yyvsp[(4) - (5)].str)); 2304f46a6179Smrg (yyval.keyAlias)= def; 2305f46a6179Smrg } 2306f46a6179Smrg break; 2307f46a6179Smrg 2308f46a6179Smrg case 54: 23095fac8b10Smrg 23105fac8b10Smrg/* Line 1455 of yacc.c */ 231134345a63Smrg#line 352 "xkbparse.y" 2312f46a6179Smrg { (yyval.vmod)= (yyvsp[(2) - (3)].vmod); } 2313f46a6179Smrg break; 2314f46a6179Smrg 2315f46a6179Smrg case 55: 23165fac8b10Smrg 23175fac8b10Smrg/* Line 1455 of yacc.c */ 231834345a63Smrg#line 356 "xkbparse.y" 2319f46a6179Smrg { (yyval.vmod)= (VModDef *)AppendStmt(&(yyvsp[(1) - (3)].vmod)->common,&(yyvsp[(3) - (3)].vmod)->common); } 2320f46a6179Smrg break; 2321f46a6179Smrg 2322f46a6179Smrg case 56: 23235fac8b10Smrg 23245fac8b10Smrg/* Line 1455 of yacc.c */ 232534345a63Smrg#line 358 "xkbparse.y" 2326f46a6179Smrg { (yyval.vmod)= (yyvsp[(1) - (1)].vmod); } 2327f46a6179Smrg break; 2328f46a6179Smrg 2329f46a6179Smrg case 57: 23305fac8b10Smrg 23315fac8b10Smrg/* Line 1455 of yacc.c */ 233234345a63Smrg#line 362 "xkbparse.y" 2333f46a6179Smrg { (yyval.vmod)= VModCreate((yyvsp[(1) - (1)].sval),NULL); } 2334f46a6179Smrg break; 2335f46a6179Smrg 2336f46a6179Smrg case 58: 23375fac8b10Smrg 23385fac8b10Smrg/* Line 1455 of yacc.c */ 233934345a63Smrg#line 364 "xkbparse.y" 2340f46a6179Smrg { (yyval.vmod)= VModCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); } 2341f46a6179Smrg break; 2342f46a6179Smrg 2343f46a6179Smrg case 59: 23445fac8b10Smrg 23455fac8b10Smrg/* Line 1455 of yacc.c */ 234634345a63Smrg#line 370 "xkbparse.y" 2347f46a6179Smrg { 2348f46a6179Smrg (yyvsp[(2) - (6)].interp)->def= (yyvsp[(4) - (6)].var); 2349f46a6179Smrg (yyval.interp)= (yyvsp[(2) - (6)].interp); 2350f46a6179Smrg } 2351f46a6179Smrg break; 2352f46a6179Smrg 2353f46a6179Smrg case 60: 23545fac8b10Smrg 23555fac8b10Smrg/* Line 1455 of yacc.c */ 235634345a63Smrg#line 377 "xkbparse.y" 2357f46a6179Smrg { (yyval.interp)= InterpCreate((KeySym)(yyvsp[(1) - (3)].uval),(yyvsp[(3) - (3)].expr)); } 2358f46a6179Smrg break; 2359f46a6179Smrg 2360f46a6179Smrg case 61: 23615fac8b10Smrg 23625fac8b10Smrg/* Line 1455 of yacc.c */ 236334345a63Smrg#line 379 "xkbparse.y" 2364f46a6179Smrg { (yyval.interp)= InterpCreate((KeySym)(yyvsp[(1) - (1)].uval),NULL); } 2365f46a6179Smrg break; 2366f46a6179Smrg 2367f46a6179Smrg case 62: 23685fac8b10Smrg 23695fac8b10Smrg/* Line 1455 of yacc.c */ 237034345a63Smrg#line 383 "xkbparse.y" 2371f46a6179Smrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (2)].var)->common,&(yyvsp[(2) - (2)].var)->common); } 2372f46a6179Smrg break; 2373f46a6179Smrg 2374f46a6179Smrg case 63: 23755fac8b10Smrg 23765fac8b10Smrg/* Line 1455 of yacc.c */ 237734345a63Smrg#line 385 "xkbparse.y" 2378f46a6179Smrg { (yyval.var)= (yyvsp[(1) - (1)].var); } 2379f46a6179Smrg break; 2380f46a6179Smrg 2381f46a6179Smrg case 64: 23825fac8b10Smrg 23835fac8b10Smrg/* Line 1455 of yacc.c */ 238434345a63Smrg#line 391 "xkbparse.y" 2385f46a6179Smrg { (yyval.keyType)= KeyTypeCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); } 2386f46a6179Smrg break; 2387f46a6179Smrg 2388f46a6179Smrg case 65: 23895fac8b10Smrg 23905fac8b10Smrg/* Line 1455 of yacc.c */ 239134345a63Smrg#line 397 "xkbparse.y" 2392f46a6179Smrg { (yyval.syms)= SymbolsCreate((yyvsp[(2) - (6)].str),(ExprDef *)(yyvsp[(4) - (6)].var)); } 2393f46a6179Smrg break; 2394f46a6179Smrg 2395f46a6179Smrg case 66: 23965fac8b10Smrg 23975fac8b10Smrg/* Line 1455 of yacc.c */ 239834345a63Smrg#line 401 "xkbparse.y" 2399f46a6179Smrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (3)].var)->common,&(yyvsp[(3) - (3)].var)->common); } 2400f46a6179Smrg break; 2401f46a6179Smrg 2402f46a6179Smrg case 67: 24035fac8b10Smrg 24045fac8b10Smrg/* Line 1455 of yacc.c */ 240534345a63Smrg#line 403 "xkbparse.y" 2406f46a6179Smrg { (yyval.var)= (yyvsp[(1) - (1)].var); } 2407f46a6179Smrg break; 2408f46a6179Smrg 2409f46a6179Smrg case 68: 24105fac8b10Smrg 24115fac8b10Smrg/* Line 1455 of yacc.c */ 241234345a63Smrg#line 404 "xkbparse.y" 2413f46a6179Smrg { (yyval.var)= NULL; } 2414f46a6179Smrg break; 2415f46a6179Smrg 2416f46a6179Smrg case 69: 24175fac8b10Smrg 24185fac8b10Smrg/* Line 1455 of yacc.c */ 241934345a63Smrg#line 408 "xkbparse.y" 2420f46a6179Smrg { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2421f46a6179Smrg break; 2422f46a6179Smrg 2423f46a6179Smrg case 70: 24245fac8b10Smrg 24255fac8b10Smrg/* Line 1455 of yacc.c */ 242634345a63Smrg#line 410 "xkbparse.y" 2427f46a6179Smrg { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2428f46a6179Smrg break; 2429f46a6179Smrg 2430f46a6179Smrg case 71: 24315fac8b10Smrg 24325fac8b10Smrg/* Line 1455 of yacc.c */ 243334345a63Smrg#line 412 "xkbparse.y" 2434f46a6179Smrg { (yyval.var)= BoolVarCreate((yyvsp[(1) - (1)].sval),1); } 2435f46a6179Smrg break; 2436f46a6179Smrg 2437f46a6179Smrg case 72: 24385fac8b10Smrg 24395fac8b10Smrg/* Line 1455 of yacc.c */ 244034345a63Smrg#line 414 "xkbparse.y" 2441f46a6179Smrg { (yyval.var)= BoolVarCreate((yyvsp[(2) - (2)].sval),0); } 2442f46a6179Smrg break; 2443f46a6179Smrg 2444f46a6179Smrg case 73: 24455fac8b10Smrg 24465fac8b10Smrg/* Line 1455 of yacc.c */ 244734345a63Smrg#line 416 "xkbparse.y" 2448f46a6179Smrg { (yyval.var)= VarCreate(NULL,(yyvsp[(1) - (1)].expr)); } 2449f46a6179Smrg break; 2450f46a6179Smrg 2451f46a6179Smrg case 74: 24525fac8b10Smrg 24535fac8b10Smrg/* Line 1455 of yacc.c */ 245434345a63Smrg#line 420 "xkbparse.y" 2455f46a6179Smrg { (yyval.expr)= (yyvsp[(2) - (3)].expr); } 2456f46a6179Smrg break; 2457f46a6179Smrg 2458f46a6179Smrg case 75: 24595fac8b10Smrg 24605fac8b10Smrg/* Line 1455 of yacc.c */ 246134345a63Smrg#line 422 "xkbparse.y" 2462f46a6179Smrg { (yyval.expr)= ExprCreateUnary(ExprActionList,TypeAction,(yyvsp[(2) - (3)].expr)); } 2463f46a6179Smrg break; 2464f46a6179Smrg 2465f46a6179Smrg case 76: 24665fac8b10Smrg 24675fac8b10Smrg/* Line 1455 of yacc.c */ 246834345a63Smrg#line 426 "xkbparse.y" 2469f46a6179Smrg { (yyval.groupCompat)= GroupCompatCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr)); } 2470f46a6179Smrg break; 2471f46a6179Smrg 2472f46a6179Smrg case 77: 24735fac8b10Smrg 24745fac8b10Smrg/* Line 1455 of yacc.c */ 247534345a63Smrg#line 430 "xkbparse.y" 2476f46a6179Smrg { (yyval.modMask)= ModMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].expr)); } 2477f46a6179Smrg break; 2478f46a6179Smrg 2479f46a6179Smrg case 78: 24805fac8b10Smrg 24815fac8b10Smrg/* Line 1455 of yacc.c */ 248234345a63Smrg#line 434 "xkbparse.y" 2483f46a6179Smrg { (yyval.ledMap)= IndicatorMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); } 2484f46a6179Smrg break; 2485f46a6179Smrg 2486f46a6179Smrg case 79: 24875fac8b10Smrg 24885fac8b10Smrg/* Line 1455 of yacc.c */ 248934345a63Smrg#line 438 "xkbparse.y" 2490f46a6179Smrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr),False); } 2491f46a6179Smrg break; 2492f46a6179Smrg 2493f46a6179Smrg case 80: 24945fac8b10Smrg 24955fac8b10Smrg/* Line 1455 of yacc.c */ 249634345a63Smrg#line 440 "xkbparse.y" 2497f46a6179Smrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[(3) - (6)].ival),(yyvsp[(5) - (6)].expr),True); } 2498f46a6179Smrg break; 2499f46a6179Smrg 2500f46a6179Smrg case 81: 25015fac8b10Smrg 25025fac8b10Smrg/* Line 1455 of yacc.c */ 250334345a63Smrg#line 444 "xkbparse.y" 2504f46a6179Smrg { (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),(OutlineDef *)&(yyvsp[(4) - (6)].outline)->common); } 2505f46a6179Smrg break; 2506f46a6179Smrg 2507f46a6179Smrg case 82: 25085fac8b10Smrg 25095fac8b10Smrg/* Line 1455 of yacc.c */ 251034345a63Smrg#line 446 "xkbparse.y" 2511f46a6179Smrg { 2512f46a6179Smrg OutlineDef *outlines; 2513f46a6179Smrg outlines= OutlineCreate(None,(yyvsp[(4) - (6)].expr)); 2514f46a6179Smrg (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),outlines); 2515f46a6179Smrg } 2516f46a6179Smrg break; 2517f46a6179Smrg 2518f46a6179Smrg case 83: 25195fac8b10Smrg 25205fac8b10Smrg/* Line 1455 of yacc.c */ 252134345a63Smrg#line 454 "xkbparse.y" 2522f46a6179Smrg { (yyval.section)= SectionDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].row)); } 2523f46a6179Smrg break; 2524f46a6179Smrg 2525f46a6179Smrg case 84: 25265fac8b10Smrg 25275fac8b10Smrg/* Line 1455 of yacc.c */ 252834345a63Smrg#line 458 "xkbparse.y" 2529f46a6179Smrg { (yyval.row)=(RowDef *)AppendStmt(&(yyvsp[(1) - (2)].row)->common,&(yyvsp[(2) - (2)].row)->common);} 2530f46a6179Smrg break; 2531f46a6179Smrg 2532f46a6179Smrg case 85: 25335fac8b10Smrg 25345fac8b10Smrg/* Line 1455 of yacc.c */ 253534345a63Smrg#line 460 "xkbparse.y" 2536f46a6179Smrg { (yyval.row)= (yyvsp[(1) - (1)].row); } 2537f46a6179Smrg break; 2538f46a6179Smrg 2539f46a6179Smrg case 86: 25405fac8b10Smrg 25415fac8b10Smrg/* Line 1455 of yacc.c */ 254234345a63Smrg#line 464 "xkbparse.y" 2543f46a6179Smrg { (yyval.row)= RowDeclCreate((yyvsp[(3) - (5)].key)); } 2544f46a6179Smrg break; 2545f46a6179Smrg 2546f46a6179Smrg case 87: 25475fac8b10Smrg 25485fac8b10Smrg/* Line 1455 of yacc.c */ 254934345a63Smrg#line 466 "xkbparse.y" 2550f46a6179Smrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].var); } 2551f46a6179Smrg break; 2552f46a6179Smrg 2553f46a6179Smrg case 88: 25545fac8b10Smrg 25555fac8b10Smrg/* Line 1455 of yacc.c */ 255634345a63Smrg#line 468 "xkbparse.y" 2557f46a6179Smrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].doodad); } 2558f46a6179Smrg break; 2559f46a6179Smrg 2560f46a6179Smrg case 89: 25615fac8b10Smrg 25625fac8b10Smrg/* Line 1455 of yacc.c */ 256334345a63Smrg#line 470 "xkbparse.y" 2564f46a6179Smrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].ledMap); } 2565f46a6179Smrg break; 2566f46a6179Smrg 2567f46a6179Smrg case 90: 25685fac8b10Smrg 25695fac8b10Smrg/* Line 1455 of yacc.c */ 257034345a63Smrg#line 472 "xkbparse.y" 2571f46a6179Smrg { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].overlay); } 2572f46a6179Smrg break; 2573f46a6179Smrg 2574f46a6179Smrg case 91: 25755fac8b10Smrg 25765fac8b10Smrg/* Line 1455 of yacc.c */ 257734345a63Smrg#line 476 "xkbparse.y" 2578f46a6179Smrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (2)].key)->common,&(yyvsp[(2) - (2)].key)->common);} 2579f46a6179Smrg break; 2580f46a6179Smrg 2581f46a6179Smrg case 92: 25825fac8b10Smrg 25835fac8b10Smrg/* Line 1455 of yacc.c */ 258434345a63Smrg#line 478 "xkbparse.y" 2585f46a6179Smrg { (yyval.key)= (yyvsp[(1) - (1)].key); } 2586f46a6179Smrg break; 2587f46a6179Smrg 2588f46a6179Smrg case 93: 25895fac8b10Smrg 25905fac8b10Smrg/* Line 1455 of yacc.c */ 259134345a63Smrg#line 482 "xkbparse.y" 2592f46a6179Smrg { (yyval.key)= (yyvsp[(3) - (5)].key); } 2593f46a6179Smrg break; 2594f46a6179Smrg 2595f46a6179Smrg case 94: 25965fac8b10Smrg 25975fac8b10Smrg/* Line 1455 of yacc.c */ 259834345a63Smrg#line 484 "xkbparse.y" 2599f46a6179Smrg { (yyval.key)= (KeyDef *)(yyvsp[(1) - (1)].var); } 2600f46a6179Smrg break; 2601f46a6179Smrg 2602f46a6179Smrg case 95: 26035fac8b10Smrg 26045fac8b10Smrg/* Line 1455 of yacc.c */ 260534345a63Smrg#line 488 "xkbparse.y" 2606f46a6179Smrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (3)].key)->common,&(yyvsp[(3) - (3)].key)->common);} 2607f46a6179Smrg break; 2608f46a6179Smrg 2609f46a6179Smrg case 96: 26105fac8b10Smrg 26115fac8b10Smrg/* Line 1455 of yacc.c */ 261234345a63Smrg#line 490 "xkbparse.y" 2613f46a6179Smrg { (yyval.key)= (yyvsp[(1) - (1)].key); } 2614f46a6179Smrg break; 2615f46a6179Smrg 2616f46a6179Smrg case 97: 26175fac8b10Smrg 26185fac8b10Smrg/* Line 1455 of yacc.c */ 261934345a63Smrg#line 494 "xkbparse.y" 2620f46a6179Smrg { (yyval.key)= KeyDeclCreate((yyvsp[(1) - (1)].str),NULL); } 2621f46a6179Smrg break; 2622f46a6179Smrg 2623f46a6179Smrg case 98: 26245fac8b10Smrg 26255fac8b10Smrg/* Line 1455 of yacc.c */ 262634345a63Smrg#line 496 "xkbparse.y" 2627f46a6179Smrg { (yyval.key)= KeyDeclCreate(NULL,(yyvsp[(2) - (3)].expr)); } 2628f46a6179Smrg break; 2629f46a6179Smrg 2630f46a6179Smrg case 99: 26315fac8b10Smrg 26325fac8b10Smrg/* Line 1455 of yacc.c */ 263334345a63Smrg#line 500 "xkbparse.y" 2634f46a6179Smrg { (yyval.overlay)= OverlayDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].olKey)); } 2635f46a6179Smrg break; 2636f46a6179Smrg 2637f46a6179Smrg case 100: 26385fac8b10Smrg 26395fac8b10Smrg/* Line 1455 of yacc.c */ 264034345a63Smrg#line 504 "xkbparse.y" 2641f46a6179Smrg { 2642f46a6179Smrg (yyval.olKey)= (OverlayKeyDef *) 2643f46a6179Smrg AppendStmt(&(yyvsp[(1) - (3)].olKey)->common,&(yyvsp[(3) - (3)].olKey)->common); 2644f46a6179Smrg } 2645f46a6179Smrg break; 2646f46a6179Smrg 2647f46a6179Smrg case 101: 26485fac8b10Smrg 26495fac8b10Smrg/* Line 1455 of yacc.c */ 265034345a63Smrg#line 509 "xkbparse.y" 2651f46a6179Smrg { (yyval.olKey)= (yyvsp[(1) - (1)].olKey); } 2652f46a6179Smrg break; 2653f46a6179Smrg 2654f46a6179Smrg case 102: 26555fac8b10Smrg 26565fac8b10Smrg/* Line 1455 of yacc.c */ 265734345a63Smrg#line 513 "xkbparse.y" 2658f46a6179Smrg { (yyval.olKey)= OverlayKeyCreate((yyvsp[(1) - (3)].str),(yyvsp[(3) - (3)].str)); } 2659f46a6179Smrg break; 2660f46a6179Smrg 2661f46a6179Smrg case 103: 26625fac8b10Smrg 26635fac8b10Smrg/* Line 1455 of yacc.c */ 266434345a63Smrg#line 517 "xkbparse.y" 2665f46a6179Smrg { (yyval.outline)=(OutlineDef *)AppendStmt(&(yyvsp[(1) - (3)].outline)->common,&(yyvsp[(3) - (3)].outline)->common);} 2666f46a6179Smrg break; 2667f46a6179Smrg 2668f46a6179Smrg case 104: 26695fac8b10Smrg 26705fac8b10Smrg/* Line 1455 of yacc.c */ 267134345a63Smrg#line 519 "xkbparse.y" 2672f46a6179Smrg { (yyval.outline)= (yyvsp[(1) - (1)].outline); } 2673f46a6179Smrg break; 2674f46a6179Smrg 2675f46a6179Smrg case 105: 26765fac8b10Smrg 26775fac8b10Smrg/* Line 1455 of yacc.c */ 267834345a63Smrg#line 523 "xkbparse.y" 2679f46a6179Smrg { (yyval.outline)= OutlineCreate(None,(yyvsp[(2) - (3)].expr)); } 2680f46a6179Smrg break; 2681f46a6179Smrg 2682f46a6179Smrg case 106: 26835fac8b10Smrg 26845fac8b10Smrg/* Line 1455 of yacc.c */ 268534345a63Smrg#line 525 "xkbparse.y" 2686f46a6179Smrg { (yyval.outline)= OutlineCreate((yyvsp[(1) - (5)].sval),(yyvsp[(4) - (5)].expr)); } 2687f46a6179Smrg break; 2688f46a6179Smrg 2689f46a6179Smrg case 107: 26905fac8b10Smrg 26915fac8b10Smrg/* Line 1455 of yacc.c */ 269234345a63Smrg#line 527 "xkbparse.y" 2693f46a6179Smrg { (yyval.outline)= OutlineCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); } 2694f46a6179Smrg break; 2695f46a6179Smrg 2696f46a6179Smrg case 108: 26975fac8b10Smrg 26985fac8b10Smrg/* Line 1455 of yacc.c */ 269934345a63Smrg#line 531 "xkbparse.y" 2700f46a6179Smrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); } 2701f46a6179Smrg break; 2702f46a6179Smrg 2703f46a6179Smrg case 109: 27045fac8b10Smrg 27055fac8b10Smrg/* Line 1455 of yacc.c */ 270634345a63Smrg#line 533 "xkbparse.y" 2707f46a6179Smrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2708f46a6179Smrg break; 2709f46a6179Smrg 2710f46a6179Smrg case 110: 27115fac8b10Smrg 27125fac8b10Smrg/* Line 1455 of yacc.c */ 271334345a63Smrg#line 537 "xkbparse.y" 2714f46a6179Smrg { 2715f46a6179Smrg ExprDef *expr; 2716f46a6179Smrg expr= ExprCreate(ExprCoord,TypeUnknown); 2717f46a6179Smrg expr->value.coord.x= (yyvsp[(2) - (5)].ival); 2718f46a6179Smrg expr->value.coord.y= (yyvsp[(4) - (5)].ival); 2719f46a6179Smrg (yyval.expr)= expr; 2720f46a6179Smrg } 2721f46a6179Smrg break; 2722f46a6179Smrg 2723f46a6179Smrg case 111: 27245fac8b10Smrg 27255fac8b10Smrg/* Line 1455 of yacc.c */ 272634345a63Smrg#line 547 "xkbparse.y" 2727f46a6179Smrg { (yyval.doodad)= DoodadCreate((yyvsp[(1) - (6)].uval),(yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); } 2728f46a6179Smrg break; 2729f46a6179Smrg 2730f46a6179Smrg case 112: 27315fac8b10Smrg 27325fac8b10Smrg/* Line 1455 of yacc.c */ 273334345a63Smrg#line 550 "xkbparse.y" 2734f46a6179Smrg { (yyval.uval)= XkbTextDoodad; } 2735f46a6179Smrg break; 2736f46a6179Smrg 2737f46a6179Smrg case 113: 27385fac8b10Smrg 27395fac8b10Smrg/* Line 1455 of yacc.c */ 274034345a63Smrg#line 551 "xkbparse.y" 2741f46a6179Smrg { (yyval.uval)= XkbOutlineDoodad; } 2742f46a6179Smrg break; 2743f46a6179Smrg 2744f46a6179Smrg case 114: 27455fac8b10Smrg 27465fac8b10Smrg/* Line 1455 of yacc.c */ 274734345a63Smrg#line 552 "xkbparse.y" 2748f46a6179Smrg { (yyval.uval)= XkbSolidDoodad; } 2749f46a6179Smrg break; 2750f46a6179Smrg 2751f46a6179Smrg case 115: 27525fac8b10Smrg 27535fac8b10Smrg/* Line 1455 of yacc.c */ 275434345a63Smrg#line 553 "xkbparse.y" 2755f46a6179Smrg { (yyval.uval)= XkbLogoDoodad; } 2756f46a6179Smrg break; 2757f46a6179Smrg 2758f46a6179Smrg case 116: 27595fac8b10Smrg 27605fac8b10Smrg/* Line 1455 of yacc.c */ 276134345a63Smrg#line 556 "xkbparse.y" 2762f46a6179Smrg { (yyval.sval)= (yyvsp[(1) - (1)].sval); } 2763f46a6179Smrg break; 2764f46a6179Smrg 2765f46a6179Smrg case 117: 27665fac8b10Smrg 27675fac8b10Smrg/* Line 1455 of yacc.c */ 276834345a63Smrg#line 557 "xkbparse.y" 2769f46a6179Smrg { (yyval.sval)= (yyvsp[(1) - (1)].sval); } 2770f46a6179Smrg break; 2771f46a6179Smrg 2772f46a6179Smrg case 118: 27735fac8b10Smrg 27745fac8b10Smrg/* Line 1455 of yacc.c */ 277534345a63Smrg#line 561 "xkbparse.y" 2776f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"action",False); } 2777f46a6179Smrg break; 2778f46a6179Smrg 2779f46a6179Smrg case 119: 27805fac8b10Smrg 27815fac8b10Smrg/* Line 1455 of yacc.c */ 278234345a63Smrg#line 563 "xkbparse.y" 2783f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"interpret",False); } 2784f46a6179Smrg break; 2785f46a6179Smrg 2786f46a6179Smrg case 120: 27875fac8b10Smrg 27885fac8b10Smrg/* Line 1455 of yacc.c */ 278934345a63Smrg#line 565 "xkbparse.y" 2790f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"type",False); } 2791f46a6179Smrg break; 2792f46a6179Smrg 2793f46a6179Smrg case 121: 27945fac8b10Smrg 27955fac8b10Smrg/* Line 1455 of yacc.c */ 279634345a63Smrg#line 567 "xkbparse.y" 2797f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"key",False); } 2798f46a6179Smrg break; 2799f46a6179Smrg 2800f46a6179Smrg case 122: 28015fac8b10Smrg 28025fac8b10Smrg/* Line 1455 of yacc.c */ 280334345a63Smrg#line 569 "xkbparse.y" 2804f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"group",False); } 2805f46a6179Smrg break; 2806f46a6179Smrg 2807f46a6179Smrg case 123: 28085fac8b10Smrg 28095fac8b10Smrg/* Line 1455 of yacc.c */ 281034345a63Smrg#line 571 "xkbparse.y" 2811f46a6179Smrg {(yyval.sval)=XkbInternAtom(NULL,"modifier_map",False);} 2812f46a6179Smrg break; 2813f46a6179Smrg 2814f46a6179Smrg case 124: 28155fac8b10Smrg 28165fac8b10Smrg/* Line 1455 of yacc.c */ 281734345a63Smrg#line 573 "xkbparse.y" 2818f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"indicator",False); } 2819f46a6179Smrg break; 2820f46a6179Smrg 2821f46a6179Smrg case 125: 28225fac8b10Smrg 28235fac8b10Smrg/* Line 1455 of yacc.c */ 282434345a63Smrg#line 575 "xkbparse.y" 2825f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"shape",False); } 2826f46a6179Smrg break; 2827f46a6179Smrg 2828f46a6179Smrg case 126: 28295fac8b10Smrg 28305fac8b10Smrg/* Line 1455 of yacc.c */ 283134345a63Smrg#line 577 "xkbparse.y" 2832f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"row",False); } 2833f46a6179Smrg break; 2834f46a6179Smrg 2835f46a6179Smrg case 127: 28365fac8b10Smrg 28375fac8b10Smrg/* Line 1455 of yacc.c */ 283834345a63Smrg#line 579 "xkbparse.y" 2839f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"section",False); } 2840f46a6179Smrg break; 2841f46a6179Smrg 2842f46a6179Smrg case 128: 28435fac8b10Smrg 28445fac8b10Smrg/* Line 1455 of yacc.c */ 284534345a63Smrg#line 581 "xkbparse.y" 2846f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"text",False); } 2847f46a6179Smrg break; 2848f46a6179Smrg 2849f46a6179Smrg case 129: 28505fac8b10Smrg 28515fac8b10Smrg/* Line 1455 of yacc.c */ 285234345a63Smrg#line 584 "xkbparse.y" 2853f46a6179Smrg { (yyval.uval)= (yyvsp[(1) - (1)].uval); } 2854f46a6179Smrg break; 2855f46a6179Smrg 2856f46a6179Smrg case 130: 28575fac8b10Smrg 28585fac8b10Smrg/* Line 1455 of yacc.c */ 285934345a63Smrg#line 585 "xkbparse.y" 2860f46a6179Smrg { (yyval.uval)= MergeDefault; } 2861f46a6179Smrg break; 2862f46a6179Smrg 2863f46a6179Smrg case 131: 28645fac8b10Smrg 28655fac8b10Smrg/* Line 1455 of yacc.c */ 286634345a63Smrg#line 588 "xkbparse.y" 2867f46a6179Smrg { (yyval.uval)= MergeDefault; } 2868f46a6179Smrg break; 2869f46a6179Smrg 2870f46a6179Smrg case 132: 28715fac8b10Smrg 28725fac8b10Smrg/* Line 1455 of yacc.c */ 287334345a63Smrg#line 589 "xkbparse.y" 2874f46a6179Smrg { (yyval.uval)= MergeAugment; } 2875f46a6179Smrg break; 2876f46a6179Smrg 2877f46a6179Smrg case 133: 28785fac8b10Smrg 28795fac8b10Smrg/* Line 1455 of yacc.c */ 288034345a63Smrg#line 590 "xkbparse.y" 2881f46a6179Smrg { (yyval.uval)= MergeOverride; } 2882f46a6179Smrg break; 2883f46a6179Smrg 2884f46a6179Smrg case 134: 28855fac8b10Smrg 28865fac8b10Smrg/* Line 1455 of yacc.c */ 288734345a63Smrg#line 591 "xkbparse.y" 2888f46a6179Smrg { (yyval.uval)= MergeReplace; } 2889f46a6179Smrg break; 2890f46a6179Smrg 2891f46a6179Smrg case 135: 28925fac8b10Smrg 28935fac8b10Smrg/* Line 1455 of yacc.c */ 289434345a63Smrg#line 592 "xkbparse.y" 2895f46a6179Smrg { (yyval.uval)= MergeAltForm; } 2896f46a6179Smrg break; 2897f46a6179Smrg 2898f46a6179Smrg case 136: 28995fac8b10Smrg 29005fac8b10Smrg/* Line 1455 of yacc.c */ 290134345a63Smrg#line 595 "xkbparse.y" 2902f46a6179Smrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2903f46a6179Smrg break; 2904f46a6179Smrg 2905f46a6179Smrg case 137: 29065fac8b10Smrg 29075fac8b10Smrg/* Line 1455 of yacc.c */ 290834345a63Smrg#line 596 "xkbparse.y" 2909f46a6179Smrg { (yyval.expr)= NULL; } 2910f46a6179Smrg break; 2911f46a6179Smrg 2912f46a6179Smrg case 138: 29135fac8b10Smrg 29145fac8b10Smrg/* Line 1455 of yacc.c */ 291534345a63Smrg#line 600 "xkbparse.y" 2916f46a6179Smrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); } 2917f46a6179Smrg break; 2918f46a6179Smrg 2919f46a6179Smrg case 139: 29205fac8b10Smrg 29215fac8b10Smrg/* Line 1455 of yacc.c */ 292234345a63Smrg#line 602 "xkbparse.y" 2923f46a6179Smrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2924f46a6179Smrg break; 2925f46a6179Smrg 2926f46a6179Smrg case 140: 29275fac8b10Smrg 29285fac8b10Smrg/* Line 1455 of yacc.c */ 292934345a63Smrg#line 606 "xkbparse.y" 2930f46a6179Smrg { (yyval.expr)= ExprCreateBinary(OpDivide,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2931f46a6179Smrg break; 2932f46a6179Smrg 2933f46a6179Smrg case 141: 29345fac8b10Smrg 29355fac8b10Smrg/* Line 1455 of yacc.c */ 293634345a63Smrg#line 608 "xkbparse.y" 2937f46a6179Smrg { (yyval.expr)= ExprCreateBinary(OpAdd,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2938f46a6179Smrg break; 2939f46a6179Smrg 2940f46a6179Smrg case 142: 29415fac8b10Smrg 29425fac8b10Smrg/* Line 1455 of yacc.c */ 294334345a63Smrg#line 610 "xkbparse.y" 2944f46a6179Smrg { (yyval.expr)= ExprCreateBinary(OpSubtract,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2945f46a6179Smrg break; 2946f46a6179Smrg 2947f46a6179Smrg case 143: 29485fac8b10Smrg 29495fac8b10Smrg/* Line 1455 of yacc.c */ 295034345a63Smrg#line 612 "xkbparse.y" 2951f46a6179Smrg { (yyval.expr)= ExprCreateBinary(OpMultiply,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2952f46a6179Smrg break; 2953f46a6179Smrg 2954f46a6179Smrg case 144: 29555fac8b10Smrg 29565fac8b10Smrg/* Line 1455 of yacc.c */ 295734345a63Smrg#line 614 "xkbparse.y" 2958f46a6179Smrg { (yyval.expr)= ExprCreateBinary(OpAssign,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); } 2959f46a6179Smrg break; 2960f46a6179Smrg 2961f46a6179Smrg case 145: 29625fac8b10Smrg 29635fac8b10Smrg/* Line 1455 of yacc.c */ 296434345a63Smrg#line 616 "xkbparse.y" 2965f46a6179Smrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 2966f46a6179Smrg break; 2967f46a6179Smrg 2968f46a6179Smrg case 146: 29695fac8b10Smrg 29705fac8b10Smrg/* Line 1455 of yacc.c */ 297134345a63Smrg#line 620 "xkbparse.y" 2972f46a6179Smrg { (yyval.expr)= ExprCreateUnary(OpNegate,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); } 2973f46a6179Smrg break; 2974f46a6179Smrg 2975f46a6179Smrg case 147: 29765fac8b10Smrg 29775fac8b10Smrg/* Line 1455 of yacc.c */ 297834345a63Smrg#line 622 "xkbparse.y" 2979f46a6179Smrg { (yyval.expr)= ExprCreateUnary(OpUnaryPlus,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); } 2980f46a6179Smrg break; 2981f46a6179Smrg 2982f46a6179Smrg case 148: 29835fac8b10Smrg 29845fac8b10Smrg/* Line 1455 of yacc.c */ 298534345a63Smrg#line 624 "xkbparse.y" 2986f46a6179Smrg { (yyval.expr)= ExprCreateUnary(OpNot,TypeBoolean,(yyvsp[(2) - (2)].expr)); } 2987f46a6179Smrg break; 2988f46a6179Smrg 2989f46a6179Smrg case 149: 29905fac8b10Smrg 29915fac8b10Smrg/* Line 1455 of yacc.c */ 299234345a63Smrg#line 626 "xkbparse.y" 2993f46a6179Smrg { (yyval.expr)= ExprCreateUnary(OpInvert,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); } 2994f46a6179Smrg break; 2995f46a6179Smrg 2996f46a6179Smrg case 150: 29975fac8b10Smrg 29985fac8b10Smrg/* Line 1455 of yacc.c */ 299934345a63Smrg#line 628 "xkbparse.y" 3000f46a6179Smrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 3001f46a6179Smrg break; 3002f46a6179Smrg 3003f46a6179Smrg case 151: 30045fac8b10Smrg 30055fac8b10Smrg/* Line 1455 of yacc.c */ 300634345a63Smrg#line 630 "xkbparse.y" 3007f46a6179Smrg { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); } 3008f46a6179Smrg break; 3009f46a6179Smrg 3010f46a6179Smrg case 152: 30115fac8b10Smrg 30125fac8b10Smrg/* Line 1455 of yacc.c */ 301334345a63Smrg#line 632 "xkbparse.y" 3014f46a6179Smrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 3015f46a6179Smrg break; 3016f46a6179Smrg 3017f46a6179Smrg case 153: 30185fac8b10Smrg 30195fac8b10Smrg/* Line 1455 of yacc.c */ 302034345a63Smrg#line 634 "xkbparse.y" 3021f46a6179Smrg { (yyval.expr)= (yyvsp[(2) - (3)].expr); } 3022f46a6179Smrg break; 3023f46a6179Smrg 3024f46a6179Smrg case 154: 30255fac8b10Smrg 30265fac8b10Smrg/* Line 1455 of yacc.c */ 302734345a63Smrg#line 638 "xkbparse.y" 3028f46a6179Smrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); } 3029f46a6179Smrg break; 3030f46a6179Smrg 3031f46a6179Smrg case 155: 30325fac8b10Smrg 30335fac8b10Smrg/* Line 1455 of yacc.c */ 303434345a63Smrg#line 640 "xkbparse.y" 3035f46a6179Smrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 3036f46a6179Smrg break; 3037f46a6179Smrg 3038f46a6179Smrg case 156: 30395fac8b10Smrg 30405fac8b10Smrg/* Line 1455 of yacc.c */ 304134345a63Smrg#line 644 "xkbparse.y" 3042f46a6179Smrg { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); } 3043f46a6179Smrg break; 3044f46a6179Smrg 3045f46a6179Smrg case 157: 30465fac8b10Smrg 30475fac8b10Smrg/* Line 1455 of yacc.c */ 304834345a63Smrg#line 648 "xkbparse.y" 3049f46a6179Smrg { 3050f46a6179Smrg ExprDef *expr; 3051f46a6179Smrg expr= ExprCreate(ExprIdent,TypeUnknown); 3052f46a6179Smrg expr->value.str= (yyvsp[(1) - (1)].sval); 3053f46a6179Smrg (yyval.expr)= expr; 3054f46a6179Smrg } 3055f46a6179Smrg break; 3056f46a6179Smrg 3057f46a6179Smrg case 158: 30585fac8b10Smrg 30595fac8b10Smrg/* Line 1455 of yacc.c */ 306034345a63Smrg#line 655 "xkbparse.y" 3061f46a6179Smrg { 3062f46a6179Smrg ExprDef *expr; 3063f46a6179Smrg expr= ExprCreate(ExprFieldRef,TypeUnknown); 3064f46a6179Smrg expr->value.field.element= (yyvsp[(1) - (3)].sval); 3065f46a6179Smrg expr->value.field.field= (yyvsp[(3) - (3)].sval); 3066f46a6179Smrg (yyval.expr)= expr; 3067f46a6179Smrg } 3068f46a6179Smrg break; 3069f46a6179Smrg 3070f46a6179Smrg case 159: 30715fac8b10Smrg 30725fac8b10Smrg/* Line 1455 of yacc.c */ 307334345a63Smrg#line 663 "xkbparse.y" 3074f46a6179Smrg { 3075f46a6179Smrg ExprDef *expr; 3076f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 3077f46a6179Smrg expr->value.array.element= None; 3078f46a6179Smrg expr->value.array.field= (yyvsp[(1) - (4)].sval); 3079f46a6179Smrg expr->value.array.entry= (yyvsp[(3) - (4)].expr); 3080f46a6179Smrg (yyval.expr)= expr; 3081f46a6179Smrg } 3082f46a6179Smrg break; 3083f46a6179Smrg 3084f46a6179Smrg case 160: 30855fac8b10Smrg 30865fac8b10Smrg/* Line 1455 of yacc.c */ 308734345a63Smrg#line 672 "xkbparse.y" 3088f46a6179Smrg { 3089f46a6179Smrg ExprDef *expr; 3090f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 3091f46a6179Smrg expr->value.array.element= (yyvsp[(1) - (6)].sval); 3092f46a6179Smrg expr->value.array.field= (yyvsp[(3) - (6)].sval); 3093f46a6179Smrg expr->value.array.entry= (yyvsp[(5) - (6)].expr); 3094f46a6179Smrg (yyval.expr)= expr; 3095f46a6179Smrg } 3096f46a6179Smrg break; 3097f46a6179Smrg 3098f46a6179Smrg case 161: 30995fac8b10Smrg 31005fac8b10Smrg/* Line 1455 of yacc.c */ 310134345a63Smrg#line 683 "xkbparse.y" 3102f46a6179Smrg { 3103f46a6179Smrg ExprDef *expr; 3104f46a6179Smrg expr= ExprCreate(ExprValue,TypeString); 3105f46a6179Smrg expr->value.str= (yyvsp[(1) - (1)].sval); 3106f46a6179Smrg (yyval.expr)= expr; 3107f46a6179Smrg } 3108f46a6179Smrg break; 3109f46a6179Smrg 3110f46a6179Smrg case 162: 31115fac8b10Smrg 31125fac8b10Smrg/* Line 1455 of yacc.c */ 311334345a63Smrg#line 690 "xkbparse.y" 3114f46a6179Smrg { 3115f46a6179Smrg ExprDef *expr; 3116f46a6179Smrg expr= ExprCreate(ExprValue,TypeInt); 3117f46a6179Smrg expr->value.ival= (yyvsp[(1) - (1)].ival); 3118f46a6179Smrg (yyval.expr)= expr; 3119f46a6179Smrg } 3120f46a6179Smrg break; 3121f46a6179Smrg 3122f46a6179Smrg case 163: 31235fac8b10Smrg 31245fac8b10Smrg/* Line 1455 of yacc.c */ 312534345a63Smrg#line 697 "xkbparse.y" 3126f46a6179Smrg { 3127f46a6179Smrg ExprDef *expr; 3128f46a6179Smrg expr= ExprCreate(ExprValue,TypeFloat); 3129f46a6179Smrg expr->value.ival= (yyvsp[(1) - (1)].ival); 3130f46a6179Smrg (yyval.expr)= expr; 3131f46a6179Smrg } 3132f46a6179Smrg break; 3133f46a6179Smrg 3134f46a6179Smrg case 164: 31355fac8b10Smrg 31365fac8b10Smrg/* Line 1455 of yacc.c */ 313734345a63Smrg#line 704 "xkbparse.y" 3138f46a6179Smrg { 3139f46a6179Smrg ExprDef *expr; 3140f46a6179Smrg expr= ExprCreate(ExprValue,TypeKeyName); 3141f46a6179Smrg memset(expr->value.keyName,0,5); 3142f46a6179Smrg strncpy(expr->value.keyName,(yyvsp[(1) - (1)].str),4); 3143f46a6179Smrg free((yyvsp[(1) - (1)].str)); 3144f46a6179Smrg (yyval.expr)= expr; 3145f46a6179Smrg } 3146f46a6179Smrg break; 3147f46a6179Smrg 3148f46a6179Smrg case 165: 31495fac8b10Smrg 31505fac8b10Smrg/* Line 1455 of yacc.c */ 315134345a63Smrg#line 714 "xkbparse.y" 3152f46a6179Smrg { (yyval.expr)= (yyvsp[(1) - (1)].expr); } 3153f46a6179Smrg break; 3154f46a6179Smrg 3155f46a6179Smrg case 166: 31565fac8b10Smrg 31575fac8b10Smrg/* Line 1455 of yacc.c */ 315834345a63Smrg#line 715 "xkbparse.y" 3159f46a6179Smrg { (yyval.expr)= NULL; } 3160f46a6179Smrg break; 3161f46a6179Smrg 3162f46a6179Smrg case 167: 31635fac8b10Smrg 31645fac8b10Smrg/* Line 1455 of yacc.c */ 316534345a63Smrg#line 719 "xkbparse.y" 3166f46a6179Smrg { (yyval.expr)= AppendKeysymList((yyvsp[(1) - (3)].expr),(KeySym)(yyvsp[(3) - (3)].uval)); } 3167f46a6179Smrg break; 3168f46a6179Smrg 3169f46a6179Smrg case 168: 31705fac8b10Smrg 31715fac8b10Smrg/* Line 1455 of yacc.c */ 317234345a63Smrg#line 721 "xkbparse.y" 3173f46a6179Smrg { (yyval.expr)= CreateKeysymList((KeySym)(yyvsp[(1) - (1)].uval)); } 3174f46a6179Smrg break; 3175f46a6179Smrg 3176f46a6179Smrg case 169: 31775fac8b10Smrg 31785fac8b10Smrg/* Line 1455 of yacc.c */ 317934345a63Smrg#line 725 "xkbparse.y" 3180f46a6179Smrg { 3181f46a6179Smrg KeySym sym; 3182f46a6179Smrg if (LookupKeysym(scanStr,&sym)) 3183f46a6179Smrg (yyval.uval)= sym; 3184f46a6179Smrg else { 3185f46a6179Smrg char buf[120]; 318634345a63Smrg snprintf(buf, sizeof(buf), 318734345a63Smrg "expected keysym, got %s", 318834345a63Smrg uStringText(scanStr)); 3189f46a6179Smrg yyerror(buf); 3190f46a6179Smrg yynerrs++; 3191f46a6179Smrg (yyval.uval)= NoSymbol; 3192f46a6179Smrg } 3193f46a6179Smrg } 3194f46a6179Smrg break; 3195f46a6179Smrg 3196f46a6179Smrg case 170: 31975fac8b10Smrg 31985fac8b10Smrg/* Line 1455 of yacc.c */ 3199f46a6179Smrg#line 740 "xkbparse.y" 3200f46a6179Smrg { 3201f46a6179Smrg (yyval.uval)= XK_section; 3202f46a6179Smrg } 3203f46a6179Smrg break; 3204f46a6179Smrg 3205f46a6179Smrg case 171: 32065fac8b10Smrg 32075fac8b10Smrg/* Line 1455 of yacc.c */ 3208f46a6179Smrg#line 744 "xkbparse.y" 3209f46a6179Smrg { 3210f46a6179Smrg if ((yyvsp[(1) - (1)].ival)<10) (yyval.uval)= (yyvsp[(1) - (1)].ival)+'0'; /* XK_0 .. XK_9 */ 3211f46a6179Smrg else (yyval.uval)= (yyvsp[(1) - (1)].ival); 3212f46a6179Smrg } 3213f46a6179Smrg break; 3214f46a6179Smrg 3215f46a6179Smrg case 172: 32165fac8b10Smrg 32175fac8b10Smrg/* Line 1455 of yacc.c */ 3218f46a6179Smrg#line 750 "xkbparse.y" 3219f46a6179Smrg { (yyval.ival)= -(yyvsp[(2) - (2)].ival); } 3220f46a6179Smrg break; 3221f46a6179Smrg 3222f46a6179Smrg case 173: 32235fac8b10Smrg 32245fac8b10Smrg/* Line 1455 of yacc.c */ 3225f46a6179Smrg#line 751 "xkbparse.y" 3226f46a6179Smrg { (yyval.ival)= (yyvsp[(1) - (1)].ival); } 3227f46a6179Smrg break; 3228f46a6179Smrg 3229f46a6179Smrg case 174: 32305fac8b10Smrg 32315fac8b10Smrg/* Line 1455 of yacc.c */ 3232f46a6179Smrg#line 754 "xkbparse.y" 3233f46a6179Smrg { (yyval.ival)= scanInt; } 3234f46a6179Smrg break; 3235f46a6179Smrg 3236f46a6179Smrg case 175: 32375fac8b10Smrg 32385fac8b10Smrg/* Line 1455 of yacc.c */ 3239f46a6179Smrg#line 755 "xkbparse.y" 3240f46a6179Smrg { (yyval.ival)= scanInt*XkbGeomPtsPerMM; } 3241f46a6179Smrg break; 3242f46a6179Smrg 3243f46a6179Smrg case 176: 32445fac8b10Smrg 32455fac8b10Smrg/* Line 1455 of yacc.c */ 3246f46a6179Smrg#line 758 "xkbparse.y" 3247f46a6179Smrg { (yyval.ival)= scanInt; } 3248f46a6179Smrg break; 3249f46a6179Smrg 3250f46a6179Smrg case 177: 32515fac8b10Smrg 32525fac8b10Smrg/* Line 1455 of yacc.c */ 3253f46a6179Smrg#line 761 "xkbparse.y" 3254f46a6179Smrg { (yyval.ival)= scanInt; } 3255f46a6179Smrg break; 3256f46a6179Smrg 3257f46a6179Smrg case 178: 32585fac8b10Smrg 32595fac8b10Smrg/* Line 1455 of yacc.c */ 3260f46a6179Smrg#line 764 "xkbparse.y" 3261f46a6179Smrg { (yyval.str)= scanStr; scanStr= NULL; } 3262f46a6179Smrg break; 3263f46a6179Smrg 3264f46a6179Smrg case 179: 32655fac8b10Smrg 32665fac8b10Smrg/* Line 1455 of yacc.c */ 3267f46a6179Smrg#line 767 "xkbparse.y" 3268f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,scanStr,False); } 3269f46a6179Smrg break; 3270f46a6179Smrg 3271f46a6179Smrg case 180: 32725fac8b10Smrg 32735fac8b10Smrg/* Line 1455 of yacc.c */ 3274f46a6179Smrg#line 768 "xkbparse.y" 3275f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,"default",False); } 3276f46a6179Smrg break; 3277f46a6179Smrg 3278f46a6179Smrg case 181: 32795fac8b10Smrg 32805fac8b10Smrg/* Line 1455 of yacc.c */ 3281f46a6179Smrg#line 771 "xkbparse.y" 3282f46a6179Smrg { (yyval.sval)= XkbInternAtom(NULL,scanStr,False); } 3283f46a6179Smrg break; 3284f46a6179Smrg 3285f46a6179Smrg case 182: 32865fac8b10Smrg 32875fac8b10Smrg/* Line 1455 of yacc.c */ 3288f46a6179Smrg#line 774 "xkbparse.y" 3289f46a6179Smrg { (yyval.str)= (yyvsp[(1) - (1)].str); } 3290f46a6179Smrg break; 3291f46a6179Smrg 3292f46a6179Smrg case 183: 32935fac8b10Smrg 32945fac8b10Smrg/* Line 1455 of yacc.c */ 3295f46a6179Smrg#line 775 "xkbparse.y" 3296f46a6179Smrg { (yyval.str)= NULL; } 3297f46a6179Smrg break; 3298f46a6179Smrg 3299f46a6179Smrg case 184: 33005fac8b10Smrg 33015fac8b10Smrg/* Line 1455 of yacc.c */ 3302f46a6179Smrg#line 778 "xkbparse.y" 3303f46a6179Smrg { (yyval.str)= scanStr; scanStr= NULL; } 3304f46a6179Smrg break; 3305f46a6179Smrg 3306f46a6179Smrg 33075fac8b10Smrg 33085fac8b10Smrg/* Line 1455 of yacc.c */ 33095fac8b10Smrg#line 3310 "xkbparse.c" 3310f46a6179Smrg default: break; 3311f46a6179Smrg } 3312f46a6179Smrg YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); 3313f46a6179Smrg 3314f46a6179Smrg YYPOPSTACK (yylen); 3315f46a6179Smrg yylen = 0; 3316f46a6179Smrg YY_STACK_PRINT (yyss, yyssp); 3317f46a6179Smrg 3318f46a6179Smrg *++yyvsp = yyval; 3319f46a6179Smrg 3320f46a6179Smrg /* Now `shift' the result of the reduction. Determine what state 3321f46a6179Smrg that goes to, based on the state we popped back to and the rule 3322f46a6179Smrg number reduced by. */ 3323f46a6179Smrg 3324f46a6179Smrg yyn = yyr1[yyn]; 3325f46a6179Smrg 3326f46a6179Smrg yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; 3327f46a6179Smrg if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) 3328f46a6179Smrg yystate = yytable[yystate]; 3329f46a6179Smrg else 3330f46a6179Smrg yystate = yydefgoto[yyn - YYNTOKENS]; 3331f46a6179Smrg 3332f46a6179Smrg goto yynewstate; 3333f46a6179Smrg 3334f46a6179Smrg 3335f46a6179Smrg/*------------------------------------. 3336f46a6179Smrg| yyerrlab -- here on detecting error | 3337f46a6179Smrg`------------------------------------*/ 3338f46a6179Smrgyyerrlab: 3339f46a6179Smrg /* If not already recovering from an error, report this error. */ 3340f46a6179Smrg if (!yyerrstatus) 3341f46a6179Smrg { 3342f46a6179Smrg ++yynerrs; 3343f46a6179Smrg#if ! YYERROR_VERBOSE 3344f46a6179Smrg yyerror (YY_("syntax error")); 3345f46a6179Smrg#else 3346f46a6179Smrg { 3347f46a6179Smrg YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); 3348f46a6179Smrg if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) 3349f46a6179Smrg { 3350f46a6179Smrg YYSIZE_T yyalloc = 2 * yysize; 3351f46a6179Smrg if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) 3352f46a6179Smrg yyalloc = YYSTACK_ALLOC_MAXIMUM; 3353f46a6179Smrg if (yymsg != yymsgbuf) 3354f46a6179Smrg YYSTACK_FREE (yymsg); 3355f46a6179Smrg yymsg = (char *) YYSTACK_ALLOC (yyalloc); 3356f46a6179Smrg if (yymsg) 3357f46a6179Smrg yymsg_alloc = yyalloc; 3358f46a6179Smrg else 3359f46a6179Smrg { 3360f46a6179Smrg yymsg = yymsgbuf; 3361f46a6179Smrg yymsg_alloc = sizeof yymsgbuf; 3362f46a6179Smrg } 3363f46a6179Smrg } 3364f46a6179Smrg 3365f46a6179Smrg if (0 < yysize && yysize <= yymsg_alloc) 3366f46a6179Smrg { 3367f46a6179Smrg (void) yysyntax_error (yymsg, yystate, yychar); 3368f46a6179Smrg yyerror (yymsg); 3369f46a6179Smrg } 3370f46a6179Smrg else 3371f46a6179Smrg { 3372f46a6179Smrg yyerror (YY_("syntax error")); 3373f46a6179Smrg if (yysize != 0) 3374f46a6179Smrg goto yyexhaustedlab; 3375f46a6179Smrg } 3376f46a6179Smrg } 3377f46a6179Smrg#endif 3378f46a6179Smrg } 3379f46a6179Smrg 3380f46a6179Smrg 3381f46a6179Smrg 3382f46a6179Smrg if (yyerrstatus == 3) 3383f46a6179Smrg { 33845fac8b10Smrg /* If just tried and failed to reuse lookahead token after an 3385f46a6179Smrg error, discard it. */ 3386f46a6179Smrg 3387f46a6179Smrg if (yychar <= YYEOF) 3388f46a6179Smrg { 3389f46a6179Smrg /* Return failure if at end of input. */ 3390f46a6179Smrg if (yychar == YYEOF) 3391f46a6179Smrg YYABORT; 3392f46a6179Smrg } 3393f46a6179Smrg else 3394f46a6179Smrg { 3395f46a6179Smrg yydestruct ("Error: discarding", 3396f46a6179Smrg yytoken, &yylval); 3397f46a6179Smrg yychar = YYEMPTY; 3398f46a6179Smrg } 3399f46a6179Smrg } 3400f46a6179Smrg 34015fac8b10Smrg /* Else will try to reuse lookahead token after shifting the error 3402f46a6179Smrg token. */ 3403f46a6179Smrg goto yyerrlab1; 3404f46a6179Smrg 3405f46a6179Smrg 3406f46a6179Smrg/*---------------------------------------------------. 3407f46a6179Smrg| yyerrorlab -- error raised explicitly by YYERROR. | 3408f46a6179Smrg`---------------------------------------------------*/ 3409f46a6179Smrgyyerrorlab: 3410f46a6179Smrg 3411f46a6179Smrg /* Pacify compilers like GCC when the user code never invokes 3412f46a6179Smrg YYERROR and the label yyerrorlab therefore never appears in user 3413f46a6179Smrg code. */ 3414f46a6179Smrg if (/*CONSTCOND*/ 0) 3415f46a6179Smrg goto yyerrorlab; 3416f46a6179Smrg 3417f46a6179Smrg /* Do not reclaim the symbols of the rule which action triggered 3418f46a6179Smrg this YYERROR. */ 3419f46a6179Smrg YYPOPSTACK (yylen); 3420f46a6179Smrg yylen = 0; 3421f46a6179Smrg YY_STACK_PRINT (yyss, yyssp); 3422f46a6179Smrg yystate = *yyssp; 3423f46a6179Smrg goto yyerrlab1; 3424f46a6179Smrg 3425f46a6179Smrg 3426f46a6179Smrg/*-------------------------------------------------------------. 3427f46a6179Smrg| yyerrlab1 -- common code for both syntax error and YYERROR. | 3428f46a6179Smrg`-------------------------------------------------------------*/ 3429f46a6179Smrgyyerrlab1: 3430f46a6179Smrg yyerrstatus = 3; /* Each real token shifted decrements this. */ 3431f46a6179Smrg 3432f46a6179Smrg for (;;) 3433f46a6179Smrg { 3434f46a6179Smrg yyn = yypact[yystate]; 3435f46a6179Smrg if (yyn != YYPACT_NINF) 3436f46a6179Smrg { 3437f46a6179Smrg yyn += YYTERROR; 3438f46a6179Smrg if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) 3439f46a6179Smrg { 3440f46a6179Smrg yyn = yytable[yyn]; 3441f46a6179Smrg if (0 < yyn) 3442f46a6179Smrg break; 3443f46a6179Smrg } 3444f46a6179Smrg } 3445f46a6179Smrg 3446f46a6179Smrg /* Pop the current state because it cannot handle the error token. */ 3447f46a6179Smrg if (yyssp == yyss) 3448f46a6179Smrg YYABORT; 3449f46a6179Smrg 3450f46a6179Smrg 3451f46a6179Smrg yydestruct ("Error: popping", 3452f46a6179Smrg yystos[yystate], yyvsp); 3453f46a6179Smrg YYPOPSTACK (1); 3454f46a6179Smrg yystate = *yyssp; 3455f46a6179Smrg YY_STACK_PRINT (yyss, yyssp); 3456f46a6179Smrg } 3457f46a6179Smrg 3458f46a6179Smrg *++yyvsp = yylval; 3459f46a6179Smrg 3460f46a6179Smrg 3461f46a6179Smrg /* Shift the error token. */ 3462f46a6179Smrg YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 3463f46a6179Smrg 3464f46a6179Smrg yystate = yyn; 3465f46a6179Smrg goto yynewstate; 3466f46a6179Smrg 3467f46a6179Smrg 3468f46a6179Smrg/*-------------------------------------. 3469f46a6179Smrg| yyacceptlab -- YYACCEPT comes here. | 3470f46a6179Smrg`-------------------------------------*/ 3471f46a6179Smrgyyacceptlab: 3472f46a6179Smrg yyresult = 0; 3473f46a6179Smrg goto yyreturn; 3474f46a6179Smrg 3475f46a6179Smrg/*-----------------------------------. 3476f46a6179Smrg| yyabortlab -- YYABORT comes here. | 3477f46a6179Smrg`-----------------------------------*/ 3478f46a6179Smrgyyabortlab: 3479f46a6179Smrg yyresult = 1; 3480f46a6179Smrg goto yyreturn; 3481f46a6179Smrg 34825fac8b10Smrg#if !defined(yyoverflow) || YYERROR_VERBOSE 3483f46a6179Smrg/*-------------------------------------------------. 3484f46a6179Smrg| yyexhaustedlab -- memory exhaustion comes here. | 3485f46a6179Smrg`-------------------------------------------------*/ 3486f46a6179Smrgyyexhaustedlab: 3487f46a6179Smrg yyerror (YY_("memory exhausted")); 3488f46a6179Smrg yyresult = 2; 3489f46a6179Smrg /* Fall through. */ 3490f46a6179Smrg#endif 3491f46a6179Smrg 3492f46a6179Smrgyyreturn: 34935fac8b10Smrg if (yychar != YYEMPTY) 3494f46a6179Smrg yydestruct ("Cleanup: discarding lookahead", 3495f46a6179Smrg yytoken, &yylval); 3496f46a6179Smrg /* Do not reclaim the symbols of the rule which action triggered 3497f46a6179Smrg this YYABORT or YYACCEPT. */ 3498f46a6179Smrg YYPOPSTACK (yylen); 3499f46a6179Smrg YY_STACK_PRINT (yyss, yyssp); 3500f46a6179Smrg while (yyssp != yyss) 3501f46a6179Smrg { 3502f46a6179Smrg yydestruct ("Cleanup: popping", 3503f46a6179Smrg yystos[*yyssp], yyvsp); 3504f46a6179Smrg YYPOPSTACK (1); 3505f46a6179Smrg } 3506f46a6179Smrg#ifndef yyoverflow 3507f46a6179Smrg if (yyss != yyssa) 3508f46a6179Smrg YYSTACK_FREE (yyss); 3509f46a6179Smrg#endif 3510f46a6179Smrg#if YYERROR_VERBOSE 3511f46a6179Smrg if (yymsg != yymsgbuf) 3512f46a6179Smrg YYSTACK_FREE (yymsg); 3513f46a6179Smrg#endif 3514f46a6179Smrg /* Make sure YYID is used. */ 3515f46a6179Smrg return YYID (yyresult); 3516f46a6179Smrg} 3517f46a6179Smrg 3518f46a6179Smrg 35195fac8b10Smrg 35205fac8b10Smrg/* Line 1675 of yacc.c */ 3521f46a6179Smrg#line 780 "xkbparse.y" 3522f46a6179Smrg 3523f46a6179Smrgvoid 3524f46a6179Smrgyyerror(const char *s) 3525f46a6179Smrg{ 3526f46a6179Smrg if (warningLevel>0) { 3527f46a6179Smrg (void)fprintf(stderr,"%s: line %d of %s\n",s,lineNum, 3528f46a6179Smrg (scanFile?scanFile:"(unknown)")); 3529f46a6179Smrg if ((scanStr)&&(warningLevel>3)) 3530f46a6179Smrg (void)fprintf(stderr,"last scanned symbol is: %s\n",scanStr); 3531f46a6179Smrg } 3532f46a6179Smrg return; 3533f46a6179Smrg} 3534f46a6179Smrg 3535f46a6179Smrg 3536f46a6179Smrgint 3537f46a6179Smrgyywrap(void) 3538f46a6179Smrg{ 3539f46a6179Smrg return 1; 3540f46a6179Smrg} 3541f46a6179Smrg 3542f46a6179Smrg 3543