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