1 /* A Bison parser, made by GNU Bison 3.8.2. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, 6 Inc. 7 8 This program is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 20 21 /* As a special exception, you may create a larger work that contains 22 part or all of the Bison parser skeleton and distribute that work 23 under terms of your choice, so long as that work isn't itself a 24 parser generator using the skeleton or a modified version thereof 25 as a parser skeleton. Alternatively, if you modify or redistribute 26 the parser skeleton itself, you may (at your option) remove this 27 special exception, which will cause the skeleton and the resulting 28 Bison output files to be licensed under the GNU General Public 29 License without this special exception. 30 31 This special exception was added by the Free Software Foundation in 32 version 2.2 of Bison. */ 33 34 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 35 especially those whose name start with YY_ or yy_. They are 36 private implementation details that can be changed or removed. */ 37 38 #ifndef YY__XKBCOMMON_LIBXKBCOMMON_SO_0_0_0_P_PARSER_H_INCLUDED 39 # define YY__XKBCOMMON_LIBXKBCOMMON_SO_0_0_0_P_PARSER_H_INCLUDED 40 /* Debug traces. */ 41 #ifndef YYDEBUG 42 # define YYDEBUG 0 43 #endif 44 #if YYDEBUG 45 extern int _xkbcommon_debug; 46 #endif 47 48 /* Token kinds. */ 49 #ifndef YYTOKENTYPE 50 # define YYTOKENTYPE 51 enum yytokentype 52 { 53 YYEMPTY = -2, 54 END_OF_FILE = 0, /* END_OF_FILE */ 55 YYerror = 256, /* error */ 56 YYUNDEF = 257, /* "invalid token" */ 57 ERROR_TOK = 255, /* ERROR_TOK */ 58 XKB_KEYMAP = 1, /* XKB_KEYMAP */ 59 XKB_KEYCODES = 2, /* XKB_KEYCODES */ 60 XKB_TYPES = 3, /* XKB_TYPES */ 61 XKB_SYMBOLS = 4, /* XKB_SYMBOLS */ 62 XKB_COMPATMAP = 5, /* XKB_COMPATMAP */ 63 XKB_GEOMETRY = 6, /* XKB_GEOMETRY */ 64 XKB_SEMANTICS = 7, /* XKB_SEMANTICS */ 65 XKB_LAYOUT = 8, /* XKB_LAYOUT */ 66 INCLUDE = 10, /* INCLUDE */ 67 OVERRIDE = 11, /* OVERRIDE */ 68 AUGMENT = 12, /* AUGMENT */ 69 REPLACE = 13, /* REPLACE */ 70 ALTERNATE = 14, /* ALTERNATE */ 71 VIRTUAL_MODS = 20, /* VIRTUAL_MODS */ 72 TYPE = 21, /* TYPE */ 73 INTERPRET = 22, /* INTERPRET */ 74 ACTION_TOK = 23, /* ACTION_TOK */ 75 KEY = 24, /* KEY */ 76 ALIAS = 25, /* ALIAS */ 77 GROUP = 26, /* GROUP */ 78 MODIFIER_MAP = 27, /* MODIFIER_MAP */ 79 INDICATOR = 28, /* INDICATOR */ 80 SHAPE = 29, /* SHAPE */ 81 KEYS = 30, /* KEYS */ 82 ROW = 31, /* ROW */ 83 SECTION = 32, /* SECTION */ 84 OVERLAY = 33, /* OVERLAY */ 85 TEXT = 34, /* TEXT */ 86 OUTLINE = 35, /* OUTLINE */ 87 SOLID = 36, /* SOLID */ 88 LOGO = 37, /* LOGO */ 89 VIRTUAL = 38, /* VIRTUAL */ 90 EQUALS = 40, /* EQUALS */ 91 PLUS = 41, /* PLUS */ 92 MINUS = 42, /* MINUS */ 93 DIVIDE = 43, /* DIVIDE */ 94 TIMES = 44, /* TIMES */ 95 OBRACE = 45, /* OBRACE */ 96 CBRACE = 46, /* CBRACE */ 97 OPAREN = 47, /* OPAREN */ 98 CPAREN = 48, /* CPAREN */ 99 OBRACKET = 49, /* OBRACKET */ 100 CBRACKET = 50, /* CBRACKET */ 101 DOT = 51, /* DOT */ 102 COMMA = 52, /* COMMA */ 103 SEMI = 53, /* SEMI */ 104 EXCLAM = 54, /* EXCLAM */ 105 INVERT = 55, /* INVERT */ 106 STRING = 60, /* STRING */ 107 INTEGER = 61, /* INTEGER */ 108 FLOAT = 62, /* FLOAT */ 109 IDENT = 63, /* IDENT */ 110 KEYNAME = 64, /* KEYNAME */ 111 PARTIAL = 70, /* PARTIAL */ 112 DEFAULT = 71, /* DEFAULT */ 113 HIDDEN = 72, /* HIDDEN */ 114 ALPHANUMERIC_KEYS = 73, /* ALPHANUMERIC_KEYS */ 115 MODIFIER_KEYS = 74, /* MODIFIER_KEYS */ 116 KEYPAD_KEYS = 75, /* KEYPAD_KEYS */ 117 FUNCTION_KEYS = 76, /* FUNCTION_KEYS */ 118 ALTERNATE_GROUP = 77 /* ALTERNATE_GROUP */ 119 }; 120 typedef enum yytokentype yytoken_kind_t; 121 #endif 122 123 /* Value type. */ 124 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 125 union YYSTYPE 126 { 127 #line 164 "../src/xkbcomp/parser.y" 128 129 int64_t num; 130 enum xkb_file_type file_type; 131 char *str; 132 xkb_atom_t atom; 133 enum merge_mode merge; 134 enum xkb_map_flags mapFlags; 135 xkb_keysym_t keysym; 136 ParseCommon *any; 137 struct { ParseCommon *head; ParseCommon *last; } anyList; 138 ExprDef *expr; 139 struct { ExprDef *head; ExprDef *last; } exprList; 140 VarDef *var; 141 struct { VarDef *head; VarDef *last; } varList; 142 VModDef *vmod; 143 struct { VModDef *head; VModDef *last; } vmodList; 144 InterpDef *interp; 145 KeyTypeDef *keyType; 146 SymbolsDef *syms; 147 ModMapDef *modMask; 148 GroupCompatDef *groupCompat; 149 LedMapDef *ledMap; 150 LedNameDef *ledName; 151 KeycodeDef *keyCode; 152 KeyAliasDef *keyAlias; 153 void *geom; 154 XkbFile *file; 155 struct { XkbFile *head; XkbFile *last; } fileList; 156 157 #line 158 "libxkbcommon.so.0.0.0.p/parser.h" 158 159 }; 160 typedef union YYSTYPE YYSTYPE; 161 # define YYSTYPE_IS_TRIVIAL 1 162 # define YYSTYPE_IS_DECLARED 1 163 #endif 164 165 166 167 168 int _xkbcommon_parse (struct parser_param *param); 169 170 171 #endif /* !YY__XKBCOMMON_LIBXKBCOMMON_SO_0_0_0_P_PARSER_H_INCLUDED */ 172