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