xkbparse.c revision c82dfdfb
1c82dfdfbSmrg/* A Bison parser, made by GNU Bison 2.6.4.  */
2f46a6179Smrg
3c82dfdfbSmrg/* Bison implementation for Yacc-like parsers in C
4c82dfdfbSmrg
5c82dfdfbSmrg      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6c82dfdfbSmrg
7c82dfdfbSmrg   This program is free software: you can redistribute it and/or modify
8690143ccSmrg   it under the terms of the GNU General Public License as published by
9c82dfdfbSmrg   the Free Software Foundation, either version 3 of the License, or
10c82dfdfbSmrg   (at your option) any later version.
11c82dfdfbSmrg
12690143ccSmrg   This program is distributed in the hope that it will be useful,
13690143ccSmrg   but WITHOUT ANY WARRANTY; without even the implied warranty of
14690143ccSmrg   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15690143ccSmrg   GNU General Public License for more details.
16c82dfdfbSmrg
17690143ccSmrg   You should have received a copy of the GNU General Public License
18c82dfdfbSmrg   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19f46a6179Smrg
20690143ccSmrg/* As a special exception, you may create a larger work that contains
21690143ccSmrg   part or all of the Bison parser skeleton and distribute that work
22690143ccSmrg   under terms of your choice, so long as that work isn't itself a
23690143ccSmrg   parser generator using the skeleton or a modified version thereof
24690143ccSmrg   as a parser skeleton.  Alternatively, if you modify or redistribute
25690143ccSmrg   the parser skeleton itself, you may (at your option) remove this
26690143ccSmrg   special exception, which will cause the skeleton and the resulting
27690143ccSmrg   Bison output files to be licensed under the GNU General Public
28690143ccSmrg   License without this special exception.
29c82dfdfbSmrg
30690143ccSmrg   This special exception was added by the Free Software Foundation in
31690143ccSmrg   version 2.2 of Bison.  */
32f46a6179Smrg
33690143ccSmrg/* C LALR(1) parser skeleton written by Richard Stallman, by
34690143ccSmrg   simplifying the original so-called "semantic" parser.  */
35690143ccSmrg
36690143ccSmrg/* All symbols defined below should begin with yy or YY, to avoid
37690143ccSmrg   infringing on user name space.  This should be done even for local
38690143ccSmrg   variables, as they might otherwise be expanded by user macros.
39690143ccSmrg   There are some unavoidable exceptions within include files to
40690143ccSmrg   define necessary library symbols; they are noted "INFRINGES ON
41690143ccSmrg   USER NAME SPACE" below.  */
42690143ccSmrg
43690143ccSmrg/* Identify Bison output.  */
44690143ccSmrg#define YYBISON 1
45690143ccSmrg
46690143ccSmrg/* Bison version.  */
47c82dfdfbSmrg#define YYBISON_VERSION "2.6.4"
48690143ccSmrg
49690143ccSmrg/* Skeleton name.  */
50690143ccSmrg#define YYSKELETON_NAME "yacc.c"
51690143ccSmrg
52690143ccSmrg/* Pure parsers.  */
53690143ccSmrg#define YYPURE 0
54690143ccSmrg
55c82dfdfbSmrg/* Push parsers.  */
56c82dfdfbSmrg#define YYPUSH 0
57c82dfdfbSmrg
58c82dfdfbSmrg/* Pull parsers.  */
59c82dfdfbSmrg#define YYPULL 1
60c82dfdfbSmrg
61c82dfdfbSmrg
62c82dfdfbSmrg
63c82dfdfbSmrg
64c82dfdfbSmrg/* Copy the first part of user declarations.  */
65c82dfdfbSmrg/* Line 358 of yacc.c  */
66c82dfdfbSmrg#line 91 "xkbparse.y"
67c82dfdfbSmrg
68c82dfdfbSmrg#ifdef DEBUG
69c82dfdfbSmrg#define	YYDEBUG 1
70c82dfdfbSmrg#endif
71c82dfdfbSmrg#define	DEBUG_VAR parseDebug
72c82dfdfbSmrg#include "parseutils.h"
73c82dfdfbSmrg#include <X11/keysym.h>
74c82dfdfbSmrg#include <X11/extensions/XKBgeom.h>
75c82dfdfbSmrg#include <stdlib.h>
76c82dfdfbSmrg
77c82dfdfbSmrgunsigned int parseDebug;
78c82dfdfbSmrg
79c82dfdfbSmrg
80c82dfdfbSmrg/* Line 358 of yacc.c  */
81c82dfdfbSmrg#line 82 "xkbparse.c"
82c82dfdfbSmrg
83c82dfdfbSmrg# ifndef YY_NULL
84c82dfdfbSmrg#  if defined __cplusplus && 201103L <= __cplusplus
85c82dfdfbSmrg#   define YY_NULL nullptr
86c82dfdfbSmrg#  else
87c82dfdfbSmrg#   define YY_NULL 0
88c82dfdfbSmrg#  endif
89c82dfdfbSmrg# endif
90c82dfdfbSmrg
91c82dfdfbSmrg/* Enabling verbose error messages.  */
92c82dfdfbSmrg#ifdef YYERROR_VERBOSE
93c82dfdfbSmrg# undef YYERROR_VERBOSE
94c82dfdfbSmrg# define YYERROR_VERBOSE 1
95c82dfdfbSmrg#else
96c82dfdfbSmrg# define YYERROR_VERBOSE 0
97c82dfdfbSmrg#endif
98f46a6179Smrg
99f46a6179Smrg
100c82dfdfbSmrg/* Enabling traces.  */
101c82dfdfbSmrg#ifndef YYDEBUG
102c82dfdfbSmrg# define YYDEBUG 0
103c82dfdfbSmrg#endif
104c82dfdfbSmrg#if YYDEBUG
105c82dfdfbSmrgextern int yydebug;
106c82dfdfbSmrg#endif
107f46a6179Smrg
108690143ccSmrg/* Tokens.  */
109690143ccSmrg#ifndef YYTOKENTYPE
110690143ccSmrg# define YYTOKENTYPE
111690143ccSmrg   /* Put the tokens into the symbol table, so that GDB and other debuggers
112690143ccSmrg      know about them.  */
113690143ccSmrg   enum yytokentype {
114690143ccSmrg     END_OF_FILE = 0,
115690143ccSmrg     ERROR_TOK = 255,
116690143ccSmrg     XKB_KEYMAP = 1,
117690143ccSmrg     XKB_KEYCODES = 2,
118690143ccSmrg     XKB_TYPES = 3,
119690143ccSmrg     XKB_SYMBOLS = 4,
120690143ccSmrg     XKB_COMPATMAP = 5,
121690143ccSmrg     XKB_GEOMETRY = 6,
122690143ccSmrg     XKB_SEMANTICS = 7,
123690143ccSmrg     XKB_LAYOUT = 8,
124690143ccSmrg     INCLUDE = 10,
125690143ccSmrg     OVERRIDE = 11,
126690143ccSmrg     AUGMENT = 12,
127690143ccSmrg     REPLACE = 13,
128690143ccSmrg     ALTERNATE = 14,
129690143ccSmrg     VIRTUAL_MODS = 20,
130690143ccSmrg     TYPE = 21,
131690143ccSmrg     INTERPRET = 22,
132690143ccSmrg     ACTION_TOK = 23,
133690143ccSmrg     KEY = 24,
134690143ccSmrg     ALIAS = 25,
135690143ccSmrg     GROUP = 26,
136690143ccSmrg     MODIFIER_MAP = 27,
137690143ccSmrg     INDICATOR = 28,
138690143ccSmrg     SHAPE = 29,
139690143ccSmrg     KEYS = 30,
140690143ccSmrg     ROW = 31,
141690143ccSmrg     SECTION = 32,
142690143ccSmrg     OVERLAY = 33,
143690143ccSmrg     TEXT = 34,
144690143ccSmrg     OUTLINE = 35,
145690143ccSmrg     SOLID = 36,
146690143ccSmrg     LOGO = 37,
147690143ccSmrg     VIRTUAL = 38,
148690143ccSmrg     EQUALS = 40,
149690143ccSmrg     PLUS = 41,
150690143ccSmrg     MINUS = 42,
151690143ccSmrg     DIVIDE = 43,
152690143ccSmrg     TIMES = 44,
153690143ccSmrg     OBRACE = 45,
154690143ccSmrg     CBRACE = 46,
155690143ccSmrg     OPAREN = 47,
156690143ccSmrg     CPAREN = 48,
157690143ccSmrg     OBRACKET = 49,
158690143ccSmrg     CBRACKET = 50,
159690143ccSmrg     DOT = 51,
160690143ccSmrg     COMMA = 52,
161690143ccSmrg     SEMI = 53,
162690143ccSmrg     EXCLAM = 54,
163690143ccSmrg     INVERT = 55,
164690143ccSmrg     STRING = 60,
165690143ccSmrg     INTEGER = 61,
166690143ccSmrg     FLOAT = 62,
167690143ccSmrg     IDENT = 63,
168690143ccSmrg     KEYNAME = 64,
169690143ccSmrg     PARTIAL = 70,
170690143ccSmrg     DEFAULT = 71,
171690143ccSmrg     HIDDEN = 72,
172690143ccSmrg     ALPHANUMERIC_KEYS = 73,
173690143ccSmrg     MODIFIER_KEYS = 74,
174690143ccSmrg     KEYPAD_KEYS = 75,
175690143ccSmrg     FUNCTION_KEYS = 76,
176690143ccSmrg     ALTERNATE_GROUP = 77
177690143ccSmrg   };
178690143ccSmrg#endif
179690143ccSmrg/* Tokens.  */
180f46a6179Smrg#define END_OF_FILE 0
181f46a6179Smrg#define ERROR_TOK 255
182f46a6179Smrg#define XKB_KEYMAP 1
183f46a6179Smrg#define XKB_KEYCODES 2
184f46a6179Smrg#define XKB_TYPES 3
185f46a6179Smrg#define XKB_SYMBOLS 4
186f46a6179Smrg#define XKB_COMPATMAP 5
187f46a6179Smrg#define XKB_GEOMETRY 6
188f46a6179Smrg#define XKB_SEMANTICS 7
189f46a6179Smrg#define XKB_LAYOUT 8
190f46a6179Smrg#define INCLUDE 10
191f46a6179Smrg#define OVERRIDE 11
192f46a6179Smrg#define AUGMENT 12
193f46a6179Smrg#define REPLACE 13
194f46a6179Smrg#define ALTERNATE 14
195f46a6179Smrg#define VIRTUAL_MODS 20
196f46a6179Smrg#define TYPE 21
197f46a6179Smrg#define INTERPRET 22
198f46a6179Smrg#define ACTION_TOK 23
199f46a6179Smrg#define KEY 24
200f46a6179Smrg#define ALIAS 25
201f46a6179Smrg#define GROUP 26
202f46a6179Smrg#define MODIFIER_MAP 27
203f46a6179Smrg#define INDICATOR 28
204f46a6179Smrg#define SHAPE 29
205f46a6179Smrg#define KEYS 30
206f46a6179Smrg#define ROW 31
207f46a6179Smrg#define SECTION 32
208f46a6179Smrg#define OVERLAY 33
209f46a6179Smrg#define TEXT 34
210f46a6179Smrg#define OUTLINE 35
211f46a6179Smrg#define SOLID 36
212f46a6179Smrg#define LOGO 37
213f46a6179Smrg#define VIRTUAL 38
214f46a6179Smrg#define EQUALS 40
215f46a6179Smrg#define PLUS 41
216f46a6179Smrg#define MINUS 42
217f46a6179Smrg#define DIVIDE 43
218f46a6179Smrg#define TIMES 44
219f46a6179Smrg#define OBRACE 45
220f46a6179Smrg#define CBRACE 46
221f46a6179Smrg#define OPAREN 47
222f46a6179Smrg#define CPAREN 48
223f46a6179Smrg#define OBRACKET 49
224f46a6179Smrg#define CBRACKET 50
225f46a6179Smrg#define DOT 51
226f46a6179Smrg#define COMMA 52
227f46a6179Smrg#define SEMI 53
228f46a6179Smrg#define EXCLAM 54
229f46a6179Smrg#define INVERT 55
230f46a6179Smrg#define STRING 60
231f46a6179Smrg#define INTEGER 61
232f46a6179Smrg#define FLOAT 62
233f46a6179Smrg#define IDENT 63
234f46a6179Smrg#define KEYNAME 64
235f46a6179Smrg#define PARTIAL 70
236f46a6179Smrg#define DEFAULT 71
237f46a6179Smrg#define HIDDEN 72
238f46a6179Smrg#define ALPHANUMERIC_KEYS 73
239f46a6179Smrg#define MODIFIER_KEYS 74
240f46a6179Smrg#define KEYPAD_KEYS 75
241f46a6179Smrg#define FUNCTION_KEYS 76
242f46a6179Smrg#define ALTERNATE_GROUP 77
243690143ccSmrg
244690143ccSmrg
245690143ccSmrg
246690143ccSmrg#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
247690143ccSmrgtypedef union YYSTYPE
2481d8c7986Smrg{
249c82dfdfbSmrg/* Line 374 of yacc.c  */
250c82dfdfbSmrg#line 110 "xkbparse.y"
251c82dfdfbSmrg
252690143ccSmrg	int		 ival;
253690143ccSmrg	unsigned	 uval;
254690143ccSmrg	char		*str;
255690143ccSmrg	Atom	 	sval;
256690143ccSmrg	ParseCommon	*any;
257690143ccSmrg	ExprDef		*expr;
258690143ccSmrg	VarDef		*var;
259690143ccSmrg	VModDef		*vmod;
260690143ccSmrg	InterpDef	*interp;
261690143ccSmrg	KeyTypeDef	*keyType;
262690143ccSmrg	SymbolsDef	*syms;
263690143ccSmrg	ModMapDef	*modMask;
264690143ccSmrg	GroupCompatDef	*groupCompat;
265690143ccSmrg	IndicatorMapDef	*ledMap;
266690143ccSmrg	IndicatorNameDef *ledName;
267690143ccSmrg	KeycodeDef	*keyName;
268690143ccSmrg	KeyAliasDef	*keyAlias;
269690143ccSmrg	ShapeDef	*shape;
270690143ccSmrg	SectionDef	*section;
271690143ccSmrg	RowDef		*row;
272690143ccSmrg	KeyDef		*key;
273690143ccSmrg	OverlayDef	*overlay;
274690143ccSmrg	OverlayKeyDef	*olKey;
275690143ccSmrg	OutlineDef	*outline;
276690143ccSmrg	DoodadDef	*doodad;
277690143ccSmrg	XkbFile		*file;
278c82dfdfbSmrg
279c82dfdfbSmrg
280c82dfdfbSmrg/* Line 374 of yacc.c  */
281c82dfdfbSmrg#line 282 "xkbparse.c"
282c82dfdfbSmrg} YYSTYPE;
283c82dfdfbSmrg# define YYSTYPE_IS_TRIVIAL 1
284690143ccSmrg# define yystype YYSTYPE /* obsolescent; will be withdrawn */
285690143ccSmrg# define YYSTYPE_IS_DECLARED 1
286690143ccSmrg#endif
287690143ccSmrg
288c82dfdfbSmrgextern YYSTYPE yylval;
289690143ccSmrg
290c82dfdfbSmrg#ifdef YYPARSE_PARAM
291c82dfdfbSmrg#if defined __STDC__ || defined __cplusplus
292c82dfdfbSmrgint yyparse (void *YYPARSE_PARAM);
293c82dfdfbSmrg#else
294c82dfdfbSmrgint yyparse ();
295c82dfdfbSmrg#endif
296c82dfdfbSmrg#else /* ! YYPARSE_PARAM */
297c82dfdfbSmrg#if defined __STDC__ || defined __cplusplus
298c82dfdfbSmrgint yyparse (void);
299c82dfdfbSmrg#else
300c82dfdfbSmrgint yyparse ();
301c82dfdfbSmrg#endif
302c82dfdfbSmrg#endif /* ! YYPARSE_PARAM */
3031d8c7986Smrg
304690143ccSmrg
305690143ccSmrg
306c82dfdfbSmrg/* Copy the second part of user declarations.  */
307c82dfdfbSmrg
308c82dfdfbSmrg/* Line 377 of yacc.c  */
309c82dfdfbSmrg#line 310 "xkbparse.c"
310690143ccSmrg
311690143ccSmrg#ifdef short
312690143ccSmrg# undef short
313690143ccSmrg#endif
314690143ccSmrg
315690143ccSmrg#ifdef YYTYPE_UINT8
316690143ccSmrgtypedef YYTYPE_UINT8 yytype_uint8;
317690143ccSmrg#else
318690143ccSmrgtypedef unsigned char yytype_uint8;
319690143ccSmrg#endif
320690143ccSmrg
321690143ccSmrg#ifdef YYTYPE_INT8
322690143ccSmrgtypedef YYTYPE_INT8 yytype_int8;
323690143ccSmrg#elif (defined __STDC__ || defined __C99__FUNC__ \
324690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
325690143ccSmrgtypedef signed char yytype_int8;
326690143ccSmrg#else
327690143ccSmrgtypedef short int yytype_int8;
328690143ccSmrg#endif
329690143ccSmrg
330690143ccSmrg#ifdef YYTYPE_UINT16
331690143ccSmrgtypedef YYTYPE_UINT16 yytype_uint16;
332690143ccSmrg#else
333690143ccSmrgtypedef unsigned short int yytype_uint16;
334690143ccSmrg#endif
335690143ccSmrg
336690143ccSmrg#ifdef YYTYPE_INT16
337690143ccSmrgtypedef YYTYPE_INT16 yytype_int16;
338690143ccSmrg#else
339690143ccSmrgtypedef short int yytype_int16;
340690143ccSmrg#endif
341690143ccSmrg
342690143ccSmrg#ifndef YYSIZE_T
343690143ccSmrg# ifdef __SIZE_TYPE__
344690143ccSmrg#  define YYSIZE_T __SIZE_TYPE__
345690143ccSmrg# elif defined size_t
346690143ccSmrg#  define YYSIZE_T size_t
347690143ccSmrg# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
348690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
349690143ccSmrg#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
350690143ccSmrg#  define YYSIZE_T size_t
351690143ccSmrg# else
352690143ccSmrg#  define YYSIZE_T unsigned int
353690143ccSmrg# endif
354690143ccSmrg#endif
355690143ccSmrg
356690143ccSmrg#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
357690143ccSmrg
358690143ccSmrg#ifndef YY_
359c82dfdfbSmrg# if defined YYENABLE_NLS && YYENABLE_NLS
360690143ccSmrg#  if ENABLE_NLS
361690143ccSmrg#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
362c82dfdfbSmrg#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
363690143ccSmrg#  endif
364690143ccSmrg# endif
365690143ccSmrg# ifndef YY_
366c82dfdfbSmrg#  define YY_(Msgid) Msgid
367690143ccSmrg# endif
368690143ccSmrg#endif
369690143ccSmrg
370690143ccSmrg/* Suppress unused-variable warnings by "using" E.  */
371690143ccSmrg#if ! defined lint || defined __GNUC__
372c82dfdfbSmrg# define YYUSE(E) ((void) (E))
373690143ccSmrg#else
374c82dfdfbSmrg# define YYUSE(E) /* empty */
375690143ccSmrg#endif
376690143ccSmrg
377690143ccSmrg/* Identity function, used to suppress warnings about constant conditions.  */
378690143ccSmrg#ifndef lint
379c82dfdfbSmrg# define YYID(N) (N)
380690143ccSmrg#else
381690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
382690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
383690143ccSmrgstatic int
384c82dfdfbSmrgYYID (int yyi)
385690143ccSmrg#else
386690143ccSmrgstatic int
387c82dfdfbSmrgYYID (yyi)
388c82dfdfbSmrg    int yyi;
389690143ccSmrg#endif
390690143ccSmrg{
391c82dfdfbSmrg  return yyi;
392690143ccSmrg}
393690143ccSmrg#endif
394690143ccSmrg
395690143ccSmrg#if ! defined yyoverflow || YYERROR_VERBOSE
396690143ccSmrg
397690143ccSmrg/* The parser invokes alloca or malloc; define the necessary symbols.  */
398690143ccSmrg
399690143ccSmrg# ifdef YYSTACK_USE_ALLOCA
400690143ccSmrg#  if YYSTACK_USE_ALLOCA
401690143ccSmrg#   ifdef __GNUC__
402690143ccSmrg#    define YYSTACK_ALLOC __builtin_alloca
403690143ccSmrg#   elif defined __BUILTIN_VA_ARG_INCR
404690143ccSmrg#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
405690143ccSmrg#   elif defined _AIX
406690143ccSmrg#    define YYSTACK_ALLOC __alloca
407690143ccSmrg#   elif defined _MSC_VER
408690143ccSmrg#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
409690143ccSmrg#    define alloca _alloca
410690143ccSmrg#   else
411690143ccSmrg#    define YYSTACK_ALLOC alloca
412c82dfdfbSmrg#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
413690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
414690143ccSmrg#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
415c82dfdfbSmrg      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
416c82dfdfbSmrg#     ifndef EXIT_SUCCESS
417c82dfdfbSmrg#      define EXIT_SUCCESS 0
418690143ccSmrg#     endif
419690143ccSmrg#    endif
420690143ccSmrg#   endif
421690143ccSmrg#  endif
422690143ccSmrg# endif
423690143ccSmrg
424690143ccSmrg# ifdef YYSTACK_ALLOC
425690143ccSmrg   /* Pacify GCC's `empty if-body' warning.  */
426690143ccSmrg#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
427690143ccSmrg#  ifndef YYSTACK_ALLOC_MAXIMUM
428690143ccSmrg    /* The OS might guarantee only one guard page at the bottom of the stack,
429690143ccSmrg       and a page size can be as small as 4096 bytes.  So we cannot safely
430690143ccSmrg       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
431690143ccSmrg       to allow for a few compiler-allocated temporary stack slots.  */
432690143ccSmrg#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
433690143ccSmrg#  endif
434690143ccSmrg# else
435690143ccSmrg#  define YYSTACK_ALLOC YYMALLOC
436690143ccSmrg#  define YYSTACK_FREE YYFREE
437690143ccSmrg#  ifndef YYSTACK_ALLOC_MAXIMUM
438690143ccSmrg#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
439690143ccSmrg#  endif
440c82dfdfbSmrg#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
441690143ccSmrg       && ! ((defined YYMALLOC || defined malloc) \
442690143ccSmrg	     && (defined YYFREE || defined free)))
443690143ccSmrg#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
444c82dfdfbSmrg#   ifndef EXIT_SUCCESS
445c82dfdfbSmrg#    define EXIT_SUCCESS 0
446690143ccSmrg#   endif
447690143ccSmrg#  endif
448690143ccSmrg#  ifndef YYMALLOC
449690143ccSmrg#   define YYMALLOC malloc
450c82dfdfbSmrg#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
451690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
452690143ccSmrgvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
453690143ccSmrg#   endif
454690143ccSmrg#  endif
455690143ccSmrg#  ifndef YYFREE
456690143ccSmrg#   define YYFREE free
457c82dfdfbSmrg#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
458690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
459690143ccSmrgvoid free (void *); /* INFRINGES ON USER NAME SPACE */
460690143ccSmrg#   endif
461690143ccSmrg#  endif
462690143ccSmrg# endif
463690143ccSmrg#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
464690143ccSmrg
465690143ccSmrg
466690143ccSmrg#if (! defined yyoverflow \
467690143ccSmrg     && (! defined __cplusplus \
468690143ccSmrg	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
469690143ccSmrg
470690143ccSmrg/* A type that is properly aligned for any stack member.  */
471690143ccSmrgunion yyalloc
472690143ccSmrg{
473c82dfdfbSmrg  yytype_int16 yyss_alloc;
474c82dfdfbSmrg  YYSTYPE yyvs_alloc;
475c82dfdfbSmrg};
476690143ccSmrg
477690143ccSmrg/* The size of the maximum gap between one aligned stack and the next.  */
478690143ccSmrg# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
479690143ccSmrg
480690143ccSmrg/* The size of an array large to enough to hold all stacks, each with
481690143ccSmrg   N elements.  */
482690143ccSmrg# define YYSTACK_BYTES(N) \
483690143ccSmrg     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
484690143ccSmrg      + YYSTACK_GAP_MAXIMUM)
485690143ccSmrg
486c82dfdfbSmrg# define YYCOPY_NEEDED 1
487690143ccSmrg
488690143ccSmrg/* Relocate STACK from its old location to the new one.  The
489690143ccSmrg   local variables YYSIZE and YYSTACKSIZE give the old and new number of
490690143ccSmrg   elements in the stack, and YYPTR gives the new location of the
491690143ccSmrg   stack.  Advance YYPTR to a properly aligned location for the next
492690143ccSmrg   stack.  */
493c82dfdfbSmrg# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
494690143ccSmrg    do									\
495690143ccSmrg      {									\
496690143ccSmrg	YYSIZE_T yynewbytes;						\
497c82dfdfbSmrg	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
498c82dfdfbSmrg	Stack = &yyptr->Stack_alloc;					\
499690143ccSmrg	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
500690143ccSmrg	yyptr += yynewbytes / sizeof (*yyptr);				\
501690143ccSmrg      }									\
502690143ccSmrg    while (YYID (0))
503690143ccSmrg
504690143ccSmrg#endif
505690143ccSmrg
506c82dfdfbSmrg#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
507c82dfdfbSmrg/* Copy COUNT objects from SRC to DST.  The source and destination do
508c82dfdfbSmrg   not overlap.  */
509c82dfdfbSmrg# ifndef YYCOPY
510c82dfdfbSmrg#  if defined __GNUC__ && 1 < __GNUC__
511c82dfdfbSmrg#   define YYCOPY(Dst, Src, Count) \
512c82dfdfbSmrg      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
513c82dfdfbSmrg#  else
514c82dfdfbSmrg#   define YYCOPY(Dst, Src, Count)              \
515c82dfdfbSmrg      do                                        \
516c82dfdfbSmrg        {                                       \
517c82dfdfbSmrg          YYSIZE_T yyi;                         \
518c82dfdfbSmrg          for (yyi = 0; yyi < (Count); yyi++)   \
519c82dfdfbSmrg            (Dst)[yyi] = (Src)[yyi];            \
520c82dfdfbSmrg        }                                       \
521c82dfdfbSmrg      while (YYID (0))
522c82dfdfbSmrg#  endif
523c82dfdfbSmrg# endif
524c82dfdfbSmrg#endif /* !YYCOPY_NEEDED */
525c82dfdfbSmrg
526690143ccSmrg/* YYFINAL -- State number of the termination state.  */
527690143ccSmrg#define YYFINAL  18
528690143ccSmrg/* YYLAST -- Last index in YYTABLE.  */
529c82dfdfbSmrg#define YYLAST   747
530690143ccSmrg
531690143ccSmrg/* YYNTOKENS -- Number of terminals.  */
532690143ccSmrg#define YYNTOKENS  65
533690143ccSmrg/* YYNNTS -- Number of nonterminals.  */
534c82dfdfbSmrg#define YYNNTS  74
535690143ccSmrg/* YYNRULES -- Number of rules.  */
536c82dfdfbSmrg#define YYNRULES  187
537690143ccSmrg/* YYNRULES -- Number of states.  */
538c82dfdfbSmrg#define YYNSTATES  340
539690143ccSmrg
540690143ccSmrg/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
541690143ccSmrg#define YYUNDEFTOK  2
542690143ccSmrg#define YYMAXUTOK   257
543690143ccSmrg
544690143ccSmrg#define YYTRANSLATE(YYX)						\
545690143ccSmrg  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
546690143ccSmrg
547690143ccSmrg/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
548690143ccSmrgstatic const yytype_uint8 yytranslate[] =
549690143ccSmrg{
550690143ccSmrg       0,     4,     5,     6,     7,     8,     9,    10,    11,     2,
551690143ccSmrg      12,    13,    14,    15,    16,     2,     2,     2,     2,     2,
552690143ccSmrg      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
553690143ccSmrg      27,    28,    29,    30,    31,    32,    33,    34,    35,     2,
554690143ccSmrg      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
555690143ccSmrg      46,    47,    48,    49,    50,    51,     2,     2,     2,     2,
556690143ccSmrg      52,    53,    54,    55,    56,     2,     2,     2,     2,     2,
557690143ccSmrg      57,    58,    59,    60,    61,    62,    63,    64,     2,     2,
558690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
559690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
560690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
561690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
562690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
563690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
564690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
565690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
566690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
567690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
568690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
569690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
570690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
571690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
572690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
573690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
574690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
575690143ccSmrg       2,     2,     2,     2,     2,     3,     1,     2
576690143ccSmrg};
577690143ccSmrg
578690143ccSmrg#if YYDEBUG
579690143ccSmrg/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
580690143ccSmrg   YYRHS.  */
581690143ccSmrgstatic const yytype_uint16 yyprhs[] =
582690143ccSmrg{
583690143ccSmrg       0,     0,     3,     5,     7,     9,    12,    14,    22,    24,
584690143ccSmrg      26,    28,    31,    33,    41,    46,    48,    50,    52,    54,
585690143ccSmrg      56,    58,    59,    62,    64,    66,    68,    70,    72,    74,
586690143ccSmrg      76,    78,    80,    83,    84,    87,    90,    93,    96,    99,
587690143ccSmrg     102,   105,   108,   111,   114,   117,   120,   123,   126,   129,
588690143ccSmrg     134,   137,   141,   146,   152,   156,   160,   162,   164,   168,
589690143ccSmrg     175,   179,   181,   184,   186,   193,   200,   204,   206,   207,
590690143ccSmrg     211,   215,   217,   220,   222,   226,   230,   236,   243,   250,
591690143ccSmrg     256,   263,   270,   277,   284,   287,   289,   295,   297,   299,
592690143ccSmrg     301,   303,   306,   308,   314,   316,   320,   322,   324,   328,
593690143ccSmrg     335,   339,   341,   345,   349,   351,   355,   361,   365,   369,
594690143ccSmrg     371,   377,   384,   386,   388,   390,   392,   394,   396,   398,
595690143ccSmrg     400,   402,   404,   406,   408,   410,   412,   414,   416,   418,
596690143ccSmrg     420,   421,   423,   425,   427,   429,   431,   433,   434,   438,
597690143ccSmrg     440,   444,   448,   452,   456,   460,   462,   465,   468,   471,
598690143ccSmrg     474,   476,   481,   483,   487,   491,   493,   498,   500,   504,
599c82dfdfbSmrg     509,   516,   518,   520,   522,   524,   526,   527,   531,   535,
600c82dfdfbSmrg     537,   539,   541,   543,   545,   549,   552,   554,   556,   558,
601c82dfdfbSmrg     560,   562,   564,   566,   568,   570,   572,   573
602690143ccSmrg};
603690143ccSmrg
604690143ccSmrg/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
605690143ccSmrgstatic const yytype_int16 yyrhs[] =
606690143ccSmrg{
607690143ccSmrg      66,     0,    -1,    67,    -1,    70,    -1,    72,    -1,    67,
608c82dfdfbSmrg      68,    -1,    68,    -1,    74,    69,   137,    41,    70,    42,
609690143ccSmrg      49,    -1,     4,    -1,    10,    -1,    11,    -1,    70,    71,
610c82dfdfbSmrg      -1,    71,    -1,    74,    73,   137,    41,    77,    42,    49,
611c82dfdfbSmrg      -1,    74,    73,   137,    77,    -1,     5,    -1,     6,    -1,
612690143ccSmrg       8,    -1,     7,    -1,     9,    -1,    75,    -1,    -1,    75,
613690143ccSmrg      76,    -1,    76,    -1,    57,    -1,    58,    -1,    59,    -1,
614690143ccSmrg      60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,
615690143ccSmrg      77,    78,    -1,    -1,   116,    79,    -1,   116,    82,    -1,
616690143ccSmrg     116,    85,    -1,   116,    80,    -1,   116,    81,    -1,   116,
617690143ccSmrg      88,    -1,   116,    89,    -1,   116,    94,    -1,   116,    93,
618690143ccSmrg      -1,   116,    95,    -1,   116,    96,    -1,   116,    97,    -1,
619690143ccSmrg     116,    98,    -1,   116,   112,    -1,   117,    52,    -1,   124,
620c82dfdfbSmrg      36,   120,    49,    -1,   135,    49,    -1,    50,   135,    49,
621c82dfdfbSmrg      -1,   134,    36,   120,    49,    -1,    22,   134,    36,   134,
622690143ccSmrg      49,    -1,    17,    83,    49,    -1,    83,    48,    84,    -1,
623c82dfdfbSmrg      84,    -1,   135,    -1,   135,    36,   120,    -1,    19,    86,
624690143ccSmrg      41,    87,    42,    49,    -1,   128,    37,   120,    -1,   128,
625c82dfdfbSmrg      -1,    87,    79,    -1,    79,    -1,    18,   136,    41,    87,
626c82dfdfbSmrg      42,    49,    -1,    21,   134,    41,    90,    42,    49,    -1,
627690143ccSmrg      90,    48,    91,    -1,    91,    -1,    -1,   124,    36,   120,
628c82dfdfbSmrg      -1,   124,    36,    92,    -1,   135,    -1,    50,   135,    -1,
629690143ccSmrg      92,    -1,    45,   126,    46,    -1,    45,   122,    46,    -1,
630c82dfdfbSmrg      23,   133,    36,   120,    49,    -1,    24,   135,    41,   119,
631c82dfdfbSmrg      42,    49,    -1,    25,   136,    41,    87,    42,    49,    -1,
632c82dfdfbSmrg      25,   133,    36,   120,    49,    -1,    35,    25,   133,    36,
633c82dfdfbSmrg     120,    49,    -1,    26,   136,    41,   108,    42,    49,    -1,
634c82dfdfbSmrg      26,   136,    41,   110,    42,    49,    -1,    29,   136,    41,
635690143ccSmrg      99,    42,    49,    -1,    99,   100,    -1,   100,    -1,    28,
636690143ccSmrg      41,   101,    42,    49,    -1,    79,    -1,   112,    -1,    95,
637690143ccSmrg      -1,   105,    -1,   101,   102,    -1,   102,    -1,    27,    41,
638690143ccSmrg     103,    42,    49,    -1,    79,    -1,   103,    48,   104,    -1,
639c82dfdfbSmrg     104,    -1,   134,    -1,    41,   119,    42,    -1,    30,   136,
640690143ccSmrg      41,   106,    42,    49,    -1,   106,    48,   107,    -1,   107,
641c82dfdfbSmrg      -1,   134,    36,   134,    -1,   108,    48,   109,    -1,   109,
642c82dfdfbSmrg      -1,    41,   110,    42,    -1,   135,    36,    41,   110,    42,
643c82dfdfbSmrg      -1,   135,    36,   120,    -1,   110,    48,   111,    -1,   111,
644c82dfdfbSmrg      -1,    45,   130,    48,   130,    46,    -1,   113,   136,    41,
645690143ccSmrg      87,    42,    49,    -1,    31,    -1,    32,    -1,    33,    -1,
646c82dfdfbSmrg      34,    -1,   135,    -1,   115,    -1,    20,    -1,    19,    -1,
647690143ccSmrg      18,    -1,    21,    -1,    23,    -1,    24,    -1,    25,    -1,
648690143ccSmrg      26,    -1,    28,    -1,    29,    -1,    31,    -1,   117,    -1,
649690143ccSmrg      -1,    12,    -1,    14,    -1,    13,    -1,    15,    -1,    16,
650690143ccSmrg      -1,   119,    -1,    -1,   119,    48,   120,    -1,   120,    -1,
651690143ccSmrg     120,    39,   120,    -1,   120,    37,   120,    -1,   120,    38,
652690143ccSmrg     120,    -1,   120,    40,   120,    -1,   124,    36,   120,    -1,
653690143ccSmrg     121,    -1,    38,   121,    -1,    37,   121,    -1,    50,   121,
654690143ccSmrg      -1,    51,   121,    -1,   124,    -1,   114,    43,   118,    44,
655690143ccSmrg      -1,   125,    -1,    43,   120,    44,    -1,   122,    48,   123,
656690143ccSmrg      -1,   123,    -1,   114,    43,   118,    44,    -1,   114,    -1,
657690143ccSmrg     114,    47,   114,    -1,   114,    45,   120,    46,    -1,   114,
658c82dfdfbSmrg      47,   114,    45,   120,    46,    -1,   136,    -1,   133,    -1,
659c82dfdfbSmrg     132,    -1,   134,    -1,   127,    -1,    -1,   127,    48,   128,
660c82dfdfbSmrg      -1,   127,    48,   129,    -1,   128,    -1,   129,    -1,    55,
661c82dfdfbSmrg      -1,    29,    -1,   133,    -1,    41,   127,    42,    -1,    38,
662c82dfdfbSmrg     131,    -1,   131,    -1,    54,    -1,    53,    -1,    54,    -1,
663690143ccSmrg      53,    -1,    56,    -1,    55,    -1,    58,    -1,    52,    -1,
664c82dfdfbSmrg     138,    -1,    -1,    52,    -1
665f46a6179Smrg};
666690143ccSmrg
667690143ccSmrg/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
668690143ccSmrgstatic const yytype_uint16 yyrline[] =
669690143ccSmrg{
670690143ccSmrg       0,   168,   168,   170,   172,   176,   178,   182,   188,   189,
671690143ccSmrg     190,   193,   195,   199,   205,   210,   211,   212,   213,   214,
672690143ccSmrg     217,   218,   221,   222,   225,   226,   227,   228,   229,   230,
673690143ccSmrg     231,   232,   235,   237,   240,   245,   250,   255,   260,   265,
674690143ccSmrg     270,   275,   280,   285,   290,   295,   300,   305,   310,   322,
675690143ccSmrg     324,   326,   330,   341,   351,   355,   357,   361,   363,   367,
676690143ccSmrg     376,   378,   382,   384,   388,   394,   400,   402,   404,   407,
677690143ccSmrg     409,   411,   413,   415,   419,   421,   425,   429,   433,   437,
678690143ccSmrg     439,   443,   445,   453,   457,   459,   463,   465,   467,   469,
679690143ccSmrg     471,   475,   477,   481,   483,   487,   489,   493,   495,   499,
680690143ccSmrg     503,   508,   512,   516,   518,   522,   524,   526,   530,   532,
681690143ccSmrg     536,   546,   550,   551,   552,   553,   556,   557,   560,   562,
682690143ccSmrg     564,   566,   568,   570,   572,   574,   576,   578,   580,   584,
683690143ccSmrg     585,   588,   589,   590,   591,   592,   595,   596,   599,   601,
684690143ccSmrg     605,   607,   609,   611,   613,   615,   619,   621,   623,   625,
685690143ccSmrg     627,   629,   631,   633,   637,   639,   643,   647,   654,   662,
686c82dfdfbSmrg     671,   682,   689,   696,   703,   714,   715,   718,   720,   722,
687c82dfdfbSmrg     724,   728,   729,   730,   737,   741,   742,   745,   746,   749,
688c82dfdfbSmrg     752,   755,   758,   759,   762,   765,   766,   769
689690143ccSmrg};
690690143ccSmrg#endif
691690143ccSmrg
692c82dfdfbSmrg#if YYDEBUG || YYERROR_VERBOSE || 0
693690143ccSmrg/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
694690143ccSmrg   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
695690143ccSmrgstatic const char *const yytname[] =
696690143ccSmrg{
697690143ccSmrg  "END_OF_FILE", "error", "$undefined", "ERROR_TOK", "XKB_KEYMAP",
698690143ccSmrg  "XKB_KEYCODES", "XKB_TYPES", "XKB_SYMBOLS", "XKB_COMPATMAP",
699690143ccSmrg  "XKB_GEOMETRY", "XKB_SEMANTICS", "XKB_LAYOUT", "INCLUDE", "OVERRIDE",
700690143ccSmrg  "AUGMENT", "REPLACE", "ALTERNATE", "VIRTUAL_MODS", "TYPE", "INTERPRET",
701690143ccSmrg  "ACTION_TOK", "KEY", "ALIAS", "GROUP", "MODIFIER_MAP", "INDICATOR",
702690143ccSmrg  "SHAPE", "KEYS", "ROW", "SECTION", "OVERLAY", "TEXT", "OUTLINE", "SOLID",
703690143ccSmrg  "LOGO", "VIRTUAL", "EQUALS", "PLUS", "MINUS", "DIVIDE", "TIMES",
704690143ccSmrg  "OBRACE", "CBRACE", "OPAREN", "CPAREN", "OBRACKET", "CBRACKET", "DOT",
705690143ccSmrg  "COMMA", "SEMI", "EXCLAM", "INVERT", "STRING", "INTEGER", "FLOAT",
706690143ccSmrg  "IDENT", "KEYNAME", "PARTIAL", "DEFAULT", "HIDDEN", "ALPHANUMERIC_KEYS",
707690143ccSmrg  "MODIFIER_KEYS", "KEYPAD_KEYS", "FUNCTION_KEYS", "ALTERNATE_GROUP",
708690143ccSmrg  "$accept", "XkbFile", "XkbCompMapList", "XkbCompositeMap",
709690143ccSmrg  "XkbCompositeType", "XkbMapConfigList", "XkbMapConfig", "XkbConfig",
710690143ccSmrg  "FileType", "OptFlags", "Flags", "Flag", "DeclList", "Decl", "VarDecl",
711690143ccSmrg  "KeyNameDecl", "KeyAliasDecl", "VModDecl", "VModDefList", "VModDef",
712690143ccSmrg  "InterpretDecl", "InterpretMatch", "VarDeclList", "KeyTypeDecl",
713690143ccSmrg  "SymbolsDecl", "SymbolsBody", "SymbolsVarDecl", "ArrayInit",
714690143ccSmrg  "GroupCompatDecl", "ModMapDecl", "IndicatorMapDecl", "IndicatorNameDecl",
715690143ccSmrg  "ShapeDecl", "SectionDecl", "SectionBody", "SectionBodyItem", "RowBody",
716690143ccSmrg  "RowBodyItem", "Keys", "Key", "OverlayDecl", "OverlayKeyList",
717690143ccSmrg  "OverlayKey", "OutlineList", "OutlineInList", "CoordList", "Coord",
718690143ccSmrg  "DoodadDecl", "DoodadType", "FieldSpec", "Element", "OptMergeMode",
719690143ccSmrg  "MergeMode", "OptExprList", "ExprList", "Expr", "Term", "ActionList",
720690143ccSmrg  "Action", "Lhs", "Terminal", "OptKeySymList", "KeySymList", "KeySym",
721c82dfdfbSmrg  "KeySyms", "SignedNumber", "Number", "Float", "Integer", "KeyName",
722c82dfdfbSmrg  "Ident", "String", "OptMapName", "MapName", YY_NULL
723690143ccSmrg};
724690143ccSmrg#endif
725690143ccSmrg
726690143ccSmrg# ifdef YYPRINT
727690143ccSmrg/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
728690143ccSmrg   token YYLEX-NUM.  */
729690143ccSmrgstatic const yytype_uint16 yytoknum[] =
730690143ccSmrg{
731690143ccSmrg       0,   256,   257,   255,     1,     2,     3,     4,     5,     6,
732690143ccSmrg       7,     8,    10,    11,    12,    13,    14,    20,    21,    22,
733690143ccSmrg      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
734690143ccSmrg      33,    34,    35,    36,    37,    38,    40,    41,    42,    43,
735690143ccSmrg      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
736690143ccSmrg      54,    55,    60,    61,    62,    63,    64,    70,    71,    72,
737690143ccSmrg      73,    74,    75,    76,    77
738f46a6179Smrg};
739690143ccSmrg# endif
740690143ccSmrg
741690143ccSmrg/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
742690143ccSmrgstatic const yytype_uint8 yyr1[] =
743690143ccSmrg{
744690143ccSmrg       0,    65,    66,    66,    66,    67,    67,    68,    69,    69,
745690143ccSmrg      69,    70,    70,    71,    72,    73,    73,    73,    73,    73,
746690143ccSmrg      74,    74,    75,    75,    76,    76,    76,    76,    76,    76,
747690143ccSmrg      76,    76,    77,    77,    78,    78,    78,    78,    78,    78,
748690143ccSmrg      78,    78,    78,    78,    78,    78,    78,    78,    78,    79,
749690143ccSmrg      79,    79,    80,    81,    82,    83,    83,    84,    84,    85,
750690143ccSmrg      86,    86,    87,    87,    88,    89,    90,    90,    90,    91,
751690143ccSmrg      91,    91,    91,    91,    92,    92,    93,    94,    95,    96,
752690143ccSmrg      96,    97,    97,    98,    99,    99,   100,   100,   100,   100,
753690143ccSmrg     100,   101,   101,   102,   102,   103,   103,   104,   104,   105,
754690143ccSmrg     106,   106,   107,   108,   108,   109,   109,   109,   110,   110,
755690143ccSmrg     111,   112,   113,   113,   113,   113,   114,   114,   115,   115,
756690143ccSmrg     115,   115,   115,   115,   115,   115,   115,   115,   115,   116,
757690143ccSmrg     116,   117,   117,   117,   117,   117,   118,   118,   119,   119,
758690143ccSmrg     120,   120,   120,   120,   120,   120,   121,   121,   121,   121,
759690143ccSmrg     121,   121,   121,   121,   122,   122,   123,   124,   124,   124,
760c82dfdfbSmrg     124,   125,   125,   125,   125,   126,   126,   127,   127,   127,
761c82dfdfbSmrg     127,   128,   128,   128,   129,   130,   130,   131,   131,   132,
762c82dfdfbSmrg     133,   134,   135,   135,   136,   137,   137,   138
763f46a6179Smrg};
764690143ccSmrg
765690143ccSmrg/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
766690143ccSmrgstatic const yytype_uint8 yyr2[] =
767690143ccSmrg{
768690143ccSmrg       0,     2,     1,     1,     1,     2,     1,     7,     1,     1,
769690143ccSmrg       1,     2,     1,     7,     4,     1,     1,     1,     1,     1,
770690143ccSmrg       1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
771690143ccSmrg       1,     1,     2,     0,     2,     2,     2,     2,     2,     2,
772690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     4,
773690143ccSmrg       2,     3,     4,     5,     3,     3,     1,     1,     3,     6,
774690143ccSmrg       3,     1,     2,     1,     6,     6,     3,     1,     0,     3,
775690143ccSmrg       3,     1,     2,     1,     3,     3,     5,     6,     6,     5,
776690143ccSmrg       6,     6,     6,     6,     2,     1,     5,     1,     1,     1,
777690143ccSmrg       1,     2,     1,     5,     1,     3,     1,     1,     3,     6,
778690143ccSmrg       3,     1,     3,     3,     1,     3,     5,     3,     3,     1,
779690143ccSmrg       5,     6,     1,     1,     1,     1,     1,     1,     1,     1,
780690143ccSmrg       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
781690143ccSmrg       0,     1,     1,     1,     1,     1,     1,     0,     3,     1,
782690143ccSmrg       3,     3,     3,     3,     3,     1,     2,     2,     2,     2,
783690143ccSmrg       1,     4,     1,     3,     3,     1,     4,     1,     3,     4,
784c82dfdfbSmrg       6,     1,     1,     1,     1,     1,     0,     3,     3,     1,
785c82dfdfbSmrg       1,     1,     1,     1,     3,     2,     1,     1,     1,     1,
786c82dfdfbSmrg       1,     1,     1,     1,     1,     1,     0,     1
787f46a6179Smrg};
788690143ccSmrg
789c82dfdfbSmrg/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
790c82dfdfbSmrg   Performed when YYTABLE doesn't specify something else to do.  Zero
791690143ccSmrg   means the default is an error.  */
792690143ccSmrgstatic const yytype_uint8 yydefact[] =
793690143ccSmrg{
794690143ccSmrg      21,    24,    25,    26,    27,    28,    29,    30,    31,     0,
795690143ccSmrg      21,     6,    21,    12,     4,     0,    20,    23,     1,     5,
796690143ccSmrg       0,    11,     0,     8,    15,    16,    18,    17,    19,     9,
797c82dfdfbSmrg      10,   186,   186,    22,   186,   187,     0,   185,    33,     0,
798690143ccSmrg      21,    33,   130,    21,   130,   131,   133,   132,   134,   135,
799690143ccSmrg      32,     0,   129,     0,     0,     0,   120,   119,   118,   121,
800690143ccSmrg       0,   122,   123,   124,   125,   126,   127,   128,   113,   114,
801c82dfdfbSmrg     115,     0,     0,   182,   181,   183,    34,    37,    38,    35,
802690143ccSmrg      36,    39,    40,    42,    41,    43,    44,    45,    46,    47,
803690143ccSmrg       0,   157,   117,     0,     0,   116,    48,     7,    13,     0,
804c82dfdfbSmrg      56,    57,   184,     0,   172,   180,   171,     0,    61,   173,
805690143ccSmrg       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
806690143ccSmrg       0,     0,     0,     0,     0,    50,     0,    54,     0,     0,
807690143ccSmrg       0,     0,    68,     0,     0,     0,     0,     0,     0,     0,
808690143ccSmrg       0,    51,     0,   120,   119,   121,   122,   123,   124,   125,
809c82dfdfbSmrg     127,   128,     0,     0,     0,     0,     0,   179,   157,     0,
810690143ccSmrg     145,   150,   152,   163,   162,   164,   116,   161,   158,     0,
811690143ccSmrg       0,    55,    58,    63,     0,     0,    60,   166,     0,     0,
812690143ccSmrg      67,    73,     0,   116,     0,     0,     0,   139,     0,     0,
813690143ccSmrg       0,     0,     0,   104,     0,   109,     0,   124,   126,     0,
814690143ccSmrg      87,    89,     0,    85,    90,    88,     0,     0,   147,   150,
815690143ccSmrg     146,     0,   148,   149,   137,     0,     0,     0,     0,   159,
816c82dfdfbSmrg       0,     0,    49,    52,     0,    62,     0,   172,     0,   171,
817c82dfdfbSmrg       0,     0,   155,     0,   165,   169,   170,    72,     0,     0,
818c82dfdfbSmrg       0,    53,    76,     0,     0,    79,     0,     0,     0,   178,
819c82dfdfbSmrg     177,     0,   176,     0,     0,     0,     0,     0,     0,     0,
820c82dfdfbSmrg       0,    84,     0,     0,   153,     0,   136,   141,   142,   140,
821c82dfdfbSmrg     143,   144,     0,    64,    59,     0,   137,    75,     0,    74,
822c82dfdfbSmrg       0,    65,    66,    70,    69,    77,   138,    78,   105,   175,
823c82dfdfbSmrg       0,    81,   103,    82,   108,     0,   107,     0,    94,     0,
824c82dfdfbSmrg      92,     0,    83,    80,   111,   151,   160,   174,     0,   154,
825c82dfdfbSmrg     167,   168,     0,     0,     0,     0,    91,     0,   101,     0,
826c82dfdfbSmrg     156,   110,   106,     0,     0,    96,    97,    86,     0,     0,
827c82dfdfbSmrg       0,     0,     0,     0,    99,   100,   102,    98,    93,    95
828f46a6179Smrg};
829690143ccSmrg
830690143ccSmrg/* YYDEFGOTO[NTERM-NUM].  */
831690143ccSmrgstatic const yytype_int16 yydefgoto[] =
832690143ccSmrg{
833690143ccSmrg      -1,     9,    10,    11,    31,    12,    13,    14,    32,    22,
834690143ccSmrg      16,    17,    42,    50,   173,    77,    78,    79,    99,   100,
835690143ccSmrg      80,   107,   174,    81,    82,   179,   180,   181,    83,    84,
836c82dfdfbSmrg     201,    86,    87,    88,   202,   203,   299,   300,   324,   325,
837c82dfdfbSmrg     204,   317,   318,   192,   193,   194,   195,   205,    90,   158,
838c82dfdfbSmrg      92,    51,    52,   265,   266,   187,   160,   231,   232,   161,
839c82dfdfbSmrg     162,   233,   234,   235,   236,   251,   252,   163,   164,   165,
840c82dfdfbSmrg     166,   167,    36,    37
841f46a6179Smrg};
842690143ccSmrg
843690143ccSmrg/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
844690143ccSmrg   STATE-NUM.  */
845c82dfdfbSmrg#define YYPACT_NINF -179
846690143ccSmrgstatic const yytype_int16 yypact[] =
847690143ccSmrg{
848c82dfdfbSmrg     669,  -179,  -179,  -179,  -179,  -179,  -179,  -179,  -179,    19,
849c82dfdfbSmrg     138,  -179,   185,  -179,  -179,   736,   669,  -179,  -179,  -179,
850c82dfdfbSmrg      41,  -179,   297,  -179,  -179,  -179,  -179,  -179,  -179,  -179,
851c82dfdfbSmrg    -179,    -3,    -3,  -179,    -3,  -179,    13,  -179,    31,    31,
852c82dfdfbSmrg     669,  -179,    63,   544,    53,  -179,  -179,  -179,  -179,  -179,
853c82dfdfbSmrg    -179,   266,    59,    66,   104,     1,    98,    -9,  -179,    27,
854c82dfdfbSmrg      27,    52,     1,    79,    98,  -179,    98,   109,  -179,  -179,
855c82dfdfbSmrg    -179,   140,     1,  -179,  -179,  -179,  -179,  -179,  -179,  -179,
856c82dfdfbSmrg    -179,  -179,  -179,  -179,  -179,  -179,  -179,  -179,  -179,  -179,
857c82dfdfbSmrg      98,   130,  -179,   132,   135,   125,  -179,  -179,  -179,   144,
858c82dfdfbSmrg    -179,   145,  -179,   170,  -179,  -179,  -179,   176,   189,  -179,
859c82dfdfbSmrg     186,   192,   200,   196,   202,   210,   211,   212,    52,   213,
860c82dfdfbSmrg     220,   371,   681,   371,   371,  -179,     1,  -179,   371,   667,
861c82dfdfbSmrg     667,   371,   498,    27,   371,   371,   371,   667,    16,   453,
862c82dfdfbSmrg     205,  -179,   667,  -179,  -179,  -179,  -179,  -179,  -179,  -179,
863c82dfdfbSmrg    -179,  -179,   371,   371,   371,   371,   371,  -179,   358,   194,
864c82dfdfbSmrg    -179,   224,  -179,  -179,  -179,  -179,  -179,  -179,   226,   166,
865c82dfdfbSmrg     181,  -179,    51,  -179,   513,   541,    51,   556,     1,   -27,
866c82dfdfbSmrg    -179,  -179,   233,    22,   223,   219,    38,    51,   325,   597,
867c82dfdfbSmrg     229,   -24,    54,  -179,    56,  -179,   239,    98,   236,    98,
868c82dfdfbSmrg    -179,  -179,   412,  -179,  -179,  -179,   371,   612,  -179,  -179,
869c82dfdfbSmrg    -179,   291,  -179,  -179,   371,   371,   371,   371,   371,  -179,
870c82dfdfbSmrg     371,   371,  -179,  -179,   232,  -179,   244,   253,   -16,   268,
871c82dfdfbSmrg     276,   134,  -179,   277,   285,  -179,  -179,  -179,   287,   498,
872c82dfdfbSmrg     289,  -179,  -179,   288,   371,  -179,   303,    70,   154,  -179,
873c82dfdfbSmrg    -179,   290,  -179,   308,   -17,   311,   229,   330,   653,   284,
874c82dfdfbSmrg     317,  -179,   338,   320,  -179,   302,   322,   183,   183,  -179,
875c82dfdfbSmrg    -179,    51,   227,  -179,  -179,    80,   371,  -179,   681,  -179,
876c82dfdfbSmrg     -16,  -179,  -179,  -179,    51,  -179,    51,  -179,  -179,  -179,
877c82dfdfbSmrg     -24,  -179,  -179,  -179,  -179,   229,    51,   331,  -179,   470,
878c82dfdfbSmrg    -179,    27,  -179,  -179,  -179,  -179,  -179,  -179,   335,  -179,
879c82dfdfbSmrg    -179,  -179,   347,    99,   -25,   349,  -179,   100,  -179,   368,
880c82dfdfbSmrg    -179,  -179,  -179,   371,   101,  -179,  -179,  -179,   357,    27,
881c82dfdfbSmrg      27,   116,   361,   -25,  -179,  -179,  -179,  -179,  -179,  -179
882f46a6179Smrg};
883690143ccSmrg
884690143ccSmrg/* YYPGOTO[NTERM-NUM].  */
885690143ccSmrgstatic const yytype_int16 yypgoto[] =
886690143ccSmrg{
887c82dfdfbSmrg    -179,  -179,  -179,   397,  -179,   372,    -8,  -179,   389,    48,
888c82dfdfbSmrg    -179,   399,   375,  -179,   -19,  -179,  -179,  -179,  -179,   292,
889c82dfdfbSmrg    -179,  -179,  -119,  -179,  -179,  -179,   174,   177,  -179,  -179,
890c82dfdfbSmrg     369,  -179,  -179,  -179,  -179,   217,  -179,   129,  -179,   106,
891c82dfdfbSmrg    -179,  -179,   105,  -179,   193,  -178,   195,   398,  -179,   -23,
892c82dfdfbSmrg    -179,  -179,  -179,   172,  -132,   -81,    34,  -179,   175,   -29,
893c82dfdfbSmrg    -179,  -179,   222,   -55,   178,   162,   207,  -179,   -56,   -51,
894c82dfdfbSmrg     -45,   -30,   180,  -179
895f46a6179Smrg};
896690143ccSmrg
897690143ccSmrg/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
898690143ccSmrg   positive, shift that token.  If negative, reduce the rule which
899c82dfdfbSmrg   number is the opposite.  If YYTABLE_NINF, syntax error.  */
900c82dfdfbSmrg#define YYTABLE_NINF -183
901690143ccSmrgstatic const yytype_int16 yytable[] =
902690143ccSmrg{
903c82dfdfbSmrg      94,   109,   108,   186,    21,   112,    95,   114,   110,   111,
904c82dfdfbSmrg     101,   175,   247,   104,   248,   238,   323,   113,   189,    18,
905c82dfdfbSmrg     104,   239,    93,   207,   190,   228,   103,   119,    91,   249,
906c82dfdfbSmrg     250,    74,    76,   115,   116,    21,   117,   105,    73,   106,
907c82dfdfbSmrg     159,    75,   169,   170,   105,    23,   106,   172,    15,    35,
908c82dfdfbSmrg     176,    29,    30,   185,    40,   188,    73,   190,    20,    75,
909c82dfdfbSmrg     120,   191,   140,   -14,   -71,    45,    46,    47,    48,    49,
910c82dfdfbSmrg     -71,    73,    41,   211,    75,    45,    46,    47,    48,    49,
911c82dfdfbSmrg     243,   101,   184,    74,    95,    95,   244,   183,   215,   216,
912c82dfdfbSmrg     217,   218,    95,   196,    95,    54,   253,    95,   255,   168,
913c82dfdfbSmrg      93,    93,   254,   182,   256,   105,    91,    91,    93,    91,
914c82dfdfbSmrg      93,    96,   288,    93,    91,    97,    91,   313,   256,    91,
915c82dfdfbSmrg     200,   109,   307,   209,   209,   262,   209,   209,   280,    95,
916c82dfdfbSmrg      95,   102,   105,   237,   267,   268,   269,   270,    -2,   271,
917c82dfdfbSmrg     272,   322,   328,   332,    95,    93,    93,   256,   329,   333,
918c82dfdfbSmrg     102,    91,    91,    98,   230,   225,   225,    95,   337,   284,
919c82dfdfbSmrg      93,  -112,    95,   286,   244,   118,    91,   115,   123,   259,
920c82dfdfbSmrg     225,   124,   109,    93,   125,   121,   296,   122,    93,    91,
921c82dfdfbSmrg     277,   128,   278,   200,    91,    -3,   208,   210,   225,   212,
922c82dfdfbSmrg     213,   331,   126,   127,   183,     1,     2,     3,     4,     5,
923c82dfdfbSmrg       6,     7,     8,   215,   216,   217,   218,   249,   250,   196,
924c82dfdfbSmrg     182,   129,    38,    95,    39,   222,    91,   130,   215,   216,
925c82dfdfbSmrg     217,   218,   217,   218,   109,   310,   131,   132,   133,    93,
926c82dfdfbSmrg     223,   215,   216,   217,   218,    91,   134,   135,   136,   298,
927c82dfdfbSmrg     219,   206,     1,     2,     3,     4,     5,     6,     7,     8,
928c82dfdfbSmrg     319,   137,   138,   139,    95,   230,   215,   216,   217,   218,
929c82dfdfbSmrg     220,   142,   141,   326,   215,   216,   217,   218,   242,   240,
930c82dfdfbSmrg      93,   221,   241,   306,   191,   257,    91,   258,   319,   336,
931c82dfdfbSmrg     298,   273,   326,    55,    56,    57,    58,    59,    60,    61,
932c82dfdfbSmrg      62,    63,    64,   274,    65,    66,  -127,    67,    68,    69,
933c82dfdfbSmrg      70,    71,    24,    25,    26,    27,    28,   143,   144,    58,
934c82dfdfbSmrg     145,  -182,   146,   147,   148,   149,    72,    65,   150,   276,
935c82dfdfbSmrg     151,    73,    74,   279,    75,   301,   152,   153,   215,   216,
936c82dfdfbSmrg     217,   218,   154,   280,   177,   264,   281,   285,   290,   155,
937c82dfdfbSmrg     156,   102,   105,   157,    73,    74,   305,    75,   143,   144,
938c82dfdfbSmrg      58,   145,   287,   146,   147,   148,   149,   291,    65,   150,
939c82dfdfbSmrg     293,   151,   215,   216,   217,   218,   302,   152,   153,   304,
940c82dfdfbSmrg     244,   295,   314,   154,   245,   215,   216,   217,   218,   320,
941c82dfdfbSmrg     155,   156,   102,   105,   157,    73,    74,   303,    75,   143,
942c82dfdfbSmrg     144,    58,   145,   321,   146,   147,   148,   149,   327,    65,
943c82dfdfbSmrg     150,   214,   151,   121,   330,   122,   334,    19,   152,   153,
944c82dfdfbSmrg     338,    34,    43,   282,   154,    33,    44,   283,   171,   261,
945c82dfdfbSmrg      85,   155,   156,   102,   105,   157,    73,    74,   316,    75,
946c82dfdfbSmrg     143,   144,    58,   145,   335,   146,   147,   197,   149,   339,
947c82dfdfbSmrg     198,   150,   199,    67,    68,    69,    70,   292,   308,    89,
948c82dfdfbSmrg     275,   294,   312,   309,   260,   289,     0,     0,   311,     0,
949c82dfdfbSmrg       0,     0,    72,     0,     0,     0,     0,    73,     0,     0,
950c82dfdfbSmrg      75,   143,   144,    58,   145,     0,   146,   147,   197,   149,
951c82dfdfbSmrg       0,   198,   150,   199,    67,    68,    69,    70,   143,   144,
952c82dfdfbSmrg      58,   145,     0,   146,   147,   148,   149,   297,    65,   150,
953c82dfdfbSmrg       0,   151,     0,    72,     0,     0,     0,     0,    73,     0,
954c82dfdfbSmrg       0,    75,   315,     0,     0,     0,   143,   144,    58,   145,
955c82dfdfbSmrg      72,   146,   147,   148,   149,    73,    65,   150,    75,   151,
956c82dfdfbSmrg       0,   143,   144,    58,   145,     0,   146,   147,   148,   149,
957c82dfdfbSmrg       0,    65,   150,   177,   151,     0,     0,     0,   178,     0,
958c82dfdfbSmrg       0,     0,     0,    73,     0,   224,    75,     0,     0,   143,
959c82dfdfbSmrg     144,    58,   145,    72,   146,   147,   148,   149,    73,    65,
960c82dfdfbSmrg     150,    75,   151,     0,   143,   144,    58,   145,     0,   146,
961c82dfdfbSmrg     147,   148,   149,   226,    65,   227,    53,   151,     0,     0,
962c82dfdfbSmrg       0,    72,     0,     0,     0,     0,    73,   228,     0,    75,
963c82dfdfbSmrg       0,     1,     2,     3,     4,     5,     6,     7,     8,   105,
964c82dfdfbSmrg       0,   229,     0,     0,    75,   143,   144,    58,   145,     0,
965c82dfdfbSmrg     146,   147,   148,   149,     0,    65,   150,     0,   151,     0,
966c82dfdfbSmrg     143,   144,    58,   145,     0,   146,   147,   148,   149,   246,
967c82dfdfbSmrg      65,   150,     0,   151,     0,     0,     0,    72,     0,     0,
968c82dfdfbSmrg       0,     0,    73,     0,   263,    75,     0,     0,     0,     0,
969c82dfdfbSmrg       0,     0,    72,     0,     0,     0,     0,    73,     0,     0,
970c82dfdfbSmrg      75,   143,   144,    58,   145,     0,   146,   147,   148,   149,
971c82dfdfbSmrg     297,    65,   150,     0,   151,   143,   144,    58,   145,     0,
972c82dfdfbSmrg     146,   147,   148,   149,     0,    65,   150,     0,   151,   143,
973c82dfdfbSmrg     144,    58,   145,    72,   146,   147,   148,   149,    73,    65,
974c82dfdfbSmrg     150,    75,   151,     0,     0,     0,     0,    72,     0,     0,
975c82dfdfbSmrg       0,     0,    73,     0,     0,    75,     1,     2,     3,     4,
976c82dfdfbSmrg       5,     6,     7,     8,     0,     0,    73,     0,     0,    75,
977c82dfdfbSmrg      23,    24,    25,    26,    27,    28,    29,    30
978f46a6179Smrg};
979690143ccSmrg
980c82dfdfbSmrg#define yypact_value_is_default(Yystate) \
981c82dfdfbSmrg  (!!((Yystate) == (-179)))
982c82dfdfbSmrg
983c82dfdfbSmrg#define yytable_value_is_error(Yytable_value) \
984c82dfdfbSmrg  YYID (0)
985c82dfdfbSmrg
986690143ccSmrgstatic const yytype_int16 yycheck[] =
987690143ccSmrg{
988c82dfdfbSmrg      51,    57,    57,   135,    12,    61,    51,    63,    59,    60,
989c82dfdfbSmrg      55,   130,   190,    29,    38,    42,    41,    62,   137,     0,
990c82dfdfbSmrg      29,    48,    51,   142,    41,    41,    56,    72,    51,    53,
991c82dfdfbSmrg      54,    56,    51,    63,    64,    43,    66,    53,    55,    55,
992c82dfdfbSmrg     121,    58,   123,   124,    53,     4,    55,   128,     0,    52,
993c82dfdfbSmrg     131,    10,    11,   134,    41,   136,    55,    41,    10,    58,
994c82dfdfbSmrg      90,    45,   118,     0,    42,    12,    13,    14,    15,    16,
995c82dfdfbSmrg      48,    55,    41,   154,    58,    12,    13,    14,    15,    16,
996c82dfdfbSmrg      42,   126,   133,    56,   129,   130,    48,   132,    37,    38,
997c82dfdfbSmrg      39,    40,   137,   138,   139,    42,    42,   142,    42,   122,
998c82dfdfbSmrg     129,   130,    48,   132,    48,    53,   129,   130,   137,   132,
999c82dfdfbSmrg     139,    52,    42,   142,   137,    49,   139,   295,    48,   142,
1000c82dfdfbSmrg     139,   177,    42,   152,   153,   206,   155,   156,    48,   174,
1001c82dfdfbSmrg     175,    52,    53,   178,   215,   216,   217,   218,     0,   220,
1002c82dfdfbSmrg     221,    42,    42,    42,   189,   174,   175,    48,    48,    48,
1003c82dfdfbSmrg      52,   174,   175,    49,   177,   174,   175,   202,    42,   240,
1004c82dfdfbSmrg     189,    52,   207,   244,    48,    25,   189,   197,    36,   199,
1005c82dfdfbSmrg     189,    36,   228,   202,    49,    45,   257,    47,   207,   202,
1006c82dfdfbSmrg      46,    36,    48,   202,   207,     0,   152,   153,   207,   155,
1007c82dfdfbSmrg     156,   323,    48,    49,   239,    57,    58,    59,    60,    61,
1008c82dfdfbSmrg      62,    63,    64,    37,    38,    39,    40,    53,    54,   254,
1009c82dfdfbSmrg     239,    41,    32,   258,    34,    49,   239,    41,    37,    38,
1010c82dfdfbSmrg      39,    40,    39,    40,   280,   280,    37,    41,    36,   258,
1011c82dfdfbSmrg      49,    37,    38,    39,    40,   258,    36,    41,    36,   258,
1012c82dfdfbSmrg      46,    36,    57,    58,    59,    60,    61,    62,    63,    64,
1013c82dfdfbSmrg     301,    41,    41,    41,   299,   278,    37,    38,    39,    40,
1014c82dfdfbSmrg      36,    41,    49,   314,    37,    38,    39,    40,    49,    36,
1015c82dfdfbSmrg     299,    45,    49,    46,    45,    36,   299,    41,   329,   330,
1016c82dfdfbSmrg     299,    49,   333,    17,    18,    19,    20,    21,    22,    23,
1017c82dfdfbSmrg      24,    25,    26,    49,    28,    29,    43,    31,    32,    33,
1018c82dfdfbSmrg      34,    35,     5,     6,     7,     8,     9,    18,    19,    20,
1019c82dfdfbSmrg      21,    43,    23,    24,    25,    26,    50,    28,    29,    43,
1020c82dfdfbSmrg      31,    55,    56,    46,    58,    41,    37,    38,    37,    38,
1021c82dfdfbSmrg      39,    40,    43,    48,    45,    44,    49,    49,    48,    50,
1022c82dfdfbSmrg      51,    52,    53,    54,    55,    56,    44,    58,    18,    19,
1023c82dfdfbSmrg      20,    21,    49,    23,    24,    25,    26,    49,    28,    29,
1024c82dfdfbSmrg      49,    31,    37,    38,    39,    40,    49,    37,    38,    49,
1025c82dfdfbSmrg      48,    41,    41,    43,    49,    37,    38,    39,    40,    44,
1026690143ccSmrg      50,    51,    52,    53,    54,    55,    56,    49,    58,    18,
1027c82dfdfbSmrg      19,    20,    21,    46,    23,    24,    25,    26,    49,    28,
1028c82dfdfbSmrg      29,    43,    31,    45,    36,    47,    49,    10,    37,    38,
1029c82dfdfbSmrg      49,    22,    40,   239,    43,    16,    41,   240,   126,   202,
1030c82dfdfbSmrg      51,    50,    51,    52,    53,    54,    55,    56,   299,    58,
1031c82dfdfbSmrg      18,    19,    20,    21,   329,    23,    24,    25,    26,   333,
1032c82dfdfbSmrg      28,    29,    30,    31,    32,    33,    34,   254,   276,    51,
1033c82dfdfbSmrg     228,   256,   290,   278,    42,   248,    -1,    -1,   280,    -1,
1034c82dfdfbSmrg      -1,    -1,    50,    -1,    -1,    -1,    -1,    55,    -1,    -1,
1035c82dfdfbSmrg      58,    18,    19,    20,    21,    -1,    23,    24,    25,    26,
1036c82dfdfbSmrg      -1,    28,    29,    30,    31,    32,    33,    34,    18,    19,
1037c82dfdfbSmrg      20,    21,    -1,    23,    24,    25,    26,    27,    28,    29,
1038c82dfdfbSmrg      -1,    31,    -1,    50,    -1,    -1,    -1,    -1,    55,    -1,
1039c82dfdfbSmrg      -1,    58,    42,    -1,    -1,    -1,    18,    19,    20,    21,
1040c82dfdfbSmrg      50,    23,    24,    25,    26,    55,    28,    29,    58,    31,
1041c82dfdfbSmrg      -1,    18,    19,    20,    21,    -1,    23,    24,    25,    26,
1042c82dfdfbSmrg      -1,    28,    29,    45,    31,    -1,    -1,    -1,    50,    -1,
1043c82dfdfbSmrg      -1,    -1,    -1,    55,    -1,    42,    58,    -1,    -1,    18,
1044c82dfdfbSmrg      19,    20,    21,    50,    23,    24,    25,    26,    55,    28,
1045c82dfdfbSmrg      29,    58,    31,    -1,    18,    19,    20,    21,    -1,    23,
1046c82dfdfbSmrg      24,    25,    26,    42,    28,    29,    42,    31,    -1,    -1,
1047c82dfdfbSmrg      -1,    50,    -1,    -1,    -1,    -1,    55,    41,    -1,    58,
1048c82dfdfbSmrg      -1,    57,    58,    59,    60,    61,    62,    63,    64,    53,
1049c82dfdfbSmrg      -1,    55,    -1,    -1,    58,    18,    19,    20,    21,    -1,
1050c82dfdfbSmrg      23,    24,    25,    26,    -1,    28,    29,    -1,    31,    -1,
1051c82dfdfbSmrg      18,    19,    20,    21,    -1,    23,    24,    25,    26,    42,
1052c82dfdfbSmrg      28,    29,    -1,    31,    -1,    -1,    -1,    50,    -1,    -1,
1053c82dfdfbSmrg      -1,    -1,    55,    -1,    42,    58,    -1,    -1,    -1,    -1,
1054c82dfdfbSmrg      -1,    -1,    50,    -1,    -1,    -1,    -1,    55,    -1,    -1,
1055c82dfdfbSmrg      58,    18,    19,    20,    21,    -1,    23,    24,    25,    26,
1056c82dfdfbSmrg      27,    28,    29,    -1,    31,    18,    19,    20,    21,    -1,
1057c82dfdfbSmrg      23,    24,    25,    26,    -1,    28,    29,    -1,    31,    18,
1058c82dfdfbSmrg      19,    20,    21,    50,    23,    24,    25,    26,    55,    28,
1059c82dfdfbSmrg      29,    58,    31,    -1,    -1,    -1,    -1,    50,    -1,    -1,
1060c82dfdfbSmrg      -1,    -1,    55,    -1,    -1,    58,    57,    58,    59,    60,
1061c82dfdfbSmrg      61,    62,    63,    64,    -1,    -1,    55,    -1,    -1,    58,
1062c82dfdfbSmrg       4,     5,     6,     7,     8,     9,    10,    11
1063f46a6179Smrg};
1064f46a6179Smrg
1065690143ccSmrg/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1066690143ccSmrg   symbol of state STATE-NUM.  */
1067690143ccSmrgstatic const yytype_uint8 yystos[] =
1068690143ccSmrg{
1069690143ccSmrg       0,    57,    58,    59,    60,    61,    62,    63,    64,    66,
1070690143ccSmrg      67,    68,    70,    71,    72,    74,    75,    76,     0,    68,
1071690143ccSmrg      74,    71,    74,     4,     5,     6,     7,     8,     9,    10,
1072c82dfdfbSmrg      11,    69,    73,    76,    73,    52,   137,   138,   137,   137,
1073690143ccSmrg      41,    41,    77,    70,    77,    12,    13,    14,    15,    16,
1074690143ccSmrg      78,   116,   117,    42,    42,    17,    18,    19,    20,    21,
1075690143ccSmrg      22,    23,    24,    25,    26,    28,    29,    31,    32,    33,
1076690143ccSmrg      34,    35,    50,    55,    56,    58,    79,    80,    81,    82,
1077690143ccSmrg      85,    88,    89,    93,    94,    95,    96,    97,    98,   112,
1078c82dfdfbSmrg     113,   114,   115,   124,   134,   135,    52,    49,    49,    83,
1079c82dfdfbSmrg      84,   135,    52,   136,    29,    53,    55,    86,   128,   133,
1080c82dfdfbSmrg     134,   134,   133,   135,   133,   136,   136,   136,    25,   135,
1081c82dfdfbSmrg     136,    45,    47,    36,    36,    49,    48,    49,    36,    41,
1082690143ccSmrg      41,    37,    41,    36,    36,    41,    36,    41,    41,    41,
1083c82dfdfbSmrg     133,    49,    41,    18,    19,    21,    23,    24,    25,    26,
1084690143ccSmrg      29,    31,    37,    38,    43,    50,    51,    54,   114,   120,
1085c82dfdfbSmrg     121,   124,   125,   132,   133,   134,   135,   136,   114,   120,
1086690143ccSmrg     120,    84,   120,    79,    87,    87,   120,    45,    50,    90,
1087c82dfdfbSmrg      91,    92,   124,   135,   134,   120,   119,   120,   120,    87,
1088c82dfdfbSmrg      41,    45,   108,   109,   110,   111,   135,    25,    28,    30,
1089690143ccSmrg      79,    95,    99,   100,   105,   112,    36,    87,   121,   124,
1090690143ccSmrg     121,   120,   121,   121,    43,    37,    38,    39,    40,    46,
1091c82dfdfbSmrg      36,    45,    49,    49,    42,    79,    42,    29,    41,    55,
1092c82dfdfbSmrg     114,   122,   123,   126,   127,   128,   129,   135,    42,    48,
1093c82dfdfbSmrg      36,    49,    49,    42,    48,    49,    42,   110,    38,    53,
1094c82dfdfbSmrg      54,   130,   131,    42,    48,    42,    48,    36,    41,   136,
1095c82dfdfbSmrg      42,   100,   120,    42,    44,   118,   119,   120,   120,   120,
1096c82dfdfbSmrg     120,   120,   120,    49,    49,   127,    43,    46,    48,    46,
1097c82dfdfbSmrg      48,    49,    91,    92,   120,    49,   120,    49,    42,   131,
1098c82dfdfbSmrg      48,    49,   109,    49,   111,    41,   120,    27,    79,   101,
1099c82dfdfbSmrg     102,    41,    49,    49,    49,    44,    46,    42,   118,   123,
1100c82dfdfbSmrg     128,   129,   130,   110,    41,    42,   102,   106,   107,   134,
1101c82dfdfbSmrg      44,    46,    42,    41,   103,   104,   134,    49,    42,    48,
1102c82dfdfbSmrg      36,   119,    42,    48,    49,   107,   134,    42,    49,   104
1103f46a6179Smrg};
1104690143ccSmrg
1105690143ccSmrg#define yyerrok		(yyerrstatus = 0)
1106690143ccSmrg#define yyclearin	(yychar = YYEMPTY)
1107690143ccSmrg#define YYEMPTY		(-2)
1108690143ccSmrg#define YYEOF		0
1109690143ccSmrg
1110690143ccSmrg#define YYACCEPT	goto yyacceptlab
1111690143ccSmrg#define YYABORT		goto yyabortlab
1112690143ccSmrg#define YYERROR		goto yyerrorlab
1113690143ccSmrg
1114690143ccSmrg
1115690143ccSmrg/* Like YYERROR except do call yyerror.  This remains here temporarily
1116690143ccSmrg   to ease the transition to the new meaning of YYERROR, for GCC.
1117c82dfdfbSmrg   Once GCC version 2 has supplanted version 1, this can go.  However,
1118c82dfdfbSmrg   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
1119c82dfdfbSmrg   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
1120c82dfdfbSmrg   discussed.  */
1121690143ccSmrg
1122690143ccSmrg#define YYFAIL		goto yyerrlab
1123c82dfdfbSmrg#if defined YYFAIL
1124c82dfdfbSmrg  /* This is here to suppress warnings from the GCC cpp's
1125c82dfdfbSmrg     -Wunused-macros.  Normally we don't worry about that warning, but
1126c82dfdfbSmrg     some users do, and we want to make it easy for users to remove
1127c82dfdfbSmrg     YYFAIL uses, which will produce warnings from Bison 2.5.  */
1128c82dfdfbSmrg#endif
1129690143ccSmrg
1130690143ccSmrg#define YYRECOVERING()  (!!yyerrstatus)
1131690143ccSmrg
1132c82dfdfbSmrg#define YYBACKUP(Token, Value)                                  \
1133c82dfdfbSmrgdo                                                              \
1134c82dfdfbSmrg  if (yychar == YYEMPTY)                                        \
1135c82dfdfbSmrg    {                                                           \
1136c82dfdfbSmrg      yychar = (Token);                                         \
1137c82dfdfbSmrg      yylval = (Value);                                         \
1138c82dfdfbSmrg      YYPOPSTACK (yylen);                                       \
1139c82dfdfbSmrg      yystate = *yyssp;                                         \
1140c82dfdfbSmrg      goto yybackup;                                            \
1141c82dfdfbSmrg    }                                                           \
1142c82dfdfbSmrg  else                                                          \
1143c82dfdfbSmrg    {                                                           \
1144690143ccSmrg      yyerror (YY_("syntax error: cannot back up")); \
1145690143ccSmrg      YYERROR;							\
1146690143ccSmrg    }								\
1147690143ccSmrgwhile (YYID (0))
1148690143ccSmrg
1149690143ccSmrg
1150690143ccSmrg#define YYTERROR	1
1151690143ccSmrg#define YYERRCODE	256
1152690143ccSmrg
1153690143ccSmrg/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1154690143ccSmrg   If N is 0, then set CURRENT to the empty location which ends
1155690143ccSmrg   the previous symbol: RHS[0] (always defined).  */
1156690143ccSmrg
1157690143ccSmrg#ifndef YYLLOC_DEFAULT
1158c82dfdfbSmrg# define YYLLOC_DEFAULT(Current, Rhs, N)                                \
1159c82dfdfbSmrg    do                                                                  \
1160c82dfdfbSmrg      if (YYID (N))                                                     \
1161c82dfdfbSmrg        {                                                               \
1162c82dfdfbSmrg          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
1163c82dfdfbSmrg          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
1164c82dfdfbSmrg          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
1165c82dfdfbSmrg          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
1166c82dfdfbSmrg        }                                                               \
1167c82dfdfbSmrg      else                                                              \
1168c82dfdfbSmrg        {                                                               \
1169c82dfdfbSmrg          (Current).first_line   = (Current).last_line   =              \
1170c82dfdfbSmrg            YYRHSLOC (Rhs, 0).last_line;                                \
1171c82dfdfbSmrg          (Current).first_column = (Current).last_column =              \
1172c82dfdfbSmrg            YYRHSLOC (Rhs, 0).last_column;                              \
1173c82dfdfbSmrg        }                                                               \
1174690143ccSmrg    while (YYID (0))
1175f46a6179Smrg#endif
1176690143ccSmrg
1177c82dfdfbSmrg#define YYRHSLOC(Rhs, K) ((Rhs)[K])
1178c82dfdfbSmrg
1179690143ccSmrg
1180c82dfdfbSmrg
1181c82dfdfbSmrg/* This macro is provided for backward compatibility. */
1182690143ccSmrg
1183690143ccSmrg#ifndef YY_LOCATION_PRINT
1184c82dfdfbSmrg# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1185f46a6179Smrg#endif
1186f46a6179Smrg
1187690143ccSmrg
1188690143ccSmrg/* YYLEX -- calling `yylex' with the right arguments.  */
1189690143ccSmrg
1190690143ccSmrg#ifdef YYLEX_PARAM
1191690143ccSmrg# define YYLEX yylex (YYLEX_PARAM)
1192f46a6179Smrg#else
1193690143ccSmrg# define YYLEX yylex ()
1194f46a6179Smrg#endif
1195f46a6179Smrg
1196690143ccSmrg/* Enable debugging if requested.  */
1197690143ccSmrg#if YYDEBUG
1198f46a6179Smrg
1199690143ccSmrg# ifndef YYFPRINTF
1200690143ccSmrg#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1201690143ccSmrg#  define YYFPRINTF fprintf
1202690143ccSmrg# endif
1203f46a6179Smrg
1204690143ccSmrg# define YYDPRINTF(Args)			\
1205690143ccSmrgdo {						\
1206690143ccSmrg  if (yydebug)					\
1207690143ccSmrg    YYFPRINTF Args;				\
1208690143ccSmrg} while (YYID (0))
1209f46a6179Smrg
1210690143ccSmrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
1211690143ccSmrgdo {									  \
1212690143ccSmrg  if (yydebug)								  \
1213690143ccSmrg    {									  \
1214690143ccSmrg      YYFPRINTF (stderr, "%s ", Title);					  \
1215690143ccSmrg      yy_symbol_print (stderr,						  \
1216690143ccSmrg		  Type, Value); \
1217690143ccSmrg      YYFPRINTF (stderr, "\n");						  \
1218690143ccSmrg    }									  \
1219690143ccSmrg} while (YYID (0))
1220f46a6179Smrg
1221f46a6179Smrg
1222690143ccSmrg/*--------------------------------.
1223690143ccSmrg| Print this symbol on YYOUTPUT.  |
1224690143ccSmrg`--------------------------------*/
1225690143ccSmrg
1226690143ccSmrg/*ARGSUSED*/
1227690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1228690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1229690143ccSmrgstatic void
1230690143ccSmrgyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1231690143ccSmrg#else
1232690143ccSmrgstatic void
1233690143ccSmrgyy_symbol_value_print (yyoutput, yytype, yyvaluep)
1234690143ccSmrg    FILE *yyoutput;
1235690143ccSmrg    int yytype;
1236690143ccSmrg    YYSTYPE const * const yyvaluep;
1237690143ccSmrg#endif
1238f46a6179Smrg{
1239c82dfdfbSmrg  FILE *yyo = yyoutput;
1240c82dfdfbSmrg  YYUSE (yyo);
1241690143ccSmrg  if (!yyvaluep)
124207d2e718Smrg    return;
1243690143ccSmrg# ifdef YYPRINT
1244690143ccSmrg  if (yytype < YYNTOKENS)
1245690143ccSmrg    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1246690143ccSmrg# else
1247690143ccSmrg  YYUSE (yyoutput);
1248690143ccSmrg# endif
1249690143ccSmrg  switch (yytype)
1250690143ccSmrg    {
1251690143ccSmrg      default:
1252690143ccSmrg	break;
1253690143ccSmrg    }
1254f46a6179Smrg}
1255f46a6179Smrg
1256f46a6179Smrg
1257690143ccSmrg/*--------------------------------.
1258690143ccSmrg| Print this symbol on YYOUTPUT.  |
1259690143ccSmrg`--------------------------------*/
1260f46a6179Smrg
1261690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1262690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1263690143ccSmrgstatic void
1264690143ccSmrgyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1265690143ccSmrg#else
1266690143ccSmrgstatic void
1267690143ccSmrgyy_symbol_print (yyoutput, yytype, yyvaluep)
1268690143ccSmrg    FILE *yyoutput;
1269690143ccSmrg    int yytype;
1270690143ccSmrg    YYSTYPE const * const yyvaluep;
1271690143ccSmrg#endif
1272f46a6179Smrg{
1273690143ccSmrg  if (yytype < YYNTOKENS)
1274690143ccSmrg    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1275690143ccSmrg  else
1276690143ccSmrg    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1277f46a6179Smrg
1278690143ccSmrg  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1279690143ccSmrg  YYFPRINTF (yyoutput, ")");
1280f46a6179Smrg}
1281f46a6179Smrg
1282690143ccSmrg/*------------------------------------------------------------------.
1283690143ccSmrg| yy_stack_print -- Print the state stack from its BOTTOM up to its |
1284690143ccSmrg| TOP (included).                                                   |
1285690143ccSmrg`------------------------------------------------------------------*/
1286f46a6179Smrg
1287690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1288690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1289690143ccSmrgstatic void
1290c82dfdfbSmrgyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1291690143ccSmrg#else
1292690143ccSmrgstatic void
1293c82dfdfbSmrgyy_stack_print (yybottom, yytop)
1294c82dfdfbSmrg    yytype_int16 *yybottom;
1295c82dfdfbSmrg    yytype_int16 *yytop;
1296690143ccSmrg#endif
1297f46a6179Smrg{
1298690143ccSmrg  YYFPRINTF (stderr, "Stack now");
1299c82dfdfbSmrg  for (; yybottom <= yytop; yybottom++)
1300c82dfdfbSmrg    {
1301c82dfdfbSmrg      int yybot = *yybottom;
1302c82dfdfbSmrg      YYFPRINTF (stderr, " %d", yybot);
1303c82dfdfbSmrg    }
1304690143ccSmrg  YYFPRINTF (stderr, "\n");
1305690143ccSmrg}
1306f46a6179Smrg
1307690143ccSmrg# define YY_STACK_PRINT(Bottom, Top)				\
1308690143ccSmrgdo {								\
1309690143ccSmrg  if (yydebug)							\
1310690143ccSmrg    yy_stack_print ((Bottom), (Top));				\
1311690143ccSmrg} while (YYID (0))
1312f46a6179Smrg
1313f46a6179Smrg
1314690143ccSmrg/*------------------------------------------------.
1315690143ccSmrg| Report that the YYRULE is going to be reduced.  |
1316690143ccSmrg`------------------------------------------------*/
1317f46a6179Smrg
1318690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1319690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1320690143ccSmrgstatic void
1321690143ccSmrgyy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1322690143ccSmrg#else
1323690143ccSmrgstatic void
1324690143ccSmrgyy_reduce_print (yyvsp, yyrule)
1325690143ccSmrg    YYSTYPE *yyvsp;
1326690143ccSmrg    int yyrule;
132707d2e718Smrg#endif
1328690143ccSmrg{
1329690143ccSmrg  int yynrhs = yyr2[yyrule];
1330690143ccSmrg  int yyi;
1331690143ccSmrg  unsigned long int yylno = yyrline[yyrule];
1332690143ccSmrg  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1333690143ccSmrg	     yyrule - 1, yylno);
1334690143ccSmrg  /* The symbols being reduced.  */
1335690143ccSmrg  for (yyi = 0; yyi < yynrhs; yyi++)
1336f46a6179Smrg    {
1337c82dfdfbSmrg      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
1338690143ccSmrg      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1339690143ccSmrg		       &(yyvsp[(yyi + 1) - (yynrhs)])
1340690143ccSmrg		       		       );
1341c82dfdfbSmrg      YYFPRINTF (stderr, "\n");
1342f46a6179Smrg    }
1343690143ccSmrg}
1344f46a6179Smrg
1345690143ccSmrg# define YY_REDUCE_PRINT(Rule)		\
1346690143ccSmrgdo {					\
1347690143ccSmrg  if (yydebug)				\
1348690143ccSmrg    yy_reduce_print (yyvsp, Rule); \
1349690143ccSmrg} while (YYID (0))
1350f46a6179Smrg
1351690143ccSmrg/* Nonzero means print parse trace.  It is left uninitialized so that
1352690143ccSmrg   multiple parsers can coexist.  */
1353690143ccSmrgint yydebug;
1354690143ccSmrg#else /* !YYDEBUG */
1355690143ccSmrg# define YYDPRINTF(Args)
1356690143ccSmrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1357690143ccSmrg# define YY_STACK_PRINT(Bottom, Top)
1358690143ccSmrg# define YY_REDUCE_PRINT(Rule)
1359690143ccSmrg#endif /* !YYDEBUG */
1360f46a6179Smrg
1361f46a6179Smrg
1362690143ccSmrg/* YYINITDEPTH -- initial size of the parser's stacks.  */
1363690143ccSmrg#ifndef	YYINITDEPTH
1364690143ccSmrg# define YYINITDEPTH 200
136507d2e718Smrg#endif
1366690143ccSmrg
1367690143ccSmrg/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1368690143ccSmrg   if the built-in stack extension method is used).
1369690143ccSmrg
1370690143ccSmrg   Do not make this value too large; the results are undefined if
1371690143ccSmrg   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1372690143ccSmrg   evaluated with infinite-precision integer arithmetic.  */
1373690143ccSmrg
1374690143ccSmrg#ifndef YYMAXDEPTH
1375690143ccSmrg# define YYMAXDEPTH 10000
1376690143ccSmrg#endif
1377690143ccSmrg
1378690143ccSmrg
1379690143ccSmrg#if YYERROR_VERBOSE
1380690143ccSmrg
1381690143ccSmrg# ifndef yystrlen
1382690143ccSmrg#  if defined __GLIBC__ && defined _STRING_H
1383690143ccSmrg#   define yystrlen strlen
1384690143ccSmrg#  else
1385690143ccSmrg/* Return the length of YYSTR.  */
1386690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1387690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1388690143ccSmrgstatic YYSIZE_T
1389690143ccSmrgyystrlen (const char *yystr)
1390690143ccSmrg#else
1391690143ccSmrgstatic YYSIZE_T
1392690143ccSmrgyystrlen (yystr)
1393690143ccSmrg    const char *yystr;
139407d2e718Smrg#endif
1395690143ccSmrg{
1396690143ccSmrg  YYSIZE_T yylen;
1397690143ccSmrg  for (yylen = 0; yystr[yylen]; yylen++)
1398690143ccSmrg    continue;
1399690143ccSmrg  return yylen;
1400690143ccSmrg}
1401690143ccSmrg#  endif
1402690143ccSmrg# endif
1403690143ccSmrg
1404690143ccSmrg# ifndef yystpcpy
1405690143ccSmrg#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1406690143ccSmrg#   define yystpcpy stpcpy
1407690143ccSmrg#  else
1408690143ccSmrg/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1409690143ccSmrg   YYDEST.  */
1410690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1411690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1412690143ccSmrgstatic char *
1413690143ccSmrgyystpcpy (char *yydest, const char *yysrc)
1414690143ccSmrg#else
1415690143ccSmrgstatic char *
1416690143ccSmrgyystpcpy (yydest, yysrc)
1417690143ccSmrg    char *yydest;
1418690143ccSmrg    const char *yysrc;
1419690143ccSmrg#endif
1420690143ccSmrg{
1421690143ccSmrg  char *yyd = yydest;
1422690143ccSmrg  const char *yys = yysrc;
1423690143ccSmrg
1424690143ccSmrg  while ((*yyd++ = *yys++) != '\0')
1425690143ccSmrg    continue;
1426690143ccSmrg
1427690143ccSmrg  return yyd - 1;
1428690143ccSmrg}
1429690143ccSmrg#  endif
1430690143ccSmrg# endif
1431690143ccSmrg
1432690143ccSmrg# ifndef yytnamerr
1433690143ccSmrg/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1434690143ccSmrg   quotes and backslashes, so that it's suitable for yyerror.  The
1435690143ccSmrg   heuristic is that double-quoting is unnecessary unless the string
1436690143ccSmrg   contains an apostrophe, a comma, or backslash (other than
1437690143ccSmrg   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
1438690143ccSmrg   null, do not copy; instead, return the length of what the result
1439690143ccSmrg   would have been.  */
1440690143ccSmrgstatic YYSIZE_T
1441690143ccSmrgyytnamerr (char *yyres, const char *yystr)
1442690143ccSmrg{
1443690143ccSmrg  if (*yystr == '"')
1444690143ccSmrg    {
1445690143ccSmrg      YYSIZE_T yyn = 0;
1446690143ccSmrg      char const *yyp = yystr;
1447690143ccSmrg
1448690143ccSmrg      for (;;)
1449690143ccSmrg	switch (*++yyp)
1450690143ccSmrg	  {
1451690143ccSmrg	  case '\'':
1452690143ccSmrg	  case ',':
1453690143ccSmrg	    goto do_not_strip_quotes;
1454690143ccSmrg
1455690143ccSmrg	  case '\\':
1456690143ccSmrg	    if (*++yyp != '\\')
1457690143ccSmrg	      goto do_not_strip_quotes;
1458690143ccSmrg	    /* Fall through.  */
1459690143ccSmrg	  default:
1460690143ccSmrg	    if (yyres)
1461690143ccSmrg	      yyres[yyn] = *yyp;
1462690143ccSmrg	    yyn++;
1463690143ccSmrg	    break;
1464690143ccSmrg
1465690143ccSmrg	  case '"':
1466690143ccSmrg	    if (yyres)
1467690143ccSmrg	      yyres[yyn] = '\0';
1468690143ccSmrg	    return yyn;
1469690143ccSmrg	  }
1470690143ccSmrg    do_not_strip_quotes: ;
147107d2e718Smrg    }
1472690143ccSmrg
1473690143ccSmrg  if (! yyres)
1474690143ccSmrg    return yystrlen (yystr);
1475690143ccSmrg
1476690143ccSmrg  return yystpcpy (yyres, yystr) - yyres;
1477690143ccSmrg}
1478690143ccSmrg# endif
1479690143ccSmrg
1480c82dfdfbSmrg/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
1481c82dfdfbSmrg   about the unexpected token YYTOKEN for the state stack whose top is
1482c82dfdfbSmrg   YYSSP.
1483690143ccSmrg
1484c82dfdfbSmrg   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
1485c82dfdfbSmrg   not large enough to hold the message.  In that case, also set
1486c82dfdfbSmrg   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
1487c82dfdfbSmrg   required number of bytes is too large to store.  */
1488c82dfdfbSmrgstatic int
1489c82dfdfbSmrgyysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1490c82dfdfbSmrg                yytype_int16 *yyssp, int yytoken)
1491c82dfdfbSmrg{
1492c82dfdfbSmrg  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
1493c82dfdfbSmrg  YYSIZE_T yysize = yysize0;
1494c82dfdfbSmrg  YYSIZE_T yysize1;
1495c82dfdfbSmrg  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1496c82dfdfbSmrg  /* Internationalized format string. */
1497c82dfdfbSmrg  const char *yyformat = YY_NULL;
1498c82dfdfbSmrg  /* Arguments of yyformat. */
1499c82dfdfbSmrg  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1500c82dfdfbSmrg  /* Number of reported tokens (one for the "unexpected", one per
1501c82dfdfbSmrg     "expected"). */
1502c82dfdfbSmrg  int yycount = 0;
1503c82dfdfbSmrg
1504c82dfdfbSmrg  /* There are many possibilities here to consider:
1505c82dfdfbSmrg     - Assume YYFAIL is not used.  It's too flawed to consider.  See
1506c82dfdfbSmrg       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
1507c82dfdfbSmrg       for details.  YYERROR is fine as it does not invoke this
1508c82dfdfbSmrg       function.
1509c82dfdfbSmrg     - If this state is a consistent state with a default action, then
1510c82dfdfbSmrg       the only way this function was invoked is if the default action
1511c82dfdfbSmrg       is an error action.  In that case, don't check for expected
1512c82dfdfbSmrg       tokens because there are none.
1513c82dfdfbSmrg     - The only way there can be no lookahead present (in yychar) is if
1514c82dfdfbSmrg       this state is a consistent state with a default action.  Thus,
1515c82dfdfbSmrg       detecting the absence of a lookahead is sufficient to determine
1516c82dfdfbSmrg       that there is no unexpected or expected token to report.  In that
1517c82dfdfbSmrg       case, just report a simple "syntax error".
1518c82dfdfbSmrg     - Don't assume there isn't a lookahead just because this state is a
1519c82dfdfbSmrg       consistent state with a default action.  There might have been a
1520c82dfdfbSmrg       previous inconsistent state, consistent state with a non-default
1521c82dfdfbSmrg       action, or user semantic action that manipulated yychar.
1522c82dfdfbSmrg     - Of course, the expected token list depends on states to have
1523c82dfdfbSmrg       correct lookahead information, and it depends on the parser not
1524c82dfdfbSmrg       to perform extra reductions after fetching a lookahead from the
1525c82dfdfbSmrg       scanner and before detecting a syntax error.  Thus, state merging
1526c82dfdfbSmrg       (from LALR or IELR) and default reductions corrupt the expected
1527c82dfdfbSmrg       token list.  However, the list is correct for canonical LR with
1528c82dfdfbSmrg       one exception: it will still contain any token that will not be
1529c82dfdfbSmrg       accepted due to an error action in a later state.
1530c82dfdfbSmrg  */
1531c82dfdfbSmrg  if (yytoken != YYEMPTY)
153207d2e718Smrg    {
1533c82dfdfbSmrg      int yyn = yypact[*yyssp];
1534c82dfdfbSmrg      yyarg[yycount++] = yytname[yytoken];
1535c82dfdfbSmrg      if (!yypact_value_is_default (yyn))
1536c82dfdfbSmrg        {
1537c82dfdfbSmrg          /* Start YYX at -YYN if negative to avoid negative indexes in
1538c82dfdfbSmrg             YYCHECK.  In other words, skip the first -YYN actions for
1539c82dfdfbSmrg             this state because they are default actions.  */
1540c82dfdfbSmrg          int yyxbegin = yyn < 0 ? -yyn : 0;
1541c82dfdfbSmrg          /* Stay within bounds of both yycheck and yytname.  */
1542c82dfdfbSmrg          int yychecklim = YYLAST - yyn + 1;
1543c82dfdfbSmrg          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1544c82dfdfbSmrg          int yyx;
1545c82dfdfbSmrg
1546c82dfdfbSmrg          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1547c82dfdfbSmrg            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
1548c82dfdfbSmrg                && !yytable_value_is_error (yytable[yyx + yyn]))
1549c82dfdfbSmrg              {
1550c82dfdfbSmrg                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1551c82dfdfbSmrg                  {
1552c82dfdfbSmrg                    yycount = 1;
1553c82dfdfbSmrg                    yysize = yysize0;
1554c82dfdfbSmrg                    break;
1555c82dfdfbSmrg                  }
1556c82dfdfbSmrg                yyarg[yycount++] = yytname[yyx];
1557c82dfdfbSmrg                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
1558c82dfdfbSmrg                if (! (yysize <= yysize1
1559c82dfdfbSmrg                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1560c82dfdfbSmrg                  return 2;
1561c82dfdfbSmrg                yysize = yysize1;
1562c82dfdfbSmrg              }
1563c82dfdfbSmrg        }
1564c82dfdfbSmrg    }
1565690143ccSmrg
1566c82dfdfbSmrg  switch (yycount)
1567c82dfdfbSmrg    {
1568c82dfdfbSmrg# define YYCASE_(N, S)                      \
1569c82dfdfbSmrg      case N:                               \
1570c82dfdfbSmrg        yyformat = S;                       \
1571c82dfdfbSmrg      break
1572c82dfdfbSmrg      YYCASE_(0, YY_("syntax error"));
1573c82dfdfbSmrg      YYCASE_(1, YY_("syntax error, unexpected %s"));
1574c82dfdfbSmrg      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
1575c82dfdfbSmrg      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
1576c82dfdfbSmrg      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
1577c82dfdfbSmrg      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1578c82dfdfbSmrg# undef YYCASE_
1579c82dfdfbSmrg    }
1580690143ccSmrg
1581c82dfdfbSmrg  yysize1 = yysize + yystrlen (yyformat);
1582c82dfdfbSmrg  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1583c82dfdfbSmrg    return 2;
1584c82dfdfbSmrg  yysize = yysize1;
1585690143ccSmrg
1586c82dfdfbSmrg  if (*yymsg_alloc < yysize)
1587c82dfdfbSmrg    {
1588c82dfdfbSmrg      *yymsg_alloc = 2 * yysize;
1589c82dfdfbSmrg      if (! (yysize <= *yymsg_alloc
1590c82dfdfbSmrg             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
1591c82dfdfbSmrg        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
1592c82dfdfbSmrg      return 1;
1593690143ccSmrg    }
1594c82dfdfbSmrg
1595c82dfdfbSmrg  /* Avoid sprintf, as that infringes on the user's name space.
1596c82dfdfbSmrg     Don't have undefined behavior even if the translation
1597c82dfdfbSmrg     produced a string with the wrong number of "%s"s.  */
1598c82dfdfbSmrg  {
1599c82dfdfbSmrg    char *yyp = *yymsg;
1600c82dfdfbSmrg    int yyi = 0;
1601c82dfdfbSmrg    while ((*yyp = *yyformat) != '\0')
1602c82dfdfbSmrg      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
1603c82dfdfbSmrg        {
1604c82dfdfbSmrg          yyp += yytnamerr (yyp, yyarg[yyi++]);
1605c82dfdfbSmrg          yyformat += 2;
1606c82dfdfbSmrg        }
1607c82dfdfbSmrg      else
1608c82dfdfbSmrg        {
1609c82dfdfbSmrg          yyp++;
1610c82dfdfbSmrg          yyformat++;
1611c82dfdfbSmrg        }
1612c82dfdfbSmrg  }
1613c82dfdfbSmrg  return 0;
1614690143ccSmrg}
1615690143ccSmrg#endif /* YYERROR_VERBOSE */
1616690143ccSmrg
1617690143ccSmrg/*-----------------------------------------------.
1618690143ccSmrg| Release the memory associated to this symbol.  |
1619690143ccSmrg`-----------------------------------------------*/
1620690143ccSmrg
1621690143ccSmrg/*ARGSUSED*/
1622690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1623690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1624690143ccSmrgstatic void
1625690143ccSmrgyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1626690143ccSmrg#else
1627690143ccSmrgstatic void
1628690143ccSmrgyydestruct (yymsg, yytype, yyvaluep)
1629690143ccSmrg    const char *yymsg;
1630690143ccSmrg    int yytype;
1631690143ccSmrg    YYSTYPE *yyvaluep;
163207d2e718Smrg#endif
1633690143ccSmrg{
1634690143ccSmrg  YYUSE (yyvaluep);
1635690143ccSmrg
1636690143ccSmrg  if (!yymsg)
1637690143ccSmrg    yymsg = "Deleting";
1638690143ccSmrg  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1639690143ccSmrg
1640690143ccSmrg  switch (yytype)
1641690143ccSmrg    {
1642690143ccSmrg
1643690143ccSmrg      default:
1644690143ccSmrg	break;
164507d2e718Smrg    }
1646690143ccSmrg}
16471d8c7986Smrg
1648690143ccSmrg
1649690143ccSmrg
16501d8c7986Smrg
1651c82dfdfbSmrg/* The lookahead symbol.  */
1652690143ccSmrgint yychar;
1653690143ccSmrg
1654c82dfdfbSmrg
1655c82dfdfbSmrg#ifndef YYLVAL_INITIALIZE
1656c82dfdfbSmrg# define YYLVAL_INITIALIZE()
1657c82dfdfbSmrg#endif
1658c82dfdfbSmrg#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1659c82dfdfbSmrg# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1660c82dfdfbSmrg# define YY_IGNORE_MAYBE_UNINITIALIZED_END
1661c82dfdfbSmrg#endif
1662c82dfdfbSmrg
1663c82dfdfbSmrg/* The semantic value of the lookahead symbol.  */
1664690143ccSmrgYYSTYPE yylval;
1665690143ccSmrg
1666690143ccSmrg/* Number of syntax errors so far.  */
1667690143ccSmrgint yynerrs;
1668690143ccSmrg
1669690143ccSmrg
16701d8c7986Smrg/*----------.
16711d8c7986Smrg| yyparse.  |
16721d8c7986Smrg`----------*/
1673690143ccSmrg
1674690143ccSmrg#ifdef YYPARSE_PARAM
1675690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1676690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1677690143ccSmrgint
1678690143ccSmrgyyparse (void *YYPARSE_PARAM)
1679690143ccSmrg#else
1680690143ccSmrgint
1681690143ccSmrgyyparse (YYPARSE_PARAM)
1682690143ccSmrg    void *YYPARSE_PARAM;
1683690143ccSmrg#endif
1684690143ccSmrg#else /* ! YYPARSE_PARAM */
1685690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1686690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1687690143ccSmrgint
1688690143ccSmrgyyparse (void)
1689690143ccSmrg#else
1690690143ccSmrgint
1691690143ccSmrgyyparse ()
1692690143ccSmrg
1693690143ccSmrg#endif
1694690143ccSmrg#endif
1695690143ccSmrg{
1696c82dfdfbSmrg    int yystate;
1697c82dfdfbSmrg    /* Number of tokens to shift before error messages enabled.  */
1698c82dfdfbSmrg    int yyerrstatus;
1699c82dfdfbSmrg
1700c82dfdfbSmrg    /* The stacks and their tools:
1701c82dfdfbSmrg       `yyss': related to states.
1702c82dfdfbSmrg       `yyvs': related to semantic values.
1703c82dfdfbSmrg
1704c82dfdfbSmrg       Refer to the stacks through separate pointers, to allow yyoverflow
1705c82dfdfbSmrg       to reallocate them elsewhere.  */
1706c82dfdfbSmrg
1707c82dfdfbSmrg    /* The state stack.  */
1708c82dfdfbSmrg    yytype_int16 yyssa[YYINITDEPTH];
1709c82dfdfbSmrg    yytype_int16 *yyss;
1710c82dfdfbSmrg    yytype_int16 *yyssp;
1711c82dfdfbSmrg
1712c82dfdfbSmrg    /* The semantic value stack.  */
1713c82dfdfbSmrg    YYSTYPE yyvsa[YYINITDEPTH];
1714c82dfdfbSmrg    YYSTYPE *yyvs;
1715c82dfdfbSmrg    YYSTYPE *yyvsp;
1716c82dfdfbSmrg
1717c82dfdfbSmrg    YYSIZE_T yystacksize;
1718c82dfdfbSmrg
17191d8c7986Smrg  int yyn;
17201d8c7986Smrg  int yyresult;
1721c82dfdfbSmrg  /* Lookahead token as an internal (translated) token number.  */
17221d8c7986Smrg  int yytoken = 0;
1723c82dfdfbSmrg  /* The variables used to return semantic value and location from the
1724c82dfdfbSmrg     action routines.  */
1725c82dfdfbSmrg  YYSTYPE yyval;
1726c82dfdfbSmrg
17271d8c7986Smrg#if YYERROR_VERBOSE
17281d8c7986Smrg  /* Buffer for error messages, and its allocated size.  */
17291d8c7986Smrg  char yymsgbuf[128];
17301d8c7986Smrg  char *yymsg = yymsgbuf;
17311d8c7986Smrg  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
17321d8c7986Smrg#endif
1733690143ccSmrg
17341d8c7986Smrg#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
17351d8c7986Smrg
1736690143ccSmrg  /* The number of symbols on the RHS of the reduced rule.
1737690143ccSmrg     Keep to zero when no symbol should be popped.  */
1738690143ccSmrg  int yylen = 0;
1739690143ccSmrg
1740c82dfdfbSmrg  yyss = yyssa;
1741c82dfdfbSmrg  yyvs = yyvsa;
1742c82dfdfbSmrg  yystacksize = YYINITDEPTH;
1743c82dfdfbSmrg
1744690143ccSmrg  YYDPRINTF ((stderr, "Starting parse\n"));
1745690143ccSmrg
1746690143ccSmrg  yystate = 0;
1747690143ccSmrg  yyerrstatus = 0;
1748690143ccSmrg  yynerrs = 0;
1749c82dfdfbSmrg  yychar = YYEMPTY; /* Cause a token to be read.  */
1750690143ccSmrg
1751690143ccSmrg  /* Initialize stack pointers.
1752690143ccSmrg     Waste one element of value and location stack
1753690143ccSmrg     so that they stay on the same level as the state stack.
1754690143ccSmrg     The wasted elements are never initialized.  */
1755690143ccSmrg  yyssp = yyss;
1756690143ccSmrg  yyvsp = yyvs;
1757690143ccSmrg
1758c82dfdfbSmrg  YYLVAL_INITIALIZE ();
1759690143ccSmrg  goto yysetstate;
1760690143ccSmrg
1761690143ccSmrg/*------------------------------------------------------------.
1762690143ccSmrg| yynewstate -- Push a new state, which is found in yystate.  |
1763690143ccSmrg`------------------------------------------------------------*/
1764690143ccSmrg yynewstate:
1765690143ccSmrg  /* In all cases, when you get here, the value and location stacks
1766690143ccSmrg     have just been pushed.  So pushing a state here evens the stacks.  */
1767690143ccSmrg  yyssp++;
1768690143ccSmrg
1769690143ccSmrg yysetstate:
1770690143ccSmrg  *yyssp = yystate;
1771690143ccSmrg
1772690143ccSmrg  if (yyss + yystacksize - 1 <= yyssp)
1773690143ccSmrg    {
1774690143ccSmrg      /* Get the current used size of the three stacks, in elements.  */
1775690143ccSmrg      YYSIZE_T yysize = yyssp - yyss + 1;
1776690143ccSmrg
1777690143ccSmrg#ifdef yyoverflow
1778690143ccSmrg      {
1779690143ccSmrg	/* Give user a chance to reallocate the stack.  Use copies of
1780690143ccSmrg	   these so that the &'s don't force the real ones into
1781690143ccSmrg	   memory.  */
1782690143ccSmrg	YYSTYPE *yyvs1 = yyvs;
1783690143ccSmrg	yytype_int16 *yyss1 = yyss;
1784690143ccSmrg
1785690143ccSmrg	/* Each stack pointer address is followed by the size of the
1786690143ccSmrg	   data in use in that stack, in bytes.  This used to be a
1787690143ccSmrg	   conditional around just the two extra args, but that might
1788690143ccSmrg	   be undefined if yyoverflow is a macro.  */
1789690143ccSmrg	yyoverflow (YY_("memory exhausted"),
1790690143ccSmrg		    &yyss1, yysize * sizeof (*yyssp),
1791690143ccSmrg		    &yyvs1, yysize * sizeof (*yyvsp),
1792690143ccSmrg		    &yystacksize);
1793690143ccSmrg
1794690143ccSmrg	yyss = yyss1;
1795690143ccSmrg	yyvs = yyvs1;
1796690143ccSmrg      }
1797690143ccSmrg#else /* no yyoverflow */
1798690143ccSmrg# ifndef YYSTACK_RELOCATE
1799690143ccSmrg      goto yyexhaustedlab;
1800690143ccSmrg# else
1801690143ccSmrg      /* Extend the stack our own way.  */
1802690143ccSmrg      if (YYMAXDEPTH <= yystacksize)
1803690143ccSmrg	goto yyexhaustedlab;
1804690143ccSmrg      yystacksize *= 2;
1805690143ccSmrg      if (YYMAXDEPTH < yystacksize)
1806690143ccSmrg	yystacksize = YYMAXDEPTH;
1807690143ccSmrg
1808690143ccSmrg      {
1809690143ccSmrg	yytype_int16 *yyss1 = yyss;
1810690143ccSmrg	union yyalloc *yyptr =
1811690143ccSmrg	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1812690143ccSmrg	if (! yyptr)
1813690143ccSmrg	  goto yyexhaustedlab;
1814c82dfdfbSmrg	YYSTACK_RELOCATE (yyss_alloc, yyss);
1815c82dfdfbSmrg	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1816690143ccSmrg#  undef YYSTACK_RELOCATE
1817690143ccSmrg	if (yyss1 != yyssa)
1818690143ccSmrg	  YYSTACK_FREE (yyss1);
1819690143ccSmrg      }
1820690143ccSmrg# endif
1821690143ccSmrg#endif /* no yyoverflow */
1822690143ccSmrg
1823690143ccSmrg      yyssp = yyss + yysize - 1;
1824690143ccSmrg      yyvsp = yyvs + yysize - 1;
1825690143ccSmrg
1826690143ccSmrg      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1827690143ccSmrg		  (unsigned long int) yystacksize));
1828690143ccSmrg
1829690143ccSmrg      if (yyss + yystacksize - 1 <= yyssp)
1830690143ccSmrg	YYABORT;
1831690143ccSmrg    }
1832690143ccSmrg
1833690143ccSmrg  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1834690143ccSmrg
1835c82dfdfbSmrg  if (yystate == YYFINAL)
1836c82dfdfbSmrg    YYACCEPT;
1837c82dfdfbSmrg
1838690143ccSmrg  goto yybackup;
1839690143ccSmrg
1840690143ccSmrg/*-----------.
1841690143ccSmrg| yybackup.  |
1842690143ccSmrg`-----------*/
1843690143ccSmrgyybackup:
1844690143ccSmrg
1845690143ccSmrg  /* Do appropriate processing given the current state.  Read a
1846c82dfdfbSmrg     lookahead token if we need one and don't already have one.  */
1847690143ccSmrg
1848c82dfdfbSmrg  /* First try to decide what to do without reference to lookahead token.  */
1849690143ccSmrg  yyn = yypact[yystate];
1850c82dfdfbSmrg  if (yypact_value_is_default (yyn))
1851690143ccSmrg    goto yydefault;
1852690143ccSmrg
1853c82dfdfbSmrg  /* Not known => get a lookahead token if don't already have one.  */
1854690143ccSmrg
1855c82dfdfbSmrg  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
1856690143ccSmrg  if (yychar == YYEMPTY)
1857690143ccSmrg    {
1858690143ccSmrg      YYDPRINTF ((stderr, "Reading a token: "));
1859690143ccSmrg      yychar = YYLEX;
1860690143ccSmrg    }
1861690143ccSmrg
1862690143ccSmrg  if (yychar <= YYEOF)
1863690143ccSmrg    {
1864690143ccSmrg      yychar = yytoken = YYEOF;
1865690143ccSmrg      YYDPRINTF ((stderr, "Now at end of input.\n"));
1866690143ccSmrg    }
1867690143ccSmrg  else
1868690143ccSmrg    {
1869690143ccSmrg      yytoken = YYTRANSLATE (yychar);
1870690143ccSmrg      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1871690143ccSmrg    }
1872690143ccSmrg
1873690143ccSmrg  /* If the proper action on seeing token YYTOKEN is to reduce or to
1874690143ccSmrg     detect an error, take that action.  */
1875690143ccSmrg  yyn += yytoken;
1876690143ccSmrg  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1877690143ccSmrg    goto yydefault;
1878690143ccSmrg  yyn = yytable[yyn];
1879690143ccSmrg  if (yyn <= 0)
1880690143ccSmrg    {
1881c82dfdfbSmrg      if (yytable_value_is_error (yyn))
1882c82dfdfbSmrg        goto yyerrlab;
1883690143ccSmrg      yyn = -yyn;
1884690143ccSmrg      goto yyreduce;
1885690143ccSmrg    }
1886690143ccSmrg
1887690143ccSmrg  /* Count tokens shifted since error; after three, turn off error
1888690143ccSmrg     status.  */
1889690143ccSmrg  if (yyerrstatus)
1890690143ccSmrg    yyerrstatus--;
1891690143ccSmrg
1892c82dfdfbSmrg  /* Shift the lookahead token.  */
1893690143ccSmrg  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1894690143ccSmrg
1895c82dfdfbSmrg  /* Discard the shifted token.  */
1896c82dfdfbSmrg  yychar = YYEMPTY;
1897690143ccSmrg
1898690143ccSmrg  yystate = yyn;
1899c82dfdfbSmrg  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
1900690143ccSmrg  *++yyvsp = yylval;
1901c82dfdfbSmrg  YY_IGNORE_MAYBE_UNINITIALIZED_END
1902690143ccSmrg
1903690143ccSmrg  goto yynewstate;
1904690143ccSmrg
1905690143ccSmrg
1906690143ccSmrg/*-----------------------------------------------------------.
1907690143ccSmrg| yydefault -- do the default action for the current state.  |
1908690143ccSmrg`-----------------------------------------------------------*/
1909690143ccSmrgyydefault:
1910690143ccSmrg  yyn = yydefact[yystate];
1911690143ccSmrg  if (yyn == 0)
1912690143ccSmrg    goto yyerrlab;
1913690143ccSmrg  goto yyreduce;
1914690143ccSmrg
1915690143ccSmrg
1916690143ccSmrg/*-----------------------------.
1917690143ccSmrg| yyreduce -- Do a reduction.  |
1918690143ccSmrg`-----------------------------*/
1919690143ccSmrgyyreduce:
1920690143ccSmrg  /* yyn is the number of a rule to reduce with.  */
1921690143ccSmrg  yylen = yyr2[yyn];
1922690143ccSmrg
1923690143ccSmrg  /* If YYLEN is nonzero, implement the default value of the action:
1924690143ccSmrg     `$$ = $1'.
1925690143ccSmrg
1926690143ccSmrg     Otherwise, the following line sets YYVAL to garbage.
1927690143ccSmrg     This behavior is undocumented and Bison
1928690143ccSmrg     users should not rely upon it.  Assigning to YYVAL
1929690143ccSmrg     unconditionally makes the parser a bit smaller, and it avoids a
1930690143ccSmrg     GCC warning that YYVAL may be used uninitialized.  */
1931690143ccSmrg  yyval = yyvsp[1-yylen];
1932690143ccSmrg
1933690143ccSmrg
1934690143ccSmrg  YY_REDUCE_PRINT (yyn);
1935690143ccSmrg  switch (yyn)
1936f46a6179Smrg    {
1937690143ccSmrg        case 2:
1938c82dfdfbSmrg/* Line 1813 of yacc.c  */
193934345a63Smrg#line 169 "xkbparse.y"
1940690143ccSmrg    { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); }
1941690143ccSmrg    break;
1942690143ccSmrg
1943690143ccSmrg  case 3:
1944c82dfdfbSmrg/* Line 1813 of yacc.c  */
194534345a63Smrg#line 171 "xkbparse.y"
1946690143ccSmrg    { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file);  }
1947690143ccSmrg    break;
1948690143ccSmrg
1949690143ccSmrg  case 4:
1950c82dfdfbSmrg/* Line 1813 of yacc.c  */
195134345a63Smrg#line 173 "xkbparse.y"
1952690143ccSmrg    { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); }
1953690143ccSmrg    break;
1954690143ccSmrg
1955690143ccSmrg  case 5:
1956c82dfdfbSmrg/* Line 1813 of yacc.c  */
195734345a63Smrg#line 177 "xkbparse.y"
1958690143ccSmrg    { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); }
1959690143ccSmrg    break;
1960690143ccSmrg
1961690143ccSmrg  case 6:
1962c82dfdfbSmrg/* Line 1813 of yacc.c  */
196334345a63Smrg#line 179 "xkbparse.y"
1964690143ccSmrg    { (yyval.file)= (yyvsp[(1) - (1)].file); }
1965690143ccSmrg    break;
1966690143ccSmrg
1967690143ccSmrg  case 7:
1968c82dfdfbSmrg/* Line 1813 of yacc.c  */
196934345a63Smrg#line 185 "xkbparse.y"
1970690143ccSmrg    { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),&(yyvsp[(5) - (7)].file)->common,(yyvsp[(1) - (7)].uval)); }
1971690143ccSmrg    break;
1972690143ccSmrg
1973690143ccSmrg  case 8:
1974c82dfdfbSmrg/* Line 1813 of yacc.c  */
197534345a63Smrg#line 188 "xkbparse.y"
1976690143ccSmrg    { (yyval.uval)= XkmKeymapFile; }
1977690143ccSmrg    break;
1978690143ccSmrg
1979690143ccSmrg  case 9:
1980c82dfdfbSmrg/* Line 1813 of yacc.c  */
198134345a63Smrg#line 189 "xkbparse.y"
1982690143ccSmrg    { (yyval.uval)= XkmSemanticsFile; }
1983690143ccSmrg    break;
1984690143ccSmrg
1985690143ccSmrg  case 10:
1986c82dfdfbSmrg/* Line 1813 of yacc.c  */
198734345a63Smrg#line 190 "xkbparse.y"
1988690143ccSmrg    { (yyval.uval)= XkmLayoutFile; }
1989690143ccSmrg    break;
1990690143ccSmrg
1991690143ccSmrg  case 11:
1992c82dfdfbSmrg/* Line 1813 of yacc.c  */
199334345a63Smrg#line 194 "xkbparse.y"
1994690143ccSmrg    { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); }
1995690143ccSmrg    break;
1996690143ccSmrg
1997690143ccSmrg  case 12:
1998c82dfdfbSmrg/* Line 1813 of yacc.c  */
199934345a63Smrg#line 196 "xkbparse.y"
2000690143ccSmrg    { (yyval.file)= (yyvsp[(1) - (1)].file); }
2001690143ccSmrg    break;
2002690143ccSmrg
2003690143ccSmrg  case 13:
2004c82dfdfbSmrg/* Line 1813 of yacc.c  */
200534345a63Smrg#line 202 "xkbparse.y"
2006690143ccSmrg    { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),(yyvsp[(5) - (7)].any),(yyvsp[(1) - (7)].uval)); }
2007690143ccSmrg    break;
2008690143ccSmrg
2009690143ccSmrg  case 14:
2010c82dfdfbSmrg/* Line 1813 of yacc.c  */
201134345a63Smrg#line 206 "xkbparse.y"
2012690143ccSmrg    { (yyval.file)= CreateXKBFile((yyvsp[(2) - (4)].uval),(yyvsp[(3) - (4)].str),(yyvsp[(4) - (4)].any),(yyvsp[(1) - (4)].uval)); }
2013690143ccSmrg    break;
2014690143ccSmrg
2015690143ccSmrg  case 15:
2016c82dfdfbSmrg/* Line 1813 of yacc.c  */
201734345a63Smrg#line 210 "xkbparse.y"
2018690143ccSmrg    { (yyval.uval)= XkmKeyNamesIndex; }
2019690143ccSmrg    break;
2020690143ccSmrg
2021690143ccSmrg  case 16:
2022c82dfdfbSmrg/* Line 1813 of yacc.c  */
202334345a63Smrg#line 211 "xkbparse.y"
2024690143ccSmrg    { (yyval.uval)= XkmTypesIndex; }
2025690143ccSmrg    break;
2026690143ccSmrg
2027690143ccSmrg  case 17:
2028c82dfdfbSmrg/* Line 1813 of yacc.c  */
202934345a63Smrg#line 212 "xkbparse.y"
2030690143ccSmrg    { (yyval.uval)= XkmCompatMapIndex; }
2031690143ccSmrg    break;
2032690143ccSmrg
2033690143ccSmrg  case 18:
2034c82dfdfbSmrg/* Line 1813 of yacc.c  */
203534345a63Smrg#line 213 "xkbparse.y"
2036690143ccSmrg    { (yyval.uval)= XkmSymbolsIndex; }
2037690143ccSmrg    break;
2038690143ccSmrg
2039690143ccSmrg  case 19:
2040c82dfdfbSmrg/* Line 1813 of yacc.c  */
204134345a63Smrg#line 214 "xkbparse.y"
2042690143ccSmrg    { (yyval.uval)= XkmGeometryIndex; }
2043690143ccSmrg    break;
2044690143ccSmrg
2045690143ccSmrg  case 20:
2046c82dfdfbSmrg/* Line 1813 of yacc.c  */
204734345a63Smrg#line 217 "xkbparse.y"
2048690143ccSmrg    { (yyval.uval)= (yyvsp[(1) - (1)].uval); }
2049690143ccSmrg    break;
2050690143ccSmrg
2051690143ccSmrg  case 21:
2052c82dfdfbSmrg/* Line 1813 of yacc.c  */
205334345a63Smrg#line 218 "xkbparse.y"
2054690143ccSmrg    { (yyval.uval)= 0; }
2055690143ccSmrg    break;
2056690143ccSmrg
2057690143ccSmrg  case 22:
2058c82dfdfbSmrg/* Line 1813 of yacc.c  */
205934345a63Smrg#line 221 "xkbparse.y"
2060690143ccSmrg    { (yyval.uval)= (((yyvsp[(1) - (2)].uval))|((yyvsp[(2) - (2)].uval))); }
2061690143ccSmrg    break;
2062690143ccSmrg
2063690143ccSmrg  case 23:
2064c82dfdfbSmrg/* Line 1813 of yacc.c  */
206534345a63Smrg#line 222 "xkbparse.y"
2066690143ccSmrg    { (yyval.uval)= (yyvsp[(1) - (1)].uval); }
2067690143ccSmrg    break;
2068690143ccSmrg
2069690143ccSmrg  case 24:
2070c82dfdfbSmrg/* Line 1813 of yacc.c  */
207134345a63Smrg#line 225 "xkbparse.y"
2072690143ccSmrg    { (yyval.uval)= XkbLC_Partial; }
2073690143ccSmrg    break;
2074690143ccSmrg
2075690143ccSmrg  case 25:
2076c82dfdfbSmrg/* Line 1813 of yacc.c  */
207734345a63Smrg#line 226 "xkbparse.y"
2078690143ccSmrg    { (yyval.uval)= XkbLC_Default; }
2079690143ccSmrg    break;
2080690143ccSmrg
2081690143ccSmrg  case 26:
2082c82dfdfbSmrg/* Line 1813 of yacc.c  */
208334345a63Smrg#line 227 "xkbparse.y"
2084690143ccSmrg    { (yyval.uval)= XkbLC_Hidden; }
2085690143ccSmrg    break;
2086690143ccSmrg
2087690143ccSmrg  case 27:
2088c82dfdfbSmrg/* Line 1813 of yacc.c  */
208934345a63Smrg#line 228 "xkbparse.y"
2090690143ccSmrg    { (yyval.uval)= XkbLC_AlphanumericKeys; }
2091690143ccSmrg    break;
2092690143ccSmrg
2093690143ccSmrg  case 28:
2094c82dfdfbSmrg/* Line 1813 of yacc.c  */
209534345a63Smrg#line 229 "xkbparse.y"
2096690143ccSmrg    { (yyval.uval)= XkbLC_ModifierKeys; }
2097690143ccSmrg    break;
2098690143ccSmrg
2099690143ccSmrg  case 29:
2100c82dfdfbSmrg/* Line 1813 of yacc.c  */
210134345a63Smrg#line 230 "xkbparse.y"
2102690143ccSmrg    { (yyval.uval)= XkbLC_KeypadKeys; }
2103690143ccSmrg    break;
2104690143ccSmrg
2105690143ccSmrg  case 30:
2106c82dfdfbSmrg/* Line 1813 of yacc.c  */
210734345a63Smrg#line 231 "xkbparse.y"
2108690143ccSmrg    { (yyval.uval)= XkbLC_FunctionKeys; }
2109690143ccSmrg    break;
2110690143ccSmrg
2111690143ccSmrg  case 31:
2112c82dfdfbSmrg/* Line 1813 of yacc.c  */
211334345a63Smrg#line 232 "xkbparse.y"
2114690143ccSmrg    { (yyval.uval)= XkbLC_AlternateGroup; }
2115690143ccSmrg    break;
2116690143ccSmrg
2117690143ccSmrg  case 32:
2118c82dfdfbSmrg/* Line 1813 of yacc.c  */
211934345a63Smrg#line 236 "xkbparse.y"
2120690143ccSmrg    { (yyval.any)= AppendStmt((yyvsp[(1) - (2)].any),(yyvsp[(2) - (2)].any)); }
2121690143ccSmrg    break;
2122690143ccSmrg
2123690143ccSmrg  case 33:
2124c82dfdfbSmrg/* Line 1813 of yacc.c  */
212534345a63Smrg#line 237 "xkbparse.y"
2126690143ccSmrg    { (yyval.any)= NULL; }
2127690143ccSmrg    break;
2128690143ccSmrg
2129690143ccSmrg  case 34:
2130c82dfdfbSmrg/* Line 1813 of yacc.c  */
213134345a63Smrg#line 241 "xkbparse.y"
2132690143ccSmrg    {
2133690143ccSmrg			    (yyvsp[(2) - (2)].var)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].var)->common,(yyvsp[(1) - (2)].uval));
2134690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].var)->common;
2135f46a6179Smrg			}
2136690143ccSmrg    break;
2137690143ccSmrg
2138690143ccSmrg  case 35:
2139c82dfdfbSmrg/* Line 1813 of yacc.c  */
214034345a63Smrg#line 246 "xkbparse.y"
2141690143ccSmrg    {
2142690143ccSmrg			    (yyvsp[(2) - (2)].vmod)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].vmod)->common,(yyvsp[(1) - (2)].uval));
2143690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].vmod)->common;
2144f46a6179Smrg			}
2145690143ccSmrg    break;
2146690143ccSmrg
2147690143ccSmrg  case 36:
2148c82dfdfbSmrg/* Line 1813 of yacc.c  */
214934345a63Smrg#line 251 "xkbparse.y"
2150690143ccSmrg    {
2151690143ccSmrg			    (yyvsp[(2) - (2)].interp)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].interp)->common,(yyvsp[(1) - (2)].uval));
2152690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].interp)->common;
2153f46a6179Smrg			}
2154690143ccSmrg    break;
2155690143ccSmrg
2156690143ccSmrg  case 37:
2157c82dfdfbSmrg/* Line 1813 of yacc.c  */
215834345a63Smrg#line 256 "xkbparse.y"
2159690143ccSmrg    {
2160690143ccSmrg			    (yyvsp[(2) - (2)].keyName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyName)->common,(yyvsp[(1) - (2)].uval));
2161690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].keyName)->common;
2162f46a6179Smrg			}
2163690143ccSmrg    break;
2164690143ccSmrg
2165690143ccSmrg  case 38:
2166c82dfdfbSmrg/* Line 1813 of yacc.c  */
216734345a63Smrg#line 261 "xkbparse.y"
2168690143ccSmrg    {
2169690143ccSmrg			    (yyvsp[(2) - (2)].keyAlias)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyAlias)->common,(yyvsp[(1) - (2)].uval));
2170690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].keyAlias)->common;
2171f46a6179Smrg			}
2172690143ccSmrg    break;
2173690143ccSmrg
2174690143ccSmrg  case 39:
2175c82dfdfbSmrg/* Line 1813 of yacc.c  */
217634345a63Smrg#line 266 "xkbparse.y"
2177690143ccSmrg    {
2178690143ccSmrg			    (yyvsp[(2) - (2)].keyType)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyType)->common,(yyvsp[(1) - (2)].uval));
2179690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].keyType)->common;
2180f46a6179Smrg			}
2181690143ccSmrg    break;
2182690143ccSmrg
2183690143ccSmrg  case 40:
2184c82dfdfbSmrg/* Line 1813 of yacc.c  */
218534345a63Smrg#line 271 "xkbparse.y"
2186690143ccSmrg    {
2187690143ccSmrg			    (yyvsp[(2) - (2)].syms)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].syms)->common,(yyvsp[(1) - (2)].uval));
2188690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].syms)->common;
2189f46a6179Smrg			}
2190690143ccSmrg    break;
2191690143ccSmrg
2192690143ccSmrg  case 41:
2193c82dfdfbSmrg/* Line 1813 of yacc.c  */
219434345a63Smrg#line 276 "xkbparse.y"
2195690143ccSmrg    {
2196690143ccSmrg			    (yyvsp[(2) - (2)].modMask)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].modMask)->common,(yyvsp[(1) - (2)].uval));
2197690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].modMask)->common;
2198f46a6179Smrg			}
2199690143ccSmrg    break;
2200690143ccSmrg
2201690143ccSmrg  case 42:
2202c82dfdfbSmrg/* Line 1813 of yacc.c  */
220334345a63Smrg#line 281 "xkbparse.y"
2204690143ccSmrg    {
2205690143ccSmrg			    (yyvsp[(2) - (2)].groupCompat)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].groupCompat)->common,(yyvsp[(1) - (2)].uval));
2206690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].groupCompat)->common;
2207f46a6179Smrg			}
2208690143ccSmrg    break;
2209690143ccSmrg
2210690143ccSmrg  case 43:
2211c82dfdfbSmrg/* Line 1813 of yacc.c  */
221234345a63Smrg#line 286 "xkbparse.y"
2213690143ccSmrg    {
2214690143ccSmrg			    (yyvsp[(2) - (2)].ledMap)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledMap)->common,(yyvsp[(1) - (2)].uval));
2215690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].ledMap)->common;
2216f46a6179Smrg			}
2217690143ccSmrg    break;
2218690143ccSmrg
2219690143ccSmrg  case 44:
2220c82dfdfbSmrg/* Line 1813 of yacc.c  */
222134345a63Smrg#line 291 "xkbparse.y"
2222690143ccSmrg    {
2223690143ccSmrg			    (yyvsp[(2) - (2)].ledName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledName)->common,(yyvsp[(1) - (2)].uval));
2224690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].ledName)->common;
2225f46a6179Smrg			}
2226690143ccSmrg    break;
2227690143ccSmrg
2228690143ccSmrg  case 45:
2229c82dfdfbSmrg/* Line 1813 of yacc.c  */
223034345a63Smrg#line 296 "xkbparse.y"
2231690143ccSmrg    {
2232690143ccSmrg			    (yyvsp[(2) - (2)].shape)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].shape)->common,(yyvsp[(1) - (2)].uval));
2233690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].shape)->common;
2234f46a6179Smrg			}
2235690143ccSmrg    break;
2236690143ccSmrg
2237690143ccSmrg  case 46:
2238c82dfdfbSmrg/* Line 1813 of yacc.c  */
223934345a63Smrg#line 301 "xkbparse.y"
2240690143ccSmrg    {
2241690143ccSmrg			    (yyvsp[(2) - (2)].section)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].section)->common,(yyvsp[(1) - (2)].uval));
2242690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].section)->common;
2243f46a6179Smrg			}
2244690143ccSmrg    break;
2245690143ccSmrg
2246690143ccSmrg  case 47:
2247c82dfdfbSmrg/* Line 1813 of yacc.c  */
224834345a63Smrg#line 306 "xkbparse.y"
2249690143ccSmrg    {
2250690143ccSmrg			    (yyvsp[(2) - (2)].doodad)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].doodad)->common,(yyvsp[(1) - (2)].uval));
2251690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].doodad)->common;
2252f46a6179Smrg			}
2253690143ccSmrg    break;
2254690143ccSmrg
2255690143ccSmrg  case 48:
2256c82dfdfbSmrg/* Line 1813 of yacc.c  */
225734345a63Smrg#line 311 "xkbparse.y"
2258690143ccSmrg    {
2259690143ccSmrg			    if ((yyvsp[(1) - (2)].uval)==MergeAltForm) {
2260f46a6179Smrg				yyerror("cannot use 'alternate' to include other maps");
2261690143ccSmrg				(yyval.any)= &IncludeCreate(scanBuf,MergeDefault)->common;
2262f46a6179Smrg			    }
2263f46a6179Smrg			    else {
2264690143ccSmrg				(yyval.any)= &IncludeCreate(scanBuf,(yyvsp[(1) - (2)].uval))->common;
2265f46a6179Smrg			    }
2266f46a6179Smrg                        }
2267690143ccSmrg    break;
2268690143ccSmrg
2269690143ccSmrg  case 49:
2270c82dfdfbSmrg/* Line 1813 of yacc.c  */
227134345a63Smrg#line 323 "xkbparse.y"
2272690143ccSmrg    { (yyval.var)= VarCreate((yyvsp[(1) - (4)].expr),(yyvsp[(3) - (4)].expr)); }
2273690143ccSmrg    break;
2274690143ccSmrg
2275690143ccSmrg  case 50:
2276c82dfdfbSmrg/* Line 1813 of yacc.c  */
227734345a63Smrg#line 325 "xkbparse.y"
2278690143ccSmrg    { (yyval.var)= BoolVarCreate((yyvsp[(1) - (2)].sval),1); }
2279690143ccSmrg    break;
2280690143ccSmrg
2281690143ccSmrg  case 51:
2282c82dfdfbSmrg/* Line 1813 of yacc.c  */
228334345a63Smrg#line 327 "xkbparse.y"
2284690143ccSmrg    { (yyval.var)= BoolVarCreate((yyvsp[(2) - (3)].sval),0); }
2285690143ccSmrg    break;
2286690143ccSmrg
2287690143ccSmrg  case 52:
2288c82dfdfbSmrg/* Line 1813 of yacc.c  */
228934345a63Smrg#line 331 "xkbparse.y"
2290690143ccSmrg    {
2291f46a6179Smrg			    KeycodeDef *def;
2292f46a6179Smrg
2293690143ccSmrg			    def= KeycodeCreate((yyvsp[(1) - (4)].str),(yyvsp[(3) - (4)].expr));
2294690143ccSmrg			    if ((yyvsp[(1) - (4)].str))
2295690143ccSmrg				free((yyvsp[(1) - (4)].str));
2296690143ccSmrg			    (yyval.keyName)= def;
2297f46a6179Smrg			}
2298690143ccSmrg    break;
2299690143ccSmrg
2300690143ccSmrg  case 53:
2301c82dfdfbSmrg/* Line 1813 of yacc.c  */
230234345a63Smrg#line 342 "xkbparse.y"
2303690143ccSmrg    {
2304f46a6179Smrg			    KeyAliasDef	*def;
2305690143ccSmrg			    def= KeyAliasCreate((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].str));
2306690143ccSmrg			    if ((yyvsp[(2) - (5)].str))	free((yyvsp[(2) - (5)].str));
2307690143ccSmrg			    if ((yyvsp[(4) - (5)].str))	free((yyvsp[(4) - (5)].str));
2308690143ccSmrg			    (yyval.keyAlias)= def;
2309f46a6179Smrg			}
2310690143ccSmrg    break;
2311690143ccSmrg
2312690143ccSmrg  case 54:
2313c82dfdfbSmrg/* Line 1813 of yacc.c  */
231434345a63Smrg#line 352 "xkbparse.y"
2315690143ccSmrg    { (yyval.vmod)= (yyvsp[(2) - (3)].vmod); }
2316690143ccSmrg    break;
2317690143ccSmrg
2318690143ccSmrg  case 55:
2319c82dfdfbSmrg/* Line 1813 of yacc.c  */
232034345a63Smrg#line 356 "xkbparse.y"
2321690143ccSmrg    { (yyval.vmod)= (VModDef *)AppendStmt(&(yyvsp[(1) - (3)].vmod)->common,&(yyvsp[(3) - (3)].vmod)->common); }
2322690143ccSmrg    break;
2323690143ccSmrg
2324690143ccSmrg  case 56:
2325c82dfdfbSmrg/* Line 1813 of yacc.c  */
232634345a63Smrg#line 358 "xkbparse.y"
2327690143ccSmrg    { (yyval.vmod)= (yyvsp[(1) - (1)].vmod); }
2328690143ccSmrg    break;
2329690143ccSmrg
2330690143ccSmrg  case 57:
2331c82dfdfbSmrg/* Line 1813 of yacc.c  */
233234345a63Smrg#line 362 "xkbparse.y"
2333690143ccSmrg    { (yyval.vmod)= VModCreate((yyvsp[(1) - (1)].sval),NULL); }
2334690143ccSmrg    break;
2335690143ccSmrg
2336690143ccSmrg  case 58:
2337c82dfdfbSmrg/* Line 1813 of yacc.c  */
233834345a63Smrg#line 364 "xkbparse.y"
2339690143ccSmrg    { (yyval.vmod)= VModCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); }
2340690143ccSmrg    break;
2341690143ccSmrg
2342690143ccSmrg  case 59:
2343c82dfdfbSmrg/* Line 1813 of yacc.c  */
234434345a63Smrg#line 370 "xkbparse.y"
2345690143ccSmrg    {
2346690143ccSmrg			    (yyvsp[(2) - (6)].interp)->def= (yyvsp[(4) - (6)].var);
2347690143ccSmrg			    (yyval.interp)= (yyvsp[(2) - (6)].interp);
2348f46a6179Smrg			}
2349690143ccSmrg    break;
2350690143ccSmrg
2351690143ccSmrg  case 60:
2352c82dfdfbSmrg/* Line 1813 of yacc.c  */
235334345a63Smrg#line 377 "xkbparse.y"
2354690143ccSmrg    { (yyval.interp)= InterpCreate((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].expr)); }
2355690143ccSmrg    break;
2356690143ccSmrg
2357690143ccSmrg  case 61:
2358c82dfdfbSmrg/* Line 1813 of yacc.c  */
235934345a63Smrg#line 379 "xkbparse.y"
2360690143ccSmrg    { (yyval.interp)= InterpCreate((yyvsp[(1) - (1)].str), NULL); }
2361690143ccSmrg    break;
2362690143ccSmrg
2363690143ccSmrg  case 62:
2364c82dfdfbSmrg/* Line 1813 of yacc.c  */
236534345a63Smrg#line 383 "xkbparse.y"
2366690143ccSmrg    { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (2)].var)->common,&(yyvsp[(2) - (2)].var)->common); }
2367690143ccSmrg    break;
2368690143ccSmrg
2369690143ccSmrg  case 63:
2370c82dfdfbSmrg/* Line 1813 of yacc.c  */
237134345a63Smrg#line 385 "xkbparse.y"
2372690143ccSmrg    { (yyval.var)= (yyvsp[(1) - (1)].var); }
2373690143ccSmrg    break;
2374690143ccSmrg
2375690143ccSmrg  case 64:
2376c82dfdfbSmrg/* Line 1813 of yacc.c  */
237734345a63Smrg#line 391 "xkbparse.y"
2378690143ccSmrg    { (yyval.keyType)= KeyTypeCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); }
2379690143ccSmrg    break;
2380690143ccSmrg
2381690143ccSmrg  case 65:
2382c82dfdfbSmrg/* Line 1813 of yacc.c  */
238334345a63Smrg#line 397 "xkbparse.y"
2384690143ccSmrg    { (yyval.syms)= SymbolsCreate((yyvsp[(2) - (6)].str),(ExprDef *)(yyvsp[(4) - (6)].var)); }
2385690143ccSmrg    break;
2386690143ccSmrg
2387690143ccSmrg  case 66:
2388c82dfdfbSmrg/* Line 1813 of yacc.c  */
238934345a63Smrg#line 401 "xkbparse.y"
2390690143ccSmrg    { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (3)].var)->common,&(yyvsp[(3) - (3)].var)->common); }
2391690143ccSmrg    break;
2392690143ccSmrg
2393690143ccSmrg  case 67:
2394c82dfdfbSmrg/* Line 1813 of yacc.c  */
239534345a63Smrg#line 403 "xkbparse.y"
2396690143ccSmrg    { (yyval.var)= (yyvsp[(1) - (1)].var); }
2397690143ccSmrg    break;
2398690143ccSmrg
2399690143ccSmrg  case 68:
2400c82dfdfbSmrg/* Line 1813 of yacc.c  */
240134345a63Smrg#line 404 "xkbparse.y"
2402690143ccSmrg    { (yyval.var)= NULL; }
2403690143ccSmrg    break;
2404690143ccSmrg
2405690143ccSmrg  case 69:
2406c82dfdfbSmrg/* Line 1813 of yacc.c  */
240734345a63Smrg#line 408 "xkbparse.y"
2408690143ccSmrg    { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2409690143ccSmrg    break;
2410690143ccSmrg
2411690143ccSmrg  case 70:
2412c82dfdfbSmrg/* Line 1813 of yacc.c  */
241334345a63Smrg#line 410 "xkbparse.y"
2414690143ccSmrg    { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2415690143ccSmrg    break;
2416690143ccSmrg
2417690143ccSmrg  case 71:
2418c82dfdfbSmrg/* Line 1813 of yacc.c  */
241934345a63Smrg#line 412 "xkbparse.y"
2420690143ccSmrg    { (yyval.var)= BoolVarCreate((yyvsp[(1) - (1)].sval),1); }
2421690143ccSmrg    break;
2422690143ccSmrg
2423690143ccSmrg  case 72:
2424c82dfdfbSmrg/* Line 1813 of yacc.c  */
242534345a63Smrg#line 414 "xkbparse.y"
2426690143ccSmrg    { (yyval.var)= BoolVarCreate((yyvsp[(2) - (2)].sval),0); }
2427690143ccSmrg    break;
2428690143ccSmrg
2429690143ccSmrg  case 73:
2430c82dfdfbSmrg/* Line 1813 of yacc.c  */
243134345a63Smrg#line 416 "xkbparse.y"
2432690143ccSmrg    { (yyval.var)= VarCreate(NULL,(yyvsp[(1) - (1)].expr)); }
2433690143ccSmrg    break;
2434690143ccSmrg
2435690143ccSmrg  case 74:
2436c82dfdfbSmrg/* Line 1813 of yacc.c  */
243734345a63Smrg#line 420 "xkbparse.y"
2438690143ccSmrg    { (yyval.expr)= (yyvsp[(2) - (3)].expr); }
2439690143ccSmrg    break;
2440690143ccSmrg
2441690143ccSmrg  case 75:
2442c82dfdfbSmrg/* Line 1813 of yacc.c  */
244334345a63Smrg#line 422 "xkbparse.y"
2444690143ccSmrg    { (yyval.expr)= ExprCreateUnary(ExprActionList,TypeAction,(yyvsp[(2) - (3)].expr)); }
2445690143ccSmrg    break;
2446690143ccSmrg
2447690143ccSmrg  case 76:
2448c82dfdfbSmrg/* Line 1813 of yacc.c  */
244934345a63Smrg#line 426 "xkbparse.y"
2450690143ccSmrg    { (yyval.groupCompat)= GroupCompatCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr)); }
2451690143ccSmrg    break;
2452690143ccSmrg
2453690143ccSmrg  case 77:
2454c82dfdfbSmrg/* Line 1813 of yacc.c  */
245534345a63Smrg#line 430 "xkbparse.y"
2456690143ccSmrg    { (yyval.modMask)= ModMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].expr)); }
2457690143ccSmrg    break;
2458690143ccSmrg
2459690143ccSmrg  case 78:
2460c82dfdfbSmrg/* Line 1813 of yacc.c  */
246134345a63Smrg#line 434 "xkbparse.y"
2462690143ccSmrg    { (yyval.ledMap)= IndicatorMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); }
2463690143ccSmrg    break;
2464690143ccSmrg
2465690143ccSmrg  case 79:
2466c82dfdfbSmrg/* Line 1813 of yacc.c  */
246734345a63Smrg#line 438 "xkbparse.y"
2468690143ccSmrg    { (yyval.ledName)= IndicatorNameCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr),False); }
2469690143ccSmrg    break;
2470690143ccSmrg
2471690143ccSmrg  case 80:
2472c82dfdfbSmrg/* Line 1813 of yacc.c  */
247334345a63Smrg#line 440 "xkbparse.y"
2474690143ccSmrg    { (yyval.ledName)= IndicatorNameCreate((yyvsp[(3) - (6)].ival),(yyvsp[(5) - (6)].expr),True); }
2475690143ccSmrg    break;
2476690143ccSmrg
2477690143ccSmrg  case 81:
2478c82dfdfbSmrg/* Line 1813 of yacc.c  */
247934345a63Smrg#line 444 "xkbparse.y"
2480690143ccSmrg    { (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),(OutlineDef *)&(yyvsp[(4) - (6)].outline)->common); }
2481690143ccSmrg    break;
2482690143ccSmrg
2483690143ccSmrg  case 82:
2484c82dfdfbSmrg/* Line 1813 of yacc.c  */
248534345a63Smrg#line 446 "xkbparse.y"
2486690143ccSmrg    {
2487f46a6179Smrg			    OutlineDef *outlines;
2488690143ccSmrg			    outlines= OutlineCreate(None,(yyvsp[(4) - (6)].expr));
2489690143ccSmrg			    (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),outlines);
2490f46a6179Smrg			}
2491690143ccSmrg    break;
2492690143ccSmrg
2493690143ccSmrg  case 83:
2494c82dfdfbSmrg/* Line 1813 of yacc.c  */
249534345a63Smrg#line 454 "xkbparse.y"
2496690143ccSmrg    { (yyval.section)= SectionDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].row)); }
2497690143ccSmrg    break;
2498690143ccSmrg
2499690143ccSmrg  case 84:
2500c82dfdfbSmrg/* Line 1813 of yacc.c  */
250134345a63Smrg#line 458 "xkbparse.y"
2502690143ccSmrg    { (yyval.row)=(RowDef *)AppendStmt(&(yyvsp[(1) - (2)].row)->common,&(yyvsp[(2) - (2)].row)->common);}
2503690143ccSmrg    break;
2504690143ccSmrg
2505690143ccSmrg  case 85:
2506c82dfdfbSmrg/* Line 1813 of yacc.c  */
250734345a63Smrg#line 460 "xkbparse.y"
2508690143ccSmrg    { (yyval.row)= (yyvsp[(1) - (1)].row); }
2509690143ccSmrg    break;
2510690143ccSmrg
2511690143ccSmrg  case 86:
2512c82dfdfbSmrg/* Line 1813 of yacc.c  */
251334345a63Smrg#line 464 "xkbparse.y"
2514690143ccSmrg    { (yyval.row)= RowDeclCreate((yyvsp[(3) - (5)].key)); }
2515690143ccSmrg    break;
2516690143ccSmrg
2517690143ccSmrg  case 87:
2518c82dfdfbSmrg/* Line 1813 of yacc.c  */
251934345a63Smrg#line 466 "xkbparse.y"
2520690143ccSmrg    { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].var); }
2521690143ccSmrg    break;
2522690143ccSmrg
2523690143ccSmrg  case 88:
2524c82dfdfbSmrg/* Line 1813 of yacc.c  */
252534345a63Smrg#line 468 "xkbparse.y"
2526690143ccSmrg    { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].doodad); }
2527690143ccSmrg    break;
2528690143ccSmrg
2529690143ccSmrg  case 89:
2530c82dfdfbSmrg/* Line 1813 of yacc.c  */
253134345a63Smrg#line 470 "xkbparse.y"
2532690143ccSmrg    { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].ledMap); }
2533690143ccSmrg    break;
2534690143ccSmrg
2535690143ccSmrg  case 90:
2536c82dfdfbSmrg/* Line 1813 of yacc.c  */
253734345a63Smrg#line 472 "xkbparse.y"
2538690143ccSmrg    { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].overlay); }
2539690143ccSmrg    break;
2540690143ccSmrg
2541690143ccSmrg  case 91:
2542c82dfdfbSmrg/* Line 1813 of yacc.c  */
254334345a63Smrg#line 476 "xkbparse.y"
2544690143ccSmrg    { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (2)].key)->common,&(yyvsp[(2) - (2)].key)->common);}
2545690143ccSmrg    break;
2546690143ccSmrg
2547690143ccSmrg  case 92:
2548c82dfdfbSmrg/* Line 1813 of yacc.c  */
254934345a63Smrg#line 478 "xkbparse.y"
2550690143ccSmrg    { (yyval.key)= (yyvsp[(1) - (1)].key); }
2551690143ccSmrg    break;
2552690143ccSmrg
2553690143ccSmrg  case 93:
2554c82dfdfbSmrg/* Line 1813 of yacc.c  */
255534345a63Smrg#line 482 "xkbparse.y"
2556690143ccSmrg    { (yyval.key)= (yyvsp[(3) - (5)].key); }
2557690143ccSmrg    break;
2558690143ccSmrg
2559690143ccSmrg  case 94:
2560c82dfdfbSmrg/* Line 1813 of yacc.c  */
256134345a63Smrg#line 484 "xkbparse.y"
2562690143ccSmrg    { (yyval.key)= (KeyDef *)(yyvsp[(1) - (1)].var); }
2563690143ccSmrg    break;
2564690143ccSmrg
2565690143ccSmrg  case 95:
2566c82dfdfbSmrg/* Line 1813 of yacc.c  */
256734345a63Smrg#line 488 "xkbparse.y"
2568690143ccSmrg    { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (3)].key)->common,&(yyvsp[(3) - (3)].key)->common);}
2569690143ccSmrg    break;
2570690143ccSmrg
2571690143ccSmrg  case 96:
2572c82dfdfbSmrg/* Line 1813 of yacc.c  */
257334345a63Smrg#line 490 "xkbparse.y"
2574690143ccSmrg    { (yyval.key)= (yyvsp[(1) - (1)].key); }
2575690143ccSmrg    break;
2576690143ccSmrg
2577690143ccSmrg  case 97:
2578c82dfdfbSmrg/* Line 1813 of yacc.c  */
257934345a63Smrg#line 494 "xkbparse.y"
2580690143ccSmrg    { (yyval.key)= KeyDeclCreate((yyvsp[(1) - (1)].str),NULL); }
2581690143ccSmrg    break;
2582690143ccSmrg
2583690143ccSmrg  case 98:
2584c82dfdfbSmrg/* Line 1813 of yacc.c  */
258534345a63Smrg#line 496 "xkbparse.y"
2586690143ccSmrg    { (yyval.key)= KeyDeclCreate(NULL,(yyvsp[(2) - (3)].expr)); }
2587690143ccSmrg    break;
2588690143ccSmrg
2589690143ccSmrg  case 99:
2590c82dfdfbSmrg/* Line 1813 of yacc.c  */
259134345a63Smrg#line 500 "xkbparse.y"
2592690143ccSmrg    { (yyval.overlay)= OverlayDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].olKey)); }
2593690143ccSmrg    break;
2594690143ccSmrg
2595690143ccSmrg  case 100:
2596c82dfdfbSmrg/* Line 1813 of yacc.c  */
259734345a63Smrg#line 504 "xkbparse.y"
2598690143ccSmrg    {
2599690143ccSmrg			    (yyval.olKey)= (OverlayKeyDef *)
2600690143ccSmrg				AppendStmt(&(yyvsp[(1) - (3)].olKey)->common,&(yyvsp[(3) - (3)].olKey)->common);
2601f46a6179Smrg			}
2602690143ccSmrg    break;
2603690143ccSmrg
2604690143ccSmrg  case 101:
2605c82dfdfbSmrg/* Line 1813 of yacc.c  */
260634345a63Smrg#line 509 "xkbparse.y"
2607690143ccSmrg    { (yyval.olKey)= (yyvsp[(1) - (1)].olKey); }
2608690143ccSmrg    break;
2609690143ccSmrg
2610690143ccSmrg  case 102:
2611c82dfdfbSmrg/* Line 1813 of yacc.c  */
261234345a63Smrg#line 513 "xkbparse.y"
2613690143ccSmrg    { (yyval.olKey)= OverlayKeyCreate((yyvsp[(1) - (3)].str),(yyvsp[(3) - (3)].str)); }
2614690143ccSmrg    break;
2615690143ccSmrg
2616690143ccSmrg  case 103:
2617c82dfdfbSmrg/* Line 1813 of yacc.c  */
261834345a63Smrg#line 517 "xkbparse.y"
2619690143ccSmrg    { (yyval.outline)=(OutlineDef *)AppendStmt(&(yyvsp[(1) - (3)].outline)->common,&(yyvsp[(3) - (3)].outline)->common);}
2620690143ccSmrg    break;
2621690143ccSmrg
2622690143ccSmrg  case 104:
2623c82dfdfbSmrg/* Line 1813 of yacc.c  */
262434345a63Smrg#line 519 "xkbparse.y"
2625690143ccSmrg    { (yyval.outline)= (yyvsp[(1) - (1)].outline); }
2626690143ccSmrg    break;
2627690143ccSmrg
2628690143ccSmrg  case 105:
2629c82dfdfbSmrg/* Line 1813 of yacc.c  */
263034345a63Smrg#line 523 "xkbparse.y"
2631690143ccSmrg    { (yyval.outline)= OutlineCreate(None,(yyvsp[(2) - (3)].expr)); }
2632690143ccSmrg    break;
2633690143ccSmrg
2634690143ccSmrg  case 106:
2635c82dfdfbSmrg/* Line 1813 of yacc.c  */
263634345a63Smrg#line 525 "xkbparse.y"
2637690143ccSmrg    { (yyval.outline)= OutlineCreate((yyvsp[(1) - (5)].sval),(yyvsp[(4) - (5)].expr)); }
2638690143ccSmrg    break;
2639690143ccSmrg
2640690143ccSmrg  case 107:
2641c82dfdfbSmrg/* Line 1813 of yacc.c  */
264234345a63Smrg#line 527 "xkbparse.y"
2643690143ccSmrg    { (yyval.outline)= OutlineCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); }
2644690143ccSmrg    break;
2645690143ccSmrg
2646690143ccSmrg  case 108:
2647c82dfdfbSmrg/* Line 1813 of yacc.c  */
264834345a63Smrg#line 531 "xkbparse.y"
2649690143ccSmrg    { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); }
2650690143ccSmrg    break;
2651690143ccSmrg
2652690143ccSmrg  case 109:
2653c82dfdfbSmrg/* Line 1813 of yacc.c  */
265434345a63Smrg#line 533 "xkbparse.y"
2655690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
2656690143ccSmrg    break;
2657690143ccSmrg
2658690143ccSmrg  case 110:
2659c82dfdfbSmrg/* Line 1813 of yacc.c  */
266034345a63Smrg#line 537 "xkbparse.y"
2661690143ccSmrg    {
2662f46a6179Smrg			    ExprDef *expr;
2663f46a6179Smrg			    expr= ExprCreate(ExprCoord,TypeUnknown);
2664690143ccSmrg			    expr->value.coord.x= (yyvsp[(2) - (5)].ival);
2665690143ccSmrg			    expr->value.coord.y= (yyvsp[(4) - (5)].ival);
2666690143ccSmrg			    (yyval.expr)= expr;
2667f46a6179Smrg			}
2668690143ccSmrg    break;
2669690143ccSmrg
2670690143ccSmrg  case 111:
2671c82dfdfbSmrg/* Line 1813 of yacc.c  */
267234345a63Smrg#line 547 "xkbparse.y"
2673690143ccSmrg    { (yyval.doodad)= DoodadCreate((yyvsp[(1) - (6)].uval),(yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); }
2674690143ccSmrg    break;
2675690143ccSmrg
2676690143ccSmrg  case 112:
2677c82dfdfbSmrg/* Line 1813 of yacc.c  */
267834345a63Smrg#line 550 "xkbparse.y"
2679690143ccSmrg    { (yyval.uval)= XkbTextDoodad; }
2680690143ccSmrg    break;
2681690143ccSmrg
2682690143ccSmrg  case 113:
2683c82dfdfbSmrg/* Line 1813 of yacc.c  */
268434345a63Smrg#line 551 "xkbparse.y"
2685690143ccSmrg    { (yyval.uval)= XkbOutlineDoodad; }
2686690143ccSmrg    break;
2687690143ccSmrg
2688690143ccSmrg  case 114:
2689c82dfdfbSmrg/* Line 1813 of yacc.c  */
269034345a63Smrg#line 552 "xkbparse.y"
2691690143ccSmrg    { (yyval.uval)= XkbSolidDoodad; }
2692690143ccSmrg    break;
2693690143ccSmrg
2694690143ccSmrg  case 115:
2695c82dfdfbSmrg/* Line 1813 of yacc.c  */
269634345a63Smrg#line 553 "xkbparse.y"
2697690143ccSmrg    { (yyval.uval)= XkbLogoDoodad; }
2698690143ccSmrg    break;
2699690143ccSmrg
2700690143ccSmrg  case 116:
2701c82dfdfbSmrg/* Line 1813 of yacc.c  */
270234345a63Smrg#line 556 "xkbparse.y"
2703690143ccSmrg    { (yyval.sval)= (yyvsp[(1) - (1)].sval); }
2704690143ccSmrg    break;
2705690143ccSmrg
2706690143ccSmrg  case 117:
2707c82dfdfbSmrg/* Line 1813 of yacc.c  */
270834345a63Smrg#line 557 "xkbparse.y"
2709690143ccSmrg    { (yyval.sval)= (yyvsp[(1) - (1)].sval); }
2710690143ccSmrg    break;
2711690143ccSmrg
2712690143ccSmrg  case 118:
2713c82dfdfbSmrg/* Line 1813 of yacc.c  */
271434345a63Smrg#line 561 "xkbparse.y"
2715690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"action",False); }
2716690143ccSmrg    break;
2717690143ccSmrg
2718690143ccSmrg  case 119:
2719c82dfdfbSmrg/* Line 1813 of yacc.c  */
272034345a63Smrg#line 563 "xkbparse.y"
2721690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"interpret",False); }
2722690143ccSmrg    break;
2723690143ccSmrg
2724690143ccSmrg  case 120:
2725c82dfdfbSmrg/* Line 1813 of yacc.c  */
272634345a63Smrg#line 565 "xkbparse.y"
2727690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"type",False); }
2728690143ccSmrg    break;
2729690143ccSmrg
2730690143ccSmrg  case 121:
2731c82dfdfbSmrg/* Line 1813 of yacc.c  */
273234345a63Smrg#line 567 "xkbparse.y"
2733690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"key",False); }
2734690143ccSmrg    break;
2735690143ccSmrg
2736690143ccSmrg  case 122:
2737c82dfdfbSmrg/* Line 1813 of yacc.c  */
273834345a63Smrg#line 569 "xkbparse.y"
2739690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"group",False); }
2740690143ccSmrg    break;
2741690143ccSmrg
2742690143ccSmrg  case 123:
2743c82dfdfbSmrg/* Line 1813 of yacc.c  */
274434345a63Smrg#line 571 "xkbparse.y"
2745690143ccSmrg    {(yyval.sval)=XkbInternAtom(NULL,"modifier_map",False);}
2746690143ccSmrg    break;
2747690143ccSmrg
2748690143ccSmrg  case 124:
2749c82dfdfbSmrg/* Line 1813 of yacc.c  */
275034345a63Smrg#line 573 "xkbparse.y"
2751690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"indicator",False); }
2752690143ccSmrg    break;
2753690143ccSmrg
2754690143ccSmrg  case 125:
2755c82dfdfbSmrg/* Line 1813 of yacc.c  */
275634345a63Smrg#line 575 "xkbparse.y"
2757690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"shape",False); }
2758690143ccSmrg    break;
2759690143ccSmrg
2760690143ccSmrg  case 126:
2761c82dfdfbSmrg/* Line 1813 of yacc.c  */
276234345a63Smrg#line 577 "xkbparse.y"
2763690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"row",False); }
2764690143ccSmrg    break;
2765690143ccSmrg
2766690143ccSmrg  case 127:
2767c82dfdfbSmrg/* Line 1813 of yacc.c  */
276834345a63Smrg#line 579 "xkbparse.y"
2769690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"section",False); }
2770690143ccSmrg    break;
2771690143ccSmrg
2772690143ccSmrg  case 128:
2773c82dfdfbSmrg/* Line 1813 of yacc.c  */
277434345a63Smrg#line 581 "xkbparse.y"
2775690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"text",False); }
2776690143ccSmrg    break;
2777690143ccSmrg
2778690143ccSmrg  case 129:
2779c82dfdfbSmrg/* Line 1813 of yacc.c  */
278034345a63Smrg#line 584 "xkbparse.y"
2781690143ccSmrg    { (yyval.uval)= (yyvsp[(1) - (1)].uval); }
2782690143ccSmrg    break;
2783690143ccSmrg
2784690143ccSmrg  case 130:
2785c82dfdfbSmrg/* Line 1813 of yacc.c  */
278634345a63Smrg#line 585 "xkbparse.y"
2787690143ccSmrg    { (yyval.uval)= MergeDefault; }
2788690143ccSmrg    break;
2789690143ccSmrg
2790690143ccSmrg  case 131:
2791c82dfdfbSmrg/* Line 1813 of yacc.c  */
279234345a63Smrg#line 588 "xkbparse.y"
2793690143ccSmrg    { (yyval.uval)= MergeDefault; }
2794690143ccSmrg    break;
2795690143ccSmrg
2796690143ccSmrg  case 132:
2797c82dfdfbSmrg/* Line 1813 of yacc.c  */
279834345a63Smrg#line 589 "xkbparse.y"
2799690143ccSmrg    { (yyval.uval)= MergeAugment; }
2800690143ccSmrg    break;
2801690143ccSmrg
2802690143ccSmrg  case 133:
2803c82dfdfbSmrg/* Line 1813 of yacc.c  */
280434345a63Smrg#line 590 "xkbparse.y"
2805690143ccSmrg    { (yyval.uval)= MergeOverride; }
2806690143ccSmrg    break;
2807690143ccSmrg
2808690143ccSmrg  case 134:
2809c82dfdfbSmrg/* Line 1813 of yacc.c  */
281034345a63Smrg#line 591 "xkbparse.y"
2811690143ccSmrg    { (yyval.uval)= MergeReplace; }
2812690143ccSmrg    break;
2813690143ccSmrg
2814690143ccSmrg  case 135:
2815c82dfdfbSmrg/* Line 1813 of yacc.c  */
281634345a63Smrg#line 592 "xkbparse.y"
2817690143ccSmrg    { (yyval.uval)= MergeAltForm; }
2818690143ccSmrg    break;
2819690143ccSmrg
2820690143ccSmrg  case 136:
2821c82dfdfbSmrg/* Line 1813 of yacc.c  */
282234345a63Smrg#line 595 "xkbparse.y"
2823690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
2824690143ccSmrg    break;
2825690143ccSmrg
2826690143ccSmrg  case 137:
2827c82dfdfbSmrg/* Line 1813 of yacc.c  */
282834345a63Smrg#line 596 "xkbparse.y"
2829690143ccSmrg    { (yyval.expr)= NULL; }
2830690143ccSmrg    break;
2831690143ccSmrg
2832690143ccSmrg  case 138:
2833c82dfdfbSmrg/* Line 1813 of yacc.c  */
283434345a63Smrg#line 600 "xkbparse.y"
2835690143ccSmrg    { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); }
2836690143ccSmrg    break;
2837690143ccSmrg
2838690143ccSmrg  case 139:
2839c82dfdfbSmrg/* Line 1813 of yacc.c  */
284034345a63Smrg#line 602 "xkbparse.y"
2841690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
2842690143ccSmrg    break;
2843690143ccSmrg
2844690143ccSmrg  case 140:
2845c82dfdfbSmrg/* Line 1813 of yacc.c  */
284634345a63Smrg#line 606 "xkbparse.y"
2847690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpDivide,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2848690143ccSmrg    break;
2849690143ccSmrg
2850690143ccSmrg  case 141:
2851c82dfdfbSmrg/* Line 1813 of yacc.c  */
285234345a63Smrg#line 608 "xkbparse.y"
2853690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpAdd,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2854690143ccSmrg    break;
2855690143ccSmrg
2856690143ccSmrg  case 142:
2857c82dfdfbSmrg/* Line 1813 of yacc.c  */
285834345a63Smrg#line 610 "xkbparse.y"
2859690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpSubtract,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2860690143ccSmrg    break;
2861690143ccSmrg
2862690143ccSmrg  case 143:
2863c82dfdfbSmrg/* Line 1813 of yacc.c  */
286434345a63Smrg#line 612 "xkbparse.y"
2865690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpMultiply,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2866690143ccSmrg    break;
2867690143ccSmrg
2868690143ccSmrg  case 144:
2869c82dfdfbSmrg/* Line 1813 of yacc.c  */
287034345a63Smrg#line 614 "xkbparse.y"
2871690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpAssign,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2872690143ccSmrg    break;
2873690143ccSmrg
2874690143ccSmrg  case 145:
2875c82dfdfbSmrg/* Line 1813 of yacc.c  */
287634345a63Smrg#line 616 "xkbparse.y"
2877690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
2878690143ccSmrg    break;
2879690143ccSmrg
2880690143ccSmrg  case 146:
2881c82dfdfbSmrg/* Line 1813 of yacc.c  */
288234345a63Smrg#line 620 "xkbparse.y"
2883690143ccSmrg    { (yyval.expr)= ExprCreateUnary(OpNegate,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); }
2884690143ccSmrg    break;
2885690143ccSmrg
2886690143ccSmrg  case 147:
2887c82dfdfbSmrg/* Line 1813 of yacc.c  */
288834345a63Smrg#line 622 "xkbparse.y"
2889690143ccSmrg    { (yyval.expr)= ExprCreateUnary(OpUnaryPlus,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); }
2890690143ccSmrg    break;
2891690143ccSmrg
2892690143ccSmrg  case 148:
2893c82dfdfbSmrg/* Line 1813 of yacc.c  */
289434345a63Smrg#line 624 "xkbparse.y"
2895690143ccSmrg    { (yyval.expr)= ExprCreateUnary(OpNot,TypeBoolean,(yyvsp[(2) - (2)].expr)); }
2896690143ccSmrg    break;
2897690143ccSmrg
2898690143ccSmrg  case 149:
2899c82dfdfbSmrg/* Line 1813 of yacc.c  */
290034345a63Smrg#line 626 "xkbparse.y"
2901690143ccSmrg    { (yyval.expr)= ExprCreateUnary(OpInvert,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); }
2902690143ccSmrg    break;
2903690143ccSmrg
2904690143ccSmrg  case 150:
2905c82dfdfbSmrg/* Line 1813 of yacc.c  */
290634345a63Smrg#line 628 "xkbparse.y"
2907690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr);  }
2908690143ccSmrg    break;
2909690143ccSmrg
2910690143ccSmrg  case 151:
2911c82dfdfbSmrg/* Line 1813 of yacc.c  */
291234345a63Smrg#line 630 "xkbparse.y"
2913690143ccSmrg    { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); }
2914690143ccSmrg    break;
2915690143ccSmrg
2916690143ccSmrg  case 152:
2917c82dfdfbSmrg/* Line 1813 of yacc.c  */
291834345a63Smrg#line 632 "xkbparse.y"
2919690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr);  }
2920690143ccSmrg    break;
2921690143ccSmrg
2922690143ccSmrg  case 153:
2923c82dfdfbSmrg/* Line 1813 of yacc.c  */
292434345a63Smrg#line 634 "xkbparse.y"
2925690143ccSmrg    { (yyval.expr)= (yyvsp[(2) - (3)].expr);  }
2926690143ccSmrg    break;
2927690143ccSmrg
2928690143ccSmrg  case 154:
2929c82dfdfbSmrg/* Line 1813 of yacc.c  */
293034345a63Smrg#line 638 "xkbparse.y"
2931690143ccSmrg    { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); }
2932690143ccSmrg    break;
2933690143ccSmrg
2934690143ccSmrg  case 155:
2935c82dfdfbSmrg/* Line 1813 of yacc.c  */
293634345a63Smrg#line 640 "xkbparse.y"
2937690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
2938690143ccSmrg    break;
2939690143ccSmrg
2940690143ccSmrg  case 156:
2941c82dfdfbSmrg/* Line 1813 of yacc.c  */
294234345a63Smrg#line 644 "xkbparse.y"
2943690143ccSmrg    { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); }
2944690143ccSmrg    break;
2945690143ccSmrg
2946690143ccSmrg  case 157:
2947c82dfdfbSmrg/* Line 1813 of yacc.c  */
294834345a63Smrg#line 648 "xkbparse.y"
2949690143ccSmrg    {
2950f46a6179Smrg			    ExprDef *expr;
2951f46a6179Smrg                            expr= ExprCreate(ExprIdent,TypeUnknown);
2952690143ccSmrg                            expr->value.str= (yyvsp[(1) - (1)].sval);
2953690143ccSmrg                            (yyval.expr)= expr;
2954f46a6179Smrg			}
2955690143ccSmrg    break;
2956690143ccSmrg
2957690143ccSmrg  case 158:
2958c82dfdfbSmrg/* Line 1813 of yacc.c  */
295934345a63Smrg#line 655 "xkbparse.y"
2960690143ccSmrg    {
2961f46a6179Smrg                            ExprDef *expr;
2962f46a6179Smrg                            expr= ExprCreate(ExprFieldRef,TypeUnknown);
2963690143ccSmrg                            expr->value.field.element= (yyvsp[(1) - (3)].sval);
2964690143ccSmrg                            expr->value.field.field= (yyvsp[(3) - (3)].sval);
2965690143ccSmrg                            (yyval.expr)= expr;
2966f46a6179Smrg			}
2967690143ccSmrg    break;
2968690143ccSmrg
2969690143ccSmrg  case 159:
2970c82dfdfbSmrg/* Line 1813 of yacc.c  */
297134345a63Smrg#line 663 "xkbparse.y"
2972690143ccSmrg    {
2973f46a6179Smrg			    ExprDef *expr;
2974f46a6179Smrg			    expr= ExprCreate(ExprArrayRef,TypeUnknown);
2975f46a6179Smrg			    expr->value.array.element= None;
2976690143ccSmrg			    expr->value.array.field= (yyvsp[(1) - (4)].sval);
2977690143ccSmrg			    expr->value.array.entry= (yyvsp[(3) - (4)].expr);
2978690143ccSmrg			    (yyval.expr)= expr;
2979f46a6179Smrg			}
2980690143ccSmrg    break;
2981690143ccSmrg
2982690143ccSmrg  case 160:
2983c82dfdfbSmrg/* Line 1813 of yacc.c  */
298434345a63Smrg#line 672 "xkbparse.y"
2985690143ccSmrg    {
2986f46a6179Smrg			    ExprDef *expr;
2987f46a6179Smrg			    expr= ExprCreate(ExprArrayRef,TypeUnknown);
2988690143ccSmrg			    expr->value.array.element= (yyvsp[(1) - (6)].sval);
2989690143ccSmrg			    expr->value.array.field= (yyvsp[(3) - (6)].sval);
2990690143ccSmrg			    expr->value.array.entry= (yyvsp[(5) - (6)].expr);
2991690143ccSmrg			    (yyval.expr)= expr;
2992f46a6179Smrg			}
2993690143ccSmrg    break;
2994690143ccSmrg
2995690143ccSmrg  case 161:
2996c82dfdfbSmrg/* Line 1813 of yacc.c  */
299734345a63Smrg#line 683 "xkbparse.y"
2998690143ccSmrg    {
2999f46a6179Smrg			    ExprDef *expr;
3000f46a6179Smrg                            expr= ExprCreate(ExprValue,TypeString);
3001690143ccSmrg                            expr->value.str= (yyvsp[(1) - (1)].sval);
3002690143ccSmrg                            (yyval.expr)= expr;
3003f46a6179Smrg			}
3004690143ccSmrg    break;
3005690143ccSmrg
3006690143ccSmrg  case 162:
3007c82dfdfbSmrg/* Line 1813 of yacc.c  */
300834345a63Smrg#line 690 "xkbparse.y"
3009690143ccSmrg    {
3010f46a6179Smrg			    ExprDef *expr;
3011f46a6179Smrg                            expr= ExprCreate(ExprValue,TypeInt);
3012690143ccSmrg                            expr->value.ival= (yyvsp[(1) - (1)].ival);
3013690143ccSmrg                            (yyval.expr)= expr;
3014f46a6179Smrg			}
3015690143ccSmrg    break;
3016690143ccSmrg
3017690143ccSmrg  case 163:
3018c82dfdfbSmrg/* Line 1813 of yacc.c  */
301934345a63Smrg#line 697 "xkbparse.y"
3020690143ccSmrg    {
3021f46a6179Smrg			    ExprDef *expr;
3022f46a6179Smrg			    expr= ExprCreate(ExprValue,TypeFloat);
3023690143ccSmrg			    expr->value.ival= (yyvsp[(1) - (1)].ival);
3024690143ccSmrg			    (yyval.expr)= expr;
3025f46a6179Smrg			}
3026690143ccSmrg    break;
3027690143ccSmrg
3028690143ccSmrg  case 164:
3029c82dfdfbSmrg/* Line 1813 of yacc.c  */
303034345a63Smrg#line 704 "xkbparse.y"
3031690143ccSmrg    {
3032f46a6179Smrg			    ExprDef *expr;
3033f46a6179Smrg			    expr= ExprCreate(ExprValue,TypeKeyName);
3034f46a6179Smrg			    memset(expr->value.keyName,0,5);
3035690143ccSmrg			    strncpy(expr->value.keyName,(yyvsp[(1) - (1)].str),4);
3036690143ccSmrg			    free((yyvsp[(1) - (1)].str));
3037690143ccSmrg			    (yyval.expr)= expr;
3038f46a6179Smrg			}
3039690143ccSmrg    break;
3040690143ccSmrg
3041690143ccSmrg  case 165:
3042c82dfdfbSmrg/* Line 1813 of yacc.c  */
304334345a63Smrg#line 714 "xkbparse.y"
3044690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
3045690143ccSmrg    break;
3046690143ccSmrg
3047690143ccSmrg  case 166:
3048c82dfdfbSmrg/* Line 1813 of yacc.c  */
304934345a63Smrg#line 715 "xkbparse.y"
3050690143ccSmrg    { (yyval.expr)= NULL; }
3051690143ccSmrg    break;
3052690143ccSmrg
3053690143ccSmrg  case 167:
3054c82dfdfbSmrg/* Line 1813 of yacc.c  */
305534345a63Smrg#line 719 "xkbparse.y"
3056690143ccSmrg    { (yyval.expr)= AppendKeysymList((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].str)); }
3057690143ccSmrg    break;
3058690143ccSmrg
3059690143ccSmrg  case 168:
3060c82dfdfbSmrg/* Line 1813 of yacc.c  */
306134345a63Smrg#line 721 "xkbparse.y"
3062c82dfdfbSmrg    { (yyval.expr)= AppendKeysymList((yyvsp[(1) - (3)].expr),strdup("NoSymbol")); }
3063690143ccSmrg    break;
3064690143ccSmrg
3065690143ccSmrg  case 169:
3066c82dfdfbSmrg/* Line 1813 of yacc.c  */
3067c82dfdfbSmrg#line 723 "xkbparse.y"
3068c82dfdfbSmrg    { (yyval.expr)= CreateKeysymList((yyvsp[(1) - (1)].str)); }
3069690143ccSmrg    break;
3070690143ccSmrg
3071690143ccSmrg  case 170:
3072c82dfdfbSmrg/* Line 1813 of yacc.c  */
307383e5f723Smrg#line 725 "xkbparse.y"
3074c82dfdfbSmrg    { (yyval.expr)= CreateKeysymList(strdup("NoSymbol")); }
3075690143ccSmrg    break;
3076690143ccSmrg
3077690143ccSmrg  case 171:
3078c82dfdfbSmrg/* Line 1813 of yacc.c  */
3079c82dfdfbSmrg#line 728 "xkbparse.y"
3080c82dfdfbSmrg    { (yyval.str)= strdup(scanBuf); }
3081c82dfdfbSmrg    break;
3082c82dfdfbSmrg
3083c82dfdfbSmrg  case 172:
3084c82dfdfbSmrg/* Line 1813 of yacc.c  */
3085c82dfdfbSmrg#line 729 "xkbparse.y"
3086c82dfdfbSmrg    { (yyval.str)= strdup("section"); }
3087c82dfdfbSmrg    break;
3088c82dfdfbSmrg
3089c82dfdfbSmrg  case 173:
3090c82dfdfbSmrg/* Line 1813 of yacc.c  */
3091c82dfdfbSmrg#line 731 "xkbparse.y"
3092690143ccSmrg    {
3093690143ccSmrg			    if ((yyvsp[(1) - (1)].ival)<10)	{ (yyval.str)= malloc(2); (yyval.str)[0]= '0' + (yyvsp[(1) - (1)].ival); (yyval.str)[1]= '\0'; }
3094690143ccSmrg			    else	{ (yyval.str)= malloc(19); snprintf((yyval.str), 19, "0x%x", (yyvsp[(1) - (1)].ival)); }
3095f46a6179Smrg			}
3096690143ccSmrg    break;
3097690143ccSmrg
3098c82dfdfbSmrg  case 174:
3099c82dfdfbSmrg/* Line 1813 of yacc.c  */
3100c82dfdfbSmrg#line 738 "xkbparse.y"
3101c82dfdfbSmrg    { (yyval.expr)= (yyvsp[(2) - (3)].expr); }
3102c82dfdfbSmrg    break;
3103c82dfdfbSmrg
3104c82dfdfbSmrg  case 175:
3105c82dfdfbSmrg/* Line 1813 of yacc.c  */
3106c82dfdfbSmrg#line 741 "xkbparse.y"
3107690143ccSmrg    { (yyval.ival)= -(yyvsp[(2) - (2)].ival); }
3108690143ccSmrg    break;
3109690143ccSmrg
3110c82dfdfbSmrg  case 176:
3111c82dfdfbSmrg/* Line 1813 of yacc.c  */
3112c82dfdfbSmrg#line 742 "xkbparse.y"
3113690143ccSmrg    { (yyval.ival)= (yyvsp[(1) - (1)].ival); }
3114690143ccSmrg    break;
3115690143ccSmrg
3116c82dfdfbSmrg  case 177:
3117c82dfdfbSmrg/* Line 1813 of yacc.c  */
3118c82dfdfbSmrg#line 745 "xkbparse.y"
3119690143ccSmrg    { (yyval.ival)= scanInt; }
3120690143ccSmrg    break;
3121690143ccSmrg
3122c82dfdfbSmrg  case 178:
3123c82dfdfbSmrg/* Line 1813 of yacc.c  */
3124c82dfdfbSmrg#line 746 "xkbparse.y"
3125690143ccSmrg    { (yyval.ival)= scanInt*XkbGeomPtsPerMM; }
3126690143ccSmrg    break;
3127690143ccSmrg
3128c82dfdfbSmrg  case 179:
3129c82dfdfbSmrg/* Line 1813 of yacc.c  */
3130c82dfdfbSmrg#line 749 "xkbparse.y"
3131690143ccSmrg    { (yyval.ival)= scanInt; }
3132690143ccSmrg    break;
3133690143ccSmrg
3134c82dfdfbSmrg  case 180:
3135c82dfdfbSmrg/* Line 1813 of yacc.c  */
3136c82dfdfbSmrg#line 752 "xkbparse.y"
3137690143ccSmrg    { (yyval.ival)= scanInt; }
3138690143ccSmrg    break;
3139690143ccSmrg
3140c82dfdfbSmrg  case 181:
3141c82dfdfbSmrg/* Line 1813 of yacc.c  */
3142c82dfdfbSmrg#line 755 "xkbparse.y"
3143690143ccSmrg    { (yyval.str)= strdup(scanBuf); }
3144690143ccSmrg    break;
3145690143ccSmrg
3146c82dfdfbSmrg  case 182:
3147c82dfdfbSmrg/* Line 1813 of yacc.c  */
3148c82dfdfbSmrg#line 758 "xkbparse.y"
3149690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); }
3150690143ccSmrg    break;
3151690143ccSmrg
3152c82dfdfbSmrg  case 183:
3153c82dfdfbSmrg/* Line 1813 of yacc.c  */
3154c82dfdfbSmrg#line 759 "xkbparse.y"
3155690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"default",False); }
3156690143ccSmrg    break;
3157690143ccSmrg
3158c82dfdfbSmrg  case 184:
3159c82dfdfbSmrg/* Line 1813 of yacc.c  */
3160c82dfdfbSmrg#line 762 "xkbparse.y"
3161690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); }
3162690143ccSmrg    break;
3163690143ccSmrg
3164c82dfdfbSmrg  case 185:
3165c82dfdfbSmrg/* Line 1813 of yacc.c  */
3166c82dfdfbSmrg#line 765 "xkbparse.y"
3167690143ccSmrg    { (yyval.str)= (yyvsp[(1) - (1)].str); }
3168690143ccSmrg    break;
3169690143ccSmrg
3170c82dfdfbSmrg  case 186:
3171c82dfdfbSmrg/* Line 1813 of yacc.c  */
3172c82dfdfbSmrg#line 766 "xkbparse.y"
3173690143ccSmrg    { (yyval.str)= NULL; }
3174690143ccSmrg    break;
3175690143ccSmrg
3176c82dfdfbSmrg  case 187:
3177c82dfdfbSmrg/* Line 1813 of yacc.c  */
3178c82dfdfbSmrg#line 769 "xkbparse.y"
3179690143ccSmrg    { (yyval.str)= strdup(scanBuf); }
3180690143ccSmrg    break;
3181690143ccSmrg
3182690143ccSmrg
3183c82dfdfbSmrg/* Line 1813 of yacc.c  */
3184c82dfdfbSmrg#line 3185 "xkbparse.c"
3185690143ccSmrg      default: break;
3186f46a6179Smrg    }
3187c82dfdfbSmrg  /* User semantic actions sometimes alter yychar, and that requires
3188c82dfdfbSmrg     that yytoken be updated with the new translation.  We take the
3189c82dfdfbSmrg     approach of translating immediately before every use of yytoken.
3190c82dfdfbSmrg     One alternative is translating here after every semantic action,
3191c82dfdfbSmrg     but that translation would be missed if the semantic action invokes
3192c82dfdfbSmrg     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3193c82dfdfbSmrg     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
3194c82dfdfbSmrg     incorrect destructor might then be invoked immediately.  In the
3195c82dfdfbSmrg     case of YYERROR or YYBACKUP, subsequent parser actions might lead
3196c82dfdfbSmrg     to an incorrect destructor call or verbose syntax error message
3197c82dfdfbSmrg     before the lookahead is translated.  */
3198690143ccSmrg  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3199690143ccSmrg
3200690143ccSmrg  YYPOPSTACK (yylen);
3201690143ccSmrg  yylen = 0;
3202690143ccSmrg  YY_STACK_PRINT (yyss, yyssp);
3203690143ccSmrg
3204690143ccSmrg  *++yyvsp = yyval;
3205690143ccSmrg
3206690143ccSmrg  /* Now `shift' the result of the reduction.  Determine what state
3207690143ccSmrg     that goes to, based on the state we popped back to and the rule
3208690143ccSmrg     number reduced by.  */
3209690143ccSmrg
3210690143ccSmrg  yyn = yyr1[yyn];
3211690143ccSmrg
3212690143ccSmrg  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3213690143ccSmrg  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3214690143ccSmrg    yystate = yytable[yystate];
3215690143ccSmrg  else
3216690143ccSmrg    yystate = yydefgoto[yyn - YYNTOKENS];
3217690143ccSmrg
3218690143ccSmrg  goto yynewstate;
3219690143ccSmrg
3220690143ccSmrg
3221690143ccSmrg/*------------------------------------.
3222690143ccSmrg| yyerrlab -- here on detecting error |
3223690143ccSmrg`------------------------------------*/
3224690143ccSmrgyyerrlab:
3225c82dfdfbSmrg  /* Make sure we have latest lookahead translation.  See comments at
3226c82dfdfbSmrg     user semantic actions for why this is necessary.  */
3227c82dfdfbSmrg  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
3228c82dfdfbSmrg
3229690143ccSmrg  /* If not already recovering from an error, report this error.  */
3230690143ccSmrg  if (!yyerrstatus)
3231f46a6179Smrg    {
3232690143ccSmrg      ++yynerrs;
3233690143ccSmrg#if ! YYERROR_VERBOSE
3234690143ccSmrg      yyerror (YY_("syntax error"));
3235690143ccSmrg#else
3236c82dfdfbSmrg# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3237c82dfdfbSmrg                                        yyssp, yytoken)
3238690143ccSmrg      {
3239c82dfdfbSmrg        char const *yymsgp = YY_("syntax error");
3240c82dfdfbSmrg        int yysyntax_error_status;
3241c82dfdfbSmrg        yysyntax_error_status = YYSYNTAX_ERROR;
3242c82dfdfbSmrg        if (yysyntax_error_status == 0)
3243c82dfdfbSmrg          yymsgp = yymsg;
3244c82dfdfbSmrg        else if (yysyntax_error_status == 1)
3245c82dfdfbSmrg          {
3246c82dfdfbSmrg            if (yymsg != yymsgbuf)
3247c82dfdfbSmrg              YYSTACK_FREE (yymsg);
3248c82dfdfbSmrg            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
3249c82dfdfbSmrg            if (!yymsg)
3250c82dfdfbSmrg              {
3251c82dfdfbSmrg                yymsg = yymsgbuf;
3252c82dfdfbSmrg                yymsg_alloc = sizeof yymsgbuf;
3253c82dfdfbSmrg                yysyntax_error_status = 2;
3254c82dfdfbSmrg              }
3255c82dfdfbSmrg            else
3256c82dfdfbSmrg              {
3257c82dfdfbSmrg                yysyntax_error_status = YYSYNTAX_ERROR;
3258c82dfdfbSmrg                yymsgp = yymsg;
3259c82dfdfbSmrg              }
3260c82dfdfbSmrg          }
3261c82dfdfbSmrg        yyerror (yymsgp);
3262c82dfdfbSmrg        if (yysyntax_error_status == 2)
3263c82dfdfbSmrg          goto yyexhaustedlab;
3264690143ccSmrg      }
3265c82dfdfbSmrg# undef YYSYNTAX_ERROR
326607d2e718Smrg#endif
3267f46a6179Smrg    }
3268690143ccSmrg
3269690143ccSmrg
3270690143ccSmrg
3271690143ccSmrg  if (yyerrstatus == 3)
3272690143ccSmrg    {
3273c82dfdfbSmrg      /* If just tried and failed to reuse lookahead token after an
3274690143ccSmrg	 error, discard it.  */
3275690143ccSmrg
3276690143ccSmrg      if (yychar <= YYEOF)
3277690143ccSmrg	{
3278690143ccSmrg	  /* Return failure if at end of input.  */
3279690143ccSmrg	  if (yychar == YYEOF)
3280690143ccSmrg	    YYABORT;
3281690143ccSmrg	}
3282690143ccSmrg      else
3283690143ccSmrg	{
3284690143ccSmrg	  yydestruct ("Error: discarding",
3285690143ccSmrg		      yytoken, &yylval);
3286690143ccSmrg	  yychar = YYEMPTY;
3287690143ccSmrg	}
3288690143ccSmrg    }
3289690143ccSmrg
3290c82dfdfbSmrg  /* Else will try to reuse lookahead token after shifting the error
3291690143ccSmrg     token.  */
3292690143ccSmrg  goto yyerrlab1;
3293690143ccSmrg
3294690143ccSmrg
3295690143ccSmrg/*---------------------------------------------------.
3296690143ccSmrg| yyerrorlab -- error raised explicitly by YYERROR.  |
3297690143ccSmrg`---------------------------------------------------*/
3298690143ccSmrgyyerrorlab:
3299690143ccSmrg
3300690143ccSmrg  /* Pacify compilers like GCC when the user code never invokes
3301690143ccSmrg     YYERROR and the label yyerrorlab therefore never appears in user
3302690143ccSmrg     code.  */
3303690143ccSmrg  if (/*CONSTCOND*/ 0)
3304690143ccSmrg     goto yyerrorlab;
3305690143ccSmrg
3306690143ccSmrg  /* Do not reclaim the symbols of the rule which action triggered
3307690143ccSmrg     this YYERROR.  */
3308690143ccSmrg  YYPOPSTACK (yylen);
3309690143ccSmrg  yylen = 0;
3310690143ccSmrg  YY_STACK_PRINT (yyss, yyssp);
3311690143ccSmrg  yystate = *yyssp;
3312690143ccSmrg  goto yyerrlab1;
3313690143ccSmrg
3314690143ccSmrg
3315690143ccSmrg/*-------------------------------------------------------------.
3316690143ccSmrg| yyerrlab1 -- common code for both syntax error and YYERROR.  |
3317690143ccSmrg`-------------------------------------------------------------*/
3318690143ccSmrgyyerrlab1:
3319690143ccSmrg  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
3320690143ccSmrg
3321690143ccSmrg  for (;;)
3322690143ccSmrg    {
3323690143ccSmrg      yyn = yypact[yystate];
3324c82dfdfbSmrg      if (!yypact_value_is_default (yyn))
3325690143ccSmrg	{
3326690143ccSmrg	  yyn += YYTERROR;
3327690143ccSmrg	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3328690143ccSmrg	    {
3329690143ccSmrg	      yyn = yytable[yyn];
3330690143ccSmrg	      if (0 < yyn)
3331690143ccSmrg		break;
3332690143ccSmrg	    }
3333690143ccSmrg	}
3334690143ccSmrg
3335690143ccSmrg      /* Pop the current state because it cannot handle the error token.  */
3336690143ccSmrg      if (yyssp == yyss)
3337690143ccSmrg	YYABORT;
3338690143ccSmrg
3339690143ccSmrg
3340690143ccSmrg      yydestruct ("Error: popping",
3341690143ccSmrg		  yystos[yystate], yyvsp);
3342690143ccSmrg      YYPOPSTACK (1);
3343690143ccSmrg      yystate = *yyssp;
3344690143ccSmrg      YY_STACK_PRINT (yyss, yyssp);
3345690143ccSmrg    }
3346690143ccSmrg
3347c82dfdfbSmrg  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3348690143ccSmrg  *++yyvsp = yylval;
3349c82dfdfbSmrg  YY_IGNORE_MAYBE_UNINITIALIZED_END
3350690143ccSmrg
3351690143ccSmrg
3352690143ccSmrg  /* Shift the error token.  */
3353690143ccSmrg  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3354690143ccSmrg
3355690143ccSmrg  yystate = yyn;
3356690143ccSmrg  goto yynewstate;
3357690143ccSmrg
3358690143ccSmrg
3359690143ccSmrg/*-------------------------------------.
3360690143ccSmrg| yyacceptlab -- YYACCEPT comes here.  |
3361690143ccSmrg`-------------------------------------*/
3362690143ccSmrgyyacceptlab:
3363690143ccSmrg  yyresult = 0;
3364690143ccSmrg  goto yyreturn;
3365690143ccSmrg
3366690143ccSmrg/*-----------------------------------.
3367690143ccSmrg| yyabortlab -- YYABORT comes here.  |
3368690143ccSmrg`-----------------------------------*/
3369690143ccSmrgyyabortlab:
3370690143ccSmrg  yyresult = 1;
3371690143ccSmrg  goto yyreturn;
3372690143ccSmrg
3373c82dfdfbSmrg#if !defined yyoverflow || YYERROR_VERBOSE
3374690143ccSmrg/*-------------------------------------------------.
3375690143ccSmrg| yyexhaustedlab -- memory exhaustion comes here.  |
3376690143ccSmrg`-------------------------------------------------*/
3377690143ccSmrgyyexhaustedlab:
3378690143ccSmrg  yyerror (YY_("memory exhausted"));
3379690143ccSmrg  yyresult = 2;
3380690143ccSmrg  /* Fall through.  */
3381f46a6179Smrg#endif
3382690143ccSmrg
3383690143ccSmrgyyreturn:
3384c82dfdfbSmrg  if (yychar != YYEMPTY)
3385c82dfdfbSmrg    {
3386c82dfdfbSmrg      /* Make sure we have latest lookahead translation.  See comments at
3387c82dfdfbSmrg         user semantic actions for why this is necessary.  */
3388c82dfdfbSmrg      yytoken = YYTRANSLATE (yychar);
3389c82dfdfbSmrg      yydestruct ("Cleanup: discarding lookahead",
3390c82dfdfbSmrg                  yytoken, &yylval);
3391c82dfdfbSmrg    }
3392690143ccSmrg  /* Do not reclaim the symbols of the rule which action triggered
3393690143ccSmrg     this YYABORT or YYACCEPT.  */
3394690143ccSmrg  YYPOPSTACK (yylen);
3395690143ccSmrg  YY_STACK_PRINT (yyss, yyssp);
3396690143ccSmrg  while (yyssp != yyss)
3397f46a6179Smrg    {
3398690143ccSmrg      yydestruct ("Cleanup: popping",
3399690143ccSmrg		  yystos[*yyssp], yyvsp);
3400690143ccSmrg      YYPOPSTACK (1);
3401f46a6179Smrg    }
3402690143ccSmrg#ifndef yyoverflow
3403690143ccSmrg  if (yyss != yyssa)
3404690143ccSmrg    YYSTACK_FREE (yyss);
3405690143ccSmrg#endif
3406690143ccSmrg#if YYERROR_VERBOSE
3407690143ccSmrg  if (yymsg != yymsgbuf)
3408690143ccSmrg    YYSTACK_FREE (yymsg);
3409690143ccSmrg#endif
3410690143ccSmrg  /* Make sure YYID is used.  */
3411690143ccSmrg  return YYID (yyresult);
3412690143ccSmrg}
3413f46a6179Smrg
3414f46a6179Smrg
3415c82dfdfbSmrg/* Line 2076 of yacc.c  */
3416c82dfdfbSmrg#line 771 "xkbparse.y"
3417690143ccSmrg
3418690143ccSmrgvoid
3419690143ccSmrgyyerror(const char *s)
3420690143ccSmrg{
3421690143ccSmrg    if (warningLevel>0) {
3422690143ccSmrg	(void)fprintf(stderr,"%s: line %d of %s\n",s,lineNum,
3423690143ccSmrg					(scanFile?scanFile:"(unknown)"));
3424690143ccSmrg	if ((warningLevel>3))
3425690143ccSmrg	    (void)fprintf(stderr,"last scanned symbol is: %s\n",scanBuf);
3426690143ccSmrg    }
3427690143ccSmrg    return;
3428690143ccSmrg}
3429690143ccSmrg
3430690143ccSmrg
3431690143ccSmrgint
3432690143ccSmrgyywrap(void)
3433690143ccSmrg{
3434690143ccSmrg   return 1;
3435f46a6179Smrg}
3436690143ccSmrg
3437