16930ead5Smrg/* A Bison parser, made by GNU Bison 3.8.2. */ 2f46a6179Smrg 3c82dfdfbSmrg/* Bison implementation for Yacc-like parsers in C 4f757b1e9Smrg 56930ead5Smrg Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, 66930ead5Smrg Inc. 7f757b1e9Smrg 8c82dfdfbSmrg This program is free software: you can redistribute it and/or modify 9690143ccSmrg it under the terms of the GNU General Public License as published by 10c82dfdfbSmrg the Free Software Foundation, either version 3 of the License, or 11c82dfdfbSmrg (at your option) any later version. 12f757b1e9Smrg 13690143ccSmrg This program is distributed in the hope that it will be useful, 14690143ccSmrg but WITHOUT ANY WARRANTY; without even the implied warranty of 15690143ccSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16690143ccSmrg GNU General Public License for more details. 17f757b1e9Smrg 18690143ccSmrg You should have received a copy of the GNU General Public License 196930ead5Smrg along with this program. If not, see <https://www.gnu.org/licenses/>. */ 20f46a6179Smrg 21690143ccSmrg/* As a special exception, you may create a larger work that contains 22690143ccSmrg part or all of the Bison parser skeleton and distribute that work 23690143ccSmrg under terms of your choice, so long as that work isn't itself a 24690143ccSmrg parser generator using the skeleton or a modified version thereof 25690143ccSmrg as a parser skeleton. Alternatively, if you modify or redistribute 26690143ccSmrg the parser skeleton itself, you may (at your option) remove this 27690143ccSmrg special exception, which will cause the skeleton and the resulting 28690143ccSmrg Bison output files to be licensed under the GNU General Public 29690143ccSmrg License without this special exception. 30f757b1e9Smrg 31690143ccSmrg This special exception was added by the Free Software Foundation in 32690143ccSmrg version 2.2 of Bison. */ 33f46a6179Smrg 34690143ccSmrg/* C LALR(1) parser skeleton written by Richard Stallman, by 35690143ccSmrg simplifying the original so-called "semantic" parser. */ 36690143ccSmrg 376930ead5Smrg/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 386930ead5Smrg especially those whose name start with YY_ or yy_. They are 396930ead5Smrg private implementation details that can be changed or removed. */ 406930ead5Smrg 41690143ccSmrg/* All symbols defined below should begin with yy or YY, to avoid 42690143ccSmrg infringing on user name space. This should be done even for local 43690143ccSmrg variables, as they might otherwise be expanded by user macros. 44690143ccSmrg There are some unavoidable exceptions within include files to 45690143ccSmrg define necessary library symbols; they are noted "INFRINGES ON 46690143ccSmrg USER NAME SPACE" below. */ 47690143ccSmrg 486930ead5Smrg/* Identify Bison output, and Bison version. */ 496930ead5Smrg#define YYBISON 30802 50690143ccSmrg 516930ead5Smrg/* Bison version string. */ 526930ead5Smrg#define YYBISON_VERSION "3.8.2" 53690143ccSmrg 54690143ccSmrg/* Skeleton name. */ 55690143ccSmrg#define YYSKELETON_NAME "yacc.c" 56690143ccSmrg 57690143ccSmrg/* Pure parsers. */ 58690143ccSmrg#define YYPURE 0 59690143ccSmrg 60c82dfdfbSmrg/* Push parsers. */ 61c82dfdfbSmrg#define YYPUSH 0 62c82dfdfbSmrg 63c82dfdfbSmrg/* Pull parsers. */ 64c82dfdfbSmrg#define YYPULL 1 65c82dfdfbSmrg 66c82dfdfbSmrg 67c82dfdfbSmrg 68c82dfdfbSmrg 696930ead5Smrg/* First part of user prologue. */ 706930ead5Smrg#line 91 "xkbparse.y" 71c82dfdfbSmrg 72c82dfdfbSmrg#ifdef DEBUG 73c82dfdfbSmrg#define YYDEBUG 1 74c82dfdfbSmrg#define DEBUG_VAR parseDebug 756930ead5Smrgunsigned int parseDebug; 766930ead5Smrg#endif 77c82dfdfbSmrg#include "parseutils.h" 78c82dfdfbSmrg#include <X11/keysym.h> 79c82dfdfbSmrg#include <X11/extensions/XKBgeom.h> 80c82dfdfbSmrg#include <stdlib.h> 81c82dfdfbSmrg 82c82dfdfbSmrg 836930ead5Smrg#line 84 "xkbparse.c" 84c82dfdfbSmrg 856930ead5Smrg# ifndef YY_CAST 866930ead5Smrg# ifdef __cplusplus 876930ead5Smrg# define YY_CAST(Type, Val) static_cast<Type> (Val) 886930ead5Smrg# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val) 896930ead5Smrg# else 906930ead5Smrg# define YY_CAST(Type, Val) ((Type) (Val)) 916930ead5Smrg# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) 926930ead5Smrg# endif 936930ead5Smrg# endif 94f757b1e9Smrg# ifndef YY_NULLPTR 956930ead5Smrg# if defined __cplusplus 966930ead5Smrg# if 201103L <= __cplusplus 976930ead5Smrg# define YY_NULLPTR nullptr 986930ead5Smrg# else 996930ead5Smrg# define YY_NULLPTR 0 1006930ead5Smrg# endif 101c82dfdfbSmrg# else 1026930ead5Smrg# define YY_NULLPTR ((void*)0) 103c82dfdfbSmrg# endif 104c82dfdfbSmrg# endif 105c82dfdfbSmrg 106f46a6179Smrg 107f757b1e9Smrg/* Debug traces. */ 108c82dfdfbSmrg#ifndef YYDEBUG 109c82dfdfbSmrg# define YYDEBUG 0 110c82dfdfbSmrg#endif 111c82dfdfbSmrg#if YYDEBUG 112c82dfdfbSmrgextern int yydebug; 113c82dfdfbSmrg#endif 114f46a6179Smrg 1156930ead5Smrg/* Token kinds. */ 116690143ccSmrg#ifndef YYTOKENTYPE 117690143ccSmrg# define YYTOKENTYPE 118f757b1e9Smrg enum yytokentype 119f757b1e9Smrg { 1206930ead5Smrg YYEMPTY = -2, 1216930ead5Smrg END_OF_FILE = 0, /* END_OF_FILE */ 1226930ead5Smrg YYerror = 256, /* error */ 1236930ead5Smrg YYUNDEF = 257, /* "invalid token" */ 1246930ead5Smrg ERROR_TOK = 255, /* ERROR_TOK */ 1256930ead5Smrg XKB_KEYMAP = 1, /* XKB_KEYMAP */ 1266930ead5Smrg XKB_KEYCODES = 2, /* XKB_KEYCODES */ 1276930ead5Smrg XKB_TYPES = 3, /* XKB_TYPES */ 1286930ead5Smrg XKB_SYMBOLS = 4, /* XKB_SYMBOLS */ 1296930ead5Smrg XKB_COMPATMAP = 5, /* XKB_COMPATMAP */ 1306930ead5Smrg XKB_GEOMETRY = 6, /* XKB_GEOMETRY */ 1316930ead5Smrg XKB_SEMANTICS = 7, /* XKB_SEMANTICS */ 1326930ead5Smrg XKB_LAYOUT = 8, /* XKB_LAYOUT */ 1336930ead5Smrg INCLUDE = 10, /* INCLUDE */ 1346930ead5Smrg OVERRIDE = 11, /* OVERRIDE */ 1356930ead5Smrg AUGMENT = 12, /* AUGMENT */ 1366930ead5Smrg REPLACE = 13, /* REPLACE */ 1376930ead5Smrg ALTERNATE = 14, /* ALTERNATE */ 1386930ead5Smrg VIRTUAL_MODS = 20, /* VIRTUAL_MODS */ 1396930ead5Smrg TYPE = 21, /* TYPE */ 1406930ead5Smrg INTERPRET = 22, /* INTERPRET */ 1416930ead5Smrg ACTION_TOK = 23, /* ACTION_TOK */ 1426930ead5Smrg KEY = 24, /* KEY */ 1436930ead5Smrg ALIAS = 25, /* ALIAS */ 1446930ead5Smrg GROUP = 26, /* GROUP */ 1456930ead5Smrg MODIFIER_MAP = 27, /* MODIFIER_MAP */ 1466930ead5Smrg INDICATOR = 28, /* INDICATOR */ 1476930ead5Smrg SHAPE = 29, /* SHAPE */ 1486930ead5Smrg KEYS = 30, /* KEYS */ 1496930ead5Smrg ROW = 31, /* ROW */ 1506930ead5Smrg SECTION = 32, /* SECTION */ 1516930ead5Smrg OVERLAY = 33, /* OVERLAY */ 1526930ead5Smrg TEXT = 34, /* TEXT */ 1536930ead5Smrg OUTLINE = 35, /* OUTLINE */ 1546930ead5Smrg SOLID = 36, /* SOLID */ 1556930ead5Smrg LOGO = 37, /* LOGO */ 1566930ead5Smrg VIRTUAL = 38, /* VIRTUAL */ 1576930ead5Smrg EQUALS = 40, /* EQUALS */ 1586930ead5Smrg PLUS = 41, /* PLUS */ 1596930ead5Smrg MINUS = 42, /* MINUS */ 1606930ead5Smrg DIVIDE = 43, /* DIVIDE */ 1616930ead5Smrg TIMES = 44, /* TIMES */ 1626930ead5Smrg OBRACE = 45, /* OBRACE */ 1636930ead5Smrg CBRACE = 46, /* CBRACE */ 1646930ead5Smrg OPAREN = 47, /* OPAREN */ 1656930ead5Smrg CPAREN = 48, /* CPAREN */ 1666930ead5Smrg OBRACKET = 49, /* OBRACKET */ 1676930ead5Smrg CBRACKET = 50, /* CBRACKET */ 1686930ead5Smrg DOT = 51, /* DOT */ 1696930ead5Smrg COMMA = 52, /* COMMA */ 1706930ead5Smrg SEMI = 53, /* SEMI */ 1716930ead5Smrg EXCLAM = 54, /* EXCLAM */ 1726930ead5Smrg INVERT = 55, /* INVERT */ 1736930ead5Smrg STRING = 60, /* STRING */ 1746930ead5Smrg INTEGER = 61, /* INTEGER */ 1756930ead5Smrg FLOAT = 62, /* FLOAT */ 1766930ead5Smrg IDENT = 63, /* IDENT */ 1776930ead5Smrg KEYNAME = 64, /* KEYNAME */ 1786930ead5Smrg PARTIAL = 70, /* PARTIAL */ 1796930ead5Smrg DEFAULT = 71, /* DEFAULT */ 1806930ead5Smrg HIDDEN = 72, /* HIDDEN */ 1816930ead5Smrg ALPHANUMERIC_KEYS = 73, /* ALPHANUMERIC_KEYS */ 1826930ead5Smrg MODIFIER_KEYS = 74, /* MODIFIER_KEYS */ 1836930ead5Smrg KEYPAD_KEYS = 75, /* KEYPAD_KEYS */ 1846930ead5Smrg FUNCTION_KEYS = 76, /* FUNCTION_KEYS */ 1856930ead5Smrg ALTERNATE_GROUP = 77 /* ALTERNATE_GROUP */ 186f757b1e9Smrg }; 1876930ead5Smrg typedef enum yytokentype yytoken_kind_t; 188690143ccSmrg#endif 1896930ead5Smrg/* Token kinds. */ 1906930ead5Smrg#define YYEMPTY -2 191f46a6179Smrg#define END_OF_FILE 0 1926930ead5Smrg#define YYerror 256 1936930ead5Smrg#define YYUNDEF 257 194f46a6179Smrg#define ERROR_TOK 255 195f46a6179Smrg#define XKB_KEYMAP 1 196f46a6179Smrg#define XKB_KEYCODES 2 197f46a6179Smrg#define XKB_TYPES 3 198f46a6179Smrg#define XKB_SYMBOLS 4 199f46a6179Smrg#define XKB_COMPATMAP 5 200f46a6179Smrg#define XKB_GEOMETRY 6 201f46a6179Smrg#define XKB_SEMANTICS 7 202f46a6179Smrg#define XKB_LAYOUT 8 203f46a6179Smrg#define INCLUDE 10 204f46a6179Smrg#define OVERRIDE 11 205f46a6179Smrg#define AUGMENT 12 206f46a6179Smrg#define REPLACE 13 207f46a6179Smrg#define ALTERNATE 14 208f46a6179Smrg#define VIRTUAL_MODS 20 209f46a6179Smrg#define TYPE 21 210f46a6179Smrg#define INTERPRET 22 211f46a6179Smrg#define ACTION_TOK 23 212f46a6179Smrg#define KEY 24 213f46a6179Smrg#define ALIAS 25 214f46a6179Smrg#define GROUP 26 215f46a6179Smrg#define MODIFIER_MAP 27 216f46a6179Smrg#define INDICATOR 28 217f46a6179Smrg#define SHAPE 29 218f46a6179Smrg#define KEYS 30 219f46a6179Smrg#define ROW 31 220f46a6179Smrg#define SECTION 32 221f46a6179Smrg#define OVERLAY 33 222f46a6179Smrg#define TEXT 34 223f46a6179Smrg#define OUTLINE 35 224f46a6179Smrg#define SOLID 36 225f46a6179Smrg#define LOGO 37 226f46a6179Smrg#define VIRTUAL 38 227f46a6179Smrg#define EQUALS 40 228f46a6179Smrg#define PLUS 41 229f46a6179Smrg#define MINUS 42 230f46a6179Smrg#define DIVIDE 43 231f46a6179Smrg#define TIMES 44 232f46a6179Smrg#define OBRACE 45 233f46a6179Smrg#define CBRACE 46 234f46a6179Smrg#define OPAREN 47 235f46a6179Smrg#define CPAREN 48 236f46a6179Smrg#define OBRACKET 49 237f46a6179Smrg#define CBRACKET 50 238f46a6179Smrg#define DOT 51 239f46a6179Smrg#define COMMA 52 240f46a6179Smrg#define SEMI 53 241f46a6179Smrg#define EXCLAM 54 242f46a6179Smrg#define INVERT 55 243f46a6179Smrg#define STRING 60 244f46a6179Smrg#define INTEGER 61 245f46a6179Smrg#define FLOAT 62 246f46a6179Smrg#define IDENT 63 247f46a6179Smrg#define KEYNAME 64 248f46a6179Smrg#define PARTIAL 70 249f46a6179Smrg#define DEFAULT 71 250f46a6179Smrg#define HIDDEN 72 251f46a6179Smrg#define ALPHANUMERIC_KEYS 73 252f46a6179Smrg#define MODIFIER_KEYS 74 253f46a6179Smrg#define KEYPAD_KEYS 75 254f46a6179Smrg#define FUNCTION_KEYS 76 255f46a6179Smrg#define ALTERNATE_GROUP 77 256690143ccSmrg 257f757b1e9Smrg/* Value type. */ 258690143ccSmrg#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 259f757b1e9Smrgunion YYSTYPE 2601d8c7986Smrg{ 2616930ead5Smrg#line 109 "xkbparse.y" 262c82dfdfbSmrg 263690143ccSmrg int ival; 264690143ccSmrg unsigned uval; 265690143ccSmrg char *str; 266690143ccSmrg Atom sval; 267690143ccSmrg ParseCommon *any; 268690143ccSmrg ExprDef *expr; 269690143ccSmrg VarDef *var; 270690143ccSmrg VModDef *vmod; 271690143ccSmrg InterpDef *interp; 272690143ccSmrg KeyTypeDef *keyType; 273690143ccSmrg SymbolsDef *syms; 274690143ccSmrg ModMapDef *modMask; 275690143ccSmrg GroupCompatDef *groupCompat; 276690143ccSmrg IndicatorMapDef *ledMap; 277690143ccSmrg IndicatorNameDef *ledName; 278690143ccSmrg KeycodeDef *keyName; 279690143ccSmrg KeyAliasDef *keyAlias; 280690143ccSmrg ShapeDef *shape; 281690143ccSmrg SectionDef *section; 282690143ccSmrg RowDef *row; 283690143ccSmrg KeyDef *key; 284690143ccSmrg OverlayDef *overlay; 285690143ccSmrg OverlayKeyDef *olKey; 286690143ccSmrg OutlineDef *outline; 287690143ccSmrg DoodadDef *doodad; 288690143ccSmrg XkbFile *file; 289c82dfdfbSmrg 2906930ead5Smrg#line 291 "xkbparse.c" 291a57d84feSmrg 2926930ead5Smrg}; 293f757b1e9Smrgtypedef union YYSTYPE YYSTYPE; 294c82dfdfbSmrg# define YYSTYPE_IS_TRIVIAL 1 295690143ccSmrg# define YYSTYPE_IS_DECLARED 1 296690143ccSmrg#endif 297690143ccSmrg 298f757b1e9Smrg 299c82dfdfbSmrgextern YYSTYPE yylval; 300690143ccSmrg 3016930ead5Smrg 302c82dfdfbSmrgint yyparse (void); 3031d8c7986Smrg 304690143ccSmrg 305690143ccSmrg 3066930ead5Smrg/* Symbol kind. */ 3076930ead5Smrgenum yysymbol_kind_t 3086930ead5Smrg{ 3096930ead5Smrg YYSYMBOL_YYEMPTY = -2, 3106930ead5Smrg YYSYMBOL_YYEOF = 0, /* END_OF_FILE */ 3116930ead5Smrg YYSYMBOL_YYerror = 1, /* error */ 3126930ead5Smrg YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ 3136930ead5Smrg YYSYMBOL_ERROR_TOK = 3, /* ERROR_TOK */ 3146930ead5Smrg YYSYMBOL_XKB_KEYMAP = 4, /* XKB_KEYMAP */ 3156930ead5Smrg YYSYMBOL_XKB_KEYCODES = 5, /* XKB_KEYCODES */ 3166930ead5Smrg YYSYMBOL_XKB_TYPES = 6, /* XKB_TYPES */ 3176930ead5Smrg YYSYMBOL_XKB_SYMBOLS = 7, /* XKB_SYMBOLS */ 3186930ead5Smrg YYSYMBOL_XKB_COMPATMAP = 8, /* XKB_COMPATMAP */ 3196930ead5Smrg YYSYMBOL_XKB_GEOMETRY = 9, /* XKB_GEOMETRY */ 3206930ead5Smrg YYSYMBOL_XKB_SEMANTICS = 10, /* XKB_SEMANTICS */ 3216930ead5Smrg YYSYMBOL_XKB_LAYOUT = 11, /* XKB_LAYOUT */ 3226930ead5Smrg YYSYMBOL_INCLUDE = 12, /* INCLUDE */ 3236930ead5Smrg YYSYMBOL_OVERRIDE = 13, /* OVERRIDE */ 3246930ead5Smrg YYSYMBOL_AUGMENT = 14, /* AUGMENT */ 3256930ead5Smrg YYSYMBOL_REPLACE = 15, /* REPLACE */ 3266930ead5Smrg YYSYMBOL_ALTERNATE = 16, /* ALTERNATE */ 3276930ead5Smrg YYSYMBOL_VIRTUAL_MODS = 17, /* VIRTUAL_MODS */ 3286930ead5Smrg YYSYMBOL_TYPE = 18, /* TYPE */ 3296930ead5Smrg YYSYMBOL_INTERPRET = 19, /* INTERPRET */ 3306930ead5Smrg YYSYMBOL_ACTION_TOK = 20, /* ACTION_TOK */ 3316930ead5Smrg YYSYMBOL_KEY = 21, /* KEY */ 3326930ead5Smrg YYSYMBOL_ALIAS = 22, /* ALIAS */ 3336930ead5Smrg YYSYMBOL_GROUP = 23, /* GROUP */ 3346930ead5Smrg YYSYMBOL_MODIFIER_MAP = 24, /* MODIFIER_MAP */ 3356930ead5Smrg YYSYMBOL_INDICATOR = 25, /* INDICATOR */ 3366930ead5Smrg YYSYMBOL_SHAPE = 26, /* SHAPE */ 3376930ead5Smrg YYSYMBOL_KEYS = 27, /* KEYS */ 3386930ead5Smrg YYSYMBOL_ROW = 28, /* ROW */ 3396930ead5Smrg YYSYMBOL_SECTION = 29, /* SECTION */ 3406930ead5Smrg YYSYMBOL_OVERLAY = 30, /* OVERLAY */ 3416930ead5Smrg YYSYMBOL_TEXT = 31, /* TEXT */ 3426930ead5Smrg YYSYMBOL_OUTLINE = 32, /* OUTLINE */ 3436930ead5Smrg YYSYMBOL_SOLID = 33, /* SOLID */ 3446930ead5Smrg YYSYMBOL_LOGO = 34, /* LOGO */ 3456930ead5Smrg YYSYMBOL_VIRTUAL = 35, /* VIRTUAL */ 3466930ead5Smrg YYSYMBOL_EQUALS = 36, /* EQUALS */ 3476930ead5Smrg YYSYMBOL_PLUS = 37, /* PLUS */ 3486930ead5Smrg YYSYMBOL_MINUS = 38, /* MINUS */ 3496930ead5Smrg YYSYMBOL_DIVIDE = 39, /* DIVIDE */ 3506930ead5Smrg YYSYMBOL_TIMES = 40, /* TIMES */ 3516930ead5Smrg YYSYMBOL_OBRACE = 41, /* OBRACE */ 3526930ead5Smrg YYSYMBOL_CBRACE = 42, /* CBRACE */ 3536930ead5Smrg YYSYMBOL_OPAREN = 43, /* OPAREN */ 3546930ead5Smrg YYSYMBOL_CPAREN = 44, /* CPAREN */ 3556930ead5Smrg YYSYMBOL_OBRACKET = 45, /* OBRACKET */ 3566930ead5Smrg YYSYMBOL_CBRACKET = 46, /* CBRACKET */ 3576930ead5Smrg YYSYMBOL_DOT = 47, /* DOT */ 3586930ead5Smrg YYSYMBOL_COMMA = 48, /* COMMA */ 3596930ead5Smrg YYSYMBOL_SEMI = 49, /* SEMI */ 3606930ead5Smrg YYSYMBOL_EXCLAM = 50, /* EXCLAM */ 3616930ead5Smrg YYSYMBOL_INVERT = 51, /* INVERT */ 3626930ead5Smrg YYSYMBOL_STRING = 52, /* STRING */ 3636930ead5Smrg YYSYMBOL_INTEGER = 53, /* INTEGER */ 3646930ead5Smrg YYSYMBOL_FLOAT = 54, /* FLOAT */ 3656930ead5Smrg YYSYMBOL_IDENT = 55, /* IDENT */ 3666930ead5Smrg YYSYMBOL_KEYNAME = 56, /* KEYNAME */ 3676930ead5Smrg YYSYMBOL_PARTIAL = 57, /* PARTIAL */ 3686930ead5Smrg YYSYMBOL_DEFAULT = 58, /* DEFAULT */ 3696930ead5Smrg YYSYMBOL_HIDDEN = 59, /* HIDDEN */ 3706930ead5Smrg YYSYMBOL_ALPHANUMERIC_KEYS = 60, /* ALPHANUMERIC_KEYS */ 3716930ead5Smrg YYSYMBOL_MODIFIER_KEYS = 61, /* MODIFIER_KEYS */ 3726930ead5Smrg YYSYMBOL_KEYPAD_KEYS = 62, /* KEYPAD_KEYS */ 3736930ead5Smrg YYSYMBOL_FUNCTION_KEYS = 63, /* FUNCTION_KEYS */ 3746930ead5Smrg YYSYMBOL_ALTERNATE_GROUP = 64, /* ALTERNATE_GROUP */ 3756930ead5Smrg YYSYMBOL_YYACCEPT = 65, /* $accept */ 3766930ead5Smrg YYSYMBOL_XkbFile = 66, /* XkbFile */ 3776930ead5Smrg YYSYMBOL_XkbCompMapList = 67, /* XkbCompMapList */ 3786930ead5Smrg YYSYMBOL_XkbCompositeMap = 68, /* XkbCompositeMap */ 3796930ead5Smrg YYSYMBOL_XkbCompositeType = 69, /* XkbCompositeType */ 3806930ead5Smrg YYSYMBOL_XkbMapConfigList = 70, /* XkbMapConfigList */ 3816930ead5Smrg YYSYMBOL_XkbMapConfig = 71, /* XkbMapConfig */ 3826930ead5Smrg YYSYMBOL_XkbConfig = 72, /* XkbConfig */ 3836930ead5Smrg YYSYMBOL_FileType = 73, /* FileType */ 3846930ead5Smrg YYSYMBOL_OptFlags = 74, /* OptFlags */ 3856930ead5Smrg YYSYMBOL_Flags = 75, /* Flags */ 3866930ead5Smrg YYSYMBOL_Flag = 76, /* Flag */ 3876930ead5Smrg YYSYMBOL_DeclList = 77, /* DeclList */ 3886930ead5Smrg YYSYMBOL_Decl = 78, /* Decl */ 3896930ead5Smrg YYSYMBOL_VarDecl = 79, /* VarDecl */ 3906930ead5Smrg YYSYMBOL_KeyNameDecl = 80, /* KeyNameDecl */ 3916930ead5Smrg YYSYMBOL_KeyAliasDecl = 81, /* KeyAliasDecl */ 3926930ead5Smrg YYSYMBOL_VModDecl = 82, /* VModDecl */ 3936930ead5Smrg YYSYMBOL_VModDefList = 83, /* VModDefList */ 3946930ead5Smrg YYSYMBOL_VModDef = 84, /* VModDef */ 3956930ead5Smrg YYSYMBOL_InterpretDecl = 85, /* InterpretDecl */ 3966930ead5Smrg YYSYMBOL_InterpretMatch = 86, /* InterpretMatch */ 3976930ead5Smrg YYSYMBOL_VarDeclList = 87, /* VarDeclList */ 3986930ead5Smrg YYSYMBOL_KeyTypeDecl = 88, /* KeyTypeDecl */ 3996930ead5Smrg YYSYMBOL_SymbolsDecl = 89, /* SymbolsDecl */ 4006930ead5Smrg YYSYMBOL_SymbolsBody = 90, /* SymbolsBody */ 4016930ead5Smrg YYSYMBOL_SymbolsVarDecl = 91, /* SymbolsVarDecl */ 4026930ead5Smrg YYSYMBOL_ArrayInit = 92, /* ArrayInit */ 4036930ead5Smrg YYSYMBOL_GroupCompatDecl = 93, /* GroupCompatDecl */ 4046930ead5Smrg YYSYMBOL_ModMapDecl = 94, /* ModMapDecl */ 4056930ead5Smrg YYSYMBOL_IndicatorMapDecl = 95, /* IndicatorMapDecl */ 4066930ead5Smrg YYSYMBOL_IndicatorNameDecl = 96, /* IndicatorNameDecl */ 4076930ead5Smrg YYSYMBOL_ShapeDecl = 97, /* ShapeDecl */ 4086930ead5Smrg YYSYMBOL_SectionDecl = 98, /* SectionDecl */ 4096930ead5Smrg YYSYMBOL_SectionBody = 99, /* SectionBody */ 4106930ead5Smrg YYSYMBOL_SectionBodyItem = 100, /* SectionBodyItem */ 4116930ead5Smrg YYSYMBOL_RowBody = 101, /* RowBody */ 4126930ead5Smrg YYSYMBOL_RowBodyItem = 102, /* RowBodyItem */ 4136930ead5Smrg YYSYMBOL_Keys = 103, /* Keys */ 4146930ead5Smrg YYSYMBOL_Key = 104, /* Key */ 4156930ead5Smrg YYSYMBOL_OverlayDecl = 105, /* OverlayDecl */ 4166930ead5Smrg YYSYMBOL_OverlayKeyList = 106, /* OverlayKeyList */ 4176930ead5Smrg YYSYMBOL_OverlayKey = 107, /* OverlayKey */ 4186930ead5Smrg YYSYMBOL_OutlineList = 108, /* OutlineList */ 4196930ead5Smrg YYSYMBOL_OutlineInList = 109, /* OutlineInList */ 4206930ead5Smrg YYSYMBOL_CoordList = 110, /* CoordList */ 4216930ead5Smrg YYSYMBOL_Coord = 111, /* Coord */ 4226930ead5Smrg YYSYMBOL_DoodadDecl = 112, /* DoodadDecl */ 4236930ead5Smrg YYSYMBOL_DoodadType = 113, /* DoodadType */ 4246930ead5Smrg YYSYMBOL_FieldSpec = 114, /* FieldSpec */ 4256930ead5Smrg YYSYMBOL_Element = 115, /* Element */ 4266930ead5Smrg YYSYMBOL_OptMergeMode = 116, /* OptMergeMode */ 4276930ead5Smrg YYSYMBOL_MergeMode = 117, /* MergeMode */ 4286930ead5Smrg YYSYMBOL_OptExprList = 118, /* OptExprList */ 4296930ead5Smrg YYSYMBOL_ExprList = 119, /* ExprList */ 4306930ead5Smrg YYSYMBOL_Expr = 120, /* Expr */ 4316930ead5Smrg YYSYMBOL_Term = 121, /* Term */ 4326930ead5Smrg YYSYMBOL_ActionList = 122, /* ActionList */ 4336930ead5Smrg YYSYMBOL_Action = 123, /* Action */ 4346930ead5Smrg YYSYMBOL_Lhs = 124, /* Lhs */ 4356930ead5Smrg YYSYMBOL_Terminal = 125, /* Terminal */ 4366930ead5Smrg YYSYMBOL_OptKeySymList = 126, /* OptKeySymList */ 4376930ead5Smrg YYSYMBOL_KeySymList = 127, /* KeySymList */ 4386930ead5Smrg YYSYMBOL_KeySym = 128, /* KeySym */ 4396930ead5Smrg YYSYMBOL_KeySyms = 129, /* KeySyms */ 4406930ead5Smrg YYSYMBOL_SignedNumber = 130, /* SignedNumber */ 4416930ead5Smrg YYSYMBOL_Number = 131, /* Number */ 4426930ead5Smrg YYSYMBOL_Float = 132, /* Float */ 4436930ead5Smrg YYSYMBOL_Integer = 133, /* Integer */ 4446930ead5Smrg YYSYMBOL_KeyName = 134, /* KeyName */ 4456930ead5Smrg YYSYMBOL_Ident = 135, /* Ident */ 4466930ead5Smrg YYSYMBOL_String = 136, /* String */ 4476930ead5Smrg YYSYMBOL_OptMapName = 137, /* OptMapName */ 4486930ead5Smrg YYSYMBOL_MapName = 138 /* MapName */ 4496930ead5Smrg}; 4506930ead5Smrgtypedef enum yysymbol_kind_t yysymbol_kind_t; 4516930ead5Smrg 4526930ead5Smrg 453c82dfdfbSmrg 454690143ccSmrg 455690143ccSmrg#ifdef short 456690143ccSmrg# undef short 457690143ccSmrg#endif 458690143ccSmrg 4596930ead5Smrg/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure 4606930ead5Smrg <limits.h> and (if available) <stdint.h> are included 4616930ead5Smrg so that the code can choose integer types of a good width. */ 4626930ead5Smrg 4636930ead5Smrg#ifndef __PTRDIFF_MAX__ 4646930ead5Smrg# include <limits.h> /* INFRINGES ON USER NAME SPACE */ 4656930ead5Smrg# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ 4666930ead5Smrg# include <stdint.h> /* INFRINGES ON USER NAME SPACE */ 4676930ead5Smrg# define YY_STDINT_H 4686930ead5Smrg# endif 469690143ccSmrg#endif 470690143ccSmrg 4716930ead5Smrg/* Narrow types that promote to a signed type and that can represent a 4726930ead5Smrg signed or unsigned integer of at least N bits. In tables they can 4736930ead5Smrg save space and decrease cache pressure. Promoting to a signed type 4746930ead5Smrg helps avoid bugs in integer arithmetic. */ 4756930ead5Smrg 4766930ead5Smrg#ifdef __INT_LEAST8_MAX__ 4776930ead5Smrgtypedef __INT_LEAST8_TYPE__ yytype_int8; 4786930ead5Smrg#elif defined YY_STDINT_H 4796930ead5Smrgtypedef int_least8_t yytype_int8; 480bfe6082cSmrg#else 481a57d84feSmrgtypedef signed char yytype_int8; 482bfe6082cSmrg#endif 483bfe6082cSmrg 4846930ead5Smrg#ifdef __INT_LEAST16_MAX__ 4856930ead5Smrgtypedef __INT_LEAST16_TYPE__ yytype_int16; 4866930ead5Smrg#elif defined YY_STDINT_H 4876930ead5Smrgtypedef int_least16_t yytype_int16; 4886930ead5Smrg#else 4896930ead5Smrgtypedef short yytype_int16; 4906930ead5Smrg#endif 4916930ead5Smrg 4926930ead5Smrg/* Work around bug in HP-UX 11.23, which defines these macros 4936930ead5Smrg incorrectly for preprocessor constants. This workaround can likely 4946930ead5Smrg be removed in 2023, as HPE has promised support for HP-UX 11.23 4956930ead5Smrg (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of 4966930ead5Smrg <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */ 4976930ead5Smrg#ifdef __hpux 4986930ead5Smrg# undef UINT_LEAST8_MAX 4996930ead5Smrg# undef UINT_LEAST16_MAX 5006930ead5Smrg# define UINT_LEAST8_MAX 255 5016930ead5Smrg# define UINT_LEAST16_MAX 65535 5026930ead5Smrg#endif 5036930ead5Smrg 5046930ead5Smrg#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ 5056930ead5Smrgtypedef __UINT_LEAST8_TYPE__ yytype_uint8; 5066930ead5Smrg#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ 5076930ead5Smrg && UINT_LEAST8_MAX <= INT_MAX) 5086930ead5Smrgtypedef uint_least8_t yytype_uint8; 5096930ead5Smrg#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX 5106930ead5Smrgtypedef unsigned char yytype_uint8; 511690143ccSmrg#else 5126930ead5Smrgtypedef short yytype_uint8; 513690143ccSmrg#endif 514690143ccSmrg 5156930ead5Smrg#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ 5166930ead5Smrgtypedef __UINT_LEAST16_TYPE__ yytype_uint16; 5176930ead5Smrg#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ 5186930ead5Smrg && UINT_LEAST16_MAX <= INT_MAX) 5196930ead5Smrgtypedef uint_least16_t yytype_uint16; 5206930ead5Smrg#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX 5216930ead5Smrgtypedef unsigned short yytype_uint16; 522690143ccSmrg#else 5236930ead5Smrgtypedef int yytype_uint16; 5246930ead5Smrg#endif 5256930ead5Smrg 5266930ead5Smrg#ifndef YYPTRDIFF_T 5276930ead5Smrg# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ 5286930ead5Smrg# define YYPTRDIFF_T __PTRDIFF_TYPE__ 5296930ead5Smrg# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ 5306930ead5Smrg# elif defined PTRDIFF_MAX 5316930ead5Smrg# ifndef ptrdiff_t 5326930ead5Smrg# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 5336930ead5Smrg# endif 5346930ead5Smrg# define YYPTRDIFF_T ptrdiff_t 5356930ead5Smrg# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX 5366930ead5Smrg# else 5376930ead5Smrg# define YYPTRDIFF_T long 5386930ead5Smrg# define YYPTRDIFF_MAXIMUM LONG_MAX 5396930ead5Smrg# endif 540690143ccSmrg#endif 541690143ccSmrg 542690143ccSmrg#ifndef YYSIZE_T 543690143ccSmrg# ifdef __SIZE_TYPE__ 544690143ccSmrg# define YYSIZE_T __SIZE_TYPE__ 545690143ccSmrg# elif defined size_t 546690143ccSmrg# define YYSIZE_T size_t 5476930ead5Smrg# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ 548690143ccSmrg# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 549690143ccSmrg# define YYSIZE_T size_t 550690143ccSmrg# else 5516930ead5Smrg# define YYSIZE_T unsigned 552690143ccSmrg# endif 553690143ccSmrg#endif 554690143ccSmrg 5556930ead5Smrg#define YYSIZE_MAXIMUM \ 5566930ead5Smrg YY_CAST (YYPTRDIFF_T, \ 5576930ead5Smrg (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ 5586930ead5Smrg ? YYPTRDIFF_MAXIMUM \ 5596930ead5Smrg : YY_CAST (YYSIZE_T, -1))) 5606930ead5Smrg 5616930ead5Smrg#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) 5626930ead5Smrg 5636930ead5Smrg 5646930ead5Smrg/* Stored state numbers (used for stacks). */ 5656930ead5Smrgtypedef yytype_int16 yy_state_t; 5666930ead5Smrg 5676930ead5Smrg/* State numbers in computations. */ 5686930ead5Smrgtypedef int yy_state_fast_t; 569690143ccSmrg 570690143ccSmrg#ifndef YY_ 571c82dfdfbSmrg# if defined YYENABLE_NLS && YYENABLE_NLS 572690143ccSmrg# if ENABLE_NLS 573690143ccSmrg# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 574c82dfdfbSmrg# define YY_(Msgid) dgettext ("bison-runtime", Msgid) 575690143ccSmrg# endif 576690143ccSmrg# endif 577690143ccSmrg# ifndef YY_ 578c82dfdfbSmrg# define YY_(Msgid) Msgid 579690143ccSmrg# endif 580690143ccSmrg#endif 581690143ccSmrg 582f757b1e9Smrg 583a57d84feSmrg#ifndef YY_ATTRIBUTE_PURE 5846930ead5Smrg# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) 5856930ead5Smrg# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) 5866930ead5Smrg# else 5876930ead5Smrg# define YY_ATTRIBUTE_PURE 5886930ead5Smrg# endif 589a57d84feSmrg#endif 590a57d84feSmrg 591f757b1e9Smrg#ifndef YY_ATTRIBUTE_UNUSED 5926930ead5Smrg# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) 5936930ead5Smrg# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) 594f757b1e9Smrg# else 5956930ead5Smrg# define YY_ATTRIBUTE_UNUSED 596f757b1e9Smrg# endif 597f757b1e9Smrg#endif 598f757b1e9Smrg 599690143ccSmrg/* Suppress unused-variable warnings by "using" E. */ 600690143ccSmrg#if ! defined lint || defined __GNUC__ 6016930ead5Smrg# define YY_USE(E) ((void) (E)) 602690143ccSmrg#else 6036930ead5Smrg# define YY_USE(E) /* empty */ 604690143ccSmrg#endif 605690143ccSmrg 606f757b1e9Smrg/* Suppress an incorrect diagnostic about yylval being uninitialized. */ 6076930ead5Smrg#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ 6086930ead5Smrg# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 6096930ead5Smrg# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 6106930ead5Smrg _Pragma ("GCC diagnostic push") \ 6116930ead5Smrg _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") 6126930ead5Smrg# else 6136930ead5Smrg# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 6146930ead5Smrg _Pragma ("GCC diagnostic push") \ 6156930ead5Smrg _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ 616f757b1e9Smrg _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 6176930ead5Smrg# endif 6186930ead5Smrg# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 619f757b1e9Smrg _Pragma ("GCC diagnostic pop") 620690143ccSmrg#else 621f757b1e9Smrg# define YY_INITIAL_VALUE(Value) Value 622690143ccSmrg#endif 623f757b1e9Smrg#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 624f757b1e9Smrg# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 625f757b1e9Smrg# define YY_IGNORE_MAYBE_UNINITIALIZED_END 626f757b1e9Smrg#endif 627f757b1e9Smrg#ifndef YY_INITIAL_VALUE 628f757b1e9Smrg# define YY_INITIAL_VALUE(Value) /* Nothing. */ 629690143ccSmrg#endif 630690143ccSmrg 6316930ead5Smrg#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ 6326930ead5Smrg# define YY_IGNORE_USELESS_CAST_BEGIN \ 6336930ead5Smrg _Pragma ("GCC diagnostic push") \ 6346930ead5Smrg _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") 6356930ead5Smrg# define YY_IGNORE_USELESS_CAST_END \ 6366930ead5Smrg _Pragma ("GCC diagnostic pop") 6376930ead5Smrg#endif 6386930ead5Smrg#ifndef YY_IGNORE_USELESS_CAST_BEGIN 6396930ead5Smrg# define YY_IGNORE_USELESS_CAST_BEGIN 6406930ead5Smrg# define YY_IGNORE_USELESS_CAST_END 6416930ead5Smrg#endif 6426930ead5Smrg 643f757b1e9Smrg 6446930ead5Smrg#define YY_ASSERT(E) ((void) (0 && (E))) 6456930ead5Smrg 6466930ead5Smrg#if !defined yyoverflow 647690143ccSmrg 648690143ccSmrg/* The parser invokes alloca or malloc; define the necessary symbols. */ 649690143ccSmrg 650690143ccSmrg# ifdef YYSTACK_USE_ALLOCA 651690143ccSmrg# if YYSTACK_USE_ALLOCA 652690143ccSmrg# ifdef __GNUC__ 653690143ccSmrg# define YYSTACK_ALLOC __builtin_alloca 654690143ccSmrg# elif defined __BUILTIN_VA_ARG_INCR 655690143ccSmrg# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 656690143ccSmrg# elif defined _AIX 657690143ccSmrg# define YYSTACK_ALLOC __alloca 658690143ccSmrg# elif defined _MSC_VER 659690143ccSmrg# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 660690143ccSmrg# define alloca _alloca 661690143ccSmrg# else 662690143ccSmrg# define YYSTACK_ALLOC alloca 663f757b1e9Smrg# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 664690143ccSmrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 665c82dfdfbSmrg /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 666c82dfdfbSmrg# ifndef EXIT_SUCCESS 667c82dfdfbSmrg# define EXIT_SUCCESS 0 668690143ccSmrg# endif 669690143ccSmrg# endif 670690143ccSmrg# endif 671690143ccSmrg# endif 672690143ccSmrg# endif 673690143ccSmrg 674690143ccSmrg# ifdef YYSTACK_ALLOC 675f757b1e9Smrg /* Pacify GCC's 'empty if-body' warning. */ 676f757b1e9Smrg# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 677690143ccSmrg# ifndef YYSTACK_ALLOC_MAXIMUM 678690143ccSmrg /* The OS might guarantee only one guard page at the bottom of the stack, 679690143ccSmrg and a page size can be as small as 4096 bytes. So we cannot safely 680690143ccSmrg invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 681690143ccSmrg to allow for a few compiler-allocated temporary stack slots. */ 682690143ccSmrg# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 683690143ccSmrg# endif 684690143ccSmrg# else 685690143ccSmrg# define YYSTACK_ALLOC YYMALLOC 686690143ccSmrg# define YYSTACK_FREE YYFREE 687690143ccSmrg# ifndef YYSTACK_ALLOC_MAXIMUM 688690143ccSmrg# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 689690143ccSmrg# endif 690c82dfdfbSmrg# if (defined __cplusplus && ! defined EXIT_SUCCESS \ 691690143ccSmrg && ! ((defined YYMALLOC || defined malloc) \ 692f757b1e9Smrg && (defined YYFREE || defined free))) 693690143ccSmrg# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 694c82dfdfbSmrg# ifndef EXIT_SUCCESS 695c82dfdfbSmrg# define EXIT_SUCCESS 0 696690143ccSmrg# endif 697690143ccSmrg# endif 698690143ccSmrg# ifndef YYMALLOC 699690143ccSmrg# define YYMALLOC malloc 700f757b1e9Smrg# if ! defined malloc && ! defined EXIT_SUCCESS 701690143ccSmrgvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 702690143ccSmrg# endif 703690143ccSmrg# endif 704690143ccSmrg# ifndef YYFREE 705690143ccSmrg# define YYFREE free 706f757b1e9Smrg# if ! defined free && ! defined EXIT_SUCCESS 707690143ccSmrgvoid free (void *); /* INFRINGES ON USER NAME SPACE */ 708690143ccSmrg# endif 709690143ccSmrg# endif 710690143ccSmrg# endif 7116930ead5Smrg#endif /* !defined yyoverflow */ 712690143ccSmrg 713690143ccSmrg#if (! defined yyoverflow \ 714690143ccSmrg && (! defined __cplusplus \ 715f757b1e9Smrg || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 716690143ccSmrg 717690143ccSmrg/* A type that is properly aligned for any stack member. */ 718690143ccSmrgunion yyalloc 719690143ccSmrg{ 7206930ead5Smrg yy_state_t yyss_alloc; 721c82dfdfbSmrg YYSTYPE yyvs_alloc; 722c82dfdfbSmrg}; 723690143ccSmrg 724690143ccSmrg/* The size of the maximum gap between one aligned stack and the next. */ 7256930ead5Smrg# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) 726690143ccSmrg 727690143ccSmrg/* The size of an array large to enough to hold all stacks, each with 728690143ccSmrg N elements. */ 729690143ccSmrg# define YYSTACK_BYTES(N) \ 7306930ead5Smrg ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \ 731690143ccSmrg + YYSTACK_GAP_MAXIMUM) 732690143ccSmrg 733c82dfdfbSmrg# define YYCOPY_NEEDED 1 734690143ccSmrg 735690143ccSmrg/* Relocate STACK from its old location to the new one. The 736690143ccSmrg local variables YYSIZE and YYSTACKSIZE give the old and new number of 737690143ccSmrg elements in the stack, and YYPTR gives the new location of the 738690143ccSmrg stack. Advance YYPTR to a properly aligned location for the next 739690143ccSmrg stack. */ 740f757b1e9Smrg# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 741f757b1e9Smrg do \ 742f757b1e9Smrg { \ 7436930ead5Smrg YYPTRDIFF_T yynewbytes; \ 744f757b1e9Smrg YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 745f757b1e9Smrg Stack = &yyptr->Stack_alloc; \ 7466930ead5Smrg yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ 7476930ead5Smrg yyptr += yynewbytes / YYSIZEOF (*yyptr); \ 748f757b1e9Smrg } \ 749f757b1e9Smrg while (0) 750690143ccSmrg 751690143ccSmrg#endif 752690143ccSmrg 753c82dfdfbSmrg#if defined YYCOPY_NEEDED && YYCOPY_NEEDED 754c82dfdfbSmrg/* Copy COUNT objects from SRC to DST. The source and destination do 755c82dfdfbSmrg not overlap. */ 756c82dfdfbSmrg# ifndef YYCOPY 757c82dfdfbSmrg# if defined __GNUC__ && 1 < __GNUC__ 758c82dfdfbSmrg# define YYCOPY(Dst, Src, Count) \ 7596930ead5Smrg __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) 760c82dfdfbSmrg# else 761c82dfdfbSmrg# define YYCOPY(Dst, Src, Count) \ 762c82dfdfbSmrg do \ 763c82dfdfbSmrg { \ 7646930ead5Smrg YYPTRDIFF_T yyi; \ 765c82dfdfbSmrg for (yyi = 0; yyi < (Count); yyi++) \ 766c82dfdfbSmrg (Dst)[yyi] = (Src)[yyi]; \ 767c82dfdfbSmrg } \ 768f757b1e9Smrg while (0) 769c82dfdfbSmrg# endif 770c82dfdfbSmrg# endif 771c82dfdfbSmrg#endif /* !YYCOPY_NEEDED */ 772c82dfdfbSmrg 773690143ccSmrg/* YYFINAL -- State number of the termination state. */ 774690143ccSmrg#define YYFINAL 18 775690143ccSmrg/* YYLAST -- Last index in YYTABLE. */ 776c82dfdfbSmrg#define YYLAST 747 777690143ccSmrg 778690143ccSmrg/* YYNTOKENS -- Number of terminals. */ 779690143ccSmrg#define YYNTOKENS 65 780690143ccSmrg/* YYNNTS -- Number of nonterminals. */ 781c82dfdfbSmrg#define YYNNTS 74 782690143ccSmrg/* YYNRULES -- Number of rules. */ 783c82dfdfbSmrg#define YYNRULES 187 784f757b1e9Smrg/* YYNSTATES -- Number of states. */ 785c82dfdfbSmrg#define YYNSTATES 340 786690143ccSmrg 7876930ead5Smrg/* YYMAXUTOK -- Last valid token kind. */ 788690143ccSmrg#define YYMAXUTOK 257 789690143ccSmrg 7906930ead5Smrg 7916930ead5Smrg/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM 7926930ead5Smrg as returned by yylex, with out-of-bounds checking. */ 7936930ead5Smrg#define YYTRANSLATE(YYX) \ 7946930ead5Smrg (0 <= (YYX) && (YYX) <= YYMAXUTOK \ 7956930ead5Smrg ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ 7966930ead5Smrg : YYSYMBOL_YYUNDEF) 797690143ccSmrg 798f757b1e9Smrg/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 7996930ead5Smrg as returned by yylex. */ 8006930ead5Smrgstatic const yytype_int8 yytranslate[] = 801690143ccSmrg{ 802690143ccSmrg 0, 4, 5, 6, 7, 8, 9, 10, 11, 2, 803690143ccSmrg 12, 13, 14, 15, 16, 2, 2, 2, 2, 2, 804690143ccSmrg 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 805690143ccSmrg 27, 28, 29, 30, 31, 32, 33, 34, 35, 2, 806690143ccSmrg 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 807690143ccSmrg 46, 47, 48, 49, 50, 51, 2, 2, 2, 2, 808690143ccSmrg 52, 53, 54, 55, 56, 2, 2, 2, 2, 2, 809690143ccSmrg 57, 58, 59, 60, 61, 62, 63, 64, 2, 2, 810690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 811690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 812690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 813690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 814690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 815690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 816690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 817690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 818690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 819690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 820690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 821690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 822690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 823690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 824690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 825690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 826690143ccSmrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 827690143ccSmrg 2, 2, 2, 2, 2, 3, 1, 2 828690143ccSmrg}; 829690143ccSmrg 830690143ccSmrg#if YYDEBUG 8316930ead5Smrg/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 8326930ead5Smrgstatic const yytype_int16 yyrline[] = 833690143ccSmrg{ 8346930ead5Smrg 0, 167, 167, 169, 171, 175, 177, 181, 187, 188, 8356930ead5Smrg 189, 192, 194, 198, 204, 209, 210, 211, 212, 213, 8366930ead5Smrg 216, 217, 220, 221, 224, 225, 226, 227, 228, 229, 8376930ead5Smrg 230, 231, 234, 236, 239, 244, 249, 254, 259, 264, 8386930ead5Smrg 269, 274, 279, 284, 289, 294, 299, 304, 309, 321, 8396930ead5Smrg 323, 325, 329, 340, 350, 354, 356, 360, 362, 366, 8406930ead5Smrg 375, 377, 381, 383, 387, 393, 399, 401, 403, 406, 8416930ead5Smrg 408, 410, 412, 414, 418, 420, 424, 428, 432, 436, 8426930ead5Smrg 438, 442, 444, 452, 456, 458, 462, 464, 466, 468, 8436930ead5Smrg 470, 474, 476, 480, 482, 486, 488, 492, 494, 498, 8446930ead5Smrg 502, 507, 511, 515, 517, 521, 523, 525, 529, 531, 8456930ead5Smrg 535, 545, 549, 550, 551, 552, 555, 556, 559, 561, 8466930ead5Smrg 563, 565, 567, 569, 571, 573, 575, 577, 579, 583, 8476930ead5Smrg 584, 587, 588, 589, 590, 591, 594, 595, 598, 600, 8486930ead5Smrg 604, 606, 608, 610, 612, 614, 618, 620, 622, 624, 8496930ead5Smrg 626, 628, 630, 632, 636, 638, 642, 646, 653, 661, 8506930ead5Smrg 670, 681, 688, 695, 702, 713, 714, 717, 719, 721, 8516930ead5Smrg 723, 727, 728, 729, 736, 740, 741, 744, 745, 748, 8526930ead5Smrg 751, 754, 757, 758, 761, 764, 765, 768 853690143ccSmrg}; 854690143ccSmrg#endif 855690143ccSmrg 8566930ead5Smrg/** Accessing symbol of state STATE. */ 8576930ead5Smrg#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) 8586930ead5Smrg 8596930ead5Smrg#if YYDEBUG || 0 8606930ead5Smrg/* The user-facing name of the symbol whose (internal) number is 8616930ead5Smrg YYSYMBOL. No bounds checking. */ 8626930ead5Smrgstatic const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; 8636930ead5Smrg 864690143ccSmrg/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 865690143ccSmrg First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 866690143ccSmrgstatic const char *const yytname[] = 867690143ccSmrg{ 8686930ead5Smrg "END_OF_FILE", "error", "\"invalid token\"", "ERROR_TOK", "XKB_KEYMAP", 869690143ccSmrg "XKB_KEYCODES", "XKB_TYPES", "XKB_SYMBOLS", "XKB_COMPATMAP", 870690143ccSmrg "XKB_GEOMETRY", "XKB_SEMANTICS", "XKB_LAYOUT", "INCLUDE", "OVERRIDE", 871690143ccSmrg "AUGMENT", "REPLACE", "ALTERNATE", "VIRTUAL_MODS", "TYPE", "INTERPRET", 872690143ccSmrg "ACTION_TOK", "KEY", "ALIAS", "GROUP", "MODIFIER_MAP", "INDICATOR", 873690143ccSmrg "SHAPE", "KEYS", "ROW", "SECTION", "OVERLAY", "TEXT", "OUTLINE", "SOLID", 874690143ccSmrg "LOGO", "VIRTUAL", "EQUALS", "PLUS", "MINUS", "DIVIDE", "TIMES", 875690143ccSmrg "OBRACE", "CBRACE", "OPAREN", "CPAREN", "OBRACKET", "CBRACKET", "DOT", 876690143ccSmrg "COMMA", "SEMI", "EXCLAM", "INVERT", "STRING", "INTEGER", "FLOAT", 877690143ccSmrg "IDENT", "KEYNAME", "PARTIAL", "DEFAULT", "HIDDEN", "ALPHANUMERIC_KEYS", 878690143ccSmrg "MODIFIER_KEYS", "KEYPAD_KEYS", "FUNCTION_KEYS", "ALTERNATE_GROUP", 879690143ccSmrg "$accept", "XkbFile", "XkbCompMapList", "XkbCompositeMap", 880690143ccSmrg "XkbCompositeType", "XkbMapConfigList", "XkbMapConfig", "XkbConfig", 881690143ccSmrg "FileType", "OptFlags", "Flags", "Flag", "DeclList", "Decl", "VarDecl", 882690143ccSmrg "KeyNameDecl", "KeyAliasDecl", "VModDecl", "VModDefList", "VModDef", 883690143ccSmrg "InterpretDecl", "InterpretMatch", "VarDeclList", "KeyTypeDecl", 884690143ccSmrg "SymbolsDecl", "SymbolsBody", "SymbolsVarDecl", "ArrayInit", 885690143ccSmrg "GroupCompatDecl", "ModMapDecl", "IndicatorMapDecl", "IndicatorNameDecl", 886690143ccSmrg "ShapeDecl", "SectionDecl", "SectionBody", "SectionBodyItem", "RowBody", 887690143ccSmrg "RowBodyItem", "Keys", "Key", "OverlayDecl", "OverlayKeyList", 888690143ccSmrg "OverlayKey", "OutlineList", "OutlineInList", "CoordList", "Coord", 889690143ccSmrg "DoodadDecl", "DoodadType", "FieldSpec", "Element", "OptMergeMode", 890690143ccSmrg "MergeMode", "OptExprList", "ExprList", "Expr", "Term", "ActionList", 891690143ccSmrg "Action", "Lhs", "Terminal", "OptKeySymList", "KeySymList", "KeySym", 892c82dfdfbSmrg "KeySyms", "SignedNumber", "Number", "Float", "Integer", "KeyName", 893f757b1e9Smrg "Ident", "String", "OptMapName", "MapName", YY_NULLPTR 894690143ccSmrg}; 895690143ccSmrg 8966930ead5Smrgstatic const char * 8976930ead5Smrgyysymbol_name (yysymbol_kind_t yysymbol) 898690143ccSmrg{ 8996930ead5Smrg return yytname[yysymbol]; 9006930ead5Smrg} 9016930ead5Smrg#endif 902690143ccSmrg 9036930ead5Smrg#define YYPACT_NINF (-179) 904690143ccSmrg 9056930ead5Smrg#define yypact_value_is_default(Yyn) \ 9066930ead5Smrg ((Yyn) == YYPACT_NINF) 907690143ccSmrg 9086930ead5Smrg#define YYTABLE_NINF (-183) 909690143ccSmrg 9106930ead5Smrg#define yytable_value_is_error(Yyn) \ 911f757b1e9Smrg 0 912690143ccSmrg 9136930ead5Smrg/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 9146930ead5Smrg STATE-NUM. */ 915690143ccSmrgstatic const yytype_int16 yypact[] = 916690143ccSmrg{ 917c82dfdfbSmrg 669, -179, -179, -179, -179, -179, -179, -179, -179, 19, 918c82dfdfbSmrg 138, -179, 185, -179, -179, 736, 669, -179, -179, -179, 919c82dfdfbSmrg 41, -179, 297, -179, -179, -179, -179, -179, -179, -179, 920c82dfdfbSmrg -179, -3, -3, -179, -3, -179, 13, -179, 31, 31, 921c82dfdfbSmrg 669, -179, 63, 544, 53, -179, -179, -179, -179, -179, 922c82dfdfbSmrg -179, 266, 59, 66, 104, 1, 98, -9, -179, 27, 923c82dfdfbSmrg 27, 52, 1, 79, 98, -179, 98, 109, -179, -179, 924c82dfdfbSmrg -179, 140, 1, -179, -179, -179, -179, -179, -179, -179, 925c82dfdfbSmrg -179, -179, -179, -179, -179, -179, -179, -179, -179, -179, 926c82dfdfbSmrg 98, 130, -179, 132, 135, 125, -179, -179, -179, 144, 927c82dfdfbSmrg -179, 145, -179, 170, -179, -179, -179, 176, 189, -179, 928c82dfdfbSmrg 186, 192, 200, 196, 202, 210, 211, 212, 52, 213, 929c82dfdfbSmrg 220, 371, 681, 371, 371, -179, 1, -179, 371, 667, 930c82dfdfbSmrg 667, 371, 498, 27, 371, 371, 371, 667, 16, 453, 931c82dfdfbSmrg 205, -179, 667, -179, -179, -179, -179, -179, -179, -179, 932c82dfdfbSmrg -179, -179, 371, 371, 371, 371, 371, -179, 358, 194, 933c82dfdfbSmrg -179, 224, -179, -179, -179, -179, -179, -179, 226, 166, 934c82dfdfbSmrg 181, -179, 51, -179, 513, 541, 51, 556, 1, -27, 935c82dfdfbSmrg -179, -179, 233, 22, 223, 219, 38, 51, 325, 597, 936c82dfdfbSmrg 229, -24, 54, -179, 56, -179, 239, 98, 236, 98, 937c82dfdfbSmrg -179, -179, 412, -179, -179, -179, 371, 612, -179, -179, 938c82dfdfbSmrg -179, 291, -179, -179, 371, 371, 371, 371, 371, -179, 939c82dfdfbSmrg 371, 371, -179, -179, 232, -179, 244, 253, -16, 268, 940c82dfdfbSmrg 276, 134, -179, 277, 285, -179, -179, -179, 287, 498, 941c82dfdfbSmrg 289, -179, -179, 288, 371, -179, 303, 70, 154, -179, 942c82dfdfbSmrg -179, 290, -179, 308, -17, 311, 229, 330, 653, 284, 943c82dfdfbSmrg 317, -179, 338, 320, -179, 302, 322, 183, 183, -179, 944c82dfdfbSmrg -179, 51, 227, -179, -179, 80, 371, -179, 681, -179, 945c82dfdfbSmrg -16, -179, -179, -179, 51, -179, 51, -179, -179, -179, 946c82dfdfbSmrg -24, -179, -179, -179, -179, 229, 51, 331, -179, 470, 947c82dfdfbSmrg -179, 27, -179, -179, -179, -179, -179, -179, 335, -179, 948c82dfdfbSmrg -179, -179, 347, 99, -25, 349, -179, 100, -179, 368, 949c82dfdfbSmrg -179, -179, -179, 371, 101, -179, -179, -179, 357, 27, 950c82dfdfbSmrg 27, 116, 361, -25, -179, -179, -179, -179, -179, -179 951f46a6179Smrg}; 952690143ccSmrg 9536930ead5Smrg/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 9546930ead5Smrg Performed when YYTABLE does not specify something else to do. Zero 9556930ead5Smrg means the default is an error. */ 956f757b1e9Smrgstatic const yytype_uint8 yydefact[] = 957f757b1e9Smrg{ 958f757b1e9Smrg 21, 24, 25, 26, 27, 28, 29, 30, 31, 0, 959f757b1e9Smrg 21, 6, 21, 12, 4, 0, 20, 23, 1, 5, 960f757b1e9Smrg 0, 11, 0, 8, 15, 16, 18, 17, 19, 9, 961f757b1e9Smrg 10, 186, 186, 22, 186, 187, 0, 185, 33, 0, 962f757b1e9Smrg 21, 33, 130, 21, 130, 131, 133, 132, 134, 135, 963f757b1e9Smrg 32, 0, 129, 0, 0, 0, 120, 119, 118, 121, 964f757b1e9Smrg 0, 122, 123, 124, 125, 126, 127, 128, 113, 114, 965f757b1e9Smrg 115, 0, 0, 182, 181, 183, 34, 37, 38, 35, 966f757b1e9Smrg 36, 39, 40, 42, 41, 43, 44, 45, 46, 47, 967f757b1e9Smrg 0, 157, 117, 0, 0, 116, 48, 7, 13, 0, 968f757b1e9Smrg 56, 57, 184, 0, 172, 180, 171, 0, 61, 173, 969f757b1e9Smrg 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970f757b1e9Smrg 0, 0, 0, 0, 0, 50, 0, 54, 0, 0, 971f757b1e9Smrg 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 972f757b1e9Smrg 0, 51, 0, 120, 119, 121, 122, 123, 124, 125, 973f757b1e9Smrg 127, 128, 0, 0, 0, 0, 0, 179, 157, 0, 974f757b1e9Smrg 145, 150, 152, 163, 162, 164, 116, 161, 158, 0, 975f757b1e9Smrg 0, 55, 58, 63, 0, 0, 60, 166, 0, 0, 976f757b1e9Smrg 67, 73, 0, 116, 0, 0, 0, 139, 0, 0, 977f757b1e9Smrg 0, 0, 0, 104, 0, 109, 0, 124, 126, 0, 978f757b1e9Smrg 87, 89, 0, 85, 90, 88, 0, 0, 147, 150, 979f757b1e9Smrg 146, 0, 148, 149, 137, 0, 0, 0, 0, 159, 980f757b1e9Smrg 0, 0, 49, 52, 0, 62, 0, 172, 0, 171, 981f757b1e9Smrg 0, 0, 155, 0, 165, 169, 170, 72, 0, 0, 982f757b1e9Smrg 0, 53, 76, 0, 0, 79, 0, 0, 0, 178, 983f757b1e9Smrg 177, 0, 176, 0, 0, 0, 0, 0, 0, 0, 984f757b1e9Smrg 0, 84, 0, 0, 153, 0, 136, 141, 142, 140, 985f757b1e9Smrg 143, 144, 0, 64, 59, 0, 137, 75, 0, 74, 986f757b1e9Smrg 0, 65, 66, 70, 69, 77, 138, 78, 105, 175, 987f757b1e9Smrg 0, 81, 103, 82, 108, 0, 107, 0, 94, 0, 988f757b1e9Smrg 92, 0, 83, 80, 111, 151, 160, 174, 0, 154, 989f757b1e9Smrg 167, 168, 0, 0, 0, 0, 91, 0, 101, 0, 990f757b1e9Smrg 156, 110, 106, 0, 0, 96, 97, 86, 0, 0, 991f757b1e9Smrg 0, 0, 0, 0, 99, 100, 102, 98, 93, 95 992f757b1e9Smrg}; 993f757b1e9Smrg 9946930ead5Smrg/* YYPGOTO[NTERM-NUM]. */ 995690143ccSmrgstatic const yytype_int16 yypgoto[] = 996690143ccSmrg{ 997c82dfdfbSmrg -179, -179, -179, 397, -179, 372, -8, -179, 389, 48, 998c82dfdfbSmrg -179, 399, 375, -179, -19, -179, -179, -179, -179, 292, 999c82dfdfbSmrg -179, -179, -119, -179, -179, -179, 174, 177, -179, -179, 1000c82dfdfbSmrg 369, -179, -179, -179, -179, 217, -179, 129, -179, 106, 1001c82dfdfbSmrg -179, -179, 105, -179, 193, -178, 195, 398, -179, -23, 1002c82dfdfbSmrg -179, -179, -179, 172, -132, -81, 34, -179, 175, -29, 1003c82dfdfbSmrg -179, -179, 222, -55, 178, 162, 207, -179, -56, -51, 1004c82dfdfbSmrg -45, -30, 180, -179 1005f46a6179Smrg}; 1006690143ccSmrg 10076930ead5Smrg/* YYDEFGOTO[NTERM-NUM]. */ 1008f757b1e9Smrgstatic const yytype_int16 yydefgoto[] = 1009f757b1e9Smrg{ 10106930ead5Smrg 0, 9, 10, 11, 31, 12, 13, 14, 32, 22, 1011f757b1e9Smrg 16, 17, 42, 50, 173, 77, 78, 79, 99, 100, 1012f757b1e9Smrg 80, 107, 174, 81, 82, 179, 180, 181, 83, 84, 1013f757b1e9Smrg 201, 86, 87, 88, 202, 203, 299, 300, 324, 325, 1014f757b1e9Smrg 204, 317, 318, 192, 193, 194, 195, 205, 90, 158, 1015f757b1e9Smrg 92, 51, 52, 265, 266, 187, 160, 231, 232, 161, 1016f757b1e9Smrg 162, 233, 234, 235, 236, 251, 252, 163, 164, 165, 1017f757b1e9Smrg 166, 167, 36, 37 1018f757b1e9Smrg}; 1019f757b1e9Smrg 10206930ead5Smrg/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 10216930ead5Smrg positive, shift that token. If negative, reduce the rule whose 10226930ead5Smrg number is the opposite. If YYTABLE_NINF, syntax error. */ 1023690143ccSmrgstatic const yytype_int16 yytable[] = 1024690143ccSmrg{ 1025c82dfdfbSmrg 94, 109, 108, 186, 21, 112, 95, 114, 110, 111, 1026c82dfdfbSmrg 101, 175, 247, 104, 248, 238, 323, 113, 189, 18, 1027c82dfdfbSmrg 104, 239, 93, 207, 190, 228, 103, 119, 91, 249, 1028c82dfdfbSmrg 250, 74, 76, 115, 116, 21, 117, 105, 73, 106, 1029c82dfdfbSmrg 159, 75, 169, 170, 105, 23, 106, 172, 15, 35, 1030c82dfdfbSmrg 176, 29, 30, 185, 40, 188, 73, 190, 20, 75, 1031c82dfdfbSmrg 120, 191, 140, -14, -71, 45, 46, 47, 48, 49, 1032c82dfdfbSmrg -71, 73, 41, 211, 75, 45, 46, 47, 48, 49, 1033c82dfdfbSmrg 243, 101, 184, 74, 95, 95, 244, 183, 215, 216, 1034c82dfdfbSmrg 217, 218, 95, 196, 95, 54, 253, 95, 255, 168, 1035c82dfdfbSmrg 93, 93, 254, 182, 256, 105, 91, 91, 93, 91, 1036c82dfdfbSmrg 93, 96, 288, 93, 91, 97, 91, 313, 256, 91, 1037c82dfdfbSmrg 200, 109, 307, 209, 209, 262, 209, 209, 280, 95, 1038c82dfdfbSmrg 95, 102, 105, 237, 267, 268, 269, 270, -2, 271, 1039c82dfdfbSmrg 272, 322, 328, 332, 95, 93, 93, 256, 329, 333, 1040c82dfdfbSmrg 102, 91, 91, 98, 230, 225, 225, 95, 337, 284, 1041c82dfdfbSmrg 93, -112, 95, 286, 244, 118, 91, 115, 123, 259, 1042c82dfdfbSmrg 225, 124, 109, 93, 125, 121, 296, 122, 93, 91, 1043c82dfdfbSmrg 277, 128, 278, 200, 91, -3, 208, 210, 225, 212, 1044c82dfdfbSmrg 213, 331, 126, 127, 183, 1, 2, 3, 4, 5, 1045c82dfdfbSmrg 6, 7, 8, 215, 216, 217, 218, 249, 250, 196, 1046c82dfdfbSmrg 182, 129, 38, 95, 39, 222, 91, 130, 215, 216, 1047c82dfdfbSmrg 217, 218, 217, 218, 109, 310, 131, 132, 133, 93, 1048c82dfdfbSmrg 223, 215, 216, 217, 218, 91, 134, 135, 136, 298, 1049c82dfdfbSmrg 219, 206, 1, 2, 3, 4, 5, 6, 7, 8, 1050c82dfdfbSmrg 319, 137, 138, 139, 95, 230, 215, 216, 217, 218, 1051c82dfdfbSmrg 220, 142, 141, 326, 215, 216, 217, 218, 242, 240, 1052c82dfdfbSmrg 93, 221, 241, 306, 191, 257, 91, 258, 319, 336, 1053c82dfdfbSmrg 298, 273, 326, 55, 56, 57, 58, 59, 60, 61, 1054c82dfdfbSmrg 62, 63, 64, 274, 65, 66, -127, 67, 68, 69, 1055c82dfdfbSmrg 70, 71, 24, 25, 26, 27, 28, 143, 144, 58, 1056c82dfdfbSmrg 145, -182, 146, 147, 148, 149, 72, 65, 150, 276, 1057c82dfdfbSmrg 151, 73, 74, 279, 75, 301, 152, 153, 215, 216, 1058c82dfdfbSmrg 217, 218, 154, 280, 177, 264, 281, 285, 290, 155, 1059c82dfdfbSmrg 156, 102, 105, 157, 73, 74, 305, 75, 143, 144, 1060c82dfdfbSmrg 58, 145, 287, 146, 147, 148, 149, 291, 65, 150, 1061c82dfdfbSmrg 293, 151, 215, 216, 217, 218, 302, 152, 153, 304, 1062c82dfdfbSmrg 244, 295, 314, 154, 245, 215, 216, 217, 218, 320, 1063c82dfdfbSmrg 155, 156, 102, 105, 157, 73, 74, 303, 75, 143, 1064c82dfdfbSmrg 144, 58, 145, 321, 146, 147, 148, 149, 327, 65, 1065c82dfdfbSmrg 150, 214, 151, 121, 330, 122, 334, 19, 152, 153, 1066c82dfdfbSmrg 338, 34, 43, 282, 154, 33, 44, 283, 171, 261, 1067c82dfdfbSmrg 85, 155, 156, 102, 105, 157, 73, 74, 316, 75, 1068c82dfdfbSmrg 143, 144, 58, 145, 335, 146, 147, 197, 149, 339, 1069c82dfdfbSmrg 198, 150, 199, 67, 68, 69, 70, 292, 308, 89, 1070c82dfdfbSmrg 275, 294, 312, 309, 260, 289, 0, 0, 311, 0, 1071c82dfdfbSmrg 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 1072c82dfdfbSmrg 75, 143, 144, 58, 145, 0, 146, 147, 197, 149, 1073c82dfdfbSmrg 0, 198, 150, 199, 67, 68, 69, 70, 143, 144, 1074c82dfdfbSmrg 58, 145, 0, 146, 147, 148, 149, 297, 65, 150, 1075c82dfdfbSmrg 0, 151, 0, 72, 0, 0, 0, 0, 73, 0, 1076c82dfdfbSmrg 0, 75, 315, 0, 0, 0, 143, 144, 58, 145, 1077c82dfdfbSmrg 72, 146, 147, 148, 149, 73, 65, 150, 75, 151, 1078c82dfdfbSmrg 0, 143, 144, 58, 145, 0, 146, 147, 148, 149, 1079c82dfdfbSmrg 0, 65, 150, 177, 151, 0, 0, 0, 178, 0, 1080c82dfdfbSmrg 0, 0, 0, 73, 0, 224, 75, 0, 0, 143, 1081c82dfdfbSmrg 144, 58, 145, 72, 146, 147, 148, 149, 73, 65, 1082c82dfdfbSmrg 150, 75, 151, 0, 143, 144, 58, 145, 0, 146, 1083c82dfdfbSmrg 147, 148, 149, 226, 65, 227, 53, 151, 0, 0, 1084c82dfdfbSmrg 0, 72, 0, 0, 0, 0, 73, 228, 0, 75, 1085c82dfdfbSmrg 0, 1, 2, 3, 4, 5, 6, 7, 8, 105, 1086c82dfdfbSmrg 0, 229, 0, 0, 75, 143, 144, 58, 145, 0, 1087c82dfdfbSmrg 146, 147, 148, 149, 0, 65, 150, 0, 151, 0, 1088c82dfdfbSmrg 143, 144, 58, 145, 0, 146, 147, 148, 149, 246, 1089c82dfdfbSmrg 65, 150, 0, 151, 0, 0, 0, 72, 0, 0, 1090c82dfdfbSmrg 0, 0, 73, 0, 263, 75, 0, 0, 0, 0, 1091c82dfdfbSmrg 0, 0, 72, 0, 0, 0, 0, 73, 0, 0, 1092c82dfdfbSmrg 75, 143, 144, 58, 145, 0, 146, 147, 148, 149, 1093c82dfdfbSmrg 297, 65, 150, 0, 151, 143, 144, 58, 145, 0, 1094c82dfdfbSmrg 146, 147, 148, 149, 0, 65, 150, 0, 151, 143, 1095c82dfdfbSmrg 144, 58, 145, 72, 146, 147, 148, 149, 73, 65, 1096c82dfdfbSmrg 150, 75, 151, 0, 0, 0, 0, 72, 0, 0, 1097c82dfdfbSmrg 0, 0, 73, 0, 0, 75, 1, 2, 3, 4, 1098c82dfdfbSmrg 5, 6, 7, 8, 0, 0, 73, 0, 0, 75, 1099c82dfdfbSmrg 23, 24, 25, 26, 27, 28, 29, 30 1100f46a6179Smrg}; 1101690143ccSmrg 1102690143ccSmrgstatic const yytype_int16 yycheck[] = 1103690143ccSmrg{ 1104c82dfdfbSmrg 51, 57, 57, 135, 12, 61, 51, 63, 59, 60, 1105c82dfdfbSmrg 55, 130, 190, 29, 38, 42, 41, 62, 137, 0, 1106c82dfdfbSmrg 29, 48, 51, 142, 41, 41, 56, 72, 51, 53, 1107c82dfdfbSmrg 54, 56, 51, 63, 64, 43, 66, 53, 55, 55, 1108c82dfdfbSmrg 121, 58, 123, 124, 53, 4, 55, 128, 0, 52, 1109c82dfdfbSmrg 131, 10, 11, 134, 41, 136, 55, 41, 10, 58, 1110c82dfdfbSmrg 90, 45, 118, 0, 42, 12, 13, 14, 15, 16, 1111c82dfdfbSmrg 48, 55, 41, 154, 58, 12, 13, 14, 15, 16, 1112c82dfdfbSmrg 42, 126, 133, 56, 129, 130, 48, 132, 37, 38, 1113c82dfdfbSmrg 39, 40, 137, 138, 139, 42, 42, 142, 42, 122, 1114c82dfdfbSmrg 129, 130, 48, 132, 48, 53, 129, 130, 137, 132, 1115c82dfdfbSmrg 139, 52, 42, 142, 137, 49, 139, 295, 48, 142, 1116c82dfdfbSmrg 139, 177, 42, 152, 153, 206, 155, 156, 48, 174, 1117c82dfdfbSmrg 175, 52, 53, 178, 215, 216, 217, 218, 0, 220, 1118c82dfdfbSmrg 221, 42, 42, 42, 189, 174, 175, 48, 48, 48, 1119c82dfdfbSmrg 52, 174, 175, 49, 177, 174, 175, 202, 42, 240, 1120c82dfdfbSmrg 189, 52, 207, 244, 48, 25, 189, 197, 36, 199, 1121c82dfdfbSmrg 189, 36, 228, 202, 49, 45, 257, 47, 207, 202, 1122c82dfdfbSmrg 46, 36, 48, 202, 207, 0, 152, 153, 207, 155, 1123c82dfdfbSmrg 156, 323, 48, 49, 239, 57, 58, 59, 60, 61, 1124c82dfdfbSmrg 62, 63, 64, 37, 38, 39, 40, 53, 54, 254, 1125c82dfdfbSmrg 239, 41, 32, 258, 34, 49, 239, 41, 37, 38, 1126c82dfdfbSmrg 39, 40, 39, 40, 280, 280, 37, 41, 36, 258, 1127c82dfdfbSmrg 49, 37, 38, 39, 40, 258, 36, 41, 36, 258, 1128c82dfdfbSmrg 46, 36, 57, 58, 59, 60, 61, 62, 63, 64, 1129c82dfdfbSmrg 301, 41, 41, 41, 299, 278, 37, 38, 39, 40, 1130c82dfdfbSmrg 36, 41, 49, 314, 37, 38, 39, 40, 49, 36, 1131c82dfdfbSmrg 299, 45, 49, 46, 45, 36, 299, 41, 329, 330, 1132c82dfdfbSmrg 299, 49, 333, 17, 18, 19, 20, 21, 22, 23, 1133c82dfdfbSmrg 24, 25, 26, 49, 28, 29, 43, 31, 32, 33, 1134c82dfdfbSmrg 34, 35, 5, 6, 7, 8, 9, 18, 19, 20, 1135c82dfdfbSmrg 21, 43, 23, 24, 25, 26, 50, 28, 29, 43, 1136c82dfdfbSmrg 31, 55, 56, 46, 58, 41, 37, 38, 37, 38, 1137c82dfdfbSmrg 39, 40, 43, 48, 45, 44, 49, 49, 48, 50, 1138c82dfdfbSmrg 51, 52, 53, 54, 55, 56, 44, 58, 18, 19, 1139c82dfdfbSmrg 20, 21, 49, 23, 24, 25, 26, 49, 28, 29, 1140c82dfdfbSmrg 49, 31, 37, 38, 39, 40, 49, 37, 38, 49, 1141c82dfdfbSmrg 48, 41, 41, 43, 49, 37, 38, 39, 40, 44, 1142690143ccSmrg 50, 51, 52, 53, 54, 55, 56, 49, 58, 18, 1143c82dfdfbSmrg 19, 20, 21, 46, 23, 24, 25, 26, 49, 28, 1144c82dfdfbSmrg 29, 43, 31, 45, 36, 47, 49, 10, 37, 38, 1145c82dfdfbSmrg 49, 22, 40, 239, 43, 16, 41, 240, 126, 202, 1146c82dfdfbSmrg 51, 50, 51, 52, 53, 54, 55, 56, 299, 58, 1147c82dfdfbSmrg 18, 19, 20, 21, 329, 23, 24, 25, 26, 333, 1148c82dfdfbSmrg 28, 29, 30, 31, 32, 33, 34, 254, 276, 51, 1149c82dfdfbSmrg 228, 256, 290, 278, 42, 248, -1, -1, 280, -1, 1150c82dfdfbSmrg -1, -1, 50, -1, -1, -1, -1, 55, -1, -1, 1151c82dfdfbSmrg 58, 18, 19, 20, 21, -1, 23, 24, 25, 26, 1152c82dfdfbSmrg -1, 28, 29, 30, 31, 32, 33, 34, 18, 19, 1153c82dfdfbSmrg 20, 21, -1, 23, 24, 25, 26, 27, 28, 29, 1154c82dfdfbSmrg -1, 31, -1, 50, -1, -1, -1, -1, 55, -1, 1155c82dfdfbSmrg -1, 58, 42, -1, -1, -1, 18, 19, 20, 21, 1156c82dfdfbSmrg 50, 23, 24, 25, 26, 55, 28, 29, 58, 31, 1157c82dfdfbSmrg -1, 18, 19, 20, 21, -1, 23, 24, 25, 26, 1158c82dfdfbSmrg -1, 28, 29, 45, 31, -1, -1, -1, 50, -1, 1159c82dfdfbSmrg -1, -1, -1, 55, -1, 42, 58, -1, -1, 18, 1160c82dfdfbSmrg 19, 20, 21, 50, 23, 24, 25, 26, 55, 28, 1161c82dfdfbSmrg 29, 58, 31, -1, 18, 19, 20, 21, -1, 23, 1162c82dfdfbSmrg 24, 25, 26, 42, 28, 29, 42, 31, -1, -1, 1163c82dfdfbSmrg -1, 50, -1, -1, -1, -1, 55, 41, -1, 58, 1164c82dfdfbSmrg -1, 57, 58, 59, 60, 61, 62, 63, 64, 53, 1165c82dfdfbSmrg -1, 55, -1, -1, 58, 18, 19, 20, 21, -1, 1166c82dfdfbSmrg 23, 24, 25, 26, -1, 28, 29, -1, 31, -1, 1167c82dfdfbSmrg 18, 19, 20, 21, -1, 23, 24, 25, 26, 42, 1168c82dfdfbSmrg 28, 29, -1, 31, -1, -1, -1, 50, -1, -1, 1169c82dfdfbSmrg -1, -1, 55, -1, 42, 58, -1, -1, -1, -1, 1170c82dfdfbSmrg -1, -1, 50, -1, -1, -1, -1, 55, -1, -1, 1171c82dfdfbSmrg 58, 18, 19, 20, 21, -1, 23, 24, 25, 26, 1172c82dfdfbSmrg 27, 28, 29, -1, 31, 18, 19, 20, 21, -1, 1173c82dfdfbSmrg 23, 24, 25, 26, -1, 28, 29, -1, 31, 18, 1174c82dfdfbSmrg 19, 20, 21, 50, 23, 24, 25, 26, 55, 28, 1175c82dfdfbSmrg 29, 58, 31, -1, -1, -1, -1, 50, -1, -1, 1176c82dfdfbSmrg -1, -1, 55, -1, -1, 58, 57, 58, 59, 60, 1177c82dfdfbSmrg 61, 62, 63, 64, -1, -1, 55, -1, -1, 58, 1178c82dfdfbSmrg 4, 5, 6, 7, 8, 9, 10, 11 1179f46a6179Smrg}; 1180f46a6179Smrg 11816930ead5Smrg/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of 11826930ead5Smrg state STATE-NUM. */ 1183690143ccSmrgstatic const yytype_uint8 yystos[] = 1184690143ccSmrg{ 1185690143ccSmrg 0, 57, 58, 59, 60, 61, 62, 63, 64, 66, 1186690143ccSmrg 67, 68, 70, 71, 72, 74, 75, 76, 0, 68, 1187690143ccSmrg 74, 71, 74, 4, 5, 6, 7, 8, 9, 10, 1188c82dfdfbSmrg 11, 69, 73, 76, 73, 52, 137, 138, 137, 137, 1189690143ccSmrg 41, 41, 77, 70, 77, 12, 13, 14, 15, 16, 1190690143ccSmrg 78, 116, 117, 42, 42, 17, 18, 19, 20, 21, 1191690143ccSmrg 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 1192690143ccSmrg 34, 35, 50, 55, 56, 58, 79, 80, 81, 82, 1193690143ccSmrg 85, 88, 89, 93, 94, 95, 96, 97, 98, 112, 1194c82dfdfbSmrg 113, 114, 115, 124, 134, 135, 52, 49, 49, 83, 1195c82dfdfbSmrg 84, 135, 52, 136, 29, 53, 55, 86, 128, 133, 1196c82dfdfbSmrg 134, 134, 133, 135, 133, 136, 136, 136, 25, 135, 1197c82dfdfbSmrg 136, 45, 47, 36, 36, 49, 48, 49, 36, 41, 1198690143ccSmrg 41, 37, 41, 36, 36, 41, 36, 41, 41, 41, 1199c82dfdfbSmrg 133, 49, 41, 18, 19, 21, 23, 24, 25, 26, 1200690143ccSmrg 29, 31, 37, 38, 43, 50, 51, 54, 114, 120, 1201c82dfdfbSmrg 121, 124, 125, 132, 133, 134, 135, 136, 114, 120, 1202690143ccSmrg 120, 84, 120, 79, 87, 87, 120, 45, 50, 90, 1203c82dfdfbSmrg 91, 92, 124, 135, 134, 120, 119, 120, 120, 87, 1204c82dfdfbSmrg 41, 45, 108, 109, 110, 111, 135, 25, 28, 30, 1205690143ccSmrg 79, 95, 99, 100, 105, 112, 36, 87, 121, 124, 1206690143ccSmrg 121, 120, 121, 121, 43, 37, 38, 39, 40, 46, 1207c82dfdfbSmrg 36, 45, 49, 49, 42, 79, 42, 29, 41, 55, 1208c82dfdfbSmrg 114, 122, 123, 126, 127, 128, 129, 135, 42, 48, 1209c82dfdfbSmrg 36, 49, 49, 42, 48, 49, 42, 110, 38, 53, 1210c82dfdfbSmrg 54, 130, 131, 42, 48, 42, 48, 36, 41, 136, 1211c82dfdfbSmrg 42, 100, 120, 42, 44, 118, 119, 120, 120, 120, 1212c82dfdfbSmrg 120, 120, 120, 49, 49, 127, 43, 46, 48, 46, 1213c82dfdfbSmrg 48, 49, 91, 92, 120, 49, 120, 49, 42, 131, 1214c82dfdfbSmrg 48, 49, 109, 49, 111, 41, 120, 27, 79, 101, 1215c82dfdfbSmrg 102, 41, 49, 49, 49, 44, 46, 42, 118, 123, 1216c82dfdfbSmrg 128, 129, 130, 110, 41, 42, 102, 106, 107, 134, 1217c82dfdfbSmrg 44, 46, 42, 41, 103, 104, 134, 49, 42, 48, 1218c82dfdfbSmrg 36, 119, 42, 48, 49, 107, 134, 42, 49, 104 1219f46a6179Smrg}; 1220690143ccSmrg 12216930ead5Smrg/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ 1222f757b1e9Smrgstatic const yytype_uint8 yyr1[] = 1223f757b1e9Smrg{ 1224f757b1e9Smrg 0, 65, 66, 66, 66, 67, 67, 68, 69, 69, 1225f757b1e9Smrg 69, 70, 70, 71, 72, 73, 73, 73, 73, 73, 1226f757b1e9Smrg 74, 74, 75, 75, 76, 76, 76, 76, 76, 76, 1227f757b1e9Smrg 76, 76, 77, 77, 78, 78, 78, 78, 78, 78, 1228f757b1e9Smrg 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 1229f757b1e9Smrg 79, 79, 80, 81, 82, 83, 83, 84, 84, 85, 1230f757b1e9Smrg 86, 86, 87, 87, 88, 89, 90, 90, 90, 91, 1231f757b1e9Smrg 91, 91, 91, 91, 92, 92, 93, 94, 95, 96, 1232f757b1e9Smrg 96, 97, 97, 98, 99, 99, 100, 100, 100, 100, 1233f757b1e9Smrg 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 1234f757b1e9Smrg 106, 106, 107, 108, 108, 109, 109, 109, 110, 110, 1235f757b1e9Smrg 111, 112, 113, 113, 113, 113, 114, 114, 115, 115, 1236f757b1e9Smrg 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 1237f757b1e9Smrg 116, 117, 117, 117, 117, 117, 118, 118, 119, 119, 1238f757b1e9Smrg 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 1239f757b1e9Smrg 121, 121, 121, 121, 122, 122, 123, 124, 124, 124, 1240f757b1e9Smrg 124, 125, 125, 125, 125, 126, 126, 127, 127, 127, 1241f757b1e9Smrg 127, 128, 128, 128, 129, 130, 130, 131, 131, 132, 1242f757b1e9Smrg 133, 134, 135, 135, 136, 137, 137, 138 1243f757b1e9Smrg}; 1244f757b1e9Smrg 12456930ead5Smrg/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ 12466930ead5Smrgstatic const yytype_int8 yyr2[] = 1247f757b1e9Smrg{ 1248f757b1e9Smrg 0, 2, 1, 1, 1, 2, 1, 7, 1, 1, 1249f757b1e9Smrg 1, 2, 1, 7, 4, 1, 1, 1, 1, 1, 1250f757b1e9Smrg 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1251f757b1e9Smrg 1, 1, 2, 0, 2, 2, 2, 2, 2, 2, 1252f757b1e9Smrg 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1253f757b1e9Smrg 2, 3, 4, 5, 3, 3, 1, 1, 3, 6, 1254f757b1e9Smrg 3, 1, 2, 1, 6, 6, 3, 1, 0, 3, 1255f757b1e9Smrg 3, 1, 2, 1, 3, 3, 5, 6, 6, 5, 1256f757b1e9Smrg 6, 6, 6, 6, 2, 1, 5, 1, 1, 1, 1257f757b1e9Smrg 1, 2, 1, 5, 1, 3, 1, 1, 3, 6, 1258f757b1e9Smrg 3, 1, 3, 3, 1, 3, 5, 3, 3, 1, 1259f757b1e9Smrg 5, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1260f757b1e9Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1261f757b1e9Smrg 0, 1, 1, 1, 1, 1, 1, 0, 3, 1, 1262f757b1e9Smrg 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 1263f757b1e9Smrg 1, 4, 1, 3, 3, 1, 4, 1, 3, 4, 1264f757b1e9Smrg 6, 1, 1, 1, 1, 1, 0, 3, 3, 1, 1265f757b1e9Smrg 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1266f757b1e9Smrg 1, 1, 1, 1, 1, 1, 0, 1 1267f757b1e9Smrg}; 1268f757b1e9Smrg 1269f757b1e9Smrg 12706930ead5Smrgenum { YYENOMEM = -2 }; 12716930ead5Smrg 1272f757b1e9Smrg#define yyerrok (yyerrstatus = 0) 1273f757b1e9Smrg#define yyclearin (yychar = YYEMPTY) 1274f757b1e9Smrg 1275f757b1e9Smrg#define YYACCEPT goto yyacceptlab 1276f757b1e9Smrg#define YYABORT goto yyabortlab 1277f757b1e9Smrg#define YYERROR goto yyerrorlab 12786930ead5Smrg#define YYNOMEM goto yyexhaustedlab 1279f757b1e9Smrg 1280690143ccSmrg 1281690143ccSmrg#define YYRECOVERING() (!!yyerrstatus) 1282690143ccSmrg 12836930ead5Smrg#define YYBACKUP(Token, Value) \ 12846930ead5Smrg do \ 12856930ead5Smrg if (yychar == YYEMPTY) \ 12866930ead5Smrg { \ 12876930ead5Smrg yychar = (Token); \ 12886930ead5Smrg yylval = (Value); \ 12896930ead5Smrg YYPOPSTACK (yylen); \ 12906930ead5Smrg yystate = *yyssp; \ 12916930ead5Smrg goto yybackup; \ 12926930ead5Smrg } \ 12936930ead5Smrg else \ 12946930ead5Smrg { \ 12956930ead5Smrg yyerror (YY_("syntax error: cannot back up")); \ 12966930ead5Smrg YYERROR; \ 12976930ead5Smrg } \ 12986930ead5Smrg while (0) 12996930ead5Smrg 13006930ead5Smrg/* Backward compatibility with an undocumented macro. 13016930ead5Smrg Use YYerror or YYUNDEF. */ 13026930ead5Smrg#define YYERRCODE YYUNDEF 1303690143ccSmrg 1304f46a6179Smrg 1305690143ccSmrg/* Enable debugging if requested. */ 1306690143ccSmrg#if YYDEBUG 1307f46a6179Smrg 1308690143ccSmrg# ifndef YYFPRINTF 1309690143ccSmrg# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1310690143ccSmrg# define YYFPRINTF fprintf 1311690143ccSmrg# endif 1312f46a6179Smrg 1313f757b1e9Smrg# define YYDPRINTF(Args) \ 1314f757b1e9Smrgdo { \ 1315f757b1e9Smrg if (yydebug) \ 1316f757b1e9Smrg YYFPRINTF Args; \ 1317f757b1e9Smrg} while (0) 1318f757b1e9Smrg 1319f46a6179Smrg 1320f46a6179Smrg 13216930ead5Smrg 13226930ead5Smrg# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ 1323f757b1e9Smrgdo { \ 1324f757b1e9Smrg if (yydebug) \ 1325f757b1e9Smrg { \ 1326f757b1e9Smrg YYFPRINTF (stderr, "%s ", Title); \ 1327f757b1e9Smrg yy_symbol_print (stderr, \ 13286930ead5Smrg Kind, Value); \ 1329f757b1e9Smrg YYFPRINTF (stderr, "\n"); \ 1330f757b1e9Smrg } \ 1331f757b1e9Smrg} while (0) 1332f46a6179Smrg 1333690143ccSmrg 13346930ead5Smrg/*-----------------------------------. 13356930ead5Smrg| Print this symbol's value on YYO. | 13366930ead5Smrg`-----------------------------------*/ 1337f757b1e9Smrg 1338690143ccSmrgstatic void 13396930ead5Smrgyy_symbol_value_print (FILE *yyo, 13406930ead5Smrg yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) 1341f46a6179Smrg{ 13426930ead5Smrg FILE *yyoutput = yyo; 13436930ead5Smrg YY_USE (yyoutput); 1344690143ccSmrg if (!yyvaluep) 134507d2e718Smrg return; 13466930ead5Smrg YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 13476930ead5Smrg YY_USE (yykind); 13486930ead5Smrg YY_IGNORE_MAYBE_UNINITIALIZED_END 1349f46a6179Smrg} 1350f46a6179Smrg 1351f46a6179Smrg 13526930ead5Smrg/*---------------------------. 13536930ead5Smrg| Print this symbol on YYO. | 13546930ead5Smrg`---------------------------*/ 1355f46a6179Smrg 1356690143ccSmrgstatic void 13576930ead5Smrgyy_symbol_print (FILE *yyo, 13586930ead5Smrg yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) 1359f46a6179Smrg{ 13606930ead5Smrg YYFPRINTF (yyo, "%s %s (", 13616930ead5Smrg yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); 1362f46a6179Smrg 13636930ead5Smrg yy_symbol_value_print (yyo, yykind, yyvaluep); 13646930ead5Smrg YYFPRINTF (yyo, ")"); 1365f46a6179Smrg} 1366f46a6179Smrg 1367690143ccSmrg/*------------------------------------------------------------------. 1368690143ccSmrg| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1369690143ccSmrg| TOP (included). | 1370690143ccSmrg`------------------------------------------------------------------*/ 1371f46a6179Smrg 1372690143ccSmrgstatic void 13736930ead5Smrgyy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) 1374f46a6179Smrg{ 1375690143ccSmrg YYFPRINTF (stderr, "Stack now"); 1376c82dfdfbSmrg for (; yybottom <= yytop; yybottom++) 1377c82dfdfbSmrg { 1378c82dfdfbSmrg int yybot = *yybottom; 1379c82dfdfbSmrg YYFPRINTF (stderr, " %d", yybot); 1380c82dfdfbSmrg } 1381690143ccSmrg YYFPRINTF (stderr, "\n"); 1382690143ccSmrg} 1383f46a6179Smrg 1384f757b1e9Smrg# define YY_STACK_PRINT(Bottom, Top) \ 1385f757b1e9Smrgdo { \ 1386f757b1e9Smrg if (yydebug) \ 1387f757b1e9Smrg yy_stack_print ((Bottom), (Top)); \ 1388f757b1e9Smrg} while (0) 1389f46a6179Smrg 1390f46a6179Smrg 1391690143ccSmrg/*------------------------------------------------. 1392690143ccSmrg| Report that the YYRULE is going to be reduced. | 1393690143ccSmrg`------------------------------------------------*/ 1394f46a6179Smrg 1395690143ccSmrgstatic void 13966930ead5Smrgyy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, 13976930ead5Smrg int yyrule) 1398690143ccSmrg{ 13996930ead5Smrg int yylno = yyrline[yyrule]; 1400690143ccSmrg int yynrhs = yyr2[yyrule]; 1401690143ccSmrg int yyi; 14026930ead5Smrg YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", 1403f757b1e9Smrg yyrule - 1, yylno); 1404690143ccSmrg /* The symbols being reduced. */ 1405690143ccSmrg for (yyi = 0; yyi < yynrhs; yyi++) 1406f46a6179Smrg { 1407c82dfdfbSmrg YYFPRINTF (stderr, " $%d = ", yyi + 1); 1408f757b1e9Smrg yy_symbol_print (stderr, 14096930ead5Smrg YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), 14106930ead5Smrg &yyvsp[(yyi + 1) - (yynrhs)]); 1411c82dfdfbSmrg YYFPRINTF (stderr, "\n"); 1412f46a6179Smrg } 1413690143ccSmrg} 1414f46a6179Smrg 1415f757b1e9Smrg# define YY_REDUCE_PRINT(Rule) \ 1416f757b1e9Smrgdo { \ 1417f757b1e9Smrg if (yydebug) \ 1418f757b1e9Smrg yy_reduce_print (yyssp, yyvsp, Rule); \ 1419f757b1e9Smrg} while (0) 1420f46a6179Smrg 1421690143ccSmrg/* Nonzero means print parse trace. It is left uninitialized so that 1422690143ccSmrg multiple parsers can coexist. */ 1423690143ccSmrgint yydebug; 1424690143ccSmrg#else /* !YYDEBUG */ 14256930ead5Smrg# define YYDPRINTF(Args) ((void) 0) 14266930ead5Smrg# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) 1427690143ccSmrg# define YY_STACK_PRINT(Bottom, Top) 1428690143ccSmrg# define YY_REDUCE_PRINT(Rule) 1429690143ccSmrg#endif /* !YYDEBUG */ 1430f46a6179Smrg 1431f46a6179Smrg 1432690143ccSmrg/* YYINITDEPTH -- initial size of the parser's stacks. */ 1433f757b1e9Smrg#ifndef YYINITDEPTH 1434690143ccSmrg# define YYINITDEPTH 200 143507d2e718Smrg#endif 1436690143ccSmrg 1437690143ccSmrg/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1438690143ccSmrg if the built-in stack extension method is used). 1439690143ccSmrg 1440690143ccSmrg Do not make this value too large; the results are undefined if 1441690143ccSmrg YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1442690143ccSmrg evaluated with infinite-precision integer arithmetic. */ 1443690143ccSmrg 1444690143ccSmrg#ifndef YYMAXDEPTH 1445690143ccSmrg# define YYMAXDEPTH 10000 1446690143ccSmrg#endif 1447690143ccSmrg 1448690143ccSmrg 1449690143ccSmrg 1450690143ccSmrg 1451a57d84feSmrg 1452690143ccSmrg 1453690143ccSmrg/*-----------------------------------------------. 1454690143ccSmrg| Release the memory associated to this symbol. | 1455690143ccSmrg`-----------------------------------------------*/ 1456690143ccSmrg 1457690143ccSmrgstatic void 14586930ead5Smrgyydestruct (const char *yymsg, 14596930ead5Smrg yysymbol_kind_t yykind, YYSTYPE *yyvaluep) 1460690143ccSmrg{ 14616930ead5Smrg YY_USE (yyvaluep); 1462690143ccSmrg if (!yymsg) 1463690143ccSmrg yymsg = "Deleting"; 14646930ead5Smrg YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); 1465690143ccSmrg 1466f757b1e9Smrg YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 14676930ead5Smrg YY_USE (yykind); 1468f757b1e9Smrg YY_IGNORE_MAYBE_UNINITIALIZED_END 1469690143ccSmrg} 14701d8c7986Smrg 1471690143ccSmrg 14726930ead5Smrg/* Lookahead token kind. */ 1473690143ccSmrgint yychar; 1474690143ccSmrg 1475c82dfdfbSmrg/* The semantic value of the lookahead symbol. */ 1476690143ccSmrgYYSTYPE yylval; 1477690143ccSmrg/* Number of syntax errors so far. */ 1478690143ccSmrgint yynerrs; 1479690143ccSmrg 1480690143ccSmrg 14816930ead5Smrg 14826930ead5Smrg 14831d8c7986Smrg/*----------. 14841d8c7986Smrg| yyparse. | 14851d8c7986Smrg`----------*/ 1486690143ccSmrg 1487690143ccSmrgint 1488690143ccSmrgyyparse (void) 1489690143ccSmrg{ 14906930ead5Smrg yy_state_fast_t yystate = 0; 1491c82dfdfbSmrg /* Number of tokens to shift before error messages enabled. */ 14926930ead5Smrg int yyerrstatus = 0; 1493c82dfdfbSmrg 14946930ead5Smrg /* Refer to the stacks through separate pointers, to allow yyoverflow 1495c82dfdfbSmrg to reallocate them elsewhere. */ 1496c82dfdfbSmrg 14976930ead5Smrg /* Their size. */ 14986930ead5Smrg YYPTRDIFF_T yystacksize = YYINITDEPTH; 1499c82dfdfbSmrg 15006930ead5Smrg /* The state stack: array, bottom, top. */ 15016930ead5Smrg yy_state_t yyssa[YYINITDEPTH]; 15026930ead5Smrg yy_state_t *yyss = yyssa; 15036930ead5Smrg yy_state_t *yyssp = yyss; 1504c82dfdfbSmrg 15056930ead5Smrg /* The semantic value stack: array, bottom, top. */ 15066930ead5Smrg YYSTYPE yyvsa[YYINITDEPTH]; 15076930ead5Smrg YYSTYPE *yyvs = yyvsa; 15086930ead5Smrg YYSTYPE *yyvsp = yyvs; 1509a57d84feSmrg 15101d8c7986Smrg int yyn; 15116930ead5Smrg /* The return value of yyparse. */ 15121d8c7986Smrg int yyresult; 15136930ead5Smrg /* Lookahead symbol kind. */ 15146930ead5Smrg yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; 1515c82dfdfbSmrg /* The variables used to return semantic value and location from the 1516c82dfdfbSmrg action routines. */ 1517c82dfdfbSmrg YYSTYPE yyval; 1518c82dfdfbSmrg 15196930ead5Smrg 1520690143ccSmrg 15211d8c7986Smrg#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 15221d8c7986Smrg 1523690143ccSmrg /* The number of symbols on the RHS of the reduced rule. 1524690143ccSmrg Keep to zero when no symbol should be popped. */ 1525690143ccSmrg int yylen = 0; 1526690143ccSmrg 1527690143ccSmrg YYDPRINTF ((stderr, "Starting parse\n")); 1528690143ccSmrg 1529c82dfdfbSmrg yychar = YYEMPTY; /* Cause a token to be read. */ 15306930ead5Smrg 1531690143ccSmrg goto yysetstate; 1532690143ccSmrg 15336930ead5Smrg 1534690143ccSmrg/*------------------------------------------------------------. 15356930ead5Smrg| yynewstate -- push a new state, which is found in yystate. | 1536690143ccSmrg`------------------------------------------------------------*/ 15376930ead5Smrgyynewstate: 1538690143ccSmrg /* In all cases, when you get here, the value and location stacks 1539690143ccSmrg have just been pushed. So pushing a state here evens the stacks. */ 1540690143ccSmrg yyssp++; 1541690143ccSmrg 15426930ead5Smrg 15436930ead5Smrg/*--------------------------------------------------------------------. 15446930ead5Smrg| yysetstate -- set current state (the top of the stack) to yystate. | 15456930ead5Smrg`--------------------------------------------------------------------*/ 15466930ead5Smrgyysetstate: 15476930ead5Smrg YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 15486930ead5Smrg YY_ASSERT (0 <= yystate && yystate < YYNSTATES); 15496930ead5Smrg YY_IGNORE_USELESS_CAST_BEGIN 15506930ead5Smrg *yyssp = YY_CAST (yy_state_t, yystate); 15516930ead5Smrg YY_IGNORE_USELESS_CAST_END 15526930ead5Smrg YY_STACK_PRINT (yyss, yyssp); 1553690143ccSmrg 1554690143ccSmrg if (yyss + yystacksize - 1 <= yyssp) 15556930ead5Smrg#if !defined yyoverflow && !defined YYSTACK_RELOCATE 15566930ead5Smrg YYNOMEM; 15576930ead5Smrg#else 1558690143ccSmrg { 1559690143ccSmrg /* Get the current used size of the three stacks, in elements. */ 15606930ead5Smrg YYPTRDIFF_T yysize = yyssp - yyss + 1; 1561690143ccSmrg 15626930ead5Smrg# if defined yyoverflow 1563690143ccSmrg { 1564f757b1e9Smrg /* Give user a chance to reallocate the stack. Use copies of 1565f757b1e9Smrg these so that the &'s don't force the real ones into 1566f757b1e9Smrg memory. */ 15676930ead5Smrg yy_state_t *yyss1 = yyss; 1568f757b1e9Smrg YYSTYPE *yyvs1 = yyvs; 1569f757b1e9Smrg 1570f757b1e9Smrg /* Each stack pointer address is followed by the size of the 1571f757b1e9Smrg data in use in that stack, in bytes. This used to be a 1572f757b1e9Smrg conditional around just the two extra args, but that might 1573f757b1e9Smrg be undefined if yyoverflow is a macro. */ 1574f757b1e9Smrg yyoverflow (YY_("memory exhausted"), 15756930ead5Smrg &yyss1, yysize * YYSIZEOF (*yyssp), 15766930ead5Smrg &yyvs1, yysize * YYSIZEOF (*yyvsp), 1577f757b1e9Smrg &yystacksize); 1578f757b1e9Smrg yyss = yyss1; 1579f757b1e9Smrg yyvs = yyvs1; 1580690143ccSmrg } 15816930ead5Smrg# else /* defined YYSTACK_RELOCATE */ 1582690143ccSmrg /* Extend the stack our own way. */ 1583690143ccSmrg if (YYMAXDEPTH <= yystacksize) 15846930ead5Smrg YYNOMEM; 1585690143ccSmrg yystacksize *= 2; 1586690143ccSmrg if (YYMAXDEPTH < yystacksize) 1587f757b1e9Smrg yystacksize = YYMAXDEPTH; 1588690143ccSmrg 1589690143ccSmrg { 15906930ead5Smrg yy_state_t *yyss1 = yyss; 1591f757b1e9Smrg union yyalloc *yyptr = 15926930ead5Smrg YY_CAST (union yyalloc *, 15936930ead5Smrg YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); 1594f757b1e9Smrg if (! yyptr) 15956930ead5Smrg YYNOMEM; 1596f757b1e9Smrg YYSTACK_RELOCATE (yyss_alloc, yyss); 1597f757b1e9Smrg YYSTACK_RELOCATE (yyvs_alloc, yyvs); 1598690143ccSmrg# undef YYSTACK_RELOCATE 1599f757b1e9Smrg if (yyss1 != yyssa) 1600f757b1e9Smrg YYSTACK_FREE (yyss1); 1601690143ccSmrg } 1602690143ccSmrg# endif 1603690143ccSmrg 1604690143ccSmrg yyssp = yyss + yysize - 1; 1605690143ccSmrg yyvsp = yyvs + yysize - 1; 1606690143ccSmrg 16076930ead5Smrg YY_IGNORE_USELESS_CAST_BEGIN 16086930ead5Smrg YYDPRINTF ((stderr, "Stack size increased to %ld\n", 16096930ead5Smrg YY_CAST (long, yystacksize))); 16106930ead5Smrg YY_IGNORE_USELESS_CAST_END 1611690143ccSmrg 1612690143ccSmrg if (yyss + yystacksize - 1 <= yyssp) 1613f757b1e9Smrg YYABORT; 1614690143ccSmrg } 16156930ead5Smrg#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ 1616a57d84feSmrg 1617690143ccSmrg 1618c82dfdfbSmrg if (yystate == YYFINAL) 1619c82dfdfbSmrg YYACCEPT; 1620c82dfdfbSmrg 1621690143ccSmrg goto yybackup; 1622690143ccSmrg 16236930ead5Smrg 1624690143ccSmrg/*-----------. 1625690143ccSmrg| yybackup. | 1626690143ccSmrg`-----------*/ 1627690143ccSmrgyybackup: 1628690143ccSmrg /* Do appropriate processing given the current state. Read a 1629c82dfdfbSmrg lookahead token if we need one and don't already have one. */ 1630690143ccSmrg 1631c82dfdfbSmrg /* First try to decide what to do without reference to lookahead token. */ 1632690143ccSmrg yyn = yypact[yystate]; 1633c82dfdfbSmrg if (yypact_value_is_default (yyn)) 1634690143ccSmrg goto yydefault; 1635690143ccSmrg 1636c82dfdfbSmrg /* Not known => get a lookahead token if don't already have one. */ 1637690143ccSmrg 16386930ead5Smrg /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ 1639690143ccSmrg if (yychar == YYEMPTY) 1640690143ccSmrg { 16416930ead5Smrg YYDPRINTF ((stderr, "Reading a token\n")); 1642f757b1e9Smrg yychar = yylex (); 1643690143ccSmrg } 1644690143ccSmrg 16456930ead5Smrg if (yychar <= END_OF_FILE) 1646690143ccSmrg { 16476930ead5Smrg yychar = END_OF_FILE; 16486930ead5Smrg yytoken = YYSYMBOL_YYEOF; 1649690143ccSmrg YYDPRINTF ((stderr, "Now at end of input.\n")); 1650690143ccSmrg } 16516930ead5Smrg else if (yychar == YYerror) 16526930ead5Smrg { 16536930ead5Smrg /* The scanner already issued an error message, process directly 16546930ead5Smrg to error recovery. But do not keep the error token as 16556930ead5Smrg lookahead, it is too special and may lead us to an endless 16566930ead5Smrg loop in error recovery. */ 16576930ead5Smrg yychar = YYUNDEF; 16586930ead5Smrg yytoken = YYSYMBOL_YYerror; 16596930ead5Smrg goto yyerrlab1; 16606930ead5Smrg } 1661690143ccSmrg else 1662690143ccSmrg { 1663690143ccSmrg yytoken = YYTRANSLATE (yychar); 1664690143ccSmrg YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 1665690143ccSmrg } 1666690143ccSmrg 1667690143ccSmrg /* If the proper action on seeing token YYTOKEN is to reduce or to 1668690143ccSmrg detect an error, take that action. */ 1669690143ccSmrg yyn += yytoken; 1670690143ccSmrg if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 1671690143ccSmrg goto yydefault; 1672690143ccSmrg yyn = yytable[yyn]; 1673690143ccSmrg if (yyn <= 0) 1674690143ccSmrg { 1675c82dfdfbSmrg if (yytable_value_is_error (yyn)) 1676c82dfdfbSmrg goto yyerrlab; 1677690143ccSmrg yyn = -yyn; 1678690143ccSmrg goto yyreduce; 1679690143ccSmrg } 1680690143ccSmrg 1681690143ccSmrg /* Count tokens shifted since error; after three, turn off error 1682690143ccSmrg status. */ 1683690143ccSmrg if (yyerrstatus) 1684690143ccSmrg yyerrstatus--; 1685690143ccSmrg 1686c82dfdfbSmrg /* Shift the lookahead token. */ 1687690143ccSmrg YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1688690143ccSmrg yystate = yyn; 1689c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1690690143ccSmrg *++yyvsp = yylval; 1691c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_END 1692690143ccSmrg 16936930ead5Smrg /* Discard the shifted token. */ 16946930ead5Smrg yychar = YYEMPTY; 1695690143ccSmrg goto yynewstate; 1696690143ccSmrg 1697690143ccSmrg 1698690143ccSmrg/*-----------------------------------------------------------. 1699690143ccSmrg| yydefault -- do the default action for the current state. | 1700690143ccSmrg`-----------------------------------------------------------*/ 1701690143ccSmrgyydefault: 1702690143ccSmrg yyn = yydefact[yystate]; 1703690143ccSmrg if (yyn == 0) 1704690143ccSmrg goto yyerrlab; 1705690143ccSmrg goto yyreduce; 1706690143ccSmrg 1707690143ccSmrg 1708690143ccSmrg/*-----------------------------. 17096930ead5Smrg| yyreduce -- do a reduction. | 1710690143ccSmrg`-----------------------------*/ 1711690143ccSmrgyyreduce: 1712690143ccSmrg /* yyn is the number of a rule to reduce with. */ 1713690143ccSmrg yylen = yyr2[yyn]; 1714690143ccSmrg 1715690143ccSmrg /* If YYLEN is nonzero, implement the default value of the action: 1716f757b1e9Smrg '$$ = $1'. 1717690143ccSmrg 1718690143ccSmrg Otherwise, the following line sets YYVAL to garbage. 1719690143ccSmrg This behavior is undocumented and Bison 1720690143ccSmrg users should not rely upon it. Assigning to YYVAL 1721690143ccSmrg unconditionally makes the parser a bit smaller, and it avoids a 1722690143ccSmrg GCC warning that YYVAL may be used uninitialized. */ 1723690143ccSmrg yyval = yyvsp[1-yylen]; 1724690143ccSmrg 1725690143ccSmrg 1726690143ccSmrg YY_REDUCE_PRINT (yyn); 1727690143ccSmrg switch (yyn) 1728f46a6179Smrg { 17296930ead5Smrg case 2: /* XkbFile: XkbCompMapList */ 17306930ead5Smrg#line 168 "xkbparse.y" 17316930ead5Smrg { (yyval.file)= rtrnValue= (yyvsp[0].file); } 17326930ead5Smrg#line 1733 "xkbparse.c" 1733690143ccSmrg break; 1734690143ccSmrg 17356930ead5Smrg case 3: /* XkbFile: XkbMapConfigList */ 17366930ead5Smrg#line 170 "xkbparse.y" 17376930ead5Smrg { (yyval.file)= rtrnValue= (yyvsp[0].file); } 17386930ead5Smrg#line 1739 "xkbparse.c" 1739690143ccSmrg break; 1740690143ccSmrg 17416930ead5Smrg case 4: /* XkbFile: XkbConfig */ 17426930ead5Smrg#line 172 "xkbparse.y" 17436930ead5Smrg { (yyval.file)= rtrnValue= (yyvsp[0].file); } 17446930ead5Smrg#line 1745 "xkbparse.c" 1745690143ccSmrg break; 1746690143ccSmrg 17476930ead5Smrg case 5: /* XkbCompMapList: XkbCompMapList XkbCompositeMap */ 17486930ead5Smrg#line 176 "xkbparse.y" 17496930ead5Smrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[-1].file)->common,&(yyvsp[0].file)->common); } 17506930ead5Smrg#line 1751 "xkbparse.c" 1751690143ccSmrg break; 1752690143ccSmrg 17536930ead5Smrg case 6: /* XkbCompMapList: XkbCompositeMap */ 17546930ead5Smrg#line 178 "xkbparse.y" 17556930ead5Smrg { (yyval.file)= (yyvsp[0].file); } 17566930ead5Smrg#line 1757 "xkbparse.c" 1757690143ccSmrg break; 1758690143ccSmrg 17596930ead5Smrg case 7: /* XkbCompositeMap: OptFlags XkbCompositeType OptMapName OBRACE XkbMapConfigList CBRACE SEMI */ 17606930ead5Smrg#line 184 "xkbparse.y" 17616930ead5Smrg { (yyval.file)= CreateXKBFile((yyvsp[-5].uval),(yyvsp[-4].str),&(yyvsp[-2].file)->common,(yyvsp[-6].uval)); } 17626930ead5Smrg#line 1763 "xkbparse.c" 1763690143ccSmrg break; 1764690143ccSmrg 17656930ead5Smrg case 8: /* XkbCompositeType: XKB_KEYMAP */ 17666930ead5Smrg#line 187 "xkbparse.y" 17676930ead5Smrg { (yyval.uval)= XkmKeymapFile; } 17686930ead5Smrg#line 1769 "xkbparse.c" 1769690143ccSmrg break; 1770690143ccSmrg 17716930ead5Smrg case 9: /* XkbCompositeType: XKB_SEMANTICS */ 17726930ead5Smrg#line 188 "xkbparse.y" 17736930ead5Smrg { (yyval.uval)= XkmSemanticsFile; } 17746930ead5Smrg#line 1775 "xkbparse.c" 1775690143ccSmrg break; 1776690143ccSmrg 17776930ead5Smrg case 10: /* XkbCompositeType: XKB_LAYOUT */ 17786930ead5Smrg#line 189 "xkbparse.y" 17796930ead5Smrg { (yyval.uval)= XkmLayoutFile; } 17806930ead5Smrg#line 1781 "xkbparse.c" 1781690143ccSmrg break; 1782690143ccSmrg 17836930ead5Smrg case 11: /* XkbMapConfigList: XkbMapConfigList XkbMapConfig */ 17846930ead5Smrg#line 193 "xkbparse.y" 17856930ead5Smrg { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[-1].file)->common,&(yyvsp[0].file)->common); } 17866930ead5Smrg#line 1787 "xkbparse.c" 1787690143ccSmrg break; 1788690143ccSmrg 17896930ead5Smrg case 12: /* XkbMapConfigList: XkbMapConfig */ 17906930ead5Smrg#line 195 "xkbparse.y" 17916930ead5Smrg { (yyval.file)= (yyvsp[0].file); } 17926930ead5Smrg#line 1793 "xkbparse.c" 1793690143ccSmrg break; 1794690143ccSmrg 17956930ead5Smrg case 13: /* XkbMapConfig: OptFlags FileType OptMapName OBRACE DeclList CBRACE SEMI */ 17966930ead5Smrg#line 201 "xkbparse.y" 17976930ead5Smrg { (yyval.file)= CreateXKBFile((yyvsp[-5].uval),(yyvsp[-4].str),(yyvsp[-2].any),(yyvsp[-6].uval)); } 17986930ead5Smrg#line 1799 "xkbparse.c" 1799690143ccSmrg break; 1800690143ccSmrg 18016930ead5Smrg case 14: /* XkbConfig: OptFlags FileType OptMapName DeclList */ 18026930ead5Smrg#line 205 "xkbparse.y" 18036930ead5Smrg { (yyval.file)= CreateXKBFile((yyvsp[-2].uval),(yyvsp[-1].str),(yyvsp[0].any),(yyvsp[-3].uval)); } 18046930ead5Smrg#line 1805 "xkbparse.c" 1805690143ccSmrg break; 1806690143ccSmrg 18076930ead5Smrg case 15: /* FileType: XKB_KEYCODES */ 18086930ead5Smrg#line 209 "xkbparse.y" 18096930ead5Smrg { (yyval.uval)= XkmKeyNamesIndex; } 18106930ead5Smrg#line 1811 "xkbparse.c" 1811690143ccSmrg break; 1812690143ccSmrg 18136930ead5Smrg case 16: /* FileType: XKB_TYPES */ 18146930ead5Smrg#line 210 "xkbparse.y" 18156930ead5Smrg { (yyval.uval)= XkmTypesIndex; } 18166930ead5Smrg#line 1817 "xkbparse.c" 1817690143ccSmrg break; 1818690143ccSmrg 18196930ead5Smrg case 17: /* FileType: XKB_COMPATMAP */ 18206930ead5Smrg#line 211 "xkbparse.y" 18216930ead5Smrg { (yyval.uval)= XkmCompatMapIndex; } 18226930ead5Smrg#line 1823 "xkbparse.c" 1823690143ccSmrg break; 1824690143ccSmrg 18256930ead5Smrg case 18: /* FileType: XKB_SYMBOLS */ 18266930ead5Smrg#line 212 "xkbparse.y" 18276930ead5Smrg { (yyval.uval)= XkmSymbolsIndex; } 18286930ead5Smrg#line 1829 "xkbparse.c" 1829690143ccSmrg break; 1830690143ccSmrg 18316930ead5Smrg case 19: /* FileType: XKB_GEOMETRY */ 18326930ead5Smrg#line 213 "xkbparse.y" 18336930ead5Smrg { (yyval.uval)= XkmGeometryIndex; } 18346930ead5Smrg#line 1835 "xkbparse.c" 1835690143ccSmrg break; 1836690143ccSmrg 18376930ead5Smrg case 20: /* OptFlags: Flags */ 18386930ead5Smrg#line 216 "xkbparse.y" 18396930ead5Smrg { (yyval.uval)= (yyvsp[0].uval); } 18406930ead5Smrg#line 1841 "xkbparse.c" 1841690143ccSmrg break; 1842690143ccSmrg 18436930ead5Smrg case 21: /* OptFlags: %empty */ 18446930ead5Smrg#line 217 "xkbparse.y" 18456930ead5Smrg { (yyval.uval)= 0; } 18466930ead5Smrg#line 1847 "xkbparse.c" 1847690143ccSmrg break; 1848690143ccSmrg 18496930ead5Smrg case 22: /* Flags: Flags Flag */ 18506930ead5Smrg#line 220 "xkbparse.y" 18516930ead5Smrg { (yyval.uval)= (((yyvsp[-1].uval))|((yyvsp[0].uval))); } 18526930ead5Smrg#line 1853 "xkbparse.c" 1853690143ccSmrg break; 1854690143ccSmrg 18556930ead5Smrg case 23: /* Flags: Flag */ 18566930ead5Smrg#line 221 "xkbparse.y" 18576930ead5Smrg { (yyval.uval)= (yyvsp[0].uval); } 18586930ead5Smrg#line 1859 "xkbparse.c" 1859690143ccSmrg break; 1860690143ccSmrg 18616930ead5Smrg case 24: /* Flag: PARTIAL */ 18626930ead5Smrg#line 224 "xkbparse.y" 18636930ead5Smrg { (yyval.uval)= XkbLC_Partial; } 18646930ead5Smrg#line 1865 "xkbparse.c" 1865690143ccSmrg break; 1866690143ccSmrg 18676930ead5Smrg case 25: /* Flag: DEFAULT */ 18686930ead5Smrg#line 225 "xkbparse.y" 18696930ead5Smrg { (yyval.uval)= XkbLC_Default; } 18706930ead5Smrg#line 1871 "xkbparse.c" 1871690143ccSmrg break; 1872690143ccSmrg 18736930ead5Smrg case 26: /* Flag: HIDDEN */ 18746930ead5Smrg#line 226 "xkbparse.y" 18756930ead5Smrg { (yyval.uval)= XkbLC_Hidden; } 18766930ead5Smrg#line 1877 "xkbparse.c" 1877690143ccSmrg break; 1878690143ccSmrg 18796930ead5Smrg case 27: /* Flag: ALPHANUMERIC_KEYS */ 18806930ead5Smrg#line 227 "xkbparse.y" 18816930ead5Smrg { (yyval.uval)= XkbLC_AlphanumericKeys; } 18826930ead5Smrg#line 1883 "xkbparse.c" 1883690143ccSmrg break; 1884690143ccSmrg 18856930ead5Smrg case 28: /* Flag: MODIFIER_KEYS */ 18866930ead5Smrg#line 228 "xkbparse.y" 18876930ead5Smrg { (yyval.uval)= XkbLC_ModifierKeys; } 18886930ead5Smrg#line 1889 "xkbparse.c" 1889690143ccSmrg break; 1890690143ccSmrg 18916930ead5Smrg case 29: /* Flag: KEYPAD_KEYS */ 18926930ead5Smrg#line 229 "xkbparse.y" 18936930ead5Smrg { (yyval.uval)= XkbLC_KeypadKeys; } 18946930ead5Smrg#line 1895 "xkbparse.c" 1895690143ccSmrg break; 1896690143ccSmrg 18976930ead5Smrg case 30: /* Flag: FUNCTION_KEYS */ 18986930ead5Smrg#line 230 "xkbparse.y" 18996930ead5Smrg { (yyval.uval)= XkbLC_FunctionKeys; } 19006930ead5Smrg#line 1901 "xkbparse.c" 1901690143ccSmrg break; 1902690143ccSmrg 19036930ead5Smrg case 31: /* Flag: ALTERNATE_GROUP */ 19046930ead5Smrg#line 231 "xkbparse.y" 19056930ead5Smrg { (yyval.uval)= XkbLC_AlternateGroup; } 19066930ead5Smrg#line 1907 "xkbparse.c" 1907690143ccSmrg break; 1908690143ccSmrg 19096930ead5Smrg case 32: /* DeclList: DeclList Decl */ 19106930ead5Smrg#line 235 "xkbparse.y" 19116930ead5Smrg { (yyval.any)= AppendStmt((yyvsp[-1].any),(yyvsp[0].any)); } 19126930ead5Smrg#line 1913 "xkbparse.c" 1913690143ccSmrg break; 1914690143ccSmrg 19156930ead5Smrg case 33: /* DeclList: %empty */ 19166930ead5Smrg#line 236 "xkbparse.y" 19176930ead5Smrg { (yyval.any)= NULL; } 19186930ead5Smrg#line 1919 "xkbparse.c" 1919690143ccSmrg break; 1920690143ccSmrg 19216930ead5Smrg case 34: /* Decl: OptMergeMode VarDecl */ 19226930ead5Smrg#line 240 "xkbparse.y" 19236930ead5Smrg { 1924f757b1e9Smrg (yyvsp[0].var)->merge= StmtSetMerge(&(yyvsp[0].var)->common,(yyvsp[-1].uval)); 1925f757b1e9Smrg (yyval.any)= &(yyvsp[0].var)->common; 1926f46a6179Smrg } 19276930ead5Smrg#line 1928 "xkbparse.c" 1928690143ccSmrg break; 1929690143ccSmrg 19306930ead5Smrg case 35: /* Decl: OptMergeMode VModDecl */ 19316930ead5Smrg#line 245 "xkbparse.y" 19326930ead5Smrg { 1933f757b1e9Smrg (yyvsp[0].vmod)->merge= StmtSetMerge(&(yyvsp[0].vmod)->common,(yyvsp[-1].uval)); 1934f757b1e9Smrg (yyval.any)= &(yyvsp[0].vmod)->common; 1935f46a6179Smrg } 19366930ead5Smrg#line 1937 "xkbparse.c" 1937690143ccSmrg break; 1938690143ccSmrg 19396930ead5Smrg case 36: /* Decl: OptMergeMode InterpretDecl */ 19406930ead5Smrg#line 250 "xkbparse.y" 19416930ead5Smrg { 1942f757b1e9Smrg (yyvsp[0].interp)->merge= StmtSetMerge(&(yyvsp[0].interp)->common,(yyvsp[-1].uval)); 1943f757b1e9Smrg (yyval.any)= &(yyvsp[0].interp)->common; 1944f46a6179Smrg } 19456930ead5Smrg#line 1946 "xkbparse.c" 1946690143ccSmrg break; 1947690143ccSmrg 19486930ead5Smrg case 37: /* Decl: OptMergeMode KeyNameDecl */ 19496930ead5Smrg#line 255 "xkbparse.y" 19506930ead5Smrg { 1951f757b1e9Smrg (yyvsp[0].keyName)->merge= StmtSetMerge(&(yyvsp[0].keyName)->common,(yyvsp[-1].uval)); 1952f757b1e9Smrg (yyval.any)= &(yyvsp[0].keyName)->common; 1953f46a6179Smrg } 19546930ead5Smrg#line 1955 "xkbparse.c" 1955690143ccSmrg break; 1956690143ccSmrg 19576930ead5Smrg case 38: /* Decl: OptMergeMode KeyAliasDecl */ 19586930ead5Smrg#line 260 "xkbparse.y" 19596930ead5Smrg { 1960f757b1e9Smrg (yyvsp[0].keyAlias)->merge= StmtSetMerge(&(yyvsp[0].keyAlias)->common,(yyvsp[-1].uval)); 1961f757b1e9Smrg (yyval.any)= &(yyvsp[0].keyAlias)->common; 1962f46a6179Smrg } 19636930ead5Smrg#line 1964 "xkbparse.c" 1964690143ccSmrg break; 1965690143ccSmrg 19666930ead5Smrg case 39: /* Decl: OptMergeMode KeyTypeDecl */ 19676930ead5Smrg#line 265 "xkbparse.y" 19686930ead5Smrg { 1969f757b1e9Smrg (yyvsp[0].keyType)->merge= StmtSetMerge(&(yyvsp[0].keyType)->common,(yyvsp[-1].uval)); 1970f757b1e9Smrg (yyval.any)= &(yyvsp[0].keyType)->common; 1971f46a6179Smrg } 19726930ead5Smrg#line 1973 "xkbparse.c" 1973690143ccSmrg break; 1974690143ccSmrg 19756930ead5Smrg case 40: /* Decl: OptMergeMode SymbolsDecl */ 19766930ead5Smrg#line 270 "xkbparse.y" 19776930ead5Smrg { 1978f757b1e9Smrg (yyvsp[0].syms)->merge= StmtSetMerge(&(yyvsp[0].syms)->common,(yyvsp[-1].uval)); 1979f757b1e9Smrg (yyval.any)= &(yyvsp[0].syms)->common; 1980f46a6179Smrg } 19816930ead5Smrg#line 1982 "xkbparse.c" 1982690143ccSmrg break; 1983690143ccSmrg 19846930ead5Smrg case 41: /* Decl: OptMergeMode ModMapDecl */ 19856930ead5Smrg#line 275 "xkbparse.y" 19866930ead5Smrg { 1987f757b1e9Smrg (yyvsp[0].modMask)->merge= StmtSetMerge(&(yyvsp[0].modMask)->common,(yyvsp[-1].uval)); 1988f757b1e9Smrg (yyval.any)= &(yyvsp[0].modMask)->common; 1989f46a6179Smrg } 19906930ead5Smrg#line 1991 "xkbparse.c" 1991690143ccSmrg break; 1992690143ccSmrg 19936930ead5Smrg case 42: /* Decl: OptMergeMode GroupCompatDecl */ 19946930ead5Smrg#line 280 "xkbparse.y" 19956930ead5Smrg { 1996f757b1e9Smrg (yyvsp[0].groupCompat)->merge= StmtSetMerge(&(yyvsp[0].groupCompat)->common,(yyvsp[-1].uval)); 1997f757b1e9Smrg (yyval.any)= &(yyvsp[0].groupCompat)->common; 1998f46a6179Smrg } 19996930ead5Smrg#line 2000 "xkbparse.c" 2000690143ccSmrg break; 2001690143ccSmrg 20026930ead5Smrg case 43: /* Decl: OptMergeMode IndicatorMapDecl */ 20036930ead5Smrg#line 285 "xkbparse.y" 20046930ead5Smrg { 2005f757b1e9Smrg (yyvsp[0].ledMap)->merge= StmtSetMerge(&(yyvsp[0].ledMap)->common,(yyvsp[-1].uval)); 2006f757b1e9Smrg (yyval.any)= &(yyvsp[0].ledMap)->common; 2007f46a6179Smrg } 20086930ead5Smrg#line 2009 "xkbparse.c" 2009690143ccSmrg break; 2010690143ccSmrg 20116930ead5Smrg case 44: /* Decl: OptMergeMode IndicatorNameDecl */ 20126930ead5Smrg#line 290 "xkbparse.y" 20136930ead5Smrg { 2014f757b1e9Smrg (yyvsp[0].ledName)->merge= StmtSetMerge(&(yyvsp[0].ledName)->common,(yyvsp[-1].uval)); 2015f757b1e9Smrg (yyval.any)= &(yyvsp[0].ledName)->common; 2016f46a6179Smrg } 20176930ead5Smrg#line 2018 "xkbparse.c" 2018690143ccSmrg break; 2019690143ccSmrg 20206930ead5Smrg case 45: /* Decl: OptMergeMode ShapeDecl */ 20216930ead5Smrg#line 295 "xkbparse.y" 20226930ead5Smrg { 2023f757b1e9Smrg (yyvsp[0].shape)->merge= StmtSetMerge(&(yyvsp[0].shape)->common,(yyvsp[-1].uval)); 2024f757b1e9Smrg (yyval.any)= &(yyvsp[0].shape)->common; 2025f46a6179Smrg } 20266930ead5Smrg#line 2027 "xkbparse.c" 2027690143ccSmrg break; 2028690143ccSmrg 20296930ead5Smrg case 46: /* Decl: OptMergeMode SectionDecl */ 20306930ead5Smrg#line 300 "xkbparse.y" 20316930ead5Smrg { 2032f757b1e9Smrg (yyvsp[0].section)->merge= StmtSetMerge(&(yyvsp[0].section)->common,(yyvsp[-1].uval)); 2033f757b1e9Smrg (yyval.any)= &(yyvsp[0].section)->common; 2034f46a6179Smrg } 20356930ead5Smrg#line 2036 "xkbparse.c" 2036690143ccSmrg break; 2037690143ccSmrg 20386930ead5Smrg case 47: /* Decl: OptMergeMode DoodadDecl */ 20396930ead5Smrg#line 305 "xkbparse.y" 20406930ead5Smrg { 2041f757b1e9Smrg (yyvsp[0].doodad)->merge= StmtSetMerge(&(yyvsp[0].doodad)->common,(yyvsp[-1].uval)); 2042f757b1e9Smrg (yyval.any)= &(yyvsp[0].doodad)->common; 2043f46a6179Smrg } 20446930ead5Smrg#line 2045 "xkbparse.c" 2045690143ccSmrg break; 2046690143ccSmrg 20476930ead5Smrg case 48: /* Decl: MergeMode STRING */ 20486930ead5Smrg#line 310 "xkbparse.y" 20496930ead5Smrg { 2050f757b1e9Smrg if ((yyvsp[-1].uval)==MergeAltForm) { 2051f46a6179Smrg yyerror("cannot use 'alternate' to include other maps"); 2052690143ccSmrg (yyval.any)= &IncludeCreate(scanBuf,MergeDefault)->common; 2053f46a6179Smrg } 2054f46a6179Smrg else { 2055f757b1e9Smrg (yyval.any)= &IncludeCreate(scanBuf,(yyvsp[-1].uval))->common; 2056f46a6179Smrg } 2057f46a6179Smrg } 20586930ead5Smrg#line 2059 "xkbparse.c" 2059690143ccSmrg break; 2060690143ccSmrg 20616930ead5Smrg case 49: /* VarDecl: Lhs EQUALS Expr SEMI */ 20626930ead5Smrg#line 322 "xkbparse.y" 20636930ead5Smrg { (yyval.var)= VarCreate((yyvsp[-3].expr),(yyvsp[-1].expr)); } 20646930ead5Smrg#line 2065 "xkbparse.c" 2065690143ccSmrg break; 2066690143ccSmrg 20676930ead5Smrg case 50: /* VarDecl: Ident SEMI */ 20686930ead5Smrg#line 324 "xkbparse.y" 20696930ead5Smrg { (yyval.var)= BoolVarCreate((yyvsp[-1].sval),1); } 20706930ead5Smrg#line 2071 "xkbparse.c" 2071690143ccSmrg break; 2072690143ccSmrg 20736930ead5Smrg case 51: /* VarDecl: EXCLAM Ident SEMI */ 20746930ead5Smrg#line 326 "xkbparse.y" 20756930ead5Smrg { (yyval.var)= BoolVarCreate((yyvsp[-1].sval),0); } 20766930ead5Smrg#line 2077 "xkbparse.c" 2077690143ccSmrg break; 2078690143ccSmrg 20796930ead5Smrg case 52: /* KeyNameDecl: KeyName EQUALS Expr SEMI */ 20806930ead5Smrg#line 330 "xkbparse.y" 20816930ead5Smrg { 2082f46a6179Smrg KeycodeDef *def; 2083f46a6179Smrg 2084f757b1e9Smrg def= KeycodeCreate((yyvsp[-3].str),(yyvsp[-1].expr)); 2085f757b1e9Smrg if ((yyvsp[-3].str)) 2086f757b1e9Smrg free((yyvsp[-3].str)); 2087690143ccSmrg (yyval.keyName)= def; 2088f46a6179Smrg } 20896930ead5Smrg#line 2090 "xkbparse.c" 2090690143ccSmrg break; 2091690143ccSmrg 20926930ead5Smrg case 53: /* KeyAliasDecl: ALIAS KeyName EQUALS KeyName SEMI */ 20936930ead5Smrg#line 341 "xkbparse.y" 20946930ead5Smrg { 2095f46a6179Smrg KeyAliasDef *def; 2096bfe6082cSmrg def= KeyAliasCreate((yyvsp[-3].str),(yyvsp[-1].str)); 2097f757b1e9Smrg if ((yyvsp[-3].str)) free((yyvsp[-3].str)); 2098f757b1e9Smrg if ((yyvsp[-1].str)) free((yyvsp[-1].str)); 2099690143ccSmrg (yyval.keyAlias)= def; 2100f46a6179Smrg } 21016930ead5Smrg#line 2102 "xkbparse.c" 2102690143ccSmrg break; 2103690143ccSmrg 21046930ead5Smrg case 54: /* VModDecl: VIRTUAL_MODS VModDefList SEMI */ 21056930ead5Smrg#line 351 "xkbparse.y" 21066930ead5Smrg { (yyval.vmod)= (yyvsp[-1].vmod); } 21076930ead5Smrg#line 2108 "xkbparse.c" 2108690143ccSmrg break; 2109690143ccSmrg 21106930ead5Smrg case 55: /* VModDefList: VModDefList COMMA VModDef */ 21116930ead5Smrg#line 355 "xkbparse.y" 21126930ead5Smrg { (yyval.vmod)= (VModDef *)AppendStmt(&(yyvsp[-2].vmod)->common,&(yyvsp[0].vmod)->common); } 21136930ead5Smrg#line 2114 "xkbparse.c" 2114690143ccSmrg break; 2115690143ccSmrg 21166930ead5Smrg case 56: /* VModDefList: VModDef */ 21176930ead5Smrg#line 357 "xkbparse.y" 21186930ead5Smrg { (yyval.vmod)= (yyvsp[0].vmod); } 21196930ead5Smrg#line 2120 "xkbparse.c" 2120690143ccSmrg break; 2121690143ccSmrg 21226930ead5Smrg case 57: /* VModDef: Ident */ 21236930ead5Smrg#line 361 "xkbparse.y" 21246930ead5Smrg { (yyval.vmod)= VModCreate((yyvsp[0].sval),NULL); } 21256930ead5Smrg#line 2126 "xkbparse.c" 2126690143ccSmrg break; 2127690143ccSmrg 21286930ead5Smrg case 58: /* VModDef: Ident EQUALS Expr */ 21296930ead5Smrg#line 363 "xkbparse.y" 21306930ead5Smrg { (yyval.vmod)= VModCreate((yyvsp[-2].sval),(yyvsp[0].expr)); } 21316930ead5Smrg#line 2132 "xkbparse.c" 2132690143ccSmrg break; 2133690143ccSmrg 21346930ead5Smrg case 59: /* InterpretDecl: INTERPRET InterpretMatch OBRACE VarDeclList CBRACE SEMI */ 21356930ead5Smrg#line 369 "xkbparse.y" 21366930ead5Smrg { 2137f757b1e9Smrg (yyvsp[-4].interp)->def= (yyvsp[-2].var); 2138f757b1e9Smrg (yyval.interp)= (yyvsp[-4].interp); 2139f46a6179Smrg } 21406930ead5Smrg#line 2141 "xkbparse.c" 2141690143ccSmrg break; 2142690143ccSmrg 21436930ead5Smrg case 60: /* InterpretMatch: KeySym PLUS Expr */ 21446930ead5Smrg#line 376 "xkbparse.y" 21456930ead5Smrg { (yyval.interp)= InterpCreate((yyvsp[-2].str), (yyvsp[0].expr)); } 21466930ead5Smrg#line 2147 "xkbparse.c" 2147690143ccSmrg break; 2148690143ccSmrg 21496930ead5Smrg case 61: /* InterpretMatch: KeySym */ 21506930ead5Smrg#line 378 "xkbparse.y" 21516930ead5Smrg { (yyval.interp)= InterpCreate((yyvsp[0].str), NULL); } 21526930ead5Smrg#line 2153 "xkbparse.c" 2153690143ccSmrg break; 2154690143ccSmrg 21556930ead5Smrg case 62: /* VarDeclList: VarDeclList VarDecl */ 21566930ead5Smrg#line 382 "xkbparse.y" 21576930ead5Smrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[-1].var)->common,&(yyvsp[0].var)->common); } 21586930ead5Smrg#line 2159 "xkbparse.c" 2159690143ccSmrg break; 2160690143ccSmrg 21616930ead5Smrg case 63: /* VarDeclList: VarDecl */ 21626930ead5Smrg#line 384 "xkbparse.y" 21636930ead5Smrg { (yyval.var)= (yyvsp[0].var); } 21646930ead5Smrg#line 2165 "xkbparse.c" 2165690143ccSmrg break; 2166690143ccSmrg 21676930ead5Smrg case 64: /* KeyTypeDecl: TYPE String OBRACE VarDeclList CBRACE SEMI */ 21686930ead5Smrg#line 390 "xkbparse.y" 21696930ead5Smrg { (yyval.keyType)= KeyTypeCreate((yyvsp[-4].sval),(yyvsp[-2].var)); } 21706930ead5Smrg#line 2171 "xkbparse.c" 2171690143ccSmrg break; 2172690143ccSmrg 21736930ead5Smrg case 65: /* SymbolsDecl: KEY KeyName OBRACE SymbolsBody CBRACE SEMI */ 21746930ead5Smrg#line 396 "xkbparse.y" 21756930ead5Smrg { (yyval.syms)= SymbolsCreate((yyvsp[-4].str),(ExprDef *)(yyvsp[-2].var)); } 21766930ead5Smrg#line 2177 "xkbparse.c" 2177690143ccSmrg break; 2178690143ccSmrg 21796930ead5Smrg case 66: /* SymbolsBody: SymbolsBody COMMA SymbolsVarDecl */ 21806930ead5Smrg#line 400 "xkbparse.y" 21816930ead5Smrg { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[-2].var)->common,&(yyvsp[0].var)->common); } 21826930ead5Smrg#line 2183 "xkbparse.c" 2183690143ccSmrg break; 2184690143ccSmrg 21856930ead5Smrg case 67: /* SymbolsBody: SymbolsVarDecl */ 21866930ead5Smrg#line 402 "xkbparse.y" 21876930ead5Smrg { (yyval.var)= (yyvsp[0].var); } 21886930ead5Smrg#line 2189 "xkbparse.c" 2189690143ccSmrg break; 2190690143ccSmrg 21916930ead5Smrg case 68: /* SymbolsBody: %empty */ 21926930ead5Smrg#line 403 "xkbparse.y" 21936930ead5Smrg { (yyval.var)= NULL; } 21946930ead5Smrg#line 2195 "xkbparse.c" 2195690143ccSmrg break; 2196690143ccSmrg 21976930ead5Smrg case 69: /* SymbolsVarDecl: Lhs EQUALS Expr */ 21986930ead5Smrg#line 407 "xkbparse.y" 21996930ead5Smrg { (yyval.var)= VarCreate((yyvsp[-2].expr),(yyvsp[0].expr)); } 22006930ead5Smrg#line 2201 "xkbparse.c" 2201690143ccSmrg break; 2202690143ccSmrg 22036930ead5Smrg case 70: /* SymbolsVarDecl: Lhs EQUALS ArrayInit */ 22046930ead5Smrg#line 409 "xkbparse.y" 22056930ead5Smrg { (yyval.var)= VarCreate((yyvsp[-2].expr),(yyvsp[0].expr)); } 22066930ead5Smrg#line 2207 "xkbparse.c" 2207690143ccSmrg break; 2208690143ccSmrg 22096930ead5Smrg case 71: /* SymbolsVarDecl: Ident */ 22106930ead5Smrg#line 411 "xkbparse.y" 22116930ead5Smrg { (yyval.var)= BoolVarCreate((yyvsp[0].sval),1); } 22126930ead5Smrg#line 2213 "xkbparse.c" 2213690143ccSmrg break; 2214690143ccSmrg 22156930ead5Smrg case 72: /* SymbolsVarDecl: EXCLAM Ident */ 22166930ead5Smrg#line 413 "xkbparse.y" 22176930ead5Smrg { (yyval.var)= BoolVarCreate((yyvsp[0].sval),0); } 22186930ead5Smrg#line 2219 "xkbparse.c" 2219690143ccSmrg break; 2220690143ccSmrg 22216930ead5Smrg case 73: /* SymbolsVarDecl: ArrayInit */ 22226930ead5Smrg#line 415 "xkbparse.y" 22236930ead5Smrg { (yyval.var)= VarCreate(NULL,(yyvsp[0].expr)); } 22246930ead5Smrg#line 2225 "xkbparse.c" 2225690143ccSmrg break; 2226690143ccSmrg 22276930ead5Smrg case 74: /* ArrayInit: OBRACKET OptKeySymList CBRACKET */ 22286930ead5Smrg#line 419 "xkbparse.y" 22296930ead5Smrg { (yyval.expr)= (yyvsp[-1].expr); } 22306930ead5Smrg#line 2231 "xkbparse.c" 2231690143ccSmrg break; 2232690143ccSmrg 22336930ead5Smrg case 75: /* ArrayInit: OBRACKET ActionList CBRACKET */ 22346930ead5Smrg#line 421 "xkbparse.y" 22356930ead5Smrg { (yyval.expr)= ExprCreateUnary(ExprActionList,TypeAction,(yyvsp[-1].expr)); } 22366930ead5Smrg#line 2237 "xkbparse.c" 2237690143ccSmrg break; 2238690143ccSmrg 22396930ead5Smrg case 76: /* GroupCompatDecl: GROUP Integer EQUALS Expr SEMI */ 22406930ead5Smrg#line 425 "xkbparse.y" 22416930ead5Smrg { (yyval.groupCompat)= GroupCompatCreate((yyvsp[-3].ival),(yyvsp[-1].expr)); } 22426930ead5Smrg#line 2243 "xkbparse.c" 2243690143ccSmrg break; 2244690143ccSmrg 22456930ead5Smrg case 77: /* ModMapDecl: MODIFIER_MAP Ident OBRACE ExprList CBRACE SEMI */ 22466930ead5Smrg#line 429 "xkbparse.y" 22476930ead5Smrg { (yyval.modMask)= ModMapCreate((yyvsp[-4].sval),(yyvsp[-2].expr)); } 22486930ead5Smrg#line 2249 "xkbparse.c" 2249690143ccSmrg break; 2250690143ccSmrg 22516930ead5Smrg case 78: /* IndicatorMapDecl: INDICATOR String OBRACE VarDeclList CBRACE SEMI */ 22526930ead5Smrg#line 433 "xkbparse.y" 22536930ead5Smrg { (yyval.ledMap)= IndicatorMapCreate((yyvsp[-4].sval),(yyvsp[-2].var)); } 22546930ead5Smrg#line 2255 "xkbparse.c" 2255690143ccSmrg break; 2256690143ccSmrg 22576930ead5Smrg case 79: /* IndicatorNameDecl: INDICATOR Integer EQUALS Expr SEMI */ 22586930ead5Smrg#line 437 "xkbparse.y" 22596930ead5Smrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[-3].ival),(yyvsp[-1].expr),False); } 22606930ead5Smrg#line 2261 "xkbparse.c" 2261690143ccSmrg break; 2262690143ccSmrg 22636930ead5Smrg case 80: /* IndicatorNameDecl: VIRTUAL INDICATOR Integer EQUALS Expr SEMI */ 22646930ead5Smrg#line 439 "xkbparse.y" 22656930ead5Smrg { (yyval.ledName)= IndicatorNameCreate((yyvsp[-3].ival),(yyvsp[-1].expr),True); } 22666930ead5Smrg#line 2267 "xkbparse.c" 2267690143ccSmrg break; 2268690143ccSmrg 22696930ead5Smrg case 81: /* ShapeDecl: SHAPE String OBRACE OutlineList CBRACE SEMI */ 22706930ead5Smrg#line 443 "xkbparse.y" 22716930ead5Smrg { (yyval.shape)= ShapeDeclCreate((yyvsp[-4].sval),(OutlineDef *)&(yyvsp[-2].outline)->common); } 22726930ead5Smrg#line 2273 "xkbparse.c" 2273690143ccSmrg break; 2274690143ccSmrg 22756930ead5Smrg case 82: /* ShapeDecl: SHAPE String OBRACE CoordList CBRACE SEMI */ 22766930ead5Smrg#line 445 "xkbparse.y" 22776930ead5Smrg { 2278f46a6179Smrg OutlineDef *outlines; 2279f757b1e9Smrg outlines= OutlineCreate(None,(yyvsp[-2].expr)); 2280f757b1e9Smrg (yyval.shape)= ShapeDeclCreate((yyvsp[-4].sval),outlines); 2281f46a6179Smrg } 22826930ead5Smrg#line 2283 "xkbparse.c" 2283690143ccSmrg break; 2284690143ccSmrg 22856930ead5Smrg case 83: /* SectionDecl: SECTION String OBRACE SectionBody CBRACE SEMI */ 22866930ead5Smrg#line 453 "xkbparse.y" 22876930ead5Smrg { (yyval.section)= SectionDeclCreate((yyvsp[-4].sval),(yyvsp[-2].row)); } 22886930ead5Smrg#line 2289 "xkbparse.c" 2289690143ccSmrg break; 2290690143ccSmrg 22916930ead5Smrg case 84: /* SectionBody: SectionBody SectionBodyItem */ 22926930ead5Smrg#line 457 "xkbparse.y" 22936930ead5Smrg { (yyval.row)=(RowDef *)AppendStmt(&(yyvsp[-1].row)->common,&(yyvsp[0].row)->common);} 22946930ead5Smrg#line 2295 "xkbparse.c" 2295690143ccSmrg break; 2296690143ccSmrg 22976930ead5Smrg case 85: /* SectionBody: SectionBodyItem */ 22986930ead5Smrg#line 459 "xkbparse.y" 22996930ead5Smrg { (yyval.row)= (yyvsp[0].row); } 23006930ead5Smrg#line 2301 "xkbparse.c" 2301690143ccSmrg break; 2302690143ccSmrg 23036930ead5Smrg case 86: /* SectionBodyItem: ROW OBRACE RowBody CBRACE SEMI */ 23046930ead5Smrg#line 463 "xkbparse.y" 23056930ead5Smrg { (yyval.row)= RowDeclCreate((yyvsp[-2].key)); } 23066930ead5Smrg#line 2307 "xkbparse.c" 2307690143ccSmrg break; 2308690143ccSmrg 23096930ead5Smrg case 87: /* SectionBodyItem: VarDecl */ 23106930ead5Smrg#line 465 "xkbparse.y" 23116930ead5Smrg { (yyval.row)= (RowDef *)(yyvsp[0].var); } 23126930ead5Smrg#line 2313 "xkbparse.c" 2313690143ccSmrg break; 2314690143ccSmrg 23156930ead5Smrg case 88: /* SectionBodyItem: DoodadDecl */ 23166930ead5Smrg#line 467 "xkbparse.y" 23176930ead5Smrg { (yyval.row)= (RowDef *)(yyvsp[0].doodad); } 23186930ead5Smrg#line 2319 "xkbparse.c" 2319690143ccSmrg break; 2320690143ccSmrg 23216930ead5Smrg case 89: /* SectionBodyItem: IndicatorMapDecl */ 23226930ead5Smrg#line 469 "xkbparse.y" 23236930ead5Smrg { (yyval.row)= (RowDef *)(yyvsp[0].ledMap); } 23246930ead5Smrg#line 2325 "xkbparse.c" 2325690143ccSmrg break; 2326690143ccSmrg 23276930ead5Smrg case 90: /* SectionBodyItem: OverlayDecl */ 23286930ead5Smrg#line 471 "xkbparse.y" 23296930ead5Smrg { (yyval.row)= (RowDef *)(yyvsp[0].overlay); } 23306930ead5Smrg#line 2331 "xkbparse.c" 2331690143ccSmrg break; 2332690143ccSmrg 23336930ead5Smrg case 91: /* RowBody: RowBody RowBodyItem */ 23346930ead5Smrg#line 475 "xkbparse.y" 23356930ead5Smrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[-1].key)->common,&(yyvsp[0].key)->common);} 23366930ead5Smrg#line 2337 "xkbparse.c" 2337690143ccSmrg break; 2338690143ccSmrg 23396930ead5Smrg case 92: /* RowBody: RowBodyItem */ 23406930ead5Smrg#line 477 "xkbparse.y" 23416930ead5Smrg { (yyval.key)= (yyvsp[0].key); } 23426930ead5Smrg#line 2343 "xkbparse.c" 2343690143ccSmrg break; 2344690143ccSmrg 23456930ead5Smrg case 93: /* RowBodyItem: KEYS OBRACE Keys CBRACE SEMI */ 23466930ead5Smrg#line 481 "xkbparse.y" 23476930ead5Smrg { (yyval.key)= (yyvsp[-2].key); } 23486930ead5Smrg#line 2349 "xkbparse.c" 2349690143ccSmrg break; 2350690143ccSmrg 23516930ead5Smrg case 94: /* RowBodyItem: VarDecl */ 23526930ead5Smrg#line 483 "xkbparse.y" 23536930ead5Smrg { (yyval.key)= (KeyDef *)(yyvsp[0].var); } 23546930ead5Smrg#line 2355 "xkbparse.c" 2355690143ccSmrg break; 2356690143ccSmrg 23576930ead5Smrg case 95: /* Keys: Keys COMMA Key */ 23586930ead5Smrg#line 487 "xkbparse.y" 23596930ead5Smrg { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[-2].key)->common,&(yyvsp[0].key)->common);} 23606930ead5Smrg#line 2361 "xkbparse.c" 2361690143ccSmrg break; 2362690143ccSmrg 23636930ead5Smrg case 96: /* Keys: Key */ 23646930ead5Smrg#line 489 "xkbparse.y" 23656930ead5Smrg { (yyval.key)= (yyvsp[0].key); } 23666930ead5Smrg#line 2367 "xkbparse.c" 2367690143ccSmrg break; 2368690143ccSmrg 23696930ead5Smrg case 97: /* Key: KeyName */ 23706930ead5Smrg#line 493 "xkbparse.y" 23716930ead5Smrg { (yyval.key)= KeyDeclCreate((yyvsp[0].str),NULL); } 23726930ead5Smrg#line 2373 "xkbparse.c" 2373690143ccSmrg break; 2374690143ccSmrg 23756930ead5Smrg case 98: /* Key: OBRACE ExprList CBRACE */ 23766930ead5Smrg#line 495 "xkbparse.y" 23776930ead5Smrg { (yyval.key)= KeyDeclCreate(NULL,(yyvsp[-1].expr)); } 23786930ead5Smrg#line 2379 "xkbparse.c" 2379690143ccSmrg break; 2380690143ccSmrg 23816930ead5Smrg case 99: /* OverlayDecl: OVERLAY String OBRACE OverlayKeyList CBRACE SEMI */ 23826930ead5Smrg#line 499 "xkbparse.y" 23836930ead5Smrg { (yyval.overlay)= OverlayDeclCreate((yyvsp[-4].sval),(yyvsp[-2].olKey)); } 23846930ead5Smrg#line 2385 "xkbparse.c" 2385690143ccSmrg break; 2386690143ccSmrg 23876930ead5Smrg case 100: /* OverlayKeyList: OverlayKeyList COMMA OverlayKey */ 23886930ead5Smrg#line 503 "xkbparse.y" 23896930ead5Smrg { 2390690143ccSmrg (yyval.olKey)= (OverlayKeyDef *) 2391f757b1e9Smrg AppendStmt(&(yyvsp[-2].olKey)->common,&(yyvsp[0].olKey)->common); 2392f46a6179Smrg } 23936930ead5Smrg#line 2394 "xkbparse.c" 2394690143ccSmrg break; 2395690143ccSmrg 23966930ead5Smrg case 101: /* OverlayKeyList: OverlayKey */ 23976930ead5Smrg#line 508 "xkbparse.y" 23986930ead5Smrg { (yyval.olKey)= (yyvsp[0].olKey); } 23996930ead5Smrg#line 2400 "xkbparse.c" 2400690143ccSmrg break; 2401690143ccSmrg 24026930ead5Smrg case 102: /* OverlayKey: KeyName EQUALS KeyName */ 24036930ead5Smrg#line 512 "xkbparse.y" 24046930ead5Smrg { (yyval.olKey)= OverlayKeyCreate((yyvsp[-2].str),(yyvsp[0].str)); } 24056930ead5Smrg#line 2406 "xkbparse.c" 2406690143ccSmrg break; 2407690143ccSmrg 24086930ead5Smrg case 103: /* OutlineList: OutlineList COMMA OutlineInList */ 24096930ead5Smrg#line 516 "xkbparse.y" 24106930ead5Smrg { (yyval.outline)=(OutlineDef *)AppendStmt(&(yyvsp[-2].outline)->common,&(yyvsp[0].outline)->common);} 24116930ead5Smrg#line 2412 "xkbparse.c" 2412690143ccSmrg break; 2413690143ccSmrg 24146930ead5Smrg case 104: /* OutlineList: OutlineInList */ 24156930ead5Smrg#line 518 "xkbparse.y" 24166930ead5Smrg { (yyval.outline)= (yyvsp[0].outline); } 24176930ead5Smrg#line 2418 "xkbparse.c" 2418690143ccSmrg break; 2419690143ccSmrg 24206930ead5Smrg case 105: /* OutlineInList: OBRACE CoordList CBRACE */ 24216930ead5Smrg#line 522 "xkbparse.y" 24226930ead5Smrg { (yyval.outline)= OutlineCreate(None,(yyvsp[-1].expr)); } 24236930ead5Smrg#line 2424 "xkbparse.c" 2424690143ccSmrg break; 2425690143ccSmrg 24266930ead5Smrg case 106: /* OutlineInList: Ident EQUALS OBRACE CoordList CBRACE */ 24276930ead5Smrg#line 524 "xkbparse.y" 24286930ead5Smrg { (yyval.outline)= OutlineCreate((yyvsp[-4].sval),(yyvsp[-1].expr)); } 24296930ead5Smrg#line 2430 "xkbparse.c" 2430690143ccSmrg break; 2431690143ccSmrg 24326930ead5Smrg case 107: /* OutlineInList: Ident EQUALS Expr */ 24336930ead5Smrg#line 526 "xkbparse.y" 24346930ead5Smrg { (yyval.outline)= OutlineCreate((yyvsp[-2].sval),(yyvsp[0].expr)); } 24356930ead5Smrg#line 2436 "xkbparse.c" 2436690143ccSmrg break; 2437690143ccSmrg 24386930ead5Smrg case 108: /* CoordList: CoordList COMMA Coord */ 24396930ead5Smrg#line 530 "xkbparse.y" 24406930ead5Smrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[-2].expr)->common,&(yyvsp[0].expr)->common); } 24416930ead5Smrg#line 2442 "xkbparse.c" 2442690143ccSmrg break; 2443690143ccSmrg 24446930ead5Smrg case 109: /* CoordList: Coord */ 24456930ead5Smrg#line 532 "xkbparse.y" 24466930ead5Smrg { (yyval.expr)= (yyvsp[0].expr); } 24476930ead5Smrg#line 2448 "xkbparse.c" 2448690143ccSmrg break; 2449690143ccSmrg 24506930ead5Smrg case 110: /* Coord: OBRACKET SignedNumber COMMA SignedNumber CBRACKET */ 24516930ead5Smrg#line 536 "xkbparse.y" 24526930ead5Smrg { 2453f46a6179Smrg ExprDef *expr; 2454f46a6179Smrg expr= ExprCreate(ExprCoord,TypeUnknown); 2455f757b1e9Smrg expr->value.coord.x= (yyvsp[-3].ival); 2456f757b1e9Smrg expr->value.coord.y= (yyvsp[-1].ival); 2457690143ccSmrg (yyval.expr)= expr; 2458f46a6179Smrg } 24596930ead5Smrg#line 2460 "xkbparse.c" 2460690143ccSmrg break; 2461690143ccSmrg 24626930ead5Smrg case 111: /* DoodadDecl: DoodadType String OBRACE VarDeclList CBRACE SEMI */ 24636930ead5Smrg#line 546 "xkbparse.y" 24646930ead5Smrg { (yyval.doodad)= DoodadCreate((yyvsp[-5].uval),(yyvsp[-4].sval),(yyvsp[-2].var)); } 24656930ead5Smrg#line 2466 "xkbparse.c" 2466690143ccSmrg break; 2467690143ccSmrg 24686930ead5Smrg case 112: /* DoodadType: TEXT */ 24696930ead5Smrg#line 549 "xkbparse.y" 24706930ead5Smrg { (yyval.uval)= XkbTextDoodad; } 24716930ead5Smrg#line 2472 "xkbparse.c" 2472690143ccSmrg break; 2473690143ccSmrg 24746930ead5Smrg case 113: /* DoodadType: OUTLINE */ 24756930ead5Smrg#line 550 "xkbparse.y" 24766930ead5Smrg { (yyval.uval)= XkbOutlineDoodad; } 24776930ead5Smrg#line 2478 "xkbparse.c" 2478690143ccSmrg break; 2479690143ccSmrg 24806930ead5Smrg case 114: /* DoodadType: SOLID */ 24816930ead5Smrg#line 551 "xkbparse.y" 24826930ead5Smrg { (yyval.uval)= XkbSolidDoodad; } 24836930ead5Smrg#line 2484 "xkbparse.c" 2484690143ccSmrg break; 2485690143ccSmrg 24866930ead5Smrg case 115: /* DoodadType: LOGO */ 24876930ead5Smrg#line 552 "xkbparse.y" 24886930ead5Smrg { (yyval.uval)= XkbLogoDoodad; } 24896930ead5Smrg#line 2490 "xkbparse.c" 2490690143ccSmrg break; 2491690143ccSmrg 24926930ead5Smrg case 116: /* FieldSpec: Ident */ 24936930ead5Smrg#line 555 "xkbparse.y" 24946930ead5Smrg { (yyval.sval)= (yyvsp[0].sval); } 24956930ead5Smrg#line 2496 "xkbparse.c" 2496690143ccSmrg break; 2497690143ccSmrg 24986930ead5Smrg case 117: /* FieldSpec: Element */ 24996930ead5Smrg#line 556 "xkbparse.y" 25006930ead5Smrg { (yyval.sval)= (yyvsp[0].sval); } 25016930ead5Smrg#line 2502 "xkbparse.c" 2502690143ccSmrg break; 2503690143ccSmrg 25046930ead5Smrg case 118: /* Element: ACTION_TOK */ 25056930ead5Smrg#line 560 "xkbparse.y" 25066930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"action",False); } 25076930ead5Smrg#line 2508 "xkbparse.c" 2508690143ccSmrg break; 2509690143ccSmrg 25106930ead5Smrg case 119: /* Element: INTERPRET */ 25116930ead5Smrg#line 562 "xkbparse.y" 25126930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"interpret",False); } 25136930ead5Smrg#line 2514 "xkbparse.c" 2514690143ccSmrg break; 2515690143ccSmrg 25166930ead5Smrg case 120: /* Element: TYPE */ 25176930ead5Smrg#line 564 "xkbparse.y" 25186930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"type",False); } 25196930ead5Smrg#line 2520 "xkbparse.c" 2520690143ccSmrg break; 2521690143ccSmrg 25226930ead5Smrg case 121: /* Element: KEY */ 25236930ead5Smrg#line 566 "xkbparse.y" 25246930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"key",False); } 25256930ead5Smrg#line 2526 "xkbparse.c" 2526690143ccSmrg break; 2527690143ccSmrg 25286930ead5Smrg case 122: /* Element: GROUP */ 25296930ead5Smrg#line 568 "xkbparse.y" 25306930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"group",False); } 25316930ead5Smrg#line 2532 "xkbparse.c" 2532690143ccSmrg break; 2533690143ccSmrg 25346930ead5Smrg case 123: /* Element: MODIFIER_MAP */ 25356930ead5Smrg#line 570 "xkbparse.y" 25366930ead5Smrg {(yyval.sval)=XkbInternAtom(NULL,"modifier_map",False);} 25376930ead5Smrg#line 2538 "xkbparse.c" 2538690143ccSmrg break; 2539690143ccSmrg 25406930ead5Smrg case 124: /* Element: INDICATOR */ 25416930ead5Smrg#line 572 "xkbparse.y" 25426930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"indicator",False); } 25436930ead5Smrg#line 2544 "xkbparse.c" 2544690143ccSmrg break; 2545690143ccSmrg 25466930ead5Smrg case 125: /* Element: SHAPE */ 25476930ead5Smrg#line 574 "xkbparse.y" 25486930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"shape",False); } 25496930ead5Smrg#line 2550 "xkbparse.c" 2550690143ccSmrg break; 2551690143ccSmrg 25526930ead5Smrg case 126: /* Element: ROW */ 25536930ead5Smrg#line 576 "xkbparse.y" 25546930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"row",False); } 25556930ead5Smrg#line 2556 "xkbparse.c" 2556690143ccSmrg break; 2557690143ccSmrg 25586930ead5Smrg case 127: /* Element: SECTION */ 25596930ead5Smrg#line 578 "xkbparse.y" 25606930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"section",False); } 25616930ead5Smrg#line 2562 "xkbparse.c" 2562690143ccSmrg break; 2563690143ccSmrg 25646930ead5Smrg case 128: /* Element: TEXT */ 25656930ead5Smrg#line 580 "xkbparse.y" 25666930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"text",False); } 25676930ead5Smrg#line 2568 "xkbparse.c" 2568690143ccSmrg break; 2569690143ccSmrg 25706930ead5Smrg case 129: /* OptMergeMode: MergeMode */ 25716930ead5Smrg#line 583 "xkbparse.y" 25726930ead5Smrg { (yyval.uval)= (yyvsp[0].uval); } 25736930ead5Smrg#line 2574 "xkbparse.c" 2574690143ccSmrg break; 2575690143ccSmrg 25766930ead5Smrg case 130: /* OptMergeMode: %empty */ 25776930ead5Smrg#line 584 "xkbparse.y" 25786930ead5Smrg { (yyval.uval)= MergeDefault; } 25796930ead5Smrg#line 2580 "xkbparse.c" 2580690143ccSmrg break; 2581690143ccSmrg 25826930ead5Smrg case 131: /* MergeMode: INCLUDE */ 25836930ead5Smrg#line 587 "xkbparse.y" 25846930ead5Smrg { (yyval.uval)= MergeDefault; } 25856930ead5Smrg#line 2586 "xkbparse.c" 2586690143ccSmrg break; 2587690143ccSmrg 25886930ead5Smrg case 132: /* MergeMode: AUGMENT */ 25896930ead5Smrg#line 588 "xkbparse.y" 25906930ead5Smrg { (yyval.uval)= MergeAugment; } 25916930ead5Smrg#line 2592 "xkbparse.c" 2592690143ccSmrg break; 2593690143ccSmrg 25946930ead5Smrg case 133: /* MergeMode: OVERRIDE */ 25956930ead5Smrg#line 589 "xkbparse.y" 25966930ead5Smrg { (yyval.uval)= MergeOverride; } 25976930ead5Smrg#line 2598 "xkbparse.c" 2598690143ccSmrg break; 2599690143ccSmrg 26006930ead5Smrg case 134: /* MergeMode: REPLACE */ 26016930ead5Smrg#line 590 "xkbparse.y" 26026930ead5Smrg { (yyval.uval)= MergeReplace; } 26036930ead5Smrg#line 2604 "xkbparse.c" 2604690143ccSmrg break; 2605690143ccSmrg 26066930ead5Smrg case 135: /* MergeMode: ALTERNATE */ 26076930ead5Smrg#line 591 "xkbparse.y" 26086930ead5Smrg { (yyval.uval)= MergeAltForm; } 26096930ead5Smrg#line 2610 "xkbparse.c" 2610690143ccSmrg break; 2611690143ccSmrg 26126930ead5Smrg case 136: /* OptExprList: ExprList */ 26136930ead5Smrg#line 594 "xkbparse.y" 26146930ead5Smrg { (yyval.expr)= (yyvsp[0].expr); } 26156930ead5Smrg#line 2616 "xkbparse.c" 2616690143ccSmrg break; 2617690143ccSmrg 26186930ead5Smrg case 137: /* OptExprList: %empty */ 26196930ead5Smrg#line 595 "xkbparse.y" 26206930ead5Smrg { (yyval.expr)= NULL; } 26216930ead5Smrg#line 2622 "xkbparse.c" 2622690143ccSmrg break; 2623690143ccSmrg 26246930ead5Smrg case 138: /* ExprList: ExprList COMMA Expr */ 26256930ead5Smrg#line 599 "xkbparse.y" 26266930ead5Smrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[-2].expr)->common,&(yyvsp[0].expr)->common); } 26276930ead5Smrg#line 2628 "xkbparse.c" 2628690143ccSmrg break; 2629690143ccSmrg 26306930ead5Smrg case 139: /* ExprList: Expr */ 26316930ead5Smrg#line 601 "xkbparse.y" 26326930ead5Smrg { (yyval.expr)= (yyvsp[0].expr); } 26336930ead5Smrg#line 2634 "xkbparse.c" 2634690143ccSmrg break; 2635690143ccSmrg 26366930ead5Smrg case 140: /* Expr: Expr DIVIDE Expr */ 26376930ead5Smrg#line 605 "xkbparse.y" 26386930ead5Smrg { (yyval.expr)= ExprCreateBinary(OpDivide,(yyvsp[-2].expr),(yyvsp[0].expr)); } 26396930ead5Smrg#line 2640 "xkbparse.c" 2640690143ccSmrg break; 2641690143ccSmrg 26426930ead5Smrg case 141: /* Expr: Expr PLUS Expr */ 26436930ead5Smrg#line 607 "xkbparse.y" 26446930ead5Smrg { (yyval.expr)= ExprCreateBinary(OpAdd,(yyvsp[-2].expr),(yyvsp[0].expr)); } 26456930ead5Smrg#line 2646 "xkbparse.c" 2646690143ccSmrg break; 2647690143ccSmrg 26486930ead5Smrg case 142: /* Expr: Expr MINUS Expr */ 26496930ead5Smrg#line 609 "xkbparse.y" 26506930ead5Smrg { (yyval.expr)= ExprCreateBinary(OpSubtract,(yyvsp[-2].expr),(yyvsp[0].expr)); } 26516930ead5Smrg#line 2652 "xkbparse.c" 2652690143ccSmrg break; 2653690143ccSmrg 26546930ead5Smrg case 143: /* Expr: Expr TIMES Expr */ 26556930ead5Smrg#line 611 "xkbparse.y" 26566930ead5Smrg { (yyval.expr)= ExprCreateBinary(OpMultiply,(yyvsp[-2].expr),(yyvsp[0].expr)); } 26576930ead5Smrg#line 2658 "xkbparse.c" 2658690143ccSmrg break; 2659690143ccSmrg 26606930ead5Smrg case 144: /* Expr: Lhs EQUALS Expr */ 26616930ead5Smrg#line 613 "xkbparse.y" 26626930ead5Smrg { (yyval.expr)= ExprCreateBinary(OpAssign,(yyvsp[-2].expr),(yyvsp[0].expr)); } 26636930ead5Smrg#line 2664 "xkbparse.c" 2664690143ccSmrg break; 2665690143ccSmrg 26666930ead5Smrg case 145: /* Expr: Term */ 26676930ead5Smrg#line 615 "xkbparse.y" 26686930ead5Smrg { (yyval.expr)= (yyvsp[0].expr); } 26696930ead5Smrg#line 2670 "xkbparse.c" 2670690143ccSmrg break; 2671690143ccSmrg 26726930ead5Smrg case 146: /* Term: MINUS Term */ 26736930ead5Smrg#line 619 "xkbparse.y" 26746930ead5Smrg { (yyval.expr)= ExprCreateUnary(OpNegate,(yyvsp[0].expr)->type,(yyvsp[0].expr)); } 26756930ead5Smrg#line 2676 "xkbparse.c" 2676690143ccSmrg break; 2677690143ccSmrg 26786930ead5Smrg case 147: /* Term: PLUS Term */ 26796930ead5Smrg#line 621 "xkbparse.y" 26806930ead5Smrg { (yyval.expr)= ExprCreateUnary(OpUnaryPlus,(yyvsp[0].expr)->type,(yyvsp[0].expr)); } 26816930ead5Smrg#line 2682 "xkbparse.c" 2682690143ccSmrg break; 2683690143ccSmrg 26846930ead5Smrg case 148: /* Term: EXCLAM Term */ 26856930ead5Smrg#line 623 "xkbparse.y" 26866930ead5Smrg { (yyval.expr)= ExprCreateUnary(OpNot,TypeBoolean,(yyvsp[0].expr)); } 26876930ead5Smrg#line 2688 "xkbparse.c" 2688690143ccSmrg break; 2689690143ccSmrg 26906930ead5Smrg case 149: /* Term: INVERT Term */ 26916930ead5Smrg#line 625 "xkbparse.y" 26926930ead5Smrg { (yyval.expr)= ExprCreateUnary(OpInvert,(yyvsp[0].expr)->type,(yyvsp[0].expr)); } 26936930ead5Smrg#line 2694 "xkbparse.c" 2694690143ccSmrg break; 2695690143ccSmrg 26966930ead5Smrg case 150: /* Term: Lhs */ 26976930ead5Smrg#line 627 "xkbparse.y" 26986930ead5Smrg { (yyval.expr)= (yyvsp[0].expr); } 26996930ead5Smrg#line 2700 "xkbparse.c" 2700690143ccSmrg break; 2701690143ccSmrg 27026930ead5Smrg case 151: /* Term: FieldSpec OPAREN OptExprList CPAREN */ 27036930ead5Smrg#line 629 "xkbparse.y" 27046930ead5Smrg { (yyval.expr)= ActionCreate((yyvsp[-3].sval),(yyvsp[-1].expr)); } 27056930ead5Smrg#line 2706 "xkbparse.c" 2706690143ccSmrg break; 2707690143ccSmrg 27086930ead5Smrg case 152: /* Term: Terminal */ 27096930ead5Smrg#line 631 "xkbparse.y" 27106930ead5Smrg { (yyval.expr)= (yyvsp[0].expr); } 27116930ead5Smrg#line 2712 "xkbparse.c" 2712690143ccSmrg break; 2713690143ccSmrg 27146930ead5Smrg case 153: /* Term: OPAREN Expr CPAREN */ 27156930ead5Smrg#line 633 "xkbparse.y" 27166930ead5Smrg { (yyval.expr)= (yyvsp[-1].expr); } 27176930ead5Smrg#line 2718 "xkbparse.c" 2718690143ccSmrg break; 2719690143ccSmrg 27206930ead5Smrg case 154: /* ActionList: ActionList COMMA Action */ 27216930ead5Smrg#line 637 "xkbparse.y" 27226930ead5Smrg { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[-2].expr)->common,&(yyvsp[0].expr)->common); } 27236930ead5Smrg#line 2724 "xkbparse.c" 2724690143ccSmrg break; 2725690143ccSmrg 27266930ead5Smrg case 155: /* ActionList: Action */ 27276930ead5Smrg#line 639 "xkbparse.y" 27286930ead5Smrg { (yyval.expr)= (yyvsp[0].expr); } 27296930ead5Smrg#line 2730 "xkbparse.c" 2730690143ccSmrg break; 2731690143ccSmrg 27326930ead5Smrg case 156: /* Action: FieldSpec OPAREN OptExprList CPAREN */ 27336930ead5Smrg#line 643 "xkbparse.y" 27346930ead5Smrg { (yyval.expr)= ActionCreate((yyvsp[-3].sval),(yyvsp[-1].expr)); } 27356930ead5Smrg#line 2736 "xkbparse.c" 2736690143ccSmrg break; 2737690143ccSmrg 27386930ead5Smrg case 157: /* Lhs: FieldSpec */ 27396930ead5Smrg#line 647 "xkbparse.y" 27406930ead5Smrg { 2741f46a6179Smrg ExprDef *expr; 2742f46a6179Smrg expr= ExprCreate(ExprIdent,TypeUnknown); 2743f757b1e9Smrg expr->value.str= (yyvsp[0].sval); 2744690143ccSmrg (yyval.expr)= expr; 2745f46a6179Smrg } 27466930ead5Smrg#line 2747 "xkbparse.c" 2747690143ccSmrg break; 2748690143ccSmrg 27496930ead5Smrg case 158: /* Lhs: FieldSpec DOT FieldSpec */ 27506930ead5Smrg#line 654 "xkbparse.y" 27516930ead5Smrg { 2752f46a6179Smrg ExprDef *expr; 2753f46a6179Smrg expr= ExprCreate(ExprFieldRef,TypeUnknown); 2754f757b1e9Smrg expr->value.field.element= (yyvsp[-2].sval); 2755f757b1e9Smrg expr->value.field.field= (yyvsp[0].sval); 2756690143ccSmrg (yyval.expr)= expr; 2757f46a6179Smrg } 27586930ead5Smrg#line 2759 "xkbparse.c" 2759690143ccSmrg break; 2760690143ccSmrg 27616930ead5Smrg case 159: /* Lhs: FieldSpec OBRACKET Expr CBRACKET */ 27626930ead5Smrg#line 662 "xkbparse.y" 27636930ead5Smrg { 2764f46a6179Smrg ExprDef *expr; 2765f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 2766f46a6179Smrg expr->value.array.element= None; 2767f757b1e9Smrg expr->value.array.field= (yyvsp[-3].sval); 2768f757b1e9Smrg expr->value.array.entry= (yyvsp[-1].expr); 2769690143ccSmrg (yyval.expr)= expr; 2770f46a6179Smrg } 27716930ead5Smrg#line 2772 "xkbparse.c" 2772690143ccSmrg break; 2773690143ccSmrg 27746930ead5Smrg case 160: /* Lhs: FieldSpec DOT FieldSpec OBRACKET Expr CBRACKET */ 27756930ead5Smrg#line 671 "xkbparse.y" 27766930ead5Smrg { 2777f46a6179Smrg ExprDef *expr; 2778f46a6179Smrg expr= ExprCreate(ExprArrayRef,TypeUnknown); 2779f757b1e9Smrg expr->value.array.element= (yyvsp[-5].sval); 2780f757b1e9Smrg expr->value.array.field= (yyvsp[-3].sval); 2781f757b1e9Smrg expr->value.array.entry= (yyvsp[-1].expr); 2782690143ccSmrg (yyval.expr)= expr; 2783f46a6179Smrg } 27846930ead5Smrg#line 2785 "xkbparse.c" 2785690143ccSmrg break; 2786690143ccSmrg 27876930ead5Smrg case 161: /* Terminal: String */ 27886930ead5Smrg#line 682 "xkbparse.y" 27896930ead5Smrg { 2790f46a6179Smrg ExprDef *expr; 2791f46a6179Smrg expr= ExprCreate(ExprValue,TypeString); 2792f757b1e9Smrg expr->value.str= (yyvsp[0].sval); 2793690143ccSmrg (yyval.expr)= expr; 2794f46a6179Smrg } 27956930ead5Smrg#line 2796 "xkbparse.c" 2796690143ccSmrg break; 2797690143ccSmrg 27986930ead5Smrg case 162: /* Terminal: Integer */ 27996930ead5Smrg#line 689 "xkbparse.y" 28006930ead5Smrg { 2801f46a6179Smrg ExprDef *expr; 2802f46a6179Smrg expr= ExprCreate(ExprValue,TypeInt); 2803f757b1e9Smrg expr->value.ival= (yyvsp[0].ival); 2804690143ccSmrg (yyval.expr)= expr; 2805f46a6179Smrg } 28066930ead5Smrg#line 2807 "xkbparse.c" 2807690143ccSmrg break; 2808690143ccSmrg 28096930ead5Smrg case 163: /* Terminal: Float */ 28106930ead5Smrg#line 696 "xkbparse.y" 28116930ead5Smrg { 2812f46a6179Smrg ExprDef *expr; 2813f46a6179Smrg expr= ExprCreate(ExprValue,TypeFloat); 2814f757b1e9Smrg expr->value.ival= (yyvsp[0].ival); 2815690143ccSmrg (yyval.expr)= expr; 2816f46a6179Smrg } 28176930ead5Smrg#line 2818 "xkbparse.c" 2818690143ccSmrg break; 2819690143ccSmrg 28206930ead5Smrg case 164: /* Terminal: KeyName */ 28216930ead5Smrg#line 703 "xkbparse.y" 28226930ead5Smrg { 2823f46a6179Smrg ExprDef *expr; 2824f46a6179Smrg expr= ExprCreate(ExprValue,TypeKeyName); 2825f46a6179Smrg memset(expr->value.keyName,0,5); 2826f757b1e9Smrg strncpy(expr->value.keyName,(yyvsp[0].str),4); 2827f757b1e9Smrg free((yyvsp[0].str)); 2828690143ccSmrg (yyval.expr)= expr; 2829f46a6179Smrg } 28306930ead5Smrg#line 2831 "xkbparse.c" 2831690143ccSmrg break; 2832690143ccSmrg 28336930ead5Smrg case 165: /* OptKeySymList: KeySymList */ 28346930ead5Smrg#line 713 "xkbparse.y" 28356930ead5Smrg { (yyval.expr)= (yyvsp[0].expr); } 28366930ead5Smrg#line 2837 "xkbparse.c" 2837690143ccSmrg break; 2838690143ccSmrg 28396930ead5Smrg case 166: /* OptKeySymList: %empty */ 28406930ead5Smrg#line 714 "xkbparse.y" 28416930ead5Smrg { (yyval.expr)= NULL; } 28426930ead5Smrg#line 2843 "xkbparse.c" 2843690143ccSmrg break; 2844690143ccSmrg 28456930ead5Smrg case 167: /* KeySymList: KeySymList COMMA KeySym */ 28466930ead5Smrg#line 718 "xkbparse.y" 28476930ead5Smrg { (yyval.expr)= AppendKeysymList((yyvsp[-2].expr),(yyvsp[0].str)); } 28486930ead5Smrg#line 2849 "xkbparse.c" 2849690143ccSmrg break; 2850690143ccSmrg 28516930ead5Smrg case 168: /* KeySymList: KeySymList COMMA KeySyms */ 28526930ead5Smrg#line 720 "xkbparse.y" 28536930ead5Smrg { (yyval.expr)= AppendKeysymList((yyvsp[-2].expr),strdup("NoSymbol")); } 28546930ead5Smrg#line 2855 "xkbparse.c" 2855690143ccSmrg break; 2856690143ccSmrg 28576930ead5Smrg case 169: /* KeySymList: KeySym */ 28586930ead5Smrg#line 722 "xkbparse.y" 28596930ead5Smrg { (yyval.expr)= CreateKeysymList((yyvsp[0].str)); } 28606930ead5Smrg#line 2861 "xkbparse.c" 2861690143ccSmrg break; 2862690143ccSmrg 28636930ead5Smrg case 170: /* KeySymList: KeySyms */ 28646930ead5Smrg#line 724 "xkbparse.y" 28656930ead5Smrg { (yyval.expr)= CreateKeysymList(strdup("NoSymbol")); } 28666930ead5Smrg#line 2867 "xkbparse.c" 2867690143ccSmrg break; 2868690143ccSmrg 28696930ead5Smrg case 171: /* KeySym: IDENT */ 28706930ead5Smrg#line 727 "xkbparse.y" 28716930ead5Smrg { (yyval.str)= strdup(scanBuf); } 28726930ead5Smrg#line 2873 "xkbparse.c" 2873c82dfdfbSmrg break; 2874c82dfdfbSmrg 28756930ead5Smrg case 172: /* KeySym: SECTION */ 28766930ead5Smrg#line 728 "xkbparse.y" 28776930ead5Smrg { (yyval.str)= strdup("section"); } 28786930ead5Smrg#line 2879 "xkbparse.c" 2879c82dfdfbSmrg break; 2880c82dfdfbSmrg 28816930ead5Smrg case 173: /* KeySym: Integer */ 28826930ead5Smrg#line 730 "xkbparse.y" 28836930ead5Smrg { 2884f757b1e9Smrg if ((yyvsp[0].ival)<10) { (yyval.str)= malloc(2); (yyval.str)[0]= '0' + (yyvsp[0].ival); (yyval.str)[1]= '\0'; } 2885f757b1e9Smrg else { (yyval.str)= malloc(19); snprintf((yyval.str), 19, "0x%x", (yyvsp[0].ival)); } 2886f46a6179Smrg } 28876930ead5Smrg#line 2888 "xkbparse.c" 2888690143ccSmrg break; 2889690143ccSmrg 28906930ead5Smrg case 174: /* KeySyms: OBRACE KeySymList CBRACE */ 28916930ead5Smrg#line 737 "xkbparse.y" 28926930ead5Smrg { (yyval.expr)= (yyvsp[-1].expr); } 28936930ead5Smrg#line 2894 "xkbparse.c" 2894c82dfdfbSmrg break; 2895c82dfdfbSmrg 28966930ead5Smrg case 175: /* SignedNumber: MINUS Number */ 28976930ead5Smrg#line 740 "xkbparse.y" 28986930ead5Smrg { (yyval.ival)= -(yyvsp[0].ival); } 28996930ead5Smrg#line 2900 "xkbparse.c" 2900690143ccSmrg break; 2901690143ccSmrg 29026930ead5Smrg case 176: /* SignedNumber: Number */ 29036930ead5Smrg#line 741 "xkbparse.y" 29046930ead5Smrg { (yyval.ival)= (yyvsp[0].ival); } 29056930ead5Smrg#line 2906 "xkbparse.c" 2906690143ccSmrg break; 2907690143ccSmrg 29086930ead5Smrg case 177: /* Number: FLOAT */ 29096930ead5Smrg#line 744 "xkbparse.y" 29106930ead5Smrg { (yyval.ival)= scanInt; } 29116930ead5Smrg#line 2912 "xkbparse.c" 2912690143ccSmrg break; 2913690143ccSmrg 29146930ead5Smrg case 178: /* Number: INTEGER */ 29156930ead5Smrg#line 745 "xkbparse.y" 29166930ead5Smrg { (yyval.ival)= scanInt*XkbGeomPtsPerMM; } 29176930ead5Smrg#line 2918 "xkbparse.c" 2918690143ccSmrg break; 2919690143ccSmrg 29206930ead5Smrg case 179: /* Float: FLOAT */ 29216930ead5Smrg#line 748 "xkbparse.y" 29226930ead5Smrg { (yyval.ival)= scanInt; } 29236930ead5Smrg#line 2924 "xkbparse.c" 2924690143ccSmrg break; 2925690143ccSmrg 29266930ead5Smrg case 180: /* Integer: INTEGER */ 29276930ead5Smrg#line 751 "xkbparse.y" 29286930ead5Smrg { (yyval.ival)= scanInt; } 29296930ead5Smrg#line 2930 "xkbparse.c" 2930690143ccSmrg break; 2931690143ccSmrg 29326930ead5Smrg case 181: /* KeyName: KEYNAME */ 29336930ead5Smrg#line 754 "xkbparse.y" 29346930ead5Smrg { (yyval.str)= strdup(scanBuf); } 29356930ead5Smrg#line 2936 "xkbparse.c" 2936690143ccSmrg break; 2937690143ccSmrg 29386930ead5Smrg case 182: /* Ident: IDENT */ 29396930ead5Smrg#line 757 "xkbparse.y" 29406930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); } 29416930ead5Smrg#line 2942 "xkbparse.c" 2942690143ccSmrg break; 2943690143ccSmrg 29446930ead5Smrg case 183: /* Ident: DEFAULT */ 29456930ead5Smrg#line 758 "xkbparse.y" 29466930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,"default",False); } 29476930ead5Smrg#line 2948 "xkbparse.c" 2948690143ccSmrg break; 2949690143ccSmrg 29506930ead5Smrg case 184: /* String: STRING */ 29516930ead5Smrg#line 761 "xkbparse.y" 29526930ead5Smrg { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); } 29536930ead5Smrg#line 2954 "xkbparse.c" 2954690143ccSmrg break; 2955690143ccSmrg 29566930ead5Smrg case 185: /* OptMapName: MapName */ 29576930ead5Smrg#line 764 "xkbparse.y" 29586930ead5Smrg { (yyval.str)= (yyvsp[0].str); } 29596930ead5Smrg#line 2960 "xkbparse.c" 2960690143ccSmrg break; 2961690143ccSmrg 29626930ead5Smrg case 186: /* OptMapName: %empty */ 29636930ead5Smrg#line 765 "xkbparse.y" 29646930ead5Smrg { (yyval.str)= NULL; } 29656930ead5Smrg#line 2966 "xkbparse.c" 2966690143ccSmrg break; 2967690143ccSmrg 29686930ead5Smrg case 187: /* MapName: STRING */ 29696930ead5Smrg#line 768 "xkbparse.y" 29706930ead5Smrg { (yyval.str)= strdup(scanBuf); } 29716930ead5Smrg#line 2972 "xkbparse.c" 2972690143ccSmrg break; 2973690143ccSmrg 2974690143ccSmrg 29756930ead5Smrg#line 2976 "xkbparse.c" 29766930ead5Smrg 2977690143ccSmrg default: break; 2978f46a6179Smrg } 2979c82dfdfbSmrg /* User semantic actions sometimes alter yychar, and that requires 2980c82dfdfbSmrg that yytoken be updated with the new translation. We take the 2981c82dfdfbSmrg approach of translating immediately before every use of yytoken. 2982c82dfdfbSmrg One alternative is translating here after every semantic action, 2983c82dfdfbSmrg but that translation would be missed if the semantic action invokes 2984c82dfdfbSmrg YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 2985c82dfdfbSmrg if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 2986c82dfdfbSmrg incorrect destructor might then be invoked immediately. In the 2987c82dfdfbSmrg case of YYERROR or YYBACKUP, subsequent parser actions might lead 2988c82dfdfbSmrg to an incorrect destructor call or verbose syntax error message 2989c82dfdfbSmrg before the lookahead is translated. */ 29906930ead5Smrg YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); 2991690143ccSmrg 2992690143ccSmrg YYPOPSTACK (yylen); 2993690143ccSmrg yylen = 0; 2994690143ccSmrg 2995690143ccSmrg *++yyvsp = yyval; 2996690143ccSmrg 2997f757b1e9Smrg /* Now 'shift' the result of the reduction. Determine what state 2998690143ccSmrg that goes to, based on the state we popped back to and the rule 2999690143ccSmrg number reduced by. */ 30006930ead5Smrg { 30016930ead5Smrg const int yylhs = yyr1[yyn] - YYNTOKENS; 30026930ead5Smrg const int yyi = yypgoto[yylhs] + *yyssp; 30036930ead5Smrg yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp 30046930ead5Smrg ? yytable[yyi] 30056930ead5Smrg : yydefgoto[yylhs]); 30066930ead5Smrg } 3007690143ccSmrg 3008690143ccSmrg goto yynewstate; 3009690143ccSmrg 3010690143ccSmrg 3011f757b1e9Smrg/*--------------------------------------. 3012f757b1e9Smrg| yyerrlab -- here on detecting error. | 3013f757b1e9Smrg`--------------------------------------*/ 3014690143ccSmrgyyerrlab: 3015c82dfdfbSmrg /* Make sure we have latest lookahead translation. See comments at 3016c82dfdfbSmrg user semantic actions for why this is necessary. */ 30176930ead5Smrg yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); 3018690143ccSmrg /* If not already recovering from an error, report this error. */ 3019690143ccSmrg if (!yyerrstatus) 3020f46a6179Smrg { 3021690143ccSmrg ++yynerrs; 3022690143ccSmrg yyerror (YY_("syntax error")); 3023f46a6179Smrg } 3024690143ccSmrg 3025690143ccSmrg if (yyerrstatus == 3) 3026690143ccSmrg { 3027c82dfdfbSmrg /* If just tried and failed to reuse lookahead token after an 3028f757b1e9Smrg error, discard it. */ 3029690143ccSmrg 30306930ead5Smrg if (yychar <= END_OF_FILE) 3031f757b1e9Smrg { 3032f757b1e9Smrg /* Return failure if at end of input. */ 30336930ead5Smrg if (yychar == END_OF_FILE) 3034f757b1e9Smrg YYABORT; 3035f757b1e9Smrg } 3036690143ccSmrg else 3037f757b1e9Smrg { 3038f757b1e9Smrg yydestruct ("Error: discarding", 3039f757b1e9Smrg yytoken, &yylval); 3040f757b1e9Smrg yychar = YYEMPTY; 3041f757b1e9Smrg } 3042690143ccSmrg } 3043690143ccSmrg 3044c82dfdfbSmrg /* Else will try to reuse lookahead token after shifting the error 3045690143ccSmrg token. */ 3046690143ccSmrg goto yyerrlab1; 3047690143ccSmrg 3048690143ccSmrg 3049690143ccSmrg/*---------------------------------------------------. 3050690143ccSmrg| yyerrorlab -- error raised explicitly by YYERROR. | 3051690143ccSmrg`---------------------------------------------------*/ 3052690143ccSmrgyyerrorlab: 30536930ead5Smrg /* Pacify compilers when the user code never invokes YYERROR and the 30546930ead5Smrg label yyerrorlab therefore never appears in user code. */ 30556930ead5Smrg if (0) 30566930ead5Smrg YYERROR; 30576930ead5Smrg ++yynerrs; 3058690143ccSmrg 3059f757b1e9Smrg /* Do not reclaim the symbols of the rule whose action triggered 3060690143ccSmrg this YYERROR. */ 3061690143ccSmrg YYPOPSTACK (yylen); 3062690143ccSmrg yylen = 0; 3063690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3064690143ccSmrg yystate = *yyssp; 3065690143ccSmrg goto yyerrlab1; 3066690143ccSmrg 3067690143ccSmrg 3068690143ccSmrg/*-------------------------------------------------------------. 3069690143ccSmrg| yyerrlab1 -- common code for both syntax error and YYERROR. | 3070690143ccSmrg`-------------------------------------------------------------*/ 3071690143ccSmrgyyerrlab1: 3072f757b1e9Smrg yyerrstatus = 3; /* Each real token shifted decrements this. */ 3073690143ccSmrg 30746930ead5Smrg /* Pop stack until we find a state that shifts the error token. */ 3075690143ccSmrg for (;;) 3076690143ccSmrg { 3077690143ccSmrg yyn = yypact[yystate]; 3078c82dfdfbSmrg if (!yypact_value_is_default (yyn)) 3079f757b1e9Smrg { 30806930ead5Smrg yyn += YYSYMBOL_YYerror; 30816930ead5Smrg if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) 3082f757b1e9Smrg { 3083f757b1e9Smrg yyn = yytable[yyn]; 3084f757b1e9Smrg if (0 < yyn) 3085f757b1e9Smrg break; 3086f757b1e9Smrg } 3087f757b1e9Smrg } 3088690143ccSmrg 3089690143ccSmrg /* Pop the current state because it cannot handle the error token. */ 3090690143ccSmrg if (yyssp == yyss) 3091f757b1e9Smrg YYABORT; 3092690143ccSmrg 3093690143ccSmrg 3094690143ccSmrg yydestruct ("Error: popping", 30956930ead5Smrg YY_ACCESSING_SYMBOL (yystate), yyvsp); 3096690143ccSmrg YYPOPSTACK (1); 3097690143ccSmrg yystate = *yyssp; 3098690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3099690143ccSmrg } 3100690143ccSmrg 3101c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 3102690143ccSmrg *++yyvsp = yylval; 3103c82dfdfbSmrg YY_IGNORE_MAYBE_UNINITIALIZED_END 3104690143ccSmrg 3105690143ccSmrg 3106690143ccSmrg /* Shift the error token. */ 31076930ead5Smrg YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); 3108690143ccSmrg 3109690143ccSmrg yystate = yyn; 3110690143ccSmrg goto yynewstate; 3111690143ccSmrg 3112690143ccSmrg 3113690143ccSmrg/*-------------------------------------. 3114690143ccSmrg| yyacceptlab -- YYACCEPT comes here. | 3115690143ccSmrg`-------------------------------------*/ 3116690143ccSmrgyyacceptlab: 3117690143ccSmrg yyresult = 0; 31186930ead5Smrg goto yyreturnlab; 31196930ead5Smrg 3120690143ccSmrg 3121690143ccSmrg/*-----------------------------------. 3122690143ccSmrg| yyabortlab -- YYABORT comes here. | 3123690143ccSmrg`-----------------------------------*/ 3124690143ccSmrgyyabortlab: 3125690143ccSmrg yyresult = 1; 31266930ead5Smrg goto yyreturnlab; 31276930ead5Smrg 3128690143ccSmrg 31296930ead5Smrg/*-----------------------------------------------------------. 31306930ead5Smrg| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | 31316930ead5Smrg`-----------------------------------------------------------*/ 3132690143ccSmrgyyexhaustedlab: 3133690143ccSmrg yyerror (YY_("memory exhausted")); 3134690143ccSmrg yyresult = 2; 31356930ead5Smrg goto yyreturnlab; 31366930ead5Smrg 3137690143ccSmrg 31386930ead5Smrg/*----------------------------------------------------------. 31396930ead5Smrg| yyreturnlab -- parsing is finished, clean up and return. | 31406930ead5Smrg`----------------------------------------------------------*/ 31416930ead5Smrgyyreturnlab: 3142c82dfdfbSmrg if (yychar != YYEMPTY) 3143c82dfdfbSmrg { 3144c82dfdfbSmrg /* Make sure we have latest lookahead translation. See comments at 3145c82dfdfbSmrg user semantic actions for why this is necessary. */ 3146c82dfdfbSmrg yytoken = YYTRANSLATE (yychar); 3147c82dfdfbSmrg yydestruct ("Cleanup: discarding lookahead", 3148c82dfdfbSmrg yytoken, &yylval); 3149c82dfdfbSmrg } 3150f757b1e9Smrg /* Do not reclaim the symbols of the rule whose action triggered 3151690143ccSmrg this YYABORT or YYACCEPT. */ 3152690143ccSmrg YYPOPSTACK (yylen); 3153690143ccSmrg YY_STACK_PRINT (yyss, yyssp); 3154690143ccSmrg while (yyssp != yyss) 3155f46a6179Smrg { 3156690143ccSmrg yydestruct ("Cleanup: popping", 31576930ead5Smrg YY_ACCESSING_SYMBOL (+*yyssp), yyvsp); 3158690143ccSmrg YYPOPSTACK (1); 3159f46a6179Smrg } 3160690143ccSmrg#ifndef yyoverflow 3161690143ccSmrg if (yyss != yyssa) 3162690143ccSmrg YYSTACK_FREE (yyss); 3163690143ccSmrg#endif 31646930ead5Smrg 3165f757b1e9Smrg return yyresult; 3166690143ccSmrg} 31676930ead5Smrg 31686930ead5Smrg#line 770 "xkbparse.y" 3169690143ccSmrg 3170690143ccSmrgvoid 3171690143ccSmrgyyerror(const char *s) 3172690143ccSmrg{ 3173690143ccSmrg if (warningLevel>0) { 3174690143ccSmrg (void)fprintf(stderr,"%s: line %d of %s\n",s,lineNum, 3175690143ccSmrg (scanFile?scanFile:"(unknown)")); 3176690143ccSmrg if ((warningLevel>3)) 3177690143ccSmrg (void)fprintf(stderr,"last scanned symbol is: %s\n",scanBuf); 3178690143ccSmrg } 3179690143ccSmrg return; 3180690143ccSmrg} 3181690143ccSmrg 3182690143ccSmrg 3183690143ccSmrgint 3184690143ccSmrgyywrap(void) 3185690143ccSmrg{ 3186690143ccSmrg return 1; 3187f46a6179Smrg} 3188690143ccSmrg 3189