xkbparse.c revision 690143cc
1f46a6179Smrg
2690143ccSmrg/* A Bison parser, made by GNU Bison 2.4.1.  */
3f46a6179Smrg
4690143ccSmrg/* Skeleton implementation for Bison's Yacc-like parsers in C
5690143ccSmrg
6690143ccSmrg      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7690143ccSmrg   Free Software Foundation, Inc.
8690143ccSmrg
9690143ccSmrg   This program is free software: you can redistribute it and/or modify
10690143ccSmrg   it under the terms of the GNU General Public License as published by
11690143ccSmrg   the Free Software Foundation, either version 3 of the License, or
12690143ccSmrg   (at your option) any later version.
13690143ccSmrg
14690143ccSmrg   This program is distributed in the hope that it will be useful,
15690143ccSmrg   but WITHOUT ANY WARRANTY; without even the implied warranty of
16690143ccSmrg   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17690143ccSmrg   GNU General Public License for more details.
18690143ccSmrg
19690143ccSmrg   You should have received a copy of the GNU General Public License
20690143ccSmrg   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
21f46a6179Smrg
22690143ccSmrg/* As a special exception, you may create a larger work that contains
23690143ccSmrg   part or all of the Bison parser skeleton and distribute that work
24690143ccSmrg   under terms of your choice, so long as that work isn't itself a
25690143ccSmrg   parser generator using the skeleton or a modified version thereof
26690143ccSmrg   as a parser skeleton.  Alternatively, if you modify or redistribute
27690143ccSmrg   the parser skeleton itself, you may (at your option) remove this
28690143ccSmrg   special exception, which will cause the skeleton and the resulting
29690143ccSmrg   Bison output files to be licensed under the GNU General Public
30690143ccSmrg   License without this special exception.
31690143ccSmrg
32690143ccSmrg   This special exception was added by the Free Software Foundation in
33690143ccSmrg   version 2.2 of Bison.  */
34f46a6179Smrg
35690143ccSmrg/* C LALR(1) parser skeleton written by Richard Stallman, by
36690143ccSmrg   simplifying the original so-called "semantic" parser.  */
37690143ccSmrg
38690143ccSmrg/* All symbols defined below should begin with yy or YY, to avoid
39690143ccSmrg   infringing on user name space.  This should be done even for local
40690143ccSmrg   variables, as they might otherwise be expanded by user macros.
41690143ccSmrg   There are some unavoidable exceptions within include files to
42690143ccSmrg   define necessary library symbols; they are noted "INFRINGES ON
43690143ccSmrg   USER NAME SPACE" below.  */
44690143ccSmrg
45690143ccSmrg/* Identify Bison output.  */
46690143ccSmrg#define YYBISON 1
47690143ccSmrg
48690143ccSmrg/* Bison version.  */
49690143ccSmrg#define YYBISON_VERSION "2.4.1"
50690143ccSmrg
51690143ccSmrg/* Skeleton name.  */
52690143ccSmrg#define YYSKELETON_NAME "yacc.c"
53690143ccSmrg
54690143ccSmrg/* Pure parsers.  */
55690143ccSmrg#define YYPURE 0
56690143ccSmrg
57690143ccSmrg/* Push parsers.  */
58690143ccSmrg#define YYPUSH 0
59690143ccSmrg
60690143ccSmrg/* Pull parsers.  */
61690143ccSmrg#define YYPULL 1
62690143ccSmrg
63690143ccSmrg/* Using locations.  */
64690143ccSmrg#define YYLSP_NEEDED 0
65f46a6179Smrg
66f46a6179Smrg
67f46a6179Smrg
68690143ccSmrg/* Copy the first part of user declarations.  */
69690143ccSmrg
70690143ccSmrg/* Line 189 of yacc.c  */
71690143ccSmrg#line 91 "xkbparse.y"
72690143ccSmrg
7307d2e718Smrg#ifdef DEBUG
7407d2e718Smrg#define	YYDEBUG 1
7507d2e718Smrg#endif
7607d2e718Smrg#define	DEBUG_VAR parseDebug
7707d2e718Smrg#include "parseutils.h"
7807d2e718Smrg#include <X11/keysym.h>
7907d2e718Smrg#include <X11/extensions/XKBgeom.h>
8007d2e718Smrg#include <stdlib.h>
81f46a6179Smrg
8207d2e718Smrgunsigned int parseDebug;
83f46a6179Smrg
84690143ccSmrg
85690143ccSmrg
86690143ccSmrg/* Line 189 of yacc.c  */
87690143ccSmrg#line 88 "xkbparse.c"
88690143ccSmrg
89690143ccSmrg/* Enabling traces.  */
90690143ccSmrg#ifndef YYDEBUG
91690143ccSmrg# define YYDEBUG 0
92690143ccSmrg#endif
93690143ccSmrg
94690143ccSmrg/* Enabling verbose error messages.  */
95690143ccSmrg#ifdef YYERROR_VERBOSE
96690143ccSmrg# undef YYERROR_VERBOSE
97690143ccSmrg# define YYERROR_VERBOSE 1
98690143ccSmrg#else
99690143ccSmrg# define YYERROR_VERBOSE 0
100690143ccSmrg#endif
101690143ccSmrg
102690143ccSmrg/* Enabling the token table.  */
103690143ccSmrg#ifndef YYTOKEN_TABLE
104690143ccSmrg# define YYTOKEN_TABLE 0
105690143ccSmrg#endif
106690143ccSmrg
107690143ccSmrg
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
247690143ccSmrg#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
248690143ccSmrgtypedef union YYSTYPE
249690143ccSmrg{
250690143ccSmrg
251690143ccSmrg/* Line 214 of yacc.c  */
252690143ccSmrg#line 110 "xkbparse.y"
253690143ccSmrg
254690143ccSmrg	int		 ival;
255690143ccSmrg	unsigned	 uval;
256690143ccSmrg	char		*str;
257690143ccSmrg	Atom	 	sval;
258690143ccSmrg	ParseCommon	*any;
259690143ccSmrg	ExprDef		*expr;
260690143ccSmrg	VarDef		*var;
261690143ccSmrg	VModDef		*vmod;
262690143ccSmrg	InterpDef	*interp;
263690143ccSmrg	KeyTypeDef	*keyType;
264690143ccSmrg	SymbolsDef	*syms;
265690143ccSmrg	ModMapDef	*modMask;
266690143ccSmrg	GroupCompatDef	*groupCompat;
267690143ccSmrg	IndicatorMapDef	*ledMap;
268690143ccSmrg	IndicatorNameDef *ledName;
269690143ccSmrg	KeycodeDef	*keyName;
270690143ccSmrg	KeyAliasDef	*keyAlias;
271690143ccSmrg	ShapeDef	*shape;
272690143ccSmrg	SectionDef	*section;
273690143ccSmrg	RowDef		*row;
274690143ccSmrg	KeyDef		*key;
275690143ccSmrg	OverlayDef	*overlay;
276690143ccSmrg	OverlayKeyDef	*olKey;
277690143ccSmrg	OutlineDef	*outline;
278690143ccSmrg	DoodadDef	*doodad;
279690143ccSmrg	XkbFile		*file;
280690143ccSmrg
281690143ccSmrg
282690143ccSmrg
283690143ccSmrg/* Line 214 of yacc.c  */
284690143ccSmrg#line 285 "xkbparse.c"
285690143ccSmrg} YYSTYPE;
286690143ccSmrg# define YYSTYPE_IS_TRIVIAL 1
287690143ccSmrg# define yystype YYSTYPE /* obsolescent; will be withdrawn */
288690143ccSmrg# define YYSTYPE_IS_DECLARED 1
289690143ccSmrg#endif
290690143ccSmrg
291690143ccSmrg
292690143ccSmrg/* Copy the second part of user declarations.  */
293690143ccSmrg
294690143ccSmrg
295690143ccSmrg/* Line 264 of yacc.c  */
296690143ccSmrg#line 297 "xkbparse.c"
297690143ccSmrg
298690143ccSmrg#ifdef short
299690143ccSmrg# undef short
300690143ccSmrg#endif
301690143ccSmrg
302690143ccSmrg#ifdef YYTYPE_UINT8
303690143ccSmrgtypedef YYTYPE_UINT8 yytype_uint8;
304690143ccSmrg#else
305690143ccSmrgtypedef unsigned char yytype_uint8;
306690143ccSmrg#endif
307690143ccSmrg
308690143ccSmrg#ifdef YYTYPE_INT8
309690143ccSmrgtypedef YYTYPE_INT8 yytype_int8;
310690143ccSmrg#elif (defined __STDC__ || defined __C99__FUNC__ \
311690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
312690143ccSmrgtypedef signed char yytype_int8;
313690143ccSmrg#else
314690143ccSmrgtypedef short int yytype_int8;
315690143ccSmrg#endif
316690143ccSmrg
317690143ccSmrg#ifdef YYTYPE_UINT16
318690143ccSmrgtypedef YYTYPE_UINT16 yytype_uint16;
319690143ccSmrg#else
320690143ccSmrgtypedef unsigned short int yytype_uint16;
321690143ccSmrg#endif
322690143ccSmrg
323690143ccSmrg#ifdef YYTYPE_INT16
324690143ccSmrgtypedef YYTYPE_INT16 yytype_int16;
325690143ccSmrg#else
326690143ccSmrgtypedef short int yytype_int16;
327690143ccSmrg#endif
328690143ccSmrg
329690143ccSmrg#ifndef YYSIZE_T
330690143ccSmrg# ifdef __SIZE_TYPE__
331690143ccSmrg#  define YYSIZE_T __SIZE_TYPE__
332690143ccSmrg# elif defined size_t
333690143ccSmrg#  define YYSIZE_T size_t
334690143ccSmrg# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
335690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
336690143ccSmrg#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
337690143ccSmrg#  define YYSIZE_T size_t
338690143ccSmrg# else
339690143ccSmrg#  define YYSIZE_T unsigned int
340690143ccSmrg# endif
341690143ccSmrg#endif
342690143ccSmrg
343690143ccSmrg#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
344690143ccSmrg
345690143ccSmrg#ifndef YY_
346690143ccSmrg# if YYENABLE_NLS
347690143ccSmrg#  if ENABLE_NLS
348690143ccSmrg#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
349690143ccSmrg#   define YY_(msgid) dgettext ("bison-runtime", msgid)
350690143ccSmrg#  endif
351690143ccSmrg# endif
352690143ccSmrg# ifndef YY_
353690143ccSmrg#  define YY_(msgid) msgid
354690143ccSmrg# endif
355690143ccSmrg#endif
356690143ccSmrg
357690143ccSmrg/* Suppress unused-variable warnings by "using" E.  */
358690143ccSmrg#if ! defined lint || defined __GNUC__
359690143ccSmrg# define YYUSE(e) ((void) (e))
360690143ccSmrg#else
361690143ccSmrg# define YYUSE(e) /* empty */
362690143ccSmrg#endif
363690143ccSmrg
364690143ccSmrg/* Identity function, used to suppress warnings about constant conditions.  */
365690143ccSmrg#ifndef lint
366690143ccSmrg# define YYID(n) (n)
367690143ccSmrg#else
368690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
369690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
370690143ccSmrgstatic int
371690143ccSmrgYYID (int yyi)
372690143ccSmrg#else
373690143ccSmrgstatic int
374690143ccSmrgYYID (yyi)
375690143ccSmrg    int yyi;
376690143ccSmrg#endif
377690143ccSmrg{
378690143ccSmrg  return yyi;
379690143ccSmrg}
380690143ccSmrg#endif
381690143ccSmrg
382690143ccSmrg#if ! defined yyoverflow || YYERROR_VERBOSE
383690143ccSmrg
384690143ccSmrg/* The parser invokes alloca or malloc; define the necessary symbols.  */
385690143ccSmrg
386690143ccSmrg# ifdef YYSTACK_USE_ALLOCA
387690143ccSmrg#  if YYSTACK_USE_ALLOCA
388690143ccSmrg#   ifdef __GNUC__
389690143ccSmrg#    define YYSTACK_ALLOC __builtin_alloca
390690143ccSmrg#   elif defined __BUILTIN_VA_ARG_INCR
391690143ccSmrg#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
392690143ccSmrg#   elif defined _AIX
393690143ccSmrg#    define YYSTACK_ALLOC __alloca
394690143ccSmrg#   elif defined _MSC_VER
395690143ccSmrg#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
396690143ccSmrg#    define alloca _alloca
397690143ccSmrg#   else
398690143ccSmrg#    define YYSTACK_ALLOC alloca
399690143ccSmrg#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
400690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
401690143ccSmrg#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
402690143ccSmrg#     ifndef _STDLIB_H
403690143ccSmrg#      define _STDLIB_H 1
404690143ccSmrg#     endif
405690143ccSmrg#    endif
406690143ccSmrg#   endif
407690143ccSmrg#  endif
408690143ccSmrg# endif
409690143ccSmrg
410690143ccSmrg# ifdef YYSTACK_ALLOC
411690143ccSmrg   /* Pacify GCC's `empty if-body' warning.  */
412690143ccSmrg#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
413690143ccSmrg#  ifndef YYSTACK_ALLOC_MAXIMUM
414690143ccSmrg    /* The OS might guarantee only one guard page at the bottom of the stack,
415690143ccSmrg       and a page size can be as small as 4096 bytes.  So we cannot safely
416690143ccSmrg       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
417690143ccSmrg       to allow for a few compiler-allocated temporary stack slots.  */
418690143ccSmrg#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
419690143ccSmrg#  endif
420690143ccSmrg# else
421690143ccSmrg#  define YYSTACK_ALLOC YYMALLOC
422690143ccSmrg#  define YYSTACK_FREE YYFREE
423690143ccSmrg#  ifndef YYSTACK_ALLOC_MAXIMUM
424690143ccSmrg#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
425690143ccSmrg#  endif
426690143ccSmrg#  if (defined __cplusplus && ! defined _STDLIB_H \
427690143ccSmrg       && ! ((defined YYMALLOC || defined malloc) \
428690143ccSmrg	     && (defined YYFREE || defined free)))
429690143ccSmrg#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
430690143ccSmrg#   ifndef _STDLIB_H
431690143ccSmrg#    define _STDLIB_H 1
432690143ccSmrg#   endif
433690143ccSmrg#  endif
434690143ccSmrg#  ifndef YYMALLOC
435690143ccSmrg#   define YYMALLOC malloc
436690143ccSmrg#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
437690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
438690143ccSmrgvoid *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
439690143ccSmrg#   endif
440690143ccSmrg#  endif
441690143ccSmrg#  ifndef YYFREE
442690143ccSmrg#   define YYFREE free
443690143ccSmrg#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
444690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
445690143ccSmrgvoid free (void *); /* INFRINGES ON USER NAME SPACE */
446690143ccSmrg#   endif
447690143ccSmrg#  endif
448690143ccSmrg# endif
449690143ccSmrg#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
450690143ccSmrg
451690143ccSmrg
452690143ccSmrg#if (! defined yyoverflow \
453690143ccSmrg     && (! defined __cplusplus \
454690143ccSmrg	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
455690143ccSmrg
456690143ccSmrg/* A type that is properly aligned for any stack member.  */
457690143ccSmrgunion yyalloc
458690143ccSmrg{
459690143ccSmrg  yytype_int16 yyss_alloc;
460690143ccSmrg  YYSTYPE yyvs_alloc;
461690143ccSmrg};
462690143ccSmrg
463690143ccSmrg/* The size of the maximum gap between one aligned stack and the next.  */
464690143ccSmrg# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
465690143ccSmrg
466690143ccSmrg/* The size of an array large to enough to hold all stacks, each with
467690143ccSmrg   N elements.  */
468690143ccSmrg# define YYSTACK_BYTES(N) \
469690143ccSmrg     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
470690143ccSmrg      + YYSTACK_GAP_MAXIMUM)
471690143ccSmrg
472690143ccSmrg/* Copy COUNT objects from FROM to TO.  The source and destination do
473690143ccSmrg   not overlap.  */
474690143ccSmrg# ifndef YYCOPY
475690143ccSmrg#  if defined __GNUC__ && 1 < __GNUC__
476690143ccSmrg#   define YYCOPY(To, From, Count) \
477690143ccSmrg      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
478690143ccSmrg#  else
479690143ccSmrg#   define YYCOPY(To, From, Count)		\
480690143ccSmrg      do					\
481690143ccSmrg	{					\
482690143ccSmrg	  YYSIZE_T yyi;				\
483690143ccSmrg	  for (yyi = 0; yyi < (Count); yyi++)	\
484690143ccSmrg	    (To)[yyi] = (From)[yyi];		\
485690143ccSmrg	}					\
486690143ccSmrg      while (YYID (0))
487690143ccSmrg#  endif
488690143ccSmrg# endif
489690143ccSmrg
490690143ccSmrg/* Relocate STACK from its old location to the new one.  The
491690143ccSmrg   local variables YYSIZE and YYSTACKSIZE give the old and new number of
492690143ccSmrg   elements in the stack, and YYPTR gives the new location of the
493690143ccSmrg   stack.  Advance YYPTR to a properly aligned location for the next
494690143ccSmrg   stack.  */
495690143ccSmrg# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
496690143ccSmrg    do									\
497690143ccSmrg      {									\
498690143ccSmrg	YYSIZE_T yynewbytes;						\
499690143ccSmrg	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
500690143ccSmrg	Stack = &yyptr->Stack_alloc;					\
501690143ccSmrg	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
502690143ccSmrg	yyptr += yynewbytes / sizeof (*yyptr);				\
503690143ccSmrg      }									\
504690143ccSmrg    while (YYID (0))
505690143ccSmrg
506690143ccSmrg#endif
507690143ccSmrg
508690143ccSmrg/* YYFINAL -- State number of the termination state.  */
509690143ccSmrg#define YYFINAL  18
510690143ccSmrg/* YYLAST -- Last index in YYTABLE.  */
511690143ccSmrg#define YYLAST   706
512690143ccSmrg
513690143ccSmrg/* YYNTOKENS -- Number of terminals.  */
514690143ccSmrg#define YYNTOKENS  65
515690143ccSmrg/* YYNNTS -- Number of nonterminals.  */
516690143ccSmrg#define YYNNTS  73
517690143ccSmrg/* YYNRULES -- Number of rules.  */
518690143ccSmrg#define YYNRULES  184
519690143ccSmrg/* YYNRULES -- Number of states.  */
520690143ccSmrg#define YYNSTATES  335
521690143ccSmrg
522690143ccSmrg/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
523690143ccSmrg#define YYUNDEFTOK  2
524690143ccSmrg#define YYMAXUTOK   257
525690143ccSmrg
526690143ccSmrg#define YYTRANSLATE(YYX)						\
527690143ccSmrg  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
528690143ccSmrg
529690143ccSmrg/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
530690143ccSmrgstatic const yytype_uint8 yytranslate[] =
531690143ccSmrg{
532690143ccSmrg       0,     4,     5,     6,     7,     8,     9,    10,    11,     2,
533690143ccSmrg      12,    13,    14,    15,    16,     2,     2,     2,     2,     2,
534690143ccSmrg      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
535690143ccSmrg      27,    28,    29,    30,    31,    32,    33,    34,    35,     2,
536690143ccSmrg      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
537690143ccSmrg      46,    47,    48,    49,    50,    51,     2,     2,     2,     2,
538690143ccSmrg      52,    53,    54,    55,    56,     2,     2,     2,     2,     2,
539690143ccSmrg      57,    58,    59,    60,    61,    62,    63,    64,     2,     2,
540690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
541690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
542690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
543690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
544690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
545690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
546690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
547690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
548690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
549690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
550690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
551690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
552690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
553690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
554690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
555690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
556690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
557690143ccSmrg       2,     2,     2,     2,     2,     3,     1,     2
558690143ccSmrg};
559690143ccSmrg
560690143ccSmrg#if YYDEBUG
561690143ccSmrg/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
562690143ccSmrg   YYRHS.  */
563690143ccSmrgstatic const yytype_uint16 yyprhs[] =
564690143ccSmrg{
565690143ccSmrg       0,     0,     3,     5,     7,     9,    12,    14,    22,    24,
566690143ccSmrg      26,    28,    31,    33,    41,    46,    48,    50,    52,    54,
567690143ccSmrg      56,    58,    59,    62,    64,    66,    68,    70,    72,    74,
568690143ccSmrg      76,    78,    80,    83,    84,    87,    90,    93,    96,    99,
569690143ccSmrg     102,   105,   108,   111,   114,   117,   120,   123,   126,   129,
570690143ccSmrg     134,   137,   141,   146,   152,   156,   160,   162,   164,   168,
571690143ccSmrg     175,   179,   181,   184,   186,   193,   200,   204,   206,   207,
572690143ccSmrg     211,   215,   217,   220,   222,   226,   230,   236,   243,   250,
573690143ccSmrg     256,   263,   270,   277,   284,   287,   289,   295,   297,   299,
574690143ccSmrg     301,   303,   306,   308,   314,   316,   320,   322,   324,   328,
575690143ccSmrg     335,   339,   341,   345,   349,   351,   355,   361,   365,   369,
576690143ccSmrg     371,   377,   384,   386,   388,   390,   392,   394,   396,   398,
577690143ccSmrg     400,   402,   404,   406,   408,   410,   412,   414,   416,   418,
578690143ccSmrg     420,   421,   423,   425,   427,   429,   431,   433,   434,   438,
579690143ccSmrg     440,   444,   448,   452,   456,   460,   462,   465,   468,   471,
580690143ccSmrg     474,   476,   481,   483,   487,   491,   493,   498,   500,   504,
581690143ccSmrg     509,   516,   518,   520,   522,   524,   526,   527,   531,   533,
582690143ccSmrg     535,   537,   539,   542,   544,   546,   548,   550,   552,   554,
583690143ccSmrg     556,   558,   560,   562,   563
584690143ccSmrg};
585690143ccSmrg
586690143ccSmrg/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
587690143ccSmrgstatic const yytype_int16 yyrhs[] =
588690143ccSmrg{
589690143ccSmrg      66,     0,    -1,    67,    -1,    70,    -1,    72,    -1,    67,
590690143ccSmrg      68,    -1,    68,    -1,    74,    69,   136,    41,    70,    42,
591690143ccSmrg      49,    -1,     4,    -1,    10,    -1,    11,    -1,    70,    71,
592690143ccSmrg      -1,    71,    -1,    74,    73,   136,    41,    77,    42,    49,
593690143ccSmrg      -1,    74,    73,   136,    77,    -1,     5,    -1,     6,    -1,
594690143ccSmrg       8,    -1,     7,    -1,     9,    -1,    75,    -1,    -1,    75,
595690143ccSmrg      76,    -1,    76,    -1,    57,    -1,    58,    -1,    59,    -1,
596690143ccSmrg      60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,
597690143ccSmrg      77,    78,    -1,    -1,   116,    79,    -1,   116,    82,    -1,
598690143ccSmrg     116,    85,    -1,   116,    80,    -1,   116,    81,    -1,   116,
599690143ccSmrg      88,    -1,   116,    89,    -1,   116,    94,    -1,   116,    93,
600690143ccSmrg      -1,   116,    95,    -1,   116,    96,    -1,   116,    97,    -1,
601690143ccSmrg     116,    98,    -1,   116,   112,    -1,   117,    52,    -1,   124,
602690143ccSmrg      36,   120,    49,    -1,   134,    49,    -1,    50,   134,    49,
603690143ccSmrg      -1,   133,    36,   120,    49,    -1,    22,   133,    36,   133,
604690143ccSmrg      49,    -1,    17,    83,    49,    -1,    83,    48,    84,    -1,
605690143ccSmrg      84,    -1,   134,    -1,   134,    36,   120,    -1,    19,    86,
606690143ccSmrg      41,    87,    42,    49,    -1,   128,    37,   120,    -1,   128,
607690143ccSmrg      -1,    87,    79,    -1,    79,    -1,    18,   135,    41,    87,
608690143ccSmrg      42,    49,    -1,    21,   133,    41,    90,    42,    49,    -1,
609690143ccSmrg      90,    48,    91,    -1,    91,    -1,    -1,   124,    36,   120,
610690143ccSmrg      -1,   124,    36,    92,    -1,   134,    -1,    50,   134,    -1,
611690143ccSmrg      92,    -1,    45,   126,    46,    -1,    45,   122,    46,    -1,
612690143ccSmrg      23,   132,    36,   120,    49,    -1,    24,   134,    41,   119,
613690143ccSmrg      42,    49,    -1,    25,   135,    41,    87,    42,    49,    -1,
614690143ccSmrg      25,   132,    36,   120,    49,    -1,    35,    25,   132,    36,
615690143ccSmrg     120,    49,    -1,    26,   135,    41,   108,    42,    49,    -1,
616690143ccSmrg      26,   135,    41,   110,    42,    49,    -1,    29,   135,    41,
617690143ccSmrg      99,    42,    49,    -1,    99,   100,    -1,   100,    -1,    28,
618690143ccSmrg      41,   101,    42,    49,    -1,    79,    -1,   112,    -1,    95,
619690143ccSmrg      -1,   105,    -1,   101,   102,    -1,   102,    -1,    27,    41,
620690143ccSmrg     103,    42,    49,    -1,    79,    -1,   103,    48,   104,    -1,
621690143ccSmrg     104,    -1,   133,    -1,    41,   119,    42,    -1,    30,   135,
622690143ccSmrg      41,   106,    42,    49,    -1,   106,    48,   107,    -1,   107,
623690143ccSmrg      -1,   133,    36,   133,    -1,   108,    48,   109,    -1,   109,
624690143ccSmrg      -1,    41,   110,    42,    -1,   134,    36,    41,   110,    42,
625690143ccSmrg      -1,   134,    36,   120,    -1,   110,    48,   111,    -1,   111,
626690143ccSmrg      -1,    45,   129,    48,   129,    46,    -1,   113,   135,    41,
627690143ccSmrg      87,    42,    49,    -1,    31,    -1,    32,    -1,    33,    -1,
628690143ccSmrg      34,    -1,   134,    -1,   115,    -1,    20,    -1,    19,    -1,
629690143ccSmrg      18,    -1,    21,    -1,    23,    -1,    24,    -1,    25,    -1,
630690143ccSmrg      26,    -1,    28,    -1,    29,    -1,    31,    -1,   117,    -1,
631690143ccSmrg      -1,    12,    -1,    14,    -1,    13,    -1,    15,    -1,    16,
632690143ccSmrg      -1,   119,    -1,    -1,   119,    48,   120,    -1,   120,    -1,
633690143ccSmrg     120,    39,   120,    -1,   120,    37,   120,    -1,   120,    38,
634690143ccSmrg     120,    -1,   120,    40,   120,    -1,   124,    36,   120,    -1,
635690143ccSmrg     121,    -1,    38,   121,    -1,    37,   121,    -1,    50,   121,
636690143ccSmrg      -1,    51,   121,    -1,   124,    -1,   114,    43,   118,    44,
637690143ccSmrg      -1,   125,    -1,    43,   120,    44,    -1,   122,    48,   123,
638690143ccSmrg      -1,   123,    -1,   114,    43,   118,    44,    -1,   114,    -1,
639690143ccSmrg     114,    47,   114,    -1,   114,    45,   120,    46,    -1,   114,
640690143ccSmrg      47,   114,    45,   120,    46,    -1,   135,    -1,   132,    -1,
641690143ccSmrg     131,    -1,   133,    -1,   127,    -1,    -1,   127,    48,   128,
642690143ccSmrg      -1,   128,    -1,    55,    -1,    29,    -1,   132,    -1,    38,
643690143ccSmrg     130,    -1,   130,    -1,    54,    -1,    53,    -1,    54,    -1,
644690143ccSmrg      53,    -1,    56,    -1,    55,    -1,    58,    -1,    52,    -1,
645690143ccSmrg     137,    -1,    -1,    52,    -1
646f46a6179Smrg};
647690143ccSmrg
648690143ccSmrg/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
649690143ccSmrgstatic const yytype_uint16 yyrline[] =
650690143ccSmrg{
651690143ccSmrg       0,   168,   168,   170,   172,   176,   178,   182,   188,   189,
652690143ccSmrg     190,   193,   195,   199,   205,   210,   211,   212,   213,   214,
653690143ccSmrg     217,   218,   221,   222,   225,   226,   227,   228,   229,   230,
654690143ccSmrg     231,   232,   235,   237,   240,   245,   250,   255,   260,   265,
655690143ccSmrg     270,   275,   280,   285,   290,   295,   300,   305,   310,   322,
656690143ccSmrg     324,   326,   330,   341,   351,   355,   357,   361,   363,   367,
657690143ccSmrg     376,   378,   382,   384,   388,   394,   400,   402,   404,   407,
658690143ccSmrg     409,   411,   413,   415,   419,   421,   425,   429,   433,   437,
659690143ccSmrg     439,   443,   445,   453,   457,   459,   463,   465,   467,   469,
660690143ccSmrg     471,   475,   477,   481,   483,   487,   489,   493,   495,   499,
661690143ccSmrg     503,   508,   512,   516,   518,   522,   524,   526,   530,   532,
662690143ccSmrg     536,   546,   550,   551,   552,   553,   556,   557,   560,   562,
663690143ccSmrg     564,   566,   568,   570,   572,   574,   576,   578,   580,   584,
664690143ccSmrg     585,   588,   589,   590,   591,   592,   595,   596,   599,   601,
665690143ccSmrg     605,   607,   609,   611,   613,   615,   619,   621,   623,   625,
666690143ccSmrg     627,   629,   631,   633,   637,   639,   643,   647,   654,   662,
667690143ccSmrg     671,   682,   689,   696,   703,   714,   715,   718,   720,   724,
668690143ccSmrg     725,   726,   733,   734,   737,   738,   741,   744,   747,   750,
669690143ccSmrg     751,   754,   757,   758,   761
670690143ccSmrg};
671690143ccSmrg#endif
672690143ccSmrg
673690143ccSmrg#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
674690143ccSmrg/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
675690143ccSmrg   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
676690143ccSmrgstatic const char *const yytname[] =
677690143ccSmrg{
678690143ccSmrg  "END_OF_FILE", "error", "$undefined", "ERROR_TOK", "XKB_KEYMAP",
679690143ccSmrg  "XKB_KEYCODES", "XKB_TYPES", "XKB_SYMBOLS", "XKB_COMPATMAP",
680690143ccSmrg  "XKB_GEOMETRY", "XKB_SEMANTICS", "XKB_LAYOUT", "INCLUDE", "OVERRIDE",
681690143ccSmrg  "AUGMENT", "REPLACE", "ALTERNATE", "VIRTUAL_MODS", "TYPE", "INTERPRET",
682690143ccSmrg  "ACTION_TOK", "KEY", "ALIAS", "GROUP", "MODIFIER_MAP", "INDICATOR",
683690143ccSmrg  "SHAPE", "KEYS", "ROW", "SECTION", "OVERLAY", "TEXT", "OUTLINE", "SOLID",
684690143ccSmrg  "LOGO", "VIRTUAL", "EQUALS", "PLUS", "MINUS", "DIVIDE", "TIMES",
685690143ccSmrg  "OBRACE", "CBRACE", "OPAREN", "CPAREN", "OBRACKET", "CBRACKET", "DOT",
686690143ccSmrg  "COMMA", "SEMI", "EXCLAM", "INVERT", "STRING", "INTEGER", "FLOAT",
687690143ccSmrg  "IDENT", "KEYNAME", "PARTIAL", "DEFAULT", "HIDDEN", "ALPHANUMERIC_KEYS",
688690143ccSmrg  "MODIFIER_KEYS", "KEYPAD_KEYS", "FUNCTION_KEYS", "ALTERNATE_GROUP",
689690143ccSmrg  "$accept", "XkbFile", "XkbCompMapList", "XkbCompositeMap",
690690143ccSmrg  "XkbCompositeType", "XkbMapConfigList", "XkbMapConfig", "XkbConfig",
691690143ccSmrg  "FileType", "OptFlags", "Flags", "Flag", "DeclList", "Decl", "VarDecl",
692690143ccSmrg  "KeyNameDecl", "KeyAliasDecl", "VModDecl", "VModDefList", "VModDef",
693690143ccSmrg  "InterpretDecl", "InterpretMatch", "VarDeclList", "KeyTypeDecl",
694690143ccSmrg  "SymbolsDecl", "SymbolsBody", "SymbolsVarDecl", "ArrayInit",
695690143ccSmrg  "GroupCompatDecl", "ModMapDecl", "IndicatorMapDecl", "IndicatorNameDecl",
696690143ccSmrg  "ShapeDecl", "SectionDecl", "SectionBody", "SectionBodyItem", "RowBody",
697690143ccSmrg  "RowBodyItem", "Keys", "Key", "OverlayDecl", "OverlayKeyList",
698690143ccSmrg  "OverlayKey", "OutlineList", "OutlineInList", "CoordList", "Coord",
699690143ccSmrg  "DoodadDecl", "DoodadType", "FieldSpec", "Element", "OptMergeMode",
700690143ccSmrg  "MergeMode", "OptExprList", "ExprList", "Expr", "Term", "ActionList",
701690143ccSmrg  "Action", "Lhs", "Terminal", "OptKeySymList", "KeySymList", "KeySym",
702690143ccSmrg  "SignedNumber", "Number", "Float", "Integer", "KeyName", "Ident",
703690143ccSmrg  "String", "OptMapName", "MapName", 0
704690143ccSmrg};
705690143ccSmrg#endif
706690143ccSmrg
707690143ccSmrg# ifdef YYPRINT
708690143ccSmrg/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
709690143ccSmrg   token YYLEX-NUM.  */
710690143ccSmrgstatic const yytype_uint16 yytoknum[] =
711690143ccSmrg{
712690143ccSmrg       0,   256,   257,   255,     1,     2,     3,     4,     5,     6,
713690143ccSmrg       7,     8,    10,    11,    12,    13,    14,    20,    21,    22,
714690143ccSmrg      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
715690143ccSmrg      33,    34,    35,    36,    37,    38,    40,    41,    42,    43,
716690143ccSmrg      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
717690143ccSmrg      54,    55,    60,    61,    62,    63,    64,    70,    71,    72,
718690143ccSmrg      73,    74,    75,    76,    77
719f46a6179Smrg};
720690143ccSmrg# endif
721690143ccSmrg
722690143ccSmrg/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
723690143ccSmrgstatic const yytype_uint8 yyr1[] =
724690143ccSmrg{
725690143ccSmrg       0,    65,    66,    66,    66,    67,    67,    68,    69,    69,
726690143ccSmrg      69,    70,    70,    71,    72,    73,    73,    73,    73,    73,
727690143ccSmrg      74,    74,    75,    75,    76,    76,    76,    76,    76,    76,
728690143ccSmrg      76,    76,    77,    77,    78,    78,    78,    78,    78,    78,
729690143ccSmrg      78,    78,    78,    78,    78,    78,    78,    78,    78,    79,
730690143ccSmrg      79,    79,    80,    81,    82,    83,    83,    84,    84,    85,
731690143ccSmrg      86,    86,    87,    87,    88,    89,    90,    90,    90,    91,
732690143ccSmrg      91,    91,    91,    91,    92,    92,    93,    94,    95,    96,
733690143ccSmrg      96,    97,    97,    98,    99,    99,   100,   100,   100,   100,
734690143ccSmrg     100,   101,   101,   102,   102,   103,   103,   104,   104,   105,
735690143ccSmrg     106,   106,   107,   108,   108,   109,   109,   109,   110,   110,
736690143ccSmrg     111,   112,   113,   113,   113,   113,   114,   114,   115,   115,
737690143ccSmrg     115,   115,   115,   115,   115,   115,   115,   115,   115,   116,
738690143ccSmrg     116,   117,   117,   117,   117,   117,   118,   118,   119,   119,
739690143ccSmrg     120,   120,   120,   120,   120,   120,   121,   121,   121,   121,
740690143ccSmrg     121,   121,   121,   121,   122,   122,   123,   124,   124,   124,
741690143ccSmrg     124,   125,   125,   125,   125,   126,   126,   127,   127,   128,
742690143ccSmrg     128,   128,   129,   129,   130,   130,   131,   132,   133,   134,
743690143ccSmrg     134,   135,   136,   136,   137
744f46a6179Smrg};
745690143ccSmrg
746690143ccSmrg/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
747690143ccSmrgstatic const yytype_uint8 yyr2[] =
748690143ccSmrg{
749690143ccSmrg       0,     2,     1,     1,     1,     2,     1,     7,     1,     1,
750690143ccSmrg       1,     2,     1,     7,     4,     1,     1,     1,     1,     1,
751690143ccSmrg       1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
752690143ccSmrg       1,     1,     2,     0,     2,     2,     2,     2,     2,     2,
753690143ccSmrg       2,     2,     2,     2,     2,     2,     2,     2,     2,     4,
754690143ccSmrg       2,     3,     4,     5,     3,     3,     1,     1,     3,     6,
755690143ccSmrg       3,     1,     2,     1,     6,     6,     3,     1,     0,     3,
756690143ccSmrg       3,     1,     2,     1,     3,     3,     5,     6,     6,     5,
757690143ccSmrg       6,     6,     6,     6,     2,     1,     5,     1,     1,     1,
758690143ccSmrg       1,     2,     1,     5,     1,     3,     1,     1,     3,     6,
759690143ccSmrg       3,     1,     3,     3,     1,     3,     5,     3,     3,     1,
760690143ccSmrg       5,     6,     1,     1,     1,     1,     1,     1,     1,     1,
761690143ccSmrg       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
762690143ccSmrg       0,     1,     1,     1,     1,     1,     1,     0,     3,     1,
763690143ccSmrg       3,     3,     3,     3,     3,     1,     2,     2,     2,     2,
764690143ccSmrg       1,     4,     1,     3,     3,     1,     4,     1,     3,     4,
765690143ccSmrg       6,     1,     1,     1,     1,     1,     0,     3,     1,     1,
766690143ccSmrg       1,     1,     2,     1,     1,     1,     1,     1,     1,     1,
767690143ccSmrg       1,     1,     1,     0,     1
768f46a6179Smrg};
769690143ccSmrg
770690143ccSmrg/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
771690143ccSmrg   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
772690143ccSmrg   means the default is an error.  */
773690143ccSmrgstatic const yytype_uint8 yydefact[] =
774690143ccSmrg{
775690143ccSmrg      21,    24,    25,    26,    27,    28,    29,    30,    31,     0,
776690143ccSmrg      21,     6,    21,    12,     4,     0,    20,    23,     1,     5,
777690143ccSmrg       0,    11,     0,     8,    15,    16,    18,    17,    19,     9,
778690143ccSmrg      10,   183,   183,    22,   183,   184,     0,   182,    33,     0,
779690143ccSmrg      21,    33,   130,    21,   130,   131,   133,   132,   134,   135,
780690143ccSmrg      32,     0,   129,     0,     0,     0,   120,   119,   118,   121,
781690143ccSmrg       0,   122,   123,   124,   125,   126,   127,   128,   113,   114,
782690143ccSmrg     115,     0,     0,   179,   178,   180,    34,    37,    38,    35,
783690143ccSmrg      36,    39,    40,    42,    41,    43,    44,    45,    46,    47,
784690143ccSmrg       0,   157,   117,     0,     0,   116,    48,     7,    13,     0,
785690143ccSmrg      56,    57,   181,     0,   170,   177,   169,     0,    61,   171,
786690143ccSmrg       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
787690143ccSmrg       0,     0,     0,     0,     0,    50,     0,    54,     0,     0,
788690143ccSmrg       0,     0,    68,     0,     0,     0,     0,     0,     0,     0,
789690143ccSmrg       0,    51,     0,   120,   119,   121,   122,   123,   124,   125,
790690143ccSmrg     127,   128,     0,     0,     0,     0,     0,   176,   157,     0,
791690143ccSmrg     145,   150,   152,   163,   162,   164,   116,   161,   158,     0,
792690143ccSmrg       0,    55,    58,    63,     0,     0,    60,   166,     0,     0,
793690143ccSmrg      67,    73,     0,   116,     0,     0,     0,   139,     0,     0,
794690143ccSmrg       0,     0,     0,   104,     0,   109,     0,   124,   126,     0,
795690143ccSmrg      87,    89,     0,    85,    90,    88,     0,     0,   147,   150,
796690143ccSmrg     146,     0,   148,   149,   137,     0,     0,     0,     0,   159,
797690143ccSmrg       0,     0,    49,    52,     0,    62,     0,   170,   169,     0,
798690143ccSmrg       0,   155,     0,   165,   168,    72,     0,     0,     0,    53,
799690143ccSmrg      76,     0,     0,    79,     0,     0,     0,   175,   174,     0,
800690143ccSmrg     173,     0,     0,     0,     0,     0,     0,     0,     0,    84,
801690143ccSmrg       0,     0,   153,     0,   136,   141,   142,   140,   143,   144,
802690143ccSmrg       0,    64,    59,   137,    75,     0,    74,     0,    65,    66,
803690143ccSmrg      70,    69,    77,   138,    78,   105,   172,     0,    81,   103,
804690143ccSmrg      82,   108,     0,   107,     0,    94,     0,    92,     0,    83,
805690143ccSmrg      80,   111,   151,   160,     0,   154,   167,     0,     0,     0,
806690143ccSmrg       0,    91,     0,   101,     0,   156,   110,   106,     0,     0,
807690143ccSmrg      96,    97,    86,     0,     0,     0,     0,     0,     0,    99,
808690143ccSmrg     100,   102,    98,    93,    95
809f46a6179Smrg};
810690143ccSmrg
811690143ccSmrg/* YYDEFGOTO[NTERM-NUM].  */
812690143ccSmrgstatic const yytype_int16 yydefgoto[] =
813690143ccSmrg{
814690143ccSmrg      -1,     9,    10,    11,    31,    12,    13,    14,    32,    22,
815690143ccSmrg      16,    17,    42,    50,   173,    77,    78,    79,    99,   100,
816690143ccSmrg      80,   107,   174,    81,    82,   179,   180,   181,    83,    84,
817690143ccSmrg     201,    86,    87,    88,   202,   203,   296,   297,   319,   320,
818690143ccSmrg     204,   312,   313,   192,   193,   194,   195,   205,    90,   158,
819690143ccSmrg      92,    51,    52,   263,   264,   187,   160,   230,   231,   161,
820690143ccSmrg     162,   232,   233,   108,   249,   250,   163,   164,   165,   166,
821690143ccSmrg     167,    36,    37
822f46a6179Smrg};
823690143ccSmrg
824690143ccSmrg/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
825690143ccSmrg   STATE-NUM.  */
826690143ccSmrg#define YYPACT_NINF -188
827690143ccSmrgstatic const yytype_int16 yypact[] =
828690143ccSmrg{
829690143ccSmrg     628,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,    12,
830690143ccSmrg       4,  -188,    58,  -188,  -188,   695,   628,  -188,  -188,  -188,
831690143ccSmrg     121,  -188,   408,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
832690143ccSmrg    -188,    -9,    -9,  -188,    -9,  -188,    19,  -188,    45,    45,
833690143ccSmrg     628,  -188,   174,   620,   137,  -188,  -188,  -188,  -188,  -188,
834690143ccSmrg    -188,   317,    39,   -15,    50,     1,    59,   -18,  -188,    72,
835690143ccSmrg      72,   106,     1,   -27,    59,  -188,    59,    62,  -188,  -188,
836690143ccSmrg    -188,   117,     1,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
837690143ccSmrg    -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
838690143ccSmrg      59,    51,  -188,   125,   146,   134,  -188,  -188,  -188,   132,
839690143ccSmrg    -188,   163,  -188,   168,  -188,  -188,  -188,   173,   179,  -188,
840690143ccSmrg     178,   186,   190,   194,   206,   204,   208,   221,   106,   216,
841690143ccSmrg     225,   265,   640,   265,   265,  -188,     1,  -188,   265,   599,
842690143ccSmrg     599,   265,   470,    72,   265,   265,   265,   599,   -26,    21,
843690143ccSmrg     239,  -188,   599,  -188,  -188,  -188,  -188,  -188,  -188,  -188,
844690143ccSmrg    -188,  -188,   265,   265,   265,   265,   265,  -188,   159,   232,
845690143ccSmrg    -188,   240,  -188,  -188,  -188,  -188,  -188,  -188,   223,    98,
846690143ccSmrg     156,  -188,   260,  -188,   485,   513,   260,   617,     1,    30,
847690143ccSmrg    -188,  -188,   243,    32,   231,   192,    64,   260,   199,   528,
848690143ccSmrg     236,    35,   127,  -188,   128,  -188,   251,    59,   270,    59,
849690143ccSmrg    -188,  -188,   422,  -188,  -188,  -188,   265,   556,  -188,  -188,
850690143ccSmrg    -188,   342,  -188,  -188,   265,   265,   265,   265,   265,  -188,
851690143ccSmrg     265,   265,  -188,  -188,   263,  -188,   264,   249,   271,   281,
852690143ccSmrg      61,  -188,   279,   278,  -188,  -188,   280,   470,   340,  -188,
853690143ccSmrg    -188,   283,   265,  -188,   284,   129,    16,  -188,  -188,   282,
854690143ccSmrg    -188,   298,   -34,   308,   236,   381,   576,   287,   321,  -188,
855690143ccSmrg     215,   325,  -188,   332,   336,   158,   158,  -188,  -188,   260,
856690143ccSmrg     316,  -188,  -188,   265,  -188,   640,  -188,   -18,  -188,  -188,
857690143ccSmrg    -188,   260,  -188,   260,  -188,  -188,  -188,    35,  -188,  -188,
858690143ccSmrg    -188,  -188,   236,   260,   346,  -188,   442,  -188,    72,  -188,
859690143ccSmrg    -188,  -188,  -188,  -188,   344,  -188,  -188,   343,   143,   -28,
860690143ccSmrg     348,  -188,   176,  -188,   367,  -188,  -188,  -188,   265,   198,
861690143ccSmrg    -188,  -188,  -188,   359,    72,    72,   202,   362,   -28,  -188,
862690143ccSmrg    -188,  -188,  -188,  -188,  -188
863f46a6179Smrg};
864690143ccSmrg
865690143ccSmrg/* YYPGOTO[NTERM-NUM].  */
866690143ccSmrgstatic const yytype_int16 yypgoto[] =
867690143ccSmrg{
868690143ccSmrg    -188,  -188,  -188,   410,  -188,   383,    -7,  -188,   399,    38,
869690143ccSmrg    -188,   409,   385,  -188,   -35,  -188,  -188,  -188,  -188,   301,
870690143ccSmrg    -188,  -188,   -47,  -188,  -188,  -188,   191,   200,  -188,  -188,
871690143ccSmrg     378,  -188,  -188,  -188,  -188,   228,  -188,   148,  -188,   130,
872690143ccSmrg    -188,  -188,   133,  -188,   197,  -187,   205,   423,  -188,    26,
873690143ccSmrg    -188,  -188,  -188,   203,  -134,    89,   104,  -188,   207,   -29,
874690143ccSmrg    -188,  -188,  -188,  -175,   188,   233,  -188,   -43,   -51,   -45,
875690143ccSmrg     -33,   109,  -188
876f46a6179Smrg};
877690143ccSmrg
878690143ccSmrg/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
879690143ccSmrg   positive, shift that token.  If negative, reduce the rule which
880690143ccSmrg   number is the opposite.  If zero, do what YYDEFACT says.
881690143ccSmrg   If YYTABLE_NINF, syntax error.  */
882690143ccSmrg#define YYTABLE_NINF -180
883690143ccSmrgstatic const yytype_int16 yytable[] =
884690143ccSmrg{
885690143ccSmrg      94,   186,   234,   245,    -2,    21,    95,   190,   110,   111,
886690143ccSmrg     101,   104,    18,   318,   109,   190,    76,   113,   112,   191,
887690143ccSmrg     114,    73,    93,   103,    75,   102,   105,   119,    74,    73,
888690143ccSmrg     115,   116,    75,   117,    97,   105,    21,   106,    15,   143,
889690143ccSmrg     144,    58,   145,    35,   146,   147,   197,   149,    20,   198,
890690143ccSmrg     150,   199,    67,    68,    69,    70,    73,   120,    -3,    75,
891690143ccSmrg      40,     1,     2,     3,     4,     5,     6,     7,     8,   247,
892690143ccSmrg     248,    72,   236,   246,   -71,   140,    73,    91,   237,    75,
893690143ccSmrg     -71,   101,   184,   175,    95,    95,    41,   183,   247,   248,
894690143ccSmrg     189,    96,    95,   196,    95,   207,   121,    95,   122,    98,
895690143ccSmrg      93,    93,   306,   182,   200,   308,   241,   274,    93,   275,
896690143ccSmrg      93,   102,   242,    93,  -112,     1,     2,     3,     4,     5,
897690143ccSmrg       6,     7,     8,   209,   209,    23,   209,   209,    74,    95,
898690143ccSmrg      95,    29,    30,   235,   109,   215,   216,   217,   218,   225,
899690143ccSmrg     225,    38,   118,    39,    95,    93,    93,   222,   168,    45,
900690143ccSmrg      46,    47,    48,    49,   225,    91,    91,    95,    91,   105,
901690143ccSmrg      93,   123,    95,    91,   115,    91,   257,   200,    91,   251,
902690143ccSmrg     253,   285,   225,    93,   -14,   252,   254,   254,    93,    54,
903690143ccSmrg     126,   127,   124,   125,   326,   317,    45,    46,    47,    48,
904690143ccSmrg      49,   254,   183,   215,   216,   217,   218,   217,   218,   128,
905690143ccSmrg      91,    91,   214,   229,   121,   223,   122,   196,   182,   129,
906690143ccSmrg     159,    95,   169,   170,   130,    91,   131,   172,   323,   132,
907690143ccSmrg     176,   295,   133,   185,   324,   188,   134,    93,    91,   215,
908690143ccSmrg     216,   217,   218,    91,   109,   135,   215,   216,   217,   218,
909690143ccSmrg     327,   240,   136,   211,   332,   137,   328,   314,   243,   138,
910690143ccSmrg     242,    95,   215,   216,   217,   218,   208,   210,   321,   212,
911690143ccSmrg     213,   295,   139,    91,   300,   141,   142,    93,   221,   215,
912690143ccSmrg     216,   217,   218,   314,   331,   206,   220,   321,   219,   238,
913690143ccSmrg     239,   191,    91,   143,   144,    58,   145,   255,   146,   147,
914690143ccSmrg     148,   149,  -127,    65,   150,   260,   151,   215,   216,   217,
915690143ccSmrg     218,   229,   152,   153,   265,   266,   267,   268,   154,   269,
916690143ccSmrg     270,   256,   271,   272,  -179,   155,   156,   102,   105,   157,
917690143ccSmrg      73,    74,    91,    75,   273,   276,   277,   281,   298,   278,
918690143ccSmrg     287,   283,   282,   284,    55,    56,    57,    58,    59,    60,
919690143ccSmrg      61,    62,    63,    64,   293,    65,    66,   288,    67,    68,
920690143ccSmrg      69,    70,    71,   215,   216,   217,   218,   290,   143,   144,
921690143ccSmrg      58,   145,   303,   146,   147,   148,   149,    72,    65,   150,
922690143ccSmrg     299,   151,    73,    74,   301,    75,   302,   152,   153,   215,
923690143ccSmrg     216,   217,   218,   154,   242,   177,   262,   309,   315,   316,
924690143ccSmrg     155,   156,   102,   105,   157,    73,    74,   322,    75,   143,
925690143ccSmrg     144,    58,   145,   325,   146,   147,   148,   149,   329,    65,
926690143ccSmrg     150,   333,   151,    24,    25,    26,    27,    28,   152,   153,
927690143ccSmrg      19,    34,   292,    43,   154,    33,    44,   171,   279,    85,
928690143ccSmrg     259,   155,   156,   102,   105,   157,    73,    74,   280,    75,
929690143ccSmrg     143,   144,    58,   145,   311,   146,   147,   197,   149,   289,
930690143ccSmrg     198,   150,   199,    67,    68,    69,    70,   330,   334,   291,
931690143ccSmrg     143,   144,    58,   145,   258,   146,   147,   148,   149,   294,
932690143ccSmrg      65,   150,    72,   151,    89,   307,   304,    73,     0,   286,
933690143ccSmrg      75,     0,   305,     0,   310,     0,     0,     0,   143,   144,
934690143ccSmrg      58,   145,    72,   146,   147,   148,   149,    73,    65,   150,
935690143ccSmrg      75,   151,     0,   143,   144,    58,   145,     0,   146,   147,
936690143ccSmrg     148,   149,     0,    65,   150,   177,   151,     0,     0,     0,
937690143ccSmrg     178,     0,     0,     0,     0,    73,     0,   224,    75,     0,
938690143ccSmrg       0,   143,   144,    58,   145,    72,   146,   147,   148,   149,
939690143ccSmrg      73,    65,   150,    75,   151,     0,   143,   144,    58,   145,
940690143ccSmrg       0,   146,   147,   148,   149,   226,    65,   150,     0,   151,
941690143ccSmrg       0,     0,     0,    72,     0,     0,     0,     0,    73,     0,
942690143ccSmrg     244,    75,     0,     0,   143,   144,    58,   145,    72,   146,
943690143ccSmrg     147,   148,   149,    73,    65,   150,    75,   151,     0,     0,
944690143ccSmrg       0,     0,     0,     0,   143,   144,    58,   145,   261,   146,
945690143ccSmrg     147,   148,   149,   294,    65,   150,    72,   151,     0,     0,
946690143ccSmrg       0,    73,     0,     0,    75,     0,     0,   143,   144,    58,
947690143ccSmrg     145,     0,   146,   147,   148,   149,    72,    65,   150,     0,
948690143ccSmrg     151,    73,     0,     0,    75,   143,   144,    58,   145,     0,
949690143ccSmrg     146,   147,   148,   149,     0,    65,   227,     0,   151,    72,
950690143ccSmrg       0,     0,     0,     0,    73,     0,     0,    75,   143,   144,
951690143ccSmrg      58,   145,    53,   146,   147,   148,   149,     0,    65,   150,
952690143ccSmrg     105,   151,   228,     0,     0,    75,     0,     1,     2,     3,
953690143ccSmrg       4,     5,     6,     7,     8,     1,     2,     3,     4,     5,
954690143ccSmrg       6,     7,     8,     0,     0,    73,     0,     0,    75,    23,
955690143ccSmrg      24,    25,    26,    27,    28,    29,    30
956f46a6179Smrg};
957690143ccSmrg
958690143ccSmrgstatic const yytype_int16 yycheck[] =
959690143ccSmrg{
960690143ccSmrg      51,   135,   177,   190,     0,    12,    51,    41,    59,    60,
961690143ccSmrg      55,    29,     0,    41,    57,    41,    51,    62,    61,    45,
962690143ccSmrg      63,    55,    51,    56,    58,    52,    53,    72,    56,    55,
963690143ccSmrg      63,    64,    58,    66,    49,    53,    43,    55,     0,    18,
964690143ccSmrg      19,    20,    21,    52,    23,    24,    25,    26,    10,    28,
965690143ccSmrg      29,    30,    31,    32,    33,    34,    55,    90,     0,    58,
966690143ccSmrg      41,    57,    58,    59,    60,    61,    62,    63,    64,    53,
967690143ccSmrg      54,    50,    42,    38,    42,   118,    55,    51,    48,    58,
968690143ccSmrg      48,   126,   133,   130,   129,   130,    41,   132,    53,    54,
969690143ccSmrg     137,    52,   137,   138,   139,   142,    45,   142,    47,    49,
970690143ccSmrg     129,   130,   277,   132,   139,   292,    42,    46,   137,    48,
971690143ccSmrg     139,    52,    48,   142,    52,    57,    58,    59,    60,    61,
972690143ccSmrg      62,    63,    64,   152,   153,     4,   155,   156,    56,   174,
973690143ccSmrg     175,    10,    11,   178,   177,    37,    38,    39,    40,   174,
974690143ccSmrg     175,    32,    25,    34,   189,   174,   175,    49,   122,    12,
975690143ccSmrg      13,    14,    15,    16,   189,   129,   130,   202,   132,    53,
976690143ccSmrg     189,    36,   207,   137,   197,   139,   199,   202,   142,    42,
977690143ccSmrg      42,    42,   207,   202,     0,    48,    48,    48,   207,    42,
978690143ccSmrg      48,    49,    36,    49,   318,    42,    12,    13,    14,    15,
979690143ccSmrg      16,    48,   237,    37,    38,    39,    40,    39,    40,    36,
980690143ccSmrg     174,   175,    43,   177,    45,    49,    47,   252,   237,    41,
981690143ccSmrg     121,   256,   123,   124,    41,   189,    37,   128,    42,    41,
982690143ccSmrg     131,   256,    36,   134,    48,   136,    36,   256,   202,    37,
983690143ccSmrg      38,    39,    40,   207,   277,    41,    37,    38,    39,    40,
984690143ccSmrg      42,    49,    36,   154,    42,    41,    48,   298,    49,    41,
985690143ccSmrg      48,   296,    37,    38,    39,    40,   152,   153,   309,   155,
986690143ccSmrg     156,   296,    41,   237,    49,    49,    41,   296,    45,    37,
987690143ccSmrg      38,    39,    40,   324,   325,    36,    36,   328,    46,    36,
988690143ccSmrg      49,    45,   256,    18,    19,    20,    21,    36,    23,    24,
989690143ccSmrg      25,    26,    43,    28,    29,   206,    31,    37,    38,    39,
990690143ccSmrg      40,   275,    37,    38,   215,   216,   217,   218,    43,   220,
991690143ccSmrg     221,    41,    49,    49,    43,    50,    51,    52,    53,    54,
992690143ccSmrg      55,    56,   296,    58,    43,    46,    48,   238,    41,    49,
993690143ccSmrg      48,   242,    49,    49,    17,    18,    19,    20,    21,    22,
994690143ccSmrg      23,    24,    25,    26,   255,    28,    29,    49,    31,    32,
995690143ccSmrg      33,    34,    35,    37,    38,    39,    40,    49,    18,    19,
996690143ccSmrg      20,    21,    46,    23,    24,    25,    26,    50,    28,    29,
997690143ccSmrg      49,    31,    55,    56,    49,    58,    44,    37,    38,    37,
998690143ccSmrg      38,    39,    40,    43,    48,    45,    44,    41,    44,    46,
999690143ccSmrg      50,    51,    52,    53,    54,    55,    56,    49,    58,    18,
1000690143ccSmrg      19,    20,    21,    36,    23,    24,    25,    26,    49,    28,
1001690143ccSmrg      29,    49,    31,     5,     6,     7,     8,     9,    37,    38,
1002690143ccSmrg      10,    22,    41,    40,    43,    16,    41,   126,   237,    51,
1003690143ccSmrg     202,    50,    51,    52,    53,    54,    55,    56,   238,    58,
1004690143ccSmrg      18,    19,    20,    21,   296,    23,    24,    25,    26,   252,
1005690143ccSmrg      28,    29,    30,    31,    32,    33,    34,   324,   328,   254,
1006690143ccSmrg      18,    19,    20,    21,    42,    23,    24,    25,    26,    27,
1007690143ccSmrg      28,    29,    50,    31,    51,   287,   273,    55,    -1,   246,
1008690143ccSmrg      58,    -1,   275,    -1,    42,    -1,    -1,    -1,    18,    19,
1009690143ccSmrg      20,    21,    50,    23,    24,    25,    26,    55,    28,    29,
1010690143ccSmrg      58,    31,    -1,    18,    19,    20,    21,    -1,    23,    24,
1011690143ccSmrg      25,    26,    -1,    28,    29,    45,    31,    -1,    -1,    -1,
1012690143ccSmrg      50,    -1,    -1,    -1,    -1,    55,    -1,    42,    58,    -1,
1013690143ccSmrg      -1,    18,    19,    20,    21,    50,    23,    24,    25,    26,
1014690143ccSmrg      55,    28,    29,    58,    31,    -1,    18,    19,    20,    21,
1015690143ccSmrg      -1,    23,    24,    25,    26,    42,    28,    29,    -1,    31,
1016690143ccSmrg      -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    55,    -1,
1017690143ccSmrg      42,    58,    -1,    -1,    18,    19,    20,    21,    50,    23,
1018690143ccSmrg      24,    25,    26,    55,    28,    29,    58,    31,    -1,    -1,
1019690143ccSmrg      -1,    -1,    -1,    -1,    18,    19,    20,    21,    42,    23,
1020690143ccSmrg      24,    25,    26,    27,    28,    29,    50,    31,    -1,    -1,
1021690143ccSmrg      -1,    55,    -1,    -1,    58,    -1,    -1,    18,    19,    20,
1022690143ccSmrg      21,    -1,    23,    24,    25,    26,    50,    28,    29,    -1,
1023690143ccSmrg      31,    55,    -1,    -1,    58,    18,    19,    20,    21,    -1,
1024690143ccSmrg      23,    24,    25,    26,    -1,    28,    29,    -1,    31,    50,
1025690143ccSmrg      -1,    -1,    -1,    -1,    55,    -1,    -1,    58,    18,    19,
1026690143ccSmrg      20,    21,    42,    23,    24,    25,    26,    -1,    28,    29,
1027690143ccSmrg      53,    31,    55,    -1,    -1,    58,    -1,    57,    58,    59,
1028690143ccSmrg      60,    61,    62,    63,    64,    57,    58,    59,    60,    61,
1029690143ccSmrg      62,    63,    64,    -1,    -1,    55,    -1,    -1,    58,     4,
1030690143ccSmrg       5,     6,     7,     8,     9,    10,    11
1031f46a6179Smrg};
1032f46a6179Smrg
1033690143ccSmrg/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1034690143ccSmrg   symbol of state STATE-NUM.  */
1035690143ccSmrgstatic const yytype_uint8 yystos[] =
1036690143ccSmrg{
1037690143ccSmrg       0,    57,    58,    59,    60,    61,    62,    63,    64,    66,
1038690143ccSmrg      67,    68,    70,    71,    72,    74,    75,    76,     0,    68,
1039690143ccSmrg      74,    71,    74,     4,     5,     6,     7,     8,     9,    10,
1040690143ccSmrg      11,    69,    73,    76,    73,    52,   136,   137,   136,   136,
1041690143ccSmrg      41,    41,    77,    70,    77,    12,    13,    14,    15,    16,
1042690143ccSmrg      78,   116,   117,    42,    42,    17,    18,    19,    20,    21,
1043690143ccSmrg      22,    23,    24,    25,    26,    28,    29,    31,    32,    33,
1044690143ccSmrg      34,    35,    50,    55,    56,    58,    79,    80,    81,    82,
1045690143ccSmrg      85,    88,    89,    93,    94,    95,    96,    97,    98,   112,
1046690143ccSmrg     113,   114,   115,   124,   133,   134,    52,    49,    49,    83,
1047690143ccSmrg      84,   134,    52,   135,    29,    53,    55,    86,   128,   132,
1048690143ccSmrg     133,   133,   132,   134,   132,   135,   135,   135,    25,   134,
1049690143ccSmrg     135,    45,    47,    36,    36,    49,    48,    49,    36,    41,
1050690143ccSmrg      41,    37,    41,    36,    36,    41,    36,    41,    41,    41,
1051690143ccSmrg     132,    49,    41,    18,    19,    21,    23,    24,    25,    26,
1052690143ccSmrg      29,    31,    37,    38,    43,    50,    51,    54,   114,   120,
1053690143ccSmrg     121,   124,   125,   131,   132,   133,   134,   135,   114,   120,
1054690143ccSmrg     120,    84,   120,    79,    87,    87,   120,    45,    50,    90,
1055690143ccSmrg      91,    92,   124,   134,   133,   120,   119,   120,   120,    87,
1056690143ccSmrg      41,    45,   108,   109,   110,   111,   134,    25,    28,    30,
1057690143ccSmrg      79,    95,    99,   100,   105,   112,    36,    87,   121,   124,
1058690143ccSmrg     121,   120,   121,   121,    43,    37,    38,    39,    40,    46,
1059690143ccSmrg      36,    45,    49,    49,    42,    79,    42,    29,    55,   114,
1060690143ccSmrg     122,   123,   126,   127,   128,   134,    42,    48,    36,    49,
1061690143ccSmrg      49,    42,    48,    49,    42,   110,    38,    53,    54,   129,
1062690143ccSmrg     130,    42,    48,    42,    48,    36,    41,   135,    42,   100,
1063690143ccSmrg     120,    42,    44,   118,   119,   120,   120,   120,   120,   120,
1064690143ccSmrg     120,    49,    49,    43,    46,    48,    46,    48,    49,    91,
1065690143ccSmrg      92,   120,    49,   120,    49,    42,   130,    48,    49,   109,
1066690143ccSmrg      49,   111,    41,   120,    27,    79,   101,   102,    41,    49,
1067690143ccSmrg      49,    49,    44,    46,   118,   123,   128,   129,   110,    41,
1068690143ccSmrg      42,   102,   106,   107,   133,    44,    46,    42,    41,   103,
1069690143ccSmrg     104,   133,    49,    42,    48,    36,   119,    42,    48,    49,
1070690143ccSmrg     107,   133,    42,    49,   104
1071f46a6179Smrg};
1072690143ccSmrg
1073690143ccSmrg#define yyerrok		(yyerrstatus = 0)
1074690143ccSmrg#define yyclearin	(yychar = YYEMPTY)
1075690143ccSmrg#define YYEMPTY		(-2)
1076690143ccSmrg#define YYEOF		0
1077690143ccSmrg
1078690143ccSmrg#define YYACCEPT	goto yyacceptlab
1079690143ccSmrg#define YYABORT		goto yyabortlab
1080690143ccSmrg#define YYERROR		goto yyerrorlab
1081690143ccSmrg
1082690143ccSmrg
1083690143ccSmrg/* Like YYERROR except do call yyerror.  This remains here temporarily
1084690143ccSmrg   to ease the transition to the new meaning of YYERROR, for GCC.
1085690143ccSmrg   Once GCC version 2 has supplanted version 1, this can go.  */
1086690143ccSmrg
1087690143ccSmrg#define YYFAIL		goto yyerrlab
1088690143ccSmrg
1089690143ccSmrg#define YYRECOVERING()  (!!yyerrstatus)
1090690143ccSmrg
1091690143ccSmrg#define YYBACKUP(Token, Value)					\
1092690143ccSmrgdo								\
1093690143ccSmrg  if (yychar == YYEMPTY && yylen == 1)				\
1094690143ccSmrg    {								\
1095690143ccSmrg      yychar = (Token);						\
1096690143ccSmrg      yylval = (Value);						\
1097690143ccSmrg      yytoken = YYTRANSLATE (yychar);				\
1098690143ccSmrg      YYPOPSTACK (1);						\
1099690143ccSmrg      goto yybackup;						\
1100690143ccSmrg    }								\
1101690143ccSmrg  else								\
1102690143ccSmrg    {								\
1103690143ccSmrg      yyerror (YY_("syntax error: cannot back up")); \
1104690143ccSmrg      YYERROR;							\
1105690143ccSmrg    }								\
1106690143ccSmrgwhile (YYID (0))
1107690143ccSmrg
1108690143ccSmrg
1109690143ccSmrg#define YYTERROR	1
1110690143ccSmrg#define YYERRCODE	256
1111690143ccSmrg
1112690143ccSmrg
1113690143ccSmrg/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1114690143ccSmrg   If N is 0, then set CURRENT to the empty location which ends
1115690143ccSmrg   the previous symbol: RHS[0] (always defined).  */
1116690143ccSmrg
1117690143ccSmrg#define YYRHSLOC(Rhs, K) ((Rhs)[K])
1118690143ccSmrg#ifndef YYLLOC_DEFAULT
1119690143ccSmrg# define YYLLOC_DEFAULT(Current, Rhs, N)				\
1120690143ccSmrg    do									\
1121690143ccSmrg      if (YYID (N))                                                    \
1122690143ccSmrg	{								\
1123690143ccSmrg	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
1124690143ccSmrg	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
1125690143ccSmrg	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
1126690143ccSmrg	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
1127690143ccSmrg	}								\
1128690143ccSmrg      else								\
1129690143ccSmrg	{								\
1130690143ccSmrg	  (Current).first_line   = (Current).last_line   =		\
1131690143ccSmrg	    YYRHSLOC (Rhs, 0).last_line;				\
1132690143ccSmrg	  (Current).first_column = (Current).last_column =		\
1133690143ccSmrg	    YYRHSLOC (Rhs, 0).last_column;				\
1134690143ccSmrg	}								\
1135690143ccSmrg    while (YYID (0))
1136f46a6179Smrg#endif
1137690143ccSmrg
1138690143ccSmrg
1139690143ccSmrg/* YY_LOCATION_PRINT -- Print the location on the stream.
1140690143ccSmrg   This macro was not mandated originally: define only if we know
1141690143ccSmrg   we won't break user code: when these are the locations we know.  */
1142690143ccSmrg
1143690143ccSmrg#ifndef YY_LOCATION_PRINT
1144690143ccSmrg# if YYLTYPE_IS_TRIVIAL
1145690143ccSmrg#  define YY_LOCATION_PRINT(File, Loc)			\
1146690143ccSmrg     fprintf (File, "%d.%d-%d.%d",			\
1147690143ccSmrg	      (Loc).first_line, (Loc).first_column,	\
1148690143ccSmrg	      (Loc).last_line,  (Loc).last_column)
1149690143ccSmrg# else
1150690143ccSmrg#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1151690143ccSmrg# endif
1152f46a6179Smrg#endif
1153f46a6179Smrg
1154690143ccSmrg
1155690143ccSmrg/* YYLEX -- calling `yylex' with the right arguments.  */
1156690143ccSmrg
1157690143ccSmrg#ifdef YYLEX_PARAM
1158690143ccSmrg# define YYLEX yylex (YYLEX_PARAM)
1159f46a6179Smrg#else
1160690143ccSmrg# define YYLEX yylex ()
1161f46a6179Smrg#endif
1162f46a6179Smrg
1163690143ccSmrg/* Enable debugging if requested.  */
1164690143ccSmrg#if YYDEBUG
1165f46a6179Smrg
1166690143ccSmrg# ifndef YYFPRINTF
1167690143ccSmrg#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1168690143ccSmrg#  define YYFPRINTF fprintf
1169690143ccSmrg# endif
1170f46a6179Smrg
1171690143ccSmrg# define YYDPRINTF(Args)			\
1172690143ccSmrgdo {						\
1173690143ccSmrg  if (yydebug)					\
1174690143ccSmrg    YYFPRINTF Args;				\
1175690143ccSmrg} while (YYID (0))
1176f46a6179Smrg
1177690143ccSmrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
1178690143ccSmrgdo {									  \
1179690143ccSmrg  if (yydebug)								  \
1180690143ccSmrg    {									  \
1181690143ccSmrg      YYFPRINTF (stderr, "%s ", Title);					  \
1182690143ccSmrg      yy_symbol_print (stderr,						  \
1183690143ccSmrg		  Type, Value); \
1184690143ccSmrg      YYFPRINTF (stderr, "\n");						  \
1185690143ccSmrg    }									  \
1186690143ccSmrg} while (YYID (0))
1187f46a6179Smrg
1188f46a6179Smrg
1189690143ccSmrg/*--------------------------------.
1190690143ccSmrg| Print this symbol on YYOUTPUT.  |
1191690143ccSmrg`--------------------------------*/
1192690143ccSmrg
1193690143ccSmrg/*ARGSUSED*/
1194690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1195690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1196690143ccSmrgstatic void
1197690143ccSmrgyy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1198690143ccSmrg#else
1199690143ccSmrgstatic void
1200690143ccSmrgyy_symbol_value_print (yyoutput, yytype, yyvaluep)
1201690143ccSmrg    FILE *yyoutput;
1202690143ccSmrg    int yytype;
1203690143ccSmrg    YYSTYPE const * const yyvaluep;
1204690143ccSmrg#endif
1205f46a6179Smrg{
1206690143ccSmrg  if (!yyvaluep)
120707d2e718Smrg    return;
1208690143ccSmrg# ifdef YYPRINT
1209690143ccSmrg  if (yytype < YYNTOKENS)
1210690143ccSmrg    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1211690143ccSmrg# else
1212690143ccSmrg  YYUSE (yyoutput);
1213690143ccSmrg# endif
1214690143ccSmrg  switch (yytype)
1215690143ccSmrg    {
1216690143ccSmrg      default:
1217690143ccSmrg	break;
1218690143ccSmrg    }
1219f46a6179Smrg}
1220f46a6179Smrg
1221f46a6179Smrg
1222690143ccSmrg/*--------------------------------.
1223690143ccSmrg| Print this symbol on YYOUTPUT.  |
1224690143ccSmrg`--------------------------------*/
1225f46a6179Smrg
1226690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1227690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1228690143ccSmrgstatic void
1229690143ccSmrgyy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1230690143ccSmrg#else
1231690143ccSmrgstatic void
1232690143ccSmrgyy_symbol_print (yyoutput, yytype, yyvaluep)
1233690143ccSmrg    FILE *yyoutput;
1234690143ccSmrg    int yytype;
1235690143ccSmrg    YYSTYPE const * const yyvaluep;
1236690143ccSmrg#endif
1237f46a6179Smrg{
1238690143ccSmrg  if (yytype < YYNTOKENS)
1239690143ccSmrg    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1240690143ccSmrg  else
1241690143ccSmrg    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1242f46a6179Smrg
1243690143ccSmrg  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1244690143ccSmrg  YYFPRINTF (yyoutput, ")");
1245f46a6179Smrg}
1246f46a6179Smrg
1247690143ccSmrg/*------------------------------------------------------------------.
1248690143ccSmrg| yy_stack_print -- Print the state stack from its BOTTOM up to its |
1249690143ccSmrg| TOP (included).                                                   |
1250690143ccSmrg`------------------------------------------------------------------*/
1251f46a6179Smrg
1252690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1253690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1254690143ccSmrgstatic void
1255690143ccSmrgyy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1256690143ccSmrg#else
1257690143ccSmrgstatic void
1258690143ccSmrgyy_stack_print (yybottom, yytop)
1259690143ccSmrg    yytype_int16 *yybottom;
1260690143ccSmrg    yytype_int16 *yytop;
1261690143ccSmrg#endif
1262f46a6179Smrg{
1263690143ccSmrg  YYFPRINTF (stderr, "Stack now");
1264690143ccSmrg  for (; yybottom <= yytop; yybottom++)
1265f46a6179Smrg    {
1266690143ccSmrg      int yybot = *yybottom;
1267690143ccSmrg      YYFPRINTF (stderr, " %d", yybot);
1268f46a6179Smrg    }
1269690143ccSmrg  YYFPRINTF (stderr, "\n");
1270690143ccSmrg}
1271f46a6179Smrg
1272690143ccSmrg# define YY_STACK_PRINT(Bottom, Top)				\
1273690143ccSmrgdo {								\
1274690143ccSmrg  if (yydebug)							\
1275690143ccSmrg    yy_stack_print ((Bottom), (Top));				\
1276690143ccSmrg} while (YYID (0))
1277f46a6179Smrg
1278f46a6179Smrg
1279690143ccSmrg/*------------------------------------------------.
1280690143ccSmrg| Report that the YYRULE is going to be reduced.  |
1281690143ccSmrg`------------------------------------------------*/
1282f46a6179Smrg
1283690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1284690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1285690143ccSmrgstatic void
1286690143ccSmrgyy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1287690143ccSmrg#else
1288690143ccSmrgstatic void
1289690143ccSmrgyy_reduce_print (yyvsp, yyrule)
1290690143ccSmrg    YYSTYPE *yyvsp;
1291690143ccSmrg    int yyrule;
129207d2e718Smrg#endif
1293690143ccSmrg{
1294690143ccSmrg  int yynrhs = yyr2[yyrule];
1295690143ccSmrg  int yyi;
1296690143ccSmrg  unsigned long int yylno = yyrline[yyrule];
1297690143ccSmrg  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1298690143ccSmrg	     yyrule - 1, yylno);
1299690143ccSmrg  /* The symbols being reduced.  */
1300690143ccSmrg  for (yyi = 0; yyi < yynrhs; yyi++)
1301f46a6179Smrg    {
1302690143ccSmrg      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
1303690143ccSmrg      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1304690143ccSmrg		       &(yyvsp[(yyi + 1) - (yynrhs)])
1305690143ccSmrg		       		       );
1306690143ccSmrg      YYFPRINTF (stderr, "\n");
1307f46a6179Smrg    }
1308690143ccSmrg}
1309f46a6179Smrg
1310690143ccSmrg# define YY_REDUCE_PRINT(Rule)		\
1311690143ccSmrgdo {					\
1312690143ccSmrg  if (yydebug)				\
1313690143ccSmrg    yy_reduce_print (yyvsp, Rule); \
1314690143ccSmrg} while (YYID (0))
1315f46a6179Smrg
1316690143ccSmrg/* Nonzero means print parse trace.  It is left uninitialized so that
1317690143ccSmrg   multiple parsers can coexist.  */
1318690143ccSmrgint yydebug;
1319690143ccSmrg#else /* !YYDEBUG */
1320690143ccSmrg# define YYDPRINTF(Args)
1321690143ccSmrg# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1322690143ccSmrg# define YY_STACK_PRINT(Bottom, Top)
1323690143ccSmrg# define YY_REDUCE_PRINT(Rule)
1324690143ccSmrg#endif /* !YYDEBUG */
1325f46a6179Smrg
1326f46a6179Smrg
1327690143ccSmrg/* YYINITDEPTH -- initial size of the parser's stacks.  */
1328690143ccSmrg#ifndef	YYINITDEPTH
1329690143ccSmrg# define YYINITDEPTH 200
133007d2e718Smrg#endif
1331690143ccSmrg
1332690143ccSmrg/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1333690143ccSmrg   if the built-in stack extension method is used).
1334690143ccSmrg
1335690143ccSmrg   Do not make this value too large; the results are undefined if
1336690143ccSmrg   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1337690143ccSmrg   evaluated with infinite-precision integer arithmetic.  */
1338690143ccSmrg
1339690143ccSmrg#ifndef YYMAXDEPTH
1340690143ccSmrg# define YYMAXDEPTH 10000
1341690143ccSmrg#endif
1342690143ccSmrg
1343690143ccSmrg
1344690143ccSmrg
1345690143ccSmrg#if YYERROR_VERBOSE
1346690143ccSmrg
1347690143ccSmrg# ifndef yystrlen
1348690143ccSmrg#  if defined __GLIBC__ && defined _STRING_H
1349690143ccSmrg#   define yystrlen strlen
1350690143ccSmrg#  else
1351690143ccSmrg/* Return the length of YYSTR.  */
1352690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1353690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1354690143ccSmrgstatic YYSIZE_T
1355690143ccSmrgyystrlen (const char *yystr)
1356690143ccSmrg#else
1357690143ccSmrgstatic YYSIZE_T
1358690143ccSmrgyystrlen (yystr)
1359690143ccSmrg    const char *yystr;
136007d2e718Smrg#endif
1361690143ccSmrg{
1362690143ccSmrg  YYSIZE_T yylen;
1363690143ccSmrg  for (yylen = 0; yystr[yylen]; yylen++)
1364690143ccSmrg    continue;
1365690143ccSmrg  return yylen;
1366690143ccSmrg}
1367690143ccSmrg#  endif
1368690143ccSmrg# endif
1369690143ccSmrg
1370690143ccSmrg# ifndef yystpcpy
1371690143ccSmrg#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1372690143ccSmrg#   define yystpcpy stpcpy
1373690143ccSmrg#  else
1374690143ccSmrg/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1375690143ccSmrg   YYDEST.  */
1376690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1377690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1378690143ccSmrgstatic char *
1379690143ccSmrgyystpcpy (char *yydest, const char *yysrc)
1380690143ccSmrg#else
1381690143ccSmrgstatic char *
1382690143ccSmrgyystpcpy (yydest, yysrc)
1383690143ccSmrg    char *yydest;
1384690143ccSmrg    const char *yysrc;
1385690143ccSmrg#endif
1386690143ccSmrg{
1387690143ccSmrg  char *yyd = yydest;
1388690143ccSmrg  const char *yys = yysrc;
1389690143ccSmrg
1390690143ccSmrg  while ((*yyd++ = *yys++) != '\0')
1391690143ccSmrg    continue;
1392690143ccSmrg
1393690143ccSmrg  return yyd - 1;
1394690143ccSmrg}
1395690143ccSmrg#  endif
1396690143ccSmrg# endif
1397690143ccSmrg
1398690143ccSmrg# ifndef yytnamerr
1399690143ccSmrg/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1400690143ccSmrg   quotes and backslashes, so that it's suitable for yyerror.  The
1401690143ccSmrg   heuristic is that double-quoting is unnecessary unless the string
1402690143ccSmrg   contains an apostrophe, a comma, or backslash (other than
1403690143ccSmrg   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
1404690143ccSmrg   null, do not copy; instead, return the length of what the result
1405690143ccSmrg   would have been.  */
1406690143ccSmrgstatic YYSIZE_T
1407690143ccSmrgyytnamerr (char *yyres, const char *yystr)
1408690143ccSmrg{
1409690143ccSmrg  if (*yystr == '"')
1410690143ccSmrg    {
1411690143ccSmrg      YYSIZE_T yyn = 0;
1412690143ccSmrg      char const *yyp = yystr;
1413690143ccSmrg
1414690143ccSmrg      for (;;)
1415690143ccSmrg	switch (*++yyp)
1416690143ccSmrg	  {
1417690143ccSmrg	  case '\'':
1418690143ccSmrg	  case ',':
1419690143ccSmrg	    goto do_not_strip_quotes;
1420690143ccSmrg
1421690143ccSmrg	  case '\\':
1422690143ccSmrg	    if (*++yyp != '\\')
1423690143ccSmrg	      goto do_not_strip_quotes;
1424690143ccSmrg	    /* Fall through.  */
1425690143ccSmrg	  default:
1426690143ccSmrg	    if (yyres)
1427690143ccSmrg	      yyres[yyn] = *yyp;
1428690143ccSmrg	    yyn++;
1429690143ccSmrg	    break;
1430690143ccSmrg
1431690143ccSmrg	  case '"':
1432690143ccSmrg	    if (yyres)
1433690143ccSmrg	      yyres[yyn] = '\0';
1434690143ccSmrg	    return yyn;
1435690143ccSmrg	  }
1436690143ccSmrg    do_not_strip_quotes: ;
143707d2e718Smrg    }
1438690143ccSmrg
1439690143ccSmrg  if (! yyres)
1440690143ccSmrg    return yystrlen (yystr);
1441690143ccSmrg
1442690143ccSmrg  return yystpcpy (yyres, yystr) - yyres;
1443690143ccSmrg}
1444690143ccSmrg# endif
1445690143ccSmrg
1446690143ccSmrg/* Copy into YYRESULT an error message about the unexpected token
1447690143ccSmrg   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
1448690143ccSmrg   including the terminating null byte.  If YYRESULT is null, do not
1449690143ccSmrg   copy anything; just return the number of bytes that would be
1450690143ccSmrg   copied.  As a special case, return 0 if an ordinary "syntax error"
1451690143ccSmrg   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
1452690143ccSmrg   size calculation.  */
1453690143ccSmrgstatic YYSIZE_T
1454690143ccSmrgyysyntax_error (char *yyresult, int yystate, int yychar)
1455690143ccSmrg{
1456690143ccSmrg  int yyn = yypact[yystate];
1457690143ccSmrg
1458690143ccSmrg  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
1459690143ccSmrg    return 0;
1460690143ccSmrg  else
146107d2e718Smrg    {
1462690143ccSmrg      int yytype = YYTRANSLATE (yychar);
1463690143ccSmrg      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1464690143ccSmrg      YYSIZE_T yysize = yysize0;
1465690143ccSmrg      YYSIZE_T yysize1;
1466690143ccSmrg      int yysize_overflow = 0;
1467690143ccSmrg      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1468690143ccSmrg      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1469690143ccSmrg      int yyx;
1470690143ccSmrg
1471690143ccSmrg# if 0
1472690143ccSmrg      /* This is so xgettext sees the translatable formats that are
1473690143ccSmrg	 constructed on the fly.  */
1474690143ccSmrg      YY_("syntax error, unexpected %s");
1475690143ccSmrg      YY_("syntax error, unexpected %s, expecting %s");
1476690143ccSmrg      YY_("syntax error, unexpected %s, expecting %s or %s");
1477690143ccSmrg      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1478690143ccSmrg      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1479690143ccSmrg# endif
1480690143ccSmrg      char *yyfmt;
1481690143ccSmrg      char const *yyf;
1482690143ccSmrg      static char const yyunexpected[] = "syntax error, unexpected %s";
1483690143ccSmrg      static char const yyexpecting[] = ", expecting %s";
1484690143ccSmrg      static char const yyor[] = " or %s";
1485690143ccSmrg      char yyformat[sizeof yyunexpected
1486690143ccSmrg		    + sizeof yyexpecting - 1
1487690143ccSmrg		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1488690143ccSmrg		       * (sizeof yyor - 1))];
1489690143ccSmrg      char const *yyprefix = yyexpecting;
1490690143ccSmrg
1491690143ccSmrg      /* Start YYX at -YYN if negative to avoid negative indexes in
1492690143ccSmrg	 YYCHECK.  */
1493690143ccSmrg      int yyxbegin = yyn < 0 ? -yyn : 0;
1494690143ccSmrg
1495690143ccSmrg      /* Stay within bounds of both yycheck and yytname.  */
1496690143ccSmrg      int yychecklim = YYLAST - yyn + 1;
1497690143ccSmrg      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1498690143ccSmrg      int yycount = 1;
1499690143ccSmrg
1500690143ccSmrg      yyarg[0] = yytname[yytype];
1501690143ccSmrg      yyfmt = yystpcpy (yyformat, yyunexpected);
1502690143ccSmrg
1503690143ccSmrg      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1504690143ccSmrg	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1505690143ccSmrg	  {
1506690143ccSmrg	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1507690143ccSmrg	      {
1508690143ccSmrg		yycount = 1;
1509690143ccSmrg		yysize = yysize0;
1510690143ccSmrg		yyformat[sizeof yyunexpected - 1] = '\0';
1511690143ccSmrg		break;
1512690143ccSmrg	      }
1513690143ccSmrg	    yyarg[yycount++] = yytname[yyx];
1514690143ccSmrg	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1515690143ccSmrg	    yysize_overflow |= (yysize1 < yysize);
1516690143ccSmrg	    yysize = yysize1;
1517690143ccSmrg	    yyfmt = yystpcpy (yyfmt, yyprefix);
1518690143ccSmrg	    yyprefix = yyor;
1519690143ccSmrg	  }
1520690143ccSmrg
1521690143ccSmrg      yyf = YY_(yyformat);
1522690143ccSmrg      yysize1 = yysize + yystrlen (yyf);
1523690143ccSmrg      yysize_overflow |= (yysize1 < yysize);
1524690143ccSmrg      yysize = yysize1;
1525690143ccSmrg
1526690143ccSmrg      if (yysize_overflow)
1527690143ccSmrg	return YYSIZE_MAXIMUM;
1528690143ccSmrg
1529690143ccSmrg      if (yyresult)
1530690143ccSmrg	{
1531690143ccSmrg	  /* Avoid sprintf, as that infringes on the user's name space.
1532690143ccSmrg	     Don't have undefined behavior even if the translation
1533690143ccSmrg	     produced a string with the wrong number of "%s"s.  */
1534690143ccSmrg	  char *yyp = yyresult;
1535690143ccSmrg	  int yyi = 0;
1536690143ccSmrg	  while ((*yyp = *yyf) != '\0')
1537690143ccSmrg	    {
1538690143ccSmrg	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1539690143ccSmrg		{
1540690143ccSmrg		  yyp += yytnamerr (yyp, yyarg[yyi++]);
1541690143ccSmrg		  yyf += 2;
1542690143ccSmrg		}
1543690143ccSmrg	      else
1544690143ccSmrg		{
1545690143ccSmrg		  yyp++;
1546690143ccSmrg		  yyf++;
1547690143ccSmrg		}
1548690143ccSmrg	    }
1549690143ccSmrg	}
1550690143ccSmrg      return yysize;
1551690143ccSmrg    }
1552690143ccSmrg}
1553690143ccSmrg#endif /* YYERROR_VERBOSE */
1554690143ccSmrg
1555690143ccSmrg
1556690143ccSmrg/*-----------------------------------------------.
1557690143ccSmrg| Release the memory associated to this symbol.  |
1558690143ccSmrg`-----------------------------------------------*/
1559690143ccSmrg
1560690143ccSmrg/*ARGSUSED*/
1561690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1562690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1563690143ccSmrgstatic void
1564690143ccSmrgyydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1565690143ccSmrg#else
1566690143ccSmrgstatic void
1567690143ccSmrgyydestruct (yymsg, yytype, yyvaluep)
1568690143ccSmrg    const char *yymsg;
1569690143ccSmrg    int yytype;
1570690143ccSmrg    YYSTYPE *yyvaluep;
157107d2e718Smrg#endif
1572690143ccSmrg{
1573690143ccSmrg  YYUSE (yyvaluep);
1574690143ccSmrg
1575690143ccSmrg  if (!yymsg)
1576690143ccSmrg    yymsg = "Deleting";
1577690143ccSmrg  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1578690143ccSmrg
1579690143ccSmrg  switch (yytype)
1580690143ccSmrg    {
1581690143ccSmrg
1582690143ccSmrg      default:
1583690143ccSmrg	break;
158407d2e718Smrg    }
1585690143ccSmrg}
1586f46a6179Smrg
1587690143ccSmrg/* Prevent warnings from -Wmissing-prototypes.  */
1588690143ccSmrg#ifdef YYPARSE_PARAM
1589690143ccSmrg#if defined __STDC__ || defined __cplusplus
1590690143ccSmrgint yyparse (void *YYPARSE_PARAM);
1591690143ccSmrg#else
1592690143ccSmrgint yyparse ();
1593690143ccSmrg#endif
1594690143ccSmrg#else /* ! YYPARSE_PARAM */
1595690143ccSmrg#if defined __STDC__ || defined __cplusplus
1596690143ccSmrgint yyparse (void);
1597690143ccSmrg#else
1598690143ccSmrgint yyparse ();
159907d2e718Smrg#endif
1600690143ccSmrg#endif /* ! YYPARSE_PARAM */
1601690143ccSmrg
1602690143ccSmrg
1603690143ccSmrg/* The lookahead symbol.  */
1604690143ccSmrgint yychar;
1605690143ccSmrg
1606690143ccSmrg/* The semantic value of the lookahead symbol.  */
1607690143ccSmrgYYSTYPE yylval;
1608690143ccSmrg
1609690143ccSmrg/* Number of syntax errors so far.  */
1610690143ccSmrgint yynerrs;
1611690143ccSmrg
1612690143ccSmrg
1613690143ccSmrg
1614690143ccSmrg/*-------------------------.
1615690143ccSmrg| yyparse or yypush_parse.  |
1616690143ccSmrg`-------------------------*/
1617690143ccSmrg
1618690143ccSmrg#ifdef YYPARSE_PARAM
1619690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1620690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1621690143ccSmrgint
1622690143ccSmrgyyparse (void *YYPARSE_PARAM)
1623690143ccSmrg#else
1624690143ccSmrgint
1625690143ccSmrgyyparse (YYPARSE_PARAM)
1626690143ccSmrg    void *YYPARSE_PARAM;
1627690143ccSmrg#endif
1628690143ccSmrg#else /* ! YYPARSE_PARAM */
1629690143ccSmrg#if (defined __STDC__ || defined __C99__FUNC__ \
1630690143ccSmrg     || defined __cplusplus || defined _MSC_VER)
1631690143ccSmrgint
1632690143ccSmrgyyparse (void)
1633690143ccSmrg#else
1634690143ccSmrgint
1635690143ccSmrgyyparse ()
1636690143ccSmrg
1637690143ccSmrg#endif
1638690143ccSmrg#endif
1639690143ccSmrg{
1640690143ccSmrg
1641690143ccSmrg
1642690143ccSmrg    int yystate;
1643690143ccSmrg    /* Number of tokens to shift before error messages enabled.  */
1644690143ccSmrg    int yyerrstatus;
1645690143ccSmrg
1646690143ccSmrg    /* The stacks and their tools:
1647690143ccSmrg       `yyss': related to states.
1648690143ccSmrg       `yyvs': related to semantic values.
1649690143ccSmrg
1650690143ccSmrg       Refer to the stacks thru separate pointers, to allow yyoverflow
1651690143ccSmrg       to reallocate them elsewhere.  */
1652690143ccSmrg
1653690143ccSmrg    /* The state stack.  */
1654690143ccSmrg    yytype_int16 yyssa[YYINITDEPTH];
1655690143ccSmrg    yytype_int16 *yyss;
1656690143ccSmrg    yytype_int16 *yyssp;
1657690143ccSmrg
1658690143ccSmrg    /* The semantic value stack.  */
1659690143ccSmrg    YYSTYPE yyvsa[YYINITDEPTH];
1660690143ccSmrg    YYSTYPE *yyvs;
1661690143ccSmrg    YYSTYPE *yyvsp;
1662690143ccSmrg
1663690143ccSmrg    YYSIZE_T yystacksize;
1664690143ccSmrg
1665690143ccSmrg  int yyn;
1666690143ccSmrg  int yyresult;
1667690143ccSmrg  /* Lookahead token as an internal (translated) token number.  */
1668690143ccSmrg  int yytoken;
1669690143ccSmrg  /* The variables used to return semantic value and location from the
1670690143ccSmrg     action routines.  */
1671690143ccSmrg  YYSTYPE yyval;
1672690143ccSmrg
1673690143ccSmrg#if YYERROR_VERBOSE
1674690143ccSmrg  /* Buffer for error messages, and its allocated size.  */
1675690143ccSmrg  char yymsgbuf[128];
1676690143ccSmrg  char *yymsg = yymsgbuf;
1677690143ccSmrg  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1678690143ccSmrg#endif
1679690143ccSmrg
1680690143ccSmrg#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
1681690143ccSmrg
1682690143ccSmrg  /* The number of symbols on the RHS of the reduced rule.
1683690143ccSmrg     Keep to zero when no symbol should be popped.  */
1684690143ccSmrg  int yylen = 0;
1685690143ccSmrg
1686690143ccSmrg  yytoken = 0;
1687690143ccSmrg  yyss = yyssa;
1688690143ccSmrg  yyvs = yyvsa;
1689690143ccSmrg  yystacksize = YYINITDEPTH;
1690690143ccSmrg
1691690143ccSmrg  YYDPRINTF ((stderr, "Starting parse\n"));
1692690143ccSmrg
1693690143ccSmrg  yystate = 0;
1694690143ccSmrg  yyerrstatus = 0;
1695690143ccSmrg  yynerrs = 0;
1696690143ccSmrg  yychar = YYEMPTY; /* Cause a token to be read.  */
1697690143ccSmrg
1698690143ccSmrg  /* Initialize stack pointers.
1699690143ccSmrg     Waste one element of value and location stack
1700690143ccSmrg     so that they stay on the same level as the state stack.
1701690143ccSmrg     The wasted elements are never initialized.  */
1702690143ccSmrg  yyssp = yyss;
1703690143ccSmrg  yyvsp = yyvs;
1704690143ccSmrg
1705690143ccSmrg  goto yysetstate;
1706690143ccSmrg
1707690143ccSmrg/*------------------------------------------------------------.
1708690143ccSmrg| yynewstate -- Push a new state, which is found in yystate.  |
1709690143ccSmrg`------------------------------------------------------------*/
1710690143ccSmrg yynewstate:
1711690143ccSmrg  /* In all cases, when you get here, the value and location stacks
1712690143ccSmrg     have just been pushed.  So pushing a state here evens the stacks.  */
1713690143ccSmrg  yyssp++;
1714690143ccSmrg
1715690143ccSmrg yysetstate:
1716690143ccSmrg  *yyssp = yystate;
1717690143ccSmrg
1718690143ccSmrg  if (yyss + yystacksize - 1 <= yyssp)
1719690143ccSmrg    {
1720690143ccSmrg      /* Get the current used size of the three stacks, in elements.  */
1721690143ccSmrg      YYSIZE_T yysize = yyssp - yyss + 1;
1722690143ccSmrg
1723690143ccSmrg#ifdef yyoverflow
1724690143ccSmrg      {
1725690143ccSmrg	/* Give user a chance to reallocate the stack.  Use copies of
1726690143ccSmrg	   these so that the &'s don't force the real ones into
1727690143ccSmrg	   memory.  */
1728690143ccSmrg	YYSTYPE *yyvs1 = yyvs;
1729690143ccSmrg	yytype_int16 *yyss1 = yyss;
1730690143ccSmrg
1731690143ccSmrg	/* Each stack pointer address is followed by the size of the
1732690143ccSmrg	   data in use in that stack, in bytes.  This used to be a
1733690143ccSmrg	   conditional around just the two extra args, but that might
1734690143ccSmrg	   be undefined if yyoverflow is a macro.  */
1735690143ccSmrg	yyoverflow (YY_("memory exhausted"),
1736690143ccSmrg		    &yyss1, yysize * sizeof (*yyssp),
1737690143ccSmrg		    &yyvs1, yysize * sizeof (*yyvsp),
1738690143ccSmrg		    &yystacksize);
1739690143ccSmrg
1740690143ccSmrg	yyss = yyss1;
1741690143ccSmrg	yyvs = yyvs1;
1742690143ccSmrg      }
1743690143ccSmrg#else /* no yyoverflow */
1744690143ccSmrg# ifndef YYSTACK_RELOCATE
1745690143ccSmrg      goto yyexhaustedlab;
1746690143ccSmrg# else
1747690143ccSmrg      /* Extend the stack our own way.  */
1748690143ccSmrg      if (YYMAXDEPTH <= yystacksize)
1749690143ccSmrg	goto yyexhaustedlab;
1750690143ccSmrg      yystacksize *= 2;
1751690143ccSmrg      if (YYMAXDEPTH < yystacksize)
1752690143ccSmrg	yystacksize = YYMAXDEPTH;
1753690143ccSmrg
1754690143ccSmrg      {
1755690143ccSmrg	yytype_int16 *yyss1 = yyss;
1756690143ccSmrg	union yyalloc *yyptr =
1757690143ccSmrg	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1758690143ccSmrg	if (! yyptr)
1759690143ccSmrg	  goto yyexhaustedlab;
1760690143ccSmrg	YYSTACK_RELOCATE (yyss_alloc, yyss);
1761690143ccSmrg	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1762690143ccSmrg#  undef YYSTACK_RELOCATE
1763690143ccSmrg	if (yyss1 != yyssa)
1764690143ccSmrg	  YYSTACK_FREE (yyss1);
1765690143ccSmrg      }
1766690143ccSmrg# endif
1767690143ccSmrg#endif /* no yyoverflow */
1768690143ccSmrg
1769690143ccSmrg      yyssp = yyss + yysize - 1;
1770690143ccSmrg      yyvsp = yyvs + yysize - 1;
1771690143ccSmrg
1772690143ccSmrg      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1773690143ccSmrg		  (unsigned long int) yystacksize));
1774690143ccSmrg
1775690143ccSmrg      if (yyss + yystacksize - 1 <= yyssp)
1776690143ccSmrg	YYABORT;
1777690143ccSmrg    }
1778690143ccSmrg
1779690143ccSmrg  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1780690143ccSmrg
1781690143ccSmrg  if (yystate == YYFINAL)
1782690143ccSmrg    YYACCEPT;
1783690143ccSmrg
1784690143ccSmrg  goto yybackup;
1785690143ccSmrg
1786690143ccSmrg/*-----------.
1787690143ccSmrg| yybackup.  |
1788690143ccSmrg`-----------*/
1789690143ccSmrgyybackup:
1790690143ccSmrg
1791690143ccSmrg  /* Do appropriate processing given the current state.  Read a
1792690143ccSmrg     lookahead token if we need one and don't already have one.  */
1793690143ccSmrg
1794690143ccSmrg  /* First try to decide what to do without reference to lookahead token.  */
1795690143ccSmrg  yyn = yypact[yystate];
1796690143ccSmrg  if (yyn == YYPACT_NINF)
1797690143ccSmrg    goto yydefault;
1798690143ccSmrg
1799690143ccSmrg  /* Not known => get a lookahead token if don't already have one.  */
1800690143ccSmrg
1801690143ccSmrg  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
1802690143ccSmrg  if (yychar == YYEMPTY)
1803690143ccSmrg    {
1804690143ccSmrg      YYDPRINTF ((stderr, "Reading a token: "));
1805690143ccSmrg      yychar = YYLEX;
1806690143ccSmrg    }
1807690143ccSmrg
1808690143ccSmrg  if (yychar <= YYEOF)
1809690143ccSmrg    {
1810690143ccSmrg      yychar = yytoken = YYEOF;
1811690143ccSmrg      YYDPRINTF ((stderr, "Now at end of input.\n"));
1812690143ccSmrg    }
1813690143ccSmrg  else
1814690143ccSmrg    {
1815690143ccSmrg      yytoken = YYTRANSLATE (yychar);
1816690143ccSmrg      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1817690143ccSmrg    }
1818690143ccSmrg
1819690143ccSmrg  /* If the proper action on seeing token YYTOKEN is to reduce or to
1820690143ccSmrg     detect an error, take that action.  */
1821690143ccSmrg  yyn += yytoken;
1822690143ccSmrg  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1823690143ccSmrg    goto yydefault;
1824690143ccSmrg  yyn = yytable[yyn];
1825690143ccSmrg  if (yyn <= 0)
1826690143ccSmrg    {
1827690143ccSmrg      if (yyn == 0 || yyn == YYTABLE_NINF)
1828690143ccSmrg	goto yyerrlab;
1829690143ccSmrg      yyn = -yyn;
1830690143ccSmrg      goto yyreduce;
1831690143ccSmrg    }
1832690143ccSmrg
1833690143ccSmrg  /* Count tokens shifted since error; after three, turn off error
1834690143ccSmrg     status.  */
1835690143ccSmrg  if (yyerrstatus)
1836690143ccSmrg    yyerrstatus--;
1837690143ccSmrg
1838690143ccSmrg  /* Shift the lookahead token.  */
1839690143ccSmrg  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1840690143ccSmrg
1841690143ccSmrg  /* Discard the shifted token.  */
1842690143ccSmrg  yychar = YYEMPTY;
1843690143ccSmrg
1844690143ccSmrg  yystate = yyn;
1845690143ccSmrg  *++yyvsp = yylval;
1846690143ccSmrg
1847690143ccSmrg  goto yynewstate;
1848690143ccSmrg
1849690143ccSmrg
1850690143ccSmrg/*-----------------------------------------------------------.
1851690143ccSmrg| yydefault -- do the default action for the current state.  |
1852690143ccSmrg`-----------------------------------------------------------*/
1853690143ccSmrgyydefault:
1854690143ccSmrg  yyn = yydefact[yystate];
1855690143ccSmrg  if (yyn == 0)
1856690143ccSmrg    goto yyerrlab;
1857690143ccSmrg  goto yyreduce;
1858690143ccSmrg
1859690143ccSmrg
1860690143ccSmrg/*-----------------------------.
1861690143ccSmrg| yyreduce -- Do a reduction.  |
1862690143ccSmrg`-----------------------------*/
1863690143ccSmrgyyreduce:
1864690143ccSmrg  /* yyn is the number of a rule to reduce with.  */
1865690143ccSmrg  yylen = yyr2[yyn];
1866690143ccSmrg
1867690143ccSmrg  /* If YYLEN is nonzero, implement the default value of the action:
1868690143ccSmrg     `$$ = $1'.
1869690143ccSmrg
1870690143ccSmrg     Otherwise, the following line sets YYVAL to garbage.
1871690143ccSmrg     This behavior is undocumented and Bison
1872690143ccSmrg     users should not rely upon it.  Assigning to YYVAL
1873690143ccSmrg     unconditionally makes the parser a bit smaller, and it avoids a
1874690143ccSmrg     GCC warning that YYVAL may be used uninitialized.  */
1875690143ccSmrg  yyval = yyvsp[1-yylen];
1876690143ccSmrg
1877690143ccSmrg
1878690143ccSmrg  YY_REDUCE_PRINT (yyn);
1879690143ccSmrg  switch (yyn)
1880f46a6179Smrg    {
1881690143ccSmrg        case 2:
1882690143ccSmrg
1883690143ccSmrg/* Line 1455 of yacc.c  */
188434345a63Smrg#line 169 "xkbparse.y"
1885690143ccSmrg    { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); }
1886690143ccSmrg    break;
1887690143ccSmrg
1888690143ccSmrg  case 3:
1889690143ccSmrg
1890690143ccSmrg/* Line 1455 of yacc.c  */
189134345a63Smrg#line 171 "xkbparse.y"
1892690143ccSmrg    { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file);  }
1893690143ccSmrg    break;
1894690143ccSmrg
1895690143ccSmrg  case 4:
1896690143ccSmrg
1897690143ccSmrg/* Line 1455 of yacc.c  */
189834345a63Smrg#line 173 "xkbparse.y"
1899690143ccSmrg    { (yyval.file)= rtrnValue= (yyvsp[(1) - (1)].file); }
1900690143ccSmrg    break;
1901690143ccSmrg
1902690143ccSmrg  case 5:
1903690143ccSmrg
1904690143ccSmrg/* Line 1455 of yacc.c  */
190534345a63Smrg#line 177 "xkbparse.y"
1906690143ccSmrg    { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); }
1907690143ccSmrg    break;
1908690143ccSmrg
1909690143ccSmrg  case 6:
1910690143ccSmrg
1911690143ccSmrg/* Line 1455 of yacc.c  */
191234345a63Smrg#line 179 "xkbparse.y"
1913690143ccSmrg    { (yyval.file)= (yyvsp[(1) - (1)].file); }
1914690143ccSmrg    break;
1915690143ccSmrg
1916690143ccSmrg  case 7:
1917690143ccSmrg
1918690143ccSmrg/* Line 1455 of yacc.c  */
191934345a63Smrg#line 185 "xkbparse.y"
1920690143ccSmrg    { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),&(yyvsp[(5) - (7)].file)->common,(yyvsp[(1) - (7)].uval)); }
1921690143ccSmrg    break;
1922690143ccSmrg
1923690143ccSmrg  case 8:
1924690143ccSmrg
1925690143ccSmrg/* Line 1455 of yacc.c  */
192634345a63Smrg#line 188 "xkbparse.y"
1927690143ccSmrg    { (yyval.uval)= XkmKeymapFile; }
1928690143ccSmrg    break;
1929690143ccSmrg
1930690143ccSmrg  case 9:
1931690143ccSmrg
1932690143ccSmrg/* Line 1455 of yacc.c  */
193334345a63Smrg#line 189 "xkbparse.y"
1934690143ccSmrg    { (yyval.uval)= XkmSemanticsFile; }
1935690143ccSmrg    break;
1936690143ccSmrg
1937690143ccSmrg  case 10:
1938690143ccSmrg
1939690143ccSmrg/* Line 1455 of yacc.c  */
194034345a63Smrg#line 190 "xkbparse.y"
1941690143ccSmrg    { (yyval.uval)= XkmLayoutFile; }
1942690143ccSmrg    break;
1943690143ccSmrg
1944690143ccSmrg  case 11:
1945690143ccSmrg
1946690143ccSmrg/* Line 1455 of yacc.c  */
194734345a63Smrg#line 194 "xkbparse.y"
1948690143ccSmrg    { (yyval.file)= (XkbFile *)AppendStmt(&(yyvsp[(1) - (2)].file)->common,&(yyvsp[(2) - (2)].file)->common); }
1949690143ccSmrg    break;
1950690143ccSmrg
1951690143ccSmrg  case 12:
1952690143ccSmrg
1953690143ccSmrg/* Line 1455 of yacc.c  */
195434345a63Smrg#line 196 "xkbparse.y"
1955690143ccSmrg    { (yyval.file)= (yyvsp[(1) - (1)].file); }
1956690143ccSmrg    break;
1957690143ccSmrg
1958690143ccSmrg  case 13:
1959690143ccSmrg
1960690143ccSmrg/* Line 1455 of yacc.c  */
196134345a63Smrg#line 202 "xkbparse.y"
1962690143ccSmrg    { (yyval.file)= CreateXKBFile((yyvsp[(2) - (7)].uval),(yyvsp[(3) - (7)].str),(yyvsp[(5) - (7)].any),(yyvsp[(1) - (7)].uval)); }
1963690143ccSmrg    break;
1964690143ccSmrg
1965690143ccSmrg  case 14:
1966690143ccSmrg
1967690143ccSmrg/* Line 1455 of yacc.c  */
196834345a63Smrg#line 206 "xkbparse.y"
1969690143ccSmrg    { (yyval.file)= CreateXKBFile((yyvsp[(2) - (4)].uval),(yyvsp[(3) - (4)].str),(yyvsp[(4) - (4)].any),(yyvsp[(1) - (4)].uval)); }
1970690143ccSmrg    break;
1971690143ccSmrg
1972690143ccSmrg  case 15:
1973690143ccSmrg
1974690143ccSmrg/* Line 1455 of yacc.c  */
197534345a63Smrg#line 210 "xkbparse.y"
1976690143ccSmrg    { (yyval.uval)= XkmKeyNamesIndex; }
1977690143ccSmrg    break;
1978690143ccSmrg
1979690143ccSmrg  case 16:
1980690143ccSmrg
1981690143ccSmrg/* Line 1455 of yacc.c  */
198234345a63Smrg#line 211 "xkbparse.y"
1983690143ccSmrg    { (yyval.uval)= XkmTypesIndex; }
1984690143ccSmrg    break;
1985690143ccSmrg
1986690143ccSmrg  case 17:
1987690143ccSmrg
1988690143ccSmrg/* Line 1455 of yacc.c  */
198934345a63Smrg#line 212 "xkbparse.y"
1990690143ccSmrg    { (yyval.uval)= XkmCompatMapIndex; }
1991690143ccSmrg    break;
1992690143ccSmrg
1993690143ccSmrg  case 18:
1994690143ccSmrg
1995690143ccSmrg/* Line 1455 of yacc.c  */
199634345a63Smrg#line 213 "xkbparse.y"
1997690143ccSmrg    { (yyval.uval)= XkmSymbolsIndex; }
1998690143ccSmrg    break;
1999690143ccSmrg
2000690143ccSmrg  case 19:
2001690143ccSmrg
2002690143ccSmrg/* Line 1455 of yacc.c  */
200334345a63Smrg#line 214 "xkbparse.y"
2004690143ccSmrg    { (yyval.uval)= XkmGeometryIndex; }
2005690143ccSmrg    break;
2006690143ccSmrg
2007690143ccSmrg  case 20:
2008690143ccSmrg
2009690143ccSmrg/* Line 1455 of yacc.c  */
201034345a63Smrg#line 217 "xkbparse.y"
2011690143ccSmrg    { (yyval.uval)= (yyvsp[(1) - (1)].uval); }
2012690143ccSmrg    break;
2013690143ccSmrg
2014690143ccSmrg  case 21:
2015690143ccSmrg
2016690143ccSmrg/* Line 1455 of yacc.c  */
201734345a63Smrg#line 218 "xkbparse.y"
2018690143ccSmrg    { (yyval.uval)= 0; }
2019690143ccSmrg    break;
2020690143ccSmrg
2021690143ccSmrg  case 22:
2022690143ccSmrg
2023690143ccSmrg/* Line 1455 of yacc.c  */
202434345a63Smrg#line 221 "xkbparse.y"
2025690143ccSmrg    { (yyval.uval)= (((yyvsp[(1) - (2)].uval))|((yyvsp[(2) - (2)].uval))); }
2026690143ccSmrg    break;
2027690143ccSmrg
2028690143ccSmrg  case 23:
2029690143ccSmrg
2030690143ccSmrg/* Line 1455 of yacc.c  */
203134345a63Smrg#line 222 "xkbparse.y"
2032690143ccSmrg    { (yyval.uval)= (yyvsp[(1) - (1)].uval); }
2033690143ccSmrg    break;
2034690143ccSmrg
2035690143ccSmrg  case 24:
2036690143ccSmrg
2037690143ccSmrg/* Line 1455 of yacc.c  */
203834345a63Smrg#line 225 "xkbparse.y"
2039690143ccSmrg    { (yyval.uval)= XkbLC_Partial; }
2040690143ccSmrg    break;
2041690143ccSmrg
2042690143ccSmrg  case 25:
2043690143ccSmrg
2044690143ccSmrg/* Line 1455 of yacc.c  */
204534345a63Smrg#line 226 "xkbparse.y"
2046690143ccSmrg    { (yyval.uval)= XkbLC_Default; }
2047690143ccSmrg    break;
2048690143ccSmrg
2049690143ccSmrg  case 26:
2050690143ccSmrg
2051690143ccSmrg/* Line 1455 of yacc.c  */
205234345a63Smrg#line 227 "xkbparse.y"
2053690143ccSmrg    { (yyval.uval)= XkbLC_Hidden; }
2054690143ccSmrg    break;
2055690143ccSmrg
2056690143ccSmrg  case 27:
2057690143ccSmrg
2058690143ccSmrg/* Line 1455 of yacc.c  */
205934345a63Smrg#line 228 "xkbparse.y"
2060690143ccSmrg    { (yyval.uval)= XkbLC_AlphanumericKeys; }
2061690143ccSmrg    break;
2062690143ccSmrg
2063690143ccSmrg  case 28:
2064690143ccSmrg
2065690143ccSmrg/* Line 1455 of yacc.c  */
206634345a63Smrg#line 229 "xkbparse.y"
2067690143ccSmrg    { (yyval.uval)= XkbLC_ModifierKeys; }
2068690143ccSmrg    break;
2069690143ccSmrg
2070690143ccSmrg  case 29:
2071690143ccSmrg
2072690143ccSmrg/* Line 1455 of yacc.c  */
207334345a63Smrg#line 230 "xkbparse.y"
2074690143ccSmrg    { (yyval.uval)= XkbLC_KeypadKeys; }
2075690143ccSmrg    break;
2076690143ccSmrg
2077690143ccSmrg  case 30:
2078690143ccSmrg
2079690143ccSmrg/* Line 1455 of yacc.c  */
208034345a63Smrg#line 231 "xkbparse.y"
2081690143ccSmrg    { (yyval.uval)= XkbLC_FunctionKeys; }
2082690143ccSmrg    break;
2083690143ccSmrg
2084690143ccSmrg  case 31:
2085690143ccSmrg
2086690143ccSmrg/* Line 1455 of yacc.c  */
208734345a63Smrg#line 232 "xkbparse.y"
2088690143ccSmrg    { (yyval.uval)= XkbLC_AlternateGroup; }
2089690143ccSmrg    break;
2090690143ccSmrg
2091690143ccSmrg  case 32:
2092690143ccSmrg
2093690143ccSmrg/* Line 1455 of yacc.c  */
209434345a63Smrg#line 236 "xkbparse.y"
2095690143ccSmrg    { (yyval.any)= AppendStmt((yyvsp[(1) - (2)].any),(yyvsp[(2) - (2)].any)); }
2096690143ccSmrg    break;
2097690143ccSmrg
2098690143ccSmrg  case 33:
2099690143ccSmrg
2100690143ccSmrg/* Line 1455 of yacc.c  */
210134345a63Smrg#line 237 "xkbparse.y"
2102690143ccSmrg    { (yyval.any)= NULL; }
2103690143ccSmrg    break;
2104690143ccSmrg
2105690143ccSmrg  case 34:
2106690143ccSmrg
2107690143ccSmrg/* Line 1455 of yacc.c  */
210834345a63Smrg#line 241 "xkbparse.y"
2109690143ccSmrg    {
2110690143ccSmrg			    (yyvsp[(2) - (2)].var)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].var)->common,(yyvsp[(1) - (2)].uval));
2111690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].var)->common;
2112f46a6179Smrg			}
2113690143ccSmrg    break;
2114690143ccSmrg
2115690143ccSmrg  case 35:
2116690143ccSmrg
2117690143ccSmrg/* Line 1455 of yacc.c  */
211834345a63Smrg#line 246 "xkbparse.y"
2119690143ccSmrg    {
2120690143ccSmrg			    (yyvsp[(2) - (2)].vmod)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].vmod)->common,(yyvsp[(1) - (2)].uval));
2121690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].vmod)->common;
2122f46a6179Smrg			}
2123690143ccSmrg    break;
2124690143ccSmrg
2125690143ccSmrg  case 36:
2126690143ccSmrg
2127690143ccSmrg/* Line 1455 of yacc.c  */
212834345a63Smrg#line 251 "xkbparse.y"
2129690143ccSmrg    {
2130690143ccSmrg			    (yyvsp[(2) - (2)].interp)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].interp)->common,(yyvsp[(1) - (2)].uval));
2131690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].interp)->common;
2132f46a6179Smrg			}
2133690143ccSmrg    break;
2134690143ccSmrg
2135690143ccSmrg  case 37:
2136690143ccSmrg
2137690143ccSmrg/* Line 1455 of yacc.c  */
213834345a63Smrg#line 256 "xkbparse.y"
2139690143ccSmrg    {
2140690143ccSmrg			    (yyvsp[(2) - (2)].keyName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyName)->common,(yyvsp[(1) - (2)].uval));
2141690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].keyName)->common;
2142f46a6179Smrg			}
2143690143ccSmrg    break;
2144690143ccSmrg
2145690143ccSmrg  case 38:
2146690143ccSmrg
2147690143ccSmrg/* Line 1455 of yacc.c  */
214834345a63Smrg#line 261 "xkbparse.y"
2149690143ccSmrg    {
2150690143ccSmrg			    (yyvsp[(2) - (2)].keyAlias)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyAlias)->common,(yyvsp[(1) - (2)].uval));
2151690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].keyAlias)->common;
2152f46a6179Smrg			}
2153690143ccSmrg    break;
2154690143ccSmrg
2155690143ccSmrg  case 39:
2156690143ccSmrg
2157690143ccSmrg/* Line 1455 of yacc.c  */
215834345a63Smrg#line 266 "xkbparse.y"
2159690143ccSmrg    {
2160690143ccSmrg			    (yyvsp[(2) - (2)].keyType)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].keyType)->common,(yyvsp[(1) - (2)].uval));
2161690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].keyType)->common;
2162f46a6179Smrg			}
2163690143ccSmrg    break;
2164690143ccSmrg
2165690143ccSmrg  case 40:
2166690143ccSmrg
2167690143ccSmrg/* Line 1455 of yacc.c  */
216834345a63Smrg#line 271 "xkbparse.y"
2169690143ccSmrg    {
2170690143ccSmrg			    (yyvsp[(2) - (2)].syms)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].syms)->common,(yyvsp[(1) - (2)].uval));
2171690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].syms)->common;
2172f46a6179Smrg			}
2173690143ccSmrg    break;
2174690143ccSmrg
2175690143ccSmrg  case 41:
2176690143ccSmrg
2177690143ccSmrg/* Line 1455 of yacc.c  */
217834345a63Smrg#line 276 "xkbparse.y"
2179690143ccSmrg    {
2180690143ccSmrg			    (yyvsp[(2) - (2)].modMask)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].modMask)->common,(yyvsp[(1) - (2)].uval));
2181690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].modMask)->common;
2182f46a6179Smrg			}
2183690143ccSmrg    break;
2184690143ccSmrg
2185690143ccSmrg  case 42:
2186690143ccSmrg
2187690143ccSmrg/* Line 1455 of yacc.c  */
218834345a63Smrg#line 281 "xkbparse.y"
2189690143ccSmrg    {
2190690143ccSmrg			    (yyvsp[(2) - (2)].groupCompat)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].groupCompat)->common,(yyvsp[(1) - (2)].uval));
2191690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].groupCompat)->common;
2192f46a6179Smrg			}
2193690143ccSmrg    break;
2194690143ccSmrg
2195690143ccSmrg  case 43:
2196690143ccSmrg
2197690143ccSmrg/* Line 1455 of yacc.c  */
219834345a63Smrg#line 286 "xkbparse.y"
2199690143ccSmrg    {
2200690143ccSmrg			    (yyvsp[(2) - (2)].ledMap)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledMap)->common,(yyvsp[(1) - (2)].uval));
2201690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].ledMap)->common;
2202f46a6179Smrg			}
2203690143ccSmrg    break;
2204690143ccSmrg
2205690143ccSmrg  case 44:
2206690143ccSmrg
2207690143ccSmrg/* Line 1455 of yacc.c  */
220834345a63Smrg#line 291 "xkbparse.y"
2209690143ccSmrg    {
2210690143ccSmrg			    (yyvsp[(2) - (2)].ledName)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].ledName)->common,(yyvsp[(1) - (2)].uval));
2211690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].ledName)->common;
2212f46a6179Smrg			}
2213690143ccSmrg    break;
2214690143ccSmrg
2215690143ccSmrg  case 45:
2216690143ccSmrg
2217690143ccSmrg/* Line 1455 of yacc.c  */
221834345a63Smrg#line 296 "xkbparse.y"
2219690143ccSmrg    {
2220690143ccSmrg			    (yyvsp[(2) - (2)].shape)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].shape)->common,(yyvsp[(1) - (2)].uval));
2221690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].shape)->common;
2222f46a6179Smrg			}
2223690143ccSmrg    break;
2224690143ccSmrg
2225690143ccSmrg  case 46:
2226690143ccSmrg
2227690143ccSmrg/* Line 1455 of yacc.c  */
222834345a63Smrg#line 301 "xkbparse.y"
2229690143ccSmrg    {
2230690143ccSmrg			    (yyvsp[(2) - (2)].section)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].section)->common,(yyvsp[(1) - (2)].uval));
2231690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].section)->common;
2232f46a6179Smrg			}
2233690143ccSmrg    break;
2234690143ccSmrg
2235690143ccSmrg  case 47:
2236690143ccSmrg
2237690143ccSmrg/* Line 1455 of yacc.c  */
223834345a63Smrg#line 306 "xkbparse.y"
2239690143ccSmrg    {
2240690143ccSmrg			    (yyvsp[(2) - (2)].doodad)->merge= StmtSetMerge(&(yyvsp[(2) - (2)].doodad)->common,(yyvsp[(1) - (2)].uval));
2241690143ccSmrg			    (yyval.any)= &(yyvsp[(2) - (2)].doodad)->common;
2242f46a6179Smrg			}
2243690143ccSmrg    break;
2244690143ccSmrg
2245690143ccSmrg  case 48:
2246690143ccSmrg
2247690143ccSmrg/* Line 1455 of yacc.c  */
224834345a63Smrg#line 311 "xkbparse.y"
2249690143ccSmrg    {
2250690143ccSmrg			    if ((yyvsp[(1) - (2)].uval)==MergeAltForm) {
2251f46a6179Smrg				yyerror("cannot use 'alternate' to include other maps");
2252690143ccSmrg				(yyval.any)= &IncludeCreate(scanBuf,MergeDefault)->common;
2253f46a6179Smrg			    }
2254f46a6179Smrg			    else {
2255690143ccSmrg				(yyval.any)= &IncludeCreate(scanBuf,(yyvsp[(1) - (2)].uval))->common;
2256f46a6179Smrg			    }
2257f46a6179Smrg                        }
2258690143ccSmrg    break;
2259690143ccSmrg
2260690143ccSmrg  case 49:
2261690143ccSmrg
2262690143ccSmrg/* Line 1455 of yacc.c  */
226334345a63Smrg#line 323 "xkbparse.y"
2264690143ccSmrg    { (yyval.var)= VarCreate((yyvsp[(1) - (4)].expr),(yyvsp[(3) - (4)].expr)); }
2265690143ccSmrg    break;
2266690143ccSmrg
2267690143ccSmrg  case 50:
2268690143ccSmrg
2269690143ccSmrg/* Line 1455 of yacc.c  */
227034345a63Smrg#line 325 "xkbparse.y"
2271690143ccSmrg    { (yyval.var)= BoolVarCreate((yyvsp[(1) - (2)].sval),1); }
2272690143ccSmrg    break;
2273690143ccSmrg
2274690143ccSmrg  case 51:
2275690143ccSmrg
2276690143ccSmrg/* Line 1455 of yacc.c  */
227734345a63Smrg#line 327 "xkbparse.y"
2278690143ccSmrg    { (yyval.var)= BoolVarCreate((yyvsp[(2) - (3)].sval),0); }
2279690143ccSmrg    break;
2280690143ccSmrg
2281690143ccSmrg  case 52:
2282690143ccSmrg
2283690143ccSmrg/* Line 1455 of yacc.c  */
228434345a63Smrg#line 331 "xkbparse.y"
2285690143ccSmrg    {
2286f46a6179Smrg			    KeycodeDef *def;
2287f46a6179Smrg
2288690143ccSmrg			    def= KeycodeCreate((yyvsp[(1) - (4)].str),(yyvsp[(3) - (4)].expr));
2289690143ccSmrg			    if ((yyvsp[(1) - (4)].str))
2290690143ccSmrg				free((yyvsp[(1) - (4)].str));
2291690143ccSmrg			    (yyval.keyName)= def;
2292f46a6179Smrg			}
2293690143ccSmrg    break;
2294690143ccSmrg
2295690143ccSmrg  case 53:
2296690143ccSmrg
2297690143ccSmrg/* Line 1455 of yacc.c  */
229834345a63Smrg#line 342 "xkbparse.y"
2299690143ccSmrg    {
2300f46a6179Smrg			    KeyAliasDef	*def;
2301690143ccSmrg			    def= KeyAliasCreate((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].str));
2302690143ccSmrg			    if ((yyvsp[(2) - (5)].str))	free((yyvsp[(2) - (5)].str));
2303690143ccSmrg			    if ((yyvsp[(4) - (5)].str))	free((yyvsp[(4) - (5)].str));
2304690143ccSmrg			    (yyval.keyAlias)= def;
2305f46a6179Smrg			}
2306690143ccSmrg    break;
2307690143ccSmrg
2308690143ccSmrg  case 54:
2309690143ccSmrg
2310690143ccSmrg/* Line 1455 of yacc.c  */
231134345a63Smrg#line 352 "xkbparse.y"
2312690143ccSmrg    { (yyval.vmod)= (yyvsp[(2) - (3)].vmod); }
2313690143ccSmrg    break;
2314690143ccSmrg
2315690143ccSmrg  case 55:
2316690143ccSmrg
2317690143ccSmrg/* Line 1455 of yacc.c  */
231834345a63Smrg#line 356 "xkbparse.y"
2319690143ccSmrg    { (yyval.vmod)= (VModDef *)AppendStmt(&(yyvsp[(1) - (3)].vmod)->common,&(yyvsp[(3) - (3)].vmod)->common); }
2320690143ccSmrg    break;
2321690143ccSmrg
2322690143ccSmrg  case 56:
2323690143ccSmrg
2324690143ccSmrg/* Line 1455 of yacc.c  */
232534345a63Smrg#line 358 "xkbparse.y"
2326690143ccSmrg    { (yyval.vmod)= (yyvsp[(1) - (1)].vmod); }
2327690143ccSmrg    break;
2328690143ccSmrg
2329690143ccSmrg  case 57:
2330690143ccSmrg
2331690143ccSmrg/* Line 1455 of yacc.c  */
233234345a63Smrg#line 362 "xkbparse.y"
2333690143ccSmrg    { (yyval.vmod)= VModCreate((yyvsp[(1) - (1)].sval),NULL); }
2334690143ccSmrg    break;
2335690143ccSmrg
2336690143ccSmrg  case 58:
2337690143ccSmrg
2338690143ccSmrg/* Line 1455 of yacc.c  */
233934345a63Smrg#line 364 "xkbparse.y"
2340690143ccSmrg    { (yyval.vmod)= VModCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); }
2341690143ccSmrg    break;
2342690143ccSmrg
2343690143ccSmrg  case 59:
2344690143ccSmrg
2345690143ccSmrg/* Line 1455 of yacc.c  */
234634345a63Smrg#line 370 "xkbparse.y"
2347690143ccSmrg    {
2348690143ccSmrg			    (yyvsp[(2) - (6)].interp)->def= (yyvsp[(4) - (6)].var);
2349690143ccSmrg			    (yyval.interp)= (yyvsp[(2) - (6)].interp);
2350f46a6179Smrg			}
2351690143ccSmrg    break;
2352690143ccSmrg
2353690143ccSmrg  case 60:
2354690143ccSmrg
2355690143ccSmrg/* Line 1455 of yacc.c  */
235634345a63Smrg#line 377 "xkbparse.y"
2357690143ccSmrg    { (yyval.interp)= InterpCreate((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].expr)); }
2358690143ccSmrg    break;
2359690143ccSmrg
2360690143ccSmrg  case 61:
2361690143ccSmrg
2362690143ccSmrg/* Line 1455 of yacc.c  */
236334345a63Smrg#line 379 "xkbparse.y"
2364690143ccSmrg    { (yyval.interp)= InterpCreate((yyvsp[(1) - (1)].str), NULL); }
2365690143ccSmrg    break;
2366690143ccSmrg
2367690143ccSmrg  case 62:
2368690143ccSmrg
2369690143ccSmrg/* Line 1455 of yacc.c  */
237034345a63Smrg#line 383 "xkbparse.y"
2371690143ccSmrg    { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (2)].var)->common,&(yyvsp[(2) - (2)].var)->common); }
2372690143ccSmrg    break;
2373690143ccSmrg
2374690143ccSmrg  case 63:
2375690143ccSmrg
2376690143ccSmrg/* Line 1455 of yacc.c  */
237734345a63Smrg#line 385 "xkbparse.y"
2378690143ccSmrg    { (yyval.var)= (yyvsp[(1) - (1)].var); }
2379690143ccSmrg    break;
2380690143ccSmrg
2381690143ccSmrg  case 64:
2382690143ccSmrg
2383690143ccSmrg/* Line 1455 of yacc.c  */
238434345a63Smrg#line 391 "xkbparse.y"
2385690143ccSmrg    { (yyval.keyType)= KeyTypeCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); }
2386690143ccSmrg    break;
2387690143ccSmrg
2388690143ccSmrg  case 65:
2389690143ccSmrg
2390690143ccSmrg/* Line 1455 of yacc.c  */
239134345a63Smrg#line 397 "xkbparse.y"
2392690143ccSmrg    { (yyval.syms)= SymbolsCreate((yyvsp[(2) - (6)].str),(ExprDef *)(yyvsp[(4) - (6)].var)); }
2393690143ccSmrg    break;
2394690143ccSmrg
2395690143ccSmrg  case 66:
2396690143ccSmrg
2397690143ccSmrg/* Line 1455 of yacc.c  */
239834345a63Smrg#line 401 "xkbparse.y"
2399690143ccSmrg    { (yyval.var)= (VarDef *)AppendStmt(&(yyvsp[(1) - (3)].var)->common,&(yyvsp[(3) - (3)].var)->common); }
2400690143ccSmrg    break;
2401690143ccSmrg
2402690143ccSmrg  case 67:
2403690143ccSmrg
2404690143ccSmrg/* Line 1455 of yacc.c  */
240534345a63Smrg#line 403 "xkbparse.y"
2406690143ccSmrg    { (yyval.var)= (yyvsp[(1) - (1)].var); }
2407690143ccSmrg    break;
2408690143ccSmrg
2409690143ccSmrg  case 68:
2410690143ccSmrg
2411690143ccSmrg/* Line 1455 of yacc.c  */
241234345a63Smrg#line 404 "xkbparse.y"
2413690143ccSmrg    { (yyval.var)= NULL; }
2414690143ccSmrg    break;
2415690143ccSmrg
2416690143ccSmrg  case 69:
2417690143ccSmrg
2418690143ccSmrg/* Line 1455 of yacc.c  */
241934345a63Smrg#line 408 "xkbparse.y"
2420690143ccSmrg    { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2421690143ccSmrg    break;
2422690143ccSmrg
2423690143ccSmrg  case 70:
2424690143ccSmrg
2425690143ccSmrg/* Line 1455 of yacc.c  */
242634345a63Smrg#line 410 "xkbparse.y"
2427690143ccSmrg    { (yyval.var)= VarCreate((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2428690143ccSmrg    break;
2429690143ccSmrg
2430690143ccSmrg  case 71:
2431690143ccSmrg
2432690143ccSmrg/* Line 1455 of yacc.c  */
243334345a63Smrg#line 412 "xkbparse.y"
2434690143ccSmrg    { (yyval.var)= BoolVarCreate((yyvsp[(1) - (1)].sval),1); }
2435690143ccSmrg    break;
2436690143ccSmrg
2437690143ccSmrg  case 72:
2438690143ccSmrg
2439690143ccSmrg/* Line 1455 of yacc.c  */
244034345a63Smrg#line 414 "xkbparse.y"
2441690143ccSmrg    { (yyval.var)= BoolVarCreate((yyvsp[(2) - (2)].sval),0); }
2442690143ccSmrg    break;
2443690143ccSmrg
2444690143ccSmrg  case 73:
2445690143ccSmrg
2446690143ccSmrg/* Line 1455 of yacc.c  */
244734345a63Smrg#line 416 "xkbparse.y"
2448690143ccSmrg    { (yyval.var)= VarCreate(NULL,(yyvsp[(1) - (1)].expr)); }
2449690143ccSmrg    break;
2450690143ccSmrg
2451690143ccSmrg  case 74:
2452690143ccSmrg
2453690143ccSmrg/* Line 1455 of yacc.c  */
245434345a63Smrg#line 420 "xkbparse.y"
2455690143ccSmrg    { (yyval.expr)= (yyvsp[(2) - (3)].expr); }
2456690143ccSmrg    break;
2457690143ccSmrg
2458690143ccSmrg  case 75:
2459690143ccSmrg
2460690143ccSmrg/* Line 1455 of yacc.c  */
246134345a63Smrg#line 422 "xkbparse.y"
2462690143ccSmrg    { (yyval.expr)= ExprCreateUnary(ExprActionList,TypeAction,(yyvsp[(2) - (3)].expr)); }
2463690143ccSmrg    break;
2464690143ccSmrg
2465690143ccSmrg  case 76:
2466690143ccSmrg
2467690143ccSmrg/* Line 1455 of yacc.c  */
246834345a63Smrg#line 426 "xkbparse.y"
2469690143ccSmrg    { (yyval.groupCompat)= GroupCompatCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr)); }
2470690143ccSmrg    break;
2471690143ccSmrg
2472690143ccSmrg  case 77:
2473690143ccSmrg
2474690143ccSmrg/* Line 1455 of yacc.c  */
247534345a63Smrg#line 430 "xkbparse.y"
2476690143ccSmrg    { (yyval.modMask)= ModMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].expr)); }
2477690143ccSmrg    break;
2478690143ccSmrg
2479690143ccSmrg  case 78:
2480690143ccSmrg
2481690143ccSmrg/* Line 1455 of yacc.c  */
248234345a63Smrg#line 434 "xkbparse.y"
2483690143ccSmrg    { (yyval.ledMap)= IndicatorMapCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); }
2484690143ccSmrg    break;
2485690143ccSmrg
2486690143ccSmrg  case 79:
2487690143ccSmrg
2488690143ccSmrg/* Line 1455 of yacc.c  */
248934345a63Smrg#line 438 "xkbparse.y"
2490690143ccSmrg    { (yyval.ledName)= IndicatorNameCreate((yyvsp[(2) - (5)].ival),(yyvsp[(4) - (5)].expr),False); }
2491690143ccSmrg    break;
2492690143ccSmrg
2493690143ccSmrg  case 80:
2494690143ccSmrg
2495690143ccSmrg/* Line 1455 of yacc.c  */
249634345a63Smrg#line 440 "xkbparse.y"
2497690143ccSmrg    { (yyval.ledName)= IndicatorNameCreate((yyvsp[(3) - (6)].ival),(yyvsp[(5) - (6)].expr),True); }
2498690143ccSmrg    break;
2499690143ccSmrg
2500690143ccSmrg  case 81:
2501690143ccSmrg
2502690143ccSmrg/* Line 1455 of yacc.c  */
250334345a63Smrg#line 444 "xkbparse.y"
2504690143ccSmrg    { (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),(OutlineDef *)&(yyvsp[(4) - (6)].outline)->common); }
2505690143ccSmrg    break;
2506690143ccSmrg
2507690143ccSmrg  case 82:
2508690143ccSmrg
2509690143ccSmrg/* Line 1455 of yacc.c  */
251034345a63Smrg#line 446 "xkbparse.y"
2511690143ccSmrg    {
2512f46a6179Smrg			    OutlineDef *outlines;
2513690143ccSmrg			    outlines= OutlineCreate(None,(yyvsp[(4) - (6)].expr));
2514690143ccSmrg			    (yyval.shape)= ShapeDeclCreate((yyvsp[(2) - (6)].sval),outlines);
2515f46a6179Smrg			}
2516690143ccSmrg    break;
2517690143ccSmrg
2518690143ccSmrg  case 83:
2519690143ccSmrg
2520690143ccSmrg/* Line 1455 of yacc.c  */
252134345a63Smrg#line 454 "xkbparse.y"
2522690143ccSmrg    { (yyval.section)= SectionDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].row)); }
2523690143ccSmrg    break;
2524690143ccSmrg
2525690143ccSmrg  case 84:
2526690143ccSmrg
2527690143ccSmrg/* Line 1455 of yacc.c  */
252834345a63Smrg#line 458 "xkbparse.y"
2529690143ccSmrg    { (yyval.row)=(RowDef *)AppendStmt(&(yyvsp[(1) - (2)].row)->common,&(yyvsp[(2) - (2)].row)->common);}
2530690143ccSmrg    break;
2531690143ccSmrg
2532690143ccSmrg  case 85:
2533690143ccSmrg
2534690143ccSmrg/* Line 1455 of yacc.c  */
253534345a63Smrg#line 460 "xkbparse.y"
2536690143ccSmrg    { (yyval.row)= (yyvsp[(1) - (1)].row); }
2537690143ccSmrg    break;
2538690143ccSmrg
2539690143ccSmrg  case 86:
2540690143ccSmrg
2541690143ccSmrg/* Line 1455 of yacc.c  */
254234345a63Smrg#line 464 "xkbparse.y"
2543690143ccSmrg    { (yyval.row)= RowDeclCreate((yyvsp[(3) - (5)].key)); }
2544690143ccSmrg    break;
2545690143ccSmrg
2546690143ccSmrg  case 87:
2547690143ccSmrg
2548690143ccSmrg/* Line 1455 of yacc.c  */
254934345a63Smrg#line 466 "xkbparse.y"
2550690143ccSmrg    { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].var); }
2551690143ccSmrg    break;
2552690143ccSmrg
2553690143ccSmrg  case 88:
2554690143ccSmrg
2555690143ccSmrg/* Line 1455 of yacc.c  */
255634345a63Smrg#line 468 "xkbparse.y"
2557690143ccSmrg    { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].doodad); }
2558690143ccSmrg    break;
2559690143ccSmrg
2560690143ccSmrg  case 89:
2561690143ccSmrg
2562690143ccSmrg/* Line 1455 of yacc.c  */
256334345a63Smrg#line 470 "xkbparse.y"
2564690143ccSmrg    { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].ledMap); }
2565690143ccSmrg    break;
2566690143ccSmrg
2567690143ccSmrg  case 90:
2568690143ccSmrg
2569690143ccSmrg/* Line 1455 of yacc.c  */
257034345a63Smrg#line 472 "xkbparse.y"
2571690143ccSmrg    { (yyval.row)= (RowDef *)(yyvsp[(1) - (1)].overlay); }
2572690143ccSmrg    break;
2573690143ccSmrg
2574690143ccSmrg  case 91:
2575690143ccSmrg
2576690143ccSmrg/* Line 1455 of yacc.c  */
257734345a63Smrg#line 476 "xkbparse.y"
2578690143ccSmrg    { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (2)].key)->common,&(yyvsp[(2) - (2)].key)->common);}
2579690143ccSmrg    break;
2580690143ccSmrg
2581690143ccSmrg  case 92:
2582690143ccSmrg
2583690143ccSmrg/* Line 1455 of yacc.c  */
258434345a63Smrg#line 478 "xkbparse.y"
2585690143ccSmrg    { (yyval.key)= (yyvsp[(1) - (1)].key); }
2586690143ccSmrg    break;
2587690143ccSmrg
2588690143ccSmrg  case 93:
2589690143ccSmrg
2590690143ccSmrg/* Line 1455 of yacc.c  */
259134345a63Smrg#line 482 "xkbparse.y"
2592690143ccSmrg    { (yyval.key)= (yyvsp[(3) - (5)].key); }
2593690143ccSmrg    break;
2594690143ccSmrg
2595690143ccSmrg  case 94:
2596690143ccSmrg
2597690143ccSmrg/* Line 1455 of yacc.c  */
259834345a63Smrg#line 484 "xkbparse.y"
2599690143ccSmrg    { (yyval.key)= (KeyDef *)(yyvsp[(1) - (1)].var); }
2600690143ccSmrg    break;
2601690143ccSmrg
2602690143ccSmrg  case 95:
2603690143ccSmrg
2604690143ccSmrg/* Line 1455 of yacc.c  */
260534345a63Smrg#line 488 "xkbparse.y"
2606690143ccSmrg    { (yyval.key)=(KeyDef *)AppendStmt(&(yyvsp[(1) - (3)].key)->common,&(yyvsp[(3) - (3)].key)->common);}
2607690143ccSmrg    break;
2608690143ccSmrg
2609690143ccSmrg  case 96:
2610690143ccSmrg
2611690143ccSmrg/* Line 1455 of yacc.c  */
261234345a63Smrg#line 490 "xkbparse.y"
2613690143ccSmrg    { (yyval.key)= (yyvsp[(1) - (1)].key); }
2614690143ccSmrg    break;
2615690143ccSmrg
2616690143ccSmrg  case 97:
2617690143ccSmrg
2618690143ccSmrg/* Line 1455 of yacc.c  */
261934345a63Smrg#line 494 "xkbparse.y"
2620690143ccSmrg    { (yyval.key)= KeyDeclCreate((yyvsp[(1) - (1)].str),NULL); }
2621690143ccSmrg    break;
2622690143ccSmrg
2623690143ccSmrg  case 98:
2624690143ccSmrg
2625690143ccSmrg/* Line 1455 of yacc.c  */
262634345a63Smrg#line 496 "xkbparse.y"
2627690143ccSmrg    { (yyval.key)= KeyDeclCreate(NULL,(yyvsp[(2) - (3)].expr)); }
2628690143ccSmrg    break;
2629690143ccSmrg
2630690143ccSmrg  case 99:
2631690143ccSmrg
2632690143ccSmrg/* Line 1455 of yacc.c  */
263334345a63Smrg#line 500 "xkbparse.y"
2634690143ccSmrg    { (yyval.overlay)= OverlayDeclCreate((yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].olKey)); }
2635690143ccSmrg    break;
2636690143ccSmrg
2637690143ccSmrg  case 100:
2638690143ccSmrg
2639690143ccSmrg/* Line 1455 of yacc.c  */
264034345a63Smrg#line 504 "xkbparse.y"
2641690143ccSmrg    {
2642690143ccSmrg			    (yyval.olKey)= (OverlayKeyDef *)
2643690143ccSmrg				AppendStmt(&(yyvsp[(1) - (3)].olKey)->common,&(yyvsp[(3) - (3)].olKey)->common);
2644f46a6179Smrg			}
2645690143ccSmrg    break;
2646690143ccSmrg
2647690143ccSmrg  case 101:
2648690143ccSmrg
2649690143ccSmrg/* Line 1455 of yacc.c  */
265034345a63Smrg#line 509 "xkbparse.y"
2651690143ccSmrg    { (yyval.olKey)= (yyvsp[(1) - (1)].olKey); }
2652690143ccSmrg    break;
2653690143ccSmrg
2654690143ccSmrg  case 102:
2655690143ccSmrg
2656690143ccSmrg/* Line 1455 of yacc.c  */
265734345a63Smrg#line 513 "xkbparse.y"
2658690143ccSmrg    { (yyval.olKey)= OverlayKeyCreate((yyvsp[(1) - (3)].str),(yyvsp[(3) - (3)].str)); }
2659690143ccSmrg    break;
2660690143ccSmrg
2661690143ccSmrg  case 103:
2662690143ccSmrg
2663690143ccSmrg/* Line 1455 of yacc.c  */
266434345a63Smrg#line 517 "xkbparse.y"
2665690143ccSmrg    { (yyval.outline)=(OutlineDef *)AppendStmt(&(yyvsp[(1) - (3)].outline)->common,&(yyvsp[(3) - (3)].outline)->common);}
2666690143ccSmrg    break;
2667690143ccSmrg
2668690143ccSmrg  case 104:
2669690143ccSmrg
2670690143ccSmrg/* Line 1455 of yacc.c  */
267134345a63Smrg#line 519 "xkbparse.y"
2672690143ccSmrg    { (yyval.outline)= (yyvsp[(1) - (1)].outline); }
2673690143ccSmrg    break;
2674690143ccSmrg
2675690143ccSmrg  case 105:
2676690143ccSmrg
2677690143ccSmrg/* Line 1455 of yacc.c  */
267834345a63Smrg#line 523 "xkbparse.y"
2679690143ccSmrg    { (yyval.outline)= OutlineCreate(None,(yyvsp[(2) - (3)].expr)); }
2680690143ccSmrg    break;
2681690143ccSmrg
2682690143ccSmrg  case 106:
2683690143ccSmrg
2684690143ccSmrg/* Line 1455 of yacc.c  */
268534345a63Smrg#line 525 "xkbparse.y"
2686690143ccSmrg    { (yyval.outline)= OutlineCreate((yyvsp[(1) - (5)].sval),(yyvsp[(4) - (5)].expr)); }
2687690143ccSmrg    break;
2688690143ccSmrg
2689690143ccSmrg  case 107:
2690690143ccSmrg
2691690143ccSmrg/* Line 1455 of yacc.c  */
269234345a63Smrg#line 527 "xkbparse.y"
2693690143ccSmrg    { (yyval.outline)= OutlineCreate((yyvsp[(1) - (3)].sval),(yyvsp[(3) - (3)].expr)); }
2694690143ccSmrg    break;
2695690143ccSmrg
2696690143ccSmrg  case 108:
2697690143ccSmrg
2698690143ccSmrg/* Line 1455 of yacc.c  */
269934345a63Smrg#line 531 "xkbparse.y"
2700690143ccSmrg    { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); }
2701690143ccSmrg    break;
2702690143ccSmrg
2703690143ccSmrg  case 109:
2704690143ccSmrg
2705690143ccSmrg/* Line 1455 of yacc.c  */
270634345a63Smrg#line 533 "xkbparse.y"
2707690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
2708690143ccSmrg    break;
2709690143ccSmrg
2710690143ccSmrg  case 110:
2711690143ccSmrg
2712690143ccSmrg/* Line 1455 of yacc.c  */
271334345a63Smrg#line 537 "xkbparse.y"
2714690143ccSmrg    {
2715f46a6179Smrg			    ExprDef *expr;
2716f46a6179Smrg			    expr= ExprCreate(ExprCoord,TypeUnknown);
2717690143ccSmrg			    expr->value.coord.x= (yyvsp[(2) - (5)].ival);
2718690143ccSmrg			    expr->value.coord.y= (yyvsp[(4) - (5)].ival);
2719690143ccSmrg			    (yyval.expr)= expr;
2720f46a6179Smrg			}
2721690143ccSmrg    break;
2722690143ccSmrg
2723690143ccSmrg  case 111:
2724690143ccSmrg
2725690143ccSmrg/* Line 1455 of yacc.c  */
272634345a63Smrg#line 547 "xkbparse.y"
2727690143ccSmrg    { (yyval.doodad)= DoodadCreate((yyvsp[(1) - (6)].uval),(yyvsp[(2) - (6)].sval),(yyvsp[(4) - (6)].var)); }
2728690143ccSmrg    break;
2729690143ccSmrg
2730690143ccSmrg  case 112:
2731690143ccSmrg
2732690143ccSmrg/* Line 1455 of yacc.c  */
273334345a63Smrg#line 550 "xkbparse.y"
2734690143ccSmrg    { (yyval.uval)= XkbTextDoodad; }
2735690143ccSmrg    break;
2736690143ccSmrg
2737690143ccSmrg  case 113:
2738690143ccSmrg
2739690143ccSmrg/* Line 1455 of yacc.c  */
274034345a63Smrg#line 551 "xkbparse.y"
2741690143ccSmrg    { (yyval.uval)= XkbOutlineDoodad; }
2742690143ccSmrg    break;
2743690143ccSmrg
2744690143ccSmrg  case 114:
2745690143ccSmrg
2746690143ccSmrg/* Line 1455 of yacc.c  */
274734345a63Smrg#line 552 "xkbparse.y"
2748690143ccSmrg    { (yyval.uval)= XkbSolidDoodad; }
2749690143ccSmrg    break;
2750690143ccSmrg
2751690143ccSmrg  case 115:
2752690143ccSmrg
2753690143ccSmrg/* Line 1455 of yacc.c  */
275434345a63Smrg#line 553 "xkbparse.y"
2755690143ccSmrg    { (yyval.uval)= XkbLogoDoodad; }
2756690143ccSmrg    break;
2757690143ccSmrg
2758690143ccSmrg  case 116:
2759690143ccSmrg
2760690143ccSmrg/* Line 1455 of yacc.c  */
276134345a63Smrg#line 556 "xkbparse.y"
2762690143ccSmrg    { (yyval.sval)= (yyvsp[(1) - (1)].sval); }
2763690143ccSmrg    break;
2764690143ccSmrg
2765690143ccSmrg  case 117:
2766690143ccSmrg
2767690143ccSmrg/* Line 1455 of yacc.c  */
276834345a63Smrg#line 557 "xkbparse.y"
2769690143ccSmrg    { (yyval.sval)= (yyvsp[(1) - (1)].sval); }
2770690143ccSmrg    break;
2771690143ccSmrg
2772690143ccSmrg  case 118:
2773690143ccSmrg
2774690143ccSmrg/* Line 1455 of yacc.c  */
277534345a63Smrg#line 561 "xkbparse.y"
2776690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"action",False); }
2777690143ccSmrg    break;
2778690143ccSmrg
2779690143ccSmrg  case 119:
2780690143ccSmrg
2781690143ccSmrg/* Line 1455 of yacc.c  */
278234345a63Smrg#line 563 "xkbparse.y"
2783690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"interpret",False); }
2784690143ccSmrg    break;
2785690143ccSmrg
2786690143ccSmrg  case 120:
2787690143ccSmrg
2788690143ccSmrg/* Line 1455 of yacc.c  */
278934345a63Smrg#line 565 "xkbparse.y"
2790690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"type",False); }
2791690143ccSmrg    break;
2792690143ccSmrg
2793690143ccSmrg  case 121:
2794690143ccSmrg
2795690143ccSmrg/* Line 1455 of yacc.c  */
279634345a63Smrg#line 567 "xkbparse.y"
2797690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"key",False); }
2798690143ccSmrg    break;
2799690143ccSmrg
2800690143ccSmrg  case 122:
2801690143ccSmrg
2802690143ccSmrg/* Line 1455 of yacc.c  */
280334345a63Smrg#line 569 "xkbparse.y"
2804690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"group",False); }
2805690143ccSmrg    break;
2806690143ccSmrg
2807690143ccSmrg  case 123:
2808690143ccSmrg
2809690143ccSmrg/* Line 1455 of yacc.c  */
281034345a63Smrg#line 571 "xkbparse.y"
2811690143ccSmrg    {(yyval.sval)=XkbInternAtom(NULL,"modifier_map",False);}
2812690143ccSmrg    break;
2813690143ccSmrg
2814690143ccSmrg  case 124:
2815690143ccSmrg
2816690143ccSmrg/* Line 1455 of yacc.c  */
281734345a63Smrg#line 573 "xkbparse.y"
2818690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"indicator",False); }
2819690143ccSmrg    break;
2820690143ccSmrg
2821690143ccSmrg  case 125:
2822690143ccSmrg
2823690143ccSmrg/* Line 1455 of yacc.c  */
282434345a63Smrg#line 575 "xkbparse.y"
2825690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"shape",False); }
2826690143ccSmrg    break;
2827690143ccSmrg
2828690143ccSmrg  case 126:
2829690143ccSmrg
2830690143ccSmrg/* Line 1455 of yacc.c  */
283134345a63Smrg#line 577 "xkbparse.y"
2832690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"row",False); }
2833690143ccSmrg    break;
2834690143ccSmrg
2835690143ccSmrg  case 127:
2836690143ccSmrg
2837690143ccSmrg/* Line 1455 of yacc.c  */
283834345a63Smrg#line 579 "xkbparse.y"
2839690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"section",False); }
2840690143ccSmrg    break;
2841690143ccSmrg
2842690143ccSmrg  case 128:
2843690143ccSmrg
2844690143ccSmrg/* Line 1455 of yacc.c  */
284534345a63Smrg#line 581 "xkbparse.y"
2846690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"text",False); }
2847690143ccSmrg    break;
2848690143ccSmrg
2849690143ccSmrg  case 129:
2850690143ccSmrg
2851690143ccSmrg/* Line 1455 of yacc.c  */
285234345a63Smrg#line 584 "xkbparse.y"
2853690143ccSmrg    { (yyval.uval)= (yyvsp[(1) - (1)].uval); }
2854690143ccSmrg    break;
2855690143ccSmrg
2856690143ccSmrg  case 130:
2857690143ccSmrg
2858690143ccSmrg/* Line 1455 of yacc.c  */
285934345a63Smrg#line 585 "xkbparse.y"
2860690143ccSmrg    { (yyval.uval)= MergeDefault; }
2861690143ccSmrg    break;
2862690143ccSmrg
2863690143ccSmrg  case 131:
2864690143ccSmrg
2865690143ccSmrg/* Line 1455 of yacc.c  */
286634345a63Smrg#line 588 "xkbparse.y"
2867690143ccSmrg    { (yyval.uval)= MergeDefault; }
2868690143ccSmrg    break;
2869690143ccSmrg
2870690143ccSmrg  case 132:
2871690143ccSmrg
2872690143ccSmrg/* Line 1455 of yacc.c  */
287334345a63Smrg#line 589 "xkbparse.y"
2874690143ccSmrg    { (yyval.uval)= MergeAugment; }
2875690143ccSmrg    break;
2876690143ccSmrg
2877690143ccSmrg  case 133:
2878690143ccSmrg
2879690143ccSmrg/* Line 1455 of yacc.c  */
288034345a63Smrg#line 590 "xkbparse.y"
2881690143ccSmrg    { (yyval.uval)= MergeOverride; }
2882690143ccSmrg    break;
2883690143ccSmrg
2884690143ccSmrg  case 134:
2885690143ccSmrg
2886690143ccSmrg/* Line 1455 of yacc.c  */
288734345a63Smrg#line 591 "xkbparse.y"
2888690143ccSmrg    { (yyval.uval)= MergeReplace; }
2889690143ccSmrg    break;
2890690143ccSmrg
2891690143ccSmrg  case 135:
2892690143ccSmrg
2893690143ccSmrg/* Line 1455 of yacc.c  */
289434345a63Smrg#line 592 "xkbparse.y"
2895690143ccSmrg    { (yyval.uval)= MergeAltForm; }
2896690143ccSmrg    break;
2897690143ccSmrg
2898690143ccSmrg  case 136:
2899690143ccSmrg
2900690143ccSmrg/* Line 1455 of yacc.c  */
290134345a63Smrg#line 595 "xkbparse.y"
2902690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
2903690143ccSmrg    break;
2904690143ccSmrg
2905690143ccSmrg  case 137:
2906690143ccSmrg
2907690143ccSmrg/* Line 1455 of yacc.c  */
290834345a63Smrg#line 596 "xkbparse.y"
2909690143ccSmrg    { (yyval.expr)= NULL; }
2910690143ccSmrg    break;
2911690143ccSmrg
2912690143ccSmrg  case 138:
2913690143ccSmrg
2914690143ccSmrg/* Line 1455 of yacc.c  */
291534345a63Smrg#line 600 "xkbparse.y"
2916690143ccSmrg    { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); }
2917690143ccSmrg    break;
2918690143ccSmrg
2919690143ccSmrg  case 139:
2920690143ccSmrg
2921690143ccSmrg/* Line 1455 of yacc.c  */
292234345a63Smrg#line 602 "xkbparse.y"
2923690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
2924690143ccSmrg    break;
2925690143ccSmrg
2926690143ccSmrg  case 140:
2927690143ccSmrg
2928690143ccSmrg/* Line 1455 of yacc.c  */
292934345a63Smrg#line 606 "xkbparse.y"
2930690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpDivide,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2931690143ccSmrg    break;
2932690143ccSmrg
2933690143ccSmrg  case 141:
2934690143ccSmrg
2935690143ccSmrg/* Line 1455 of yacc.c  */
293634345a63Smrg#line 608 "xkbparse.y"
2937690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpAdd,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2938690143ccSmrg    break;
2939690143ccSmrg
2940690143ccSmrg  case 142:
2941690143ccSmrg
2942690143ccSmrg/* Line 1455 of yacc.c  */
294334345a63Smrg#line 610 "xkbparse.y"
2944690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpSubtract,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2945690143ccSmrg    break;
2946690143ccSmrg
2947690143ccSmrg  case 143:
2948690143ccSmrg
2949690143ccSmrg/* Line 1455 of yacc.c  */
295034345a63Smrg#line 612 "xkbparse.y"
2951690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpMultiply,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2952690143ccSmrg    break;
2953690143ccSmrg
2954690143ccSmrg  case 144:
2955690143ccSmrg
2956690143ccSmrg/* Line 1455 of yacc.c  */
295734345a63Smrg#line 614 "xkbparse.y"
2958690143ccSmrg    { (yyval.expr)= ExprCreateBinary(OpAssign,(yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].expr)); }
2959690143ccSmrg    break;
2960690143ccSmrg
2961690143ccSmrg  case 145:
2962690143ccSmrg
2963690143ccSmrg/* Line 1455 of yacc.c  */
296434345a63Smrg#line 616 "xkbparse.y"
2965690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
2966690143ccSmrg    break;
2967690143ccSmrg
2968690143ccSmrg  case 146:
2969690143ccSmrg
2970690143ccSmrg/* Line 1455 of yacc.c  */
297134345a63Smrg#line 620 "xkbparse.y"
2972690143ccSmrg    { (yyval.expr)= ExprCreateUnary(OpNegate,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); }
2973690143ccSmrg    break;
2974690143ccSmrg
2975690143ccSmrg  case 147:
2976690143ccSmrg
2977690143ccSmrg/* Line 1455 of yacc.c  */
297834345a63Smrg#line 622 "xkbparse.y"
2979690143ccSmrg    { (yyval.expr)= ExprCreateUnary(OpUnaryPlus,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); }
2980690143ccSmrg    break;
2981690143ccSmrg
2982690143ccSmrg  case 148:
2983690143ccSmrg
2984690143ccSmrg/* Line 1455 of yacc.c  */
298534345a63Smrg#line 624 "xkbparse.y"
2986690143ccSmrg    { (yyval.expr)= ExprCreateUnary(OpNot,TypeBoolean,(yyvsp[(2) - (2)].expr)); }
2987690143ccSmrg    break;
2988690143ccSmrg
2989690143ccSmrg  case 149:
2990690143ccSmrg
2991690143ccSmrg/* Line 1455 of yacc.c  */
299234345a63Smrg#line 626 "xkbparse.y"
2993690143ccSmrg    { (yyval.expr)= ExprCreateUnary(OpInvert,(yyvsp[(2) - (2)].expr)->type,(yyvsp[(2) - (2)].expr)); }
2994690143ccSmrg    break;
2995690143ccSmrg
2996690143ccSmrg  case 150:
2997690143ccSmrg
2998690143ccSmrg/* Line 1455 of yacc.c  */
299934345a63Smrg#line 628 "xkbparse.y"
3000690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr);  }
3001690143ccSmrg    break;
3002690143ccSmrg
3003690143ccSmrg  case 151:
3004690143ccSmrg
3005690143ccSmrg/* Line 1455 of yacc.c  */
300634345a63Smrg#line 630 "xkbparse.y"
3007690143ccSmrg    { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); }
3008690143ccSmrg    break;
3009690143ccSmrg
3010690143ccSmrg  case 152:
3011690143ccSmrg
3012690143ccSmrg/* Line 1455 of yacc.c  */
301334345a63Smrg#line 632 "xkbparse.y"
3014690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr);  }
3015690143ccSmrg    break;
3016690143ccSmrg
3017690143ccSmrg  case 153:
3018690143ccSmrg
3019690143ccSmrg/* Line 1455 of yacc.c  */
302034345a63Smrg#line 634 "xkbparse.y"
3021690143ccSmrg    { (yyval.expr)= (yyvsp[(2) - (3)].expr);  }
3022690143ccSmrg    break;
3023690143ccSmrg
3024690143ccSmrg  case 154:
3025690143ccSmrg
3026690143ccSmrg/* Line 1455 of yacc.c  */
302734345a63Smrg#line 638 "xkbparse.y"
3028690143ccSmrg    { (yyval.expr)= (ExprDef *)AppendStmt(&(yyvsp[(1) - (3)].expr)->common,&(yyvsp[(3) - (3)].expr)->common); }
3029690143ccSmrg    break;
3030690143ccSmrg
3031690143ccSmrg  case 155:
3032690143ccSmrg
3033690143ccSmrg/* Line 1455 of yacc.c  */
303434345a63Smrg#line 640 "xkbparse.y"
3035690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
3036690143ccSmrg    break;
3037690143ccSmrg
3038690143ccSmrg  case 156:
3039690143ccSmrg
3040690143ccSmrg/* Line 1455 of yacc.c  */
304134345a63Smrg#line 644 "xkbparse.y"
3042690143ccSmrg    { (yyval.expr)= ActionCreate((yyvsp[(1) - (4)].sval),(yyvsp[(3) - (4)].expr)); }
3043690143ccSmrg    break;
3044690143ccSmrg
3045690143ccSmrg  case 157:
3046690143ccSmrg
3047690143ccSmrg/* Line 1455 of yacc.c  */
304834345a63Smrg#line 648 "xkbparse.y"
3049690143ccSmrg    {
3050f46a6179Smrg			    ExprDef *expr;
3051f46a6179Smrg                            expr= ExprCreate(ExprIdent,TypeUnknown);
3052690143ccSmrg                            expr->value.str= (yyvsp[(1) - (1)].sval);
3053690143ccSmrg                            (yyval.expr)= expr;
3054f46a6179Smrg			}
3055690143ccSmrg    break;
3056690143ccSmrg
3057690143ccSmrg  case 158:
3058690143ccSmrg
3059690143ccSmrg/* Line 1455 of yacc.c  */
306034345a63Smrg#line 655 "xkbparse.y"
3061690143ccSmrg    {
3062f46a6179Smrg                            ExprDef *expr;
3063f46a6179Smrg                            expr= ExprCreate(ExprFieldRef,TypeUnknown);
3064690143ccSmrg                            expr->value.field.element= (yyvsp[(1) - (3)].sval);
3065690143ccSmrg                            expr->value.field.field= (yyvsp[(3) - (3)].sval);
3066690143ccSmrg                            (yyval.expr)= expr;
3067f46a6179Smrg			}
3068690143ccSmrg    break;
3069690143ccSmrg
3070690143ccSmrg  case 159:
3071690143ccSmrg
3072690143ccSmrg/* Line 1455 of yacc.c  */
307334345a63Smrg#line 663 "xkbparse.y"
3074690143ccSmrg    {
3075f46a6179Smrg			    ExprDef *expr;
3076f46a6179Smrg			    expr= ExprCreate(ExprArrayRef,TypeUnknown);
3077f46a6179Smrg			    expr->value.array.element= None;
3078690143ccSmrg			    expr->value.array.field= (yyvsp[(1) - (4)].sval);
3079690143ccSmrg			    expr->value.array.entry= (yyvsp[(3) - (4)].expr);
3080690143ccSmrg			    (yyval.expr)= expr;
3081f46a6179Smrg			}
3082690143ccSmrg    break;
3083690143ccSmrg
3084690143ccSmrg  case 160:
3085690143ccSmrg
3086690143ccSmrg/* Line 1455 of yacc.c  */
308734345a63Smrg#line 672 "xkbparse.y"
3088690143ccSmrg    {
3089f46a6179Smrg			    ExprDef *expr;
3090f46a6179Smrg			    expr= ExprCreate(ExprArrayRef,TypeUnknown);
3091690143ccSmrg			    expr->value.array.element= (yyvsp[(1) - (6)].sval);
3092690143ccSmrg			    expr->value.array.field= (yyvsp[(3) - (6)].sval);
3093690143ccSmrg			    expr->value.array.entry= (yyvsp[(5) - (6)].expr);
3094690143ccSmrg			    (yyval.expr)= expr;
3095f46a6179Smrg			}
3096690143ccSmrg    break;
3097690143ccSmrg
3098690143ccSmrg  case 161:
3099690143ccSmrg
3100690143ccSmrg/* Line 1455 of yacc.c  */
310134345a63Smrg#line 683 "xkbparse.y"
3102690143ccSmrg    {
3103f46a6179Smrg			    ExprDef *expr;
3104f46a6179Smrg                            expr= ExprCreate(ExprValue,TypeString);
3105690143ccSmrg                            expr->value.str= (yyvsp[(1) - (1)].sval);
3106690143ccSmrg                            (yyval.expr)= expr;
3107f46a6179Smrg			}
3108690143ccSmrg    break;
3109690143ccSmrg
3110690143ccSmrg  case 162:
3111690143ccSmrg
3112690143ccSmrg/* Line 1455 of yacc.c  */
311334345a63Smrg#line 690 "xkbparse.y"
3114690143ccSmrg    {
3115f46a6179Smrg			    ExprDef *expr;
3116f46a6179Smrg                            expr= ExprCreate(ExprValue,TypeInt);
3117690143ccSmrg                            expr->value.ival= (yyvsp[(1) - (1)].ival);
3118690143ccSmrg                            (yyval.expr)= expr;
3119f46a6179Smrg			}
3120690143ccSmrg    break;
3121690143ccSmrg
3122690143ccSmrg  case 163:
3123690143ccSmrg
3124690143ccSmrg/* Line 1455 of yacc.c  */
312534345a63Smrg#line 697 "xkbparse.y"
3126690143ccSmrg    {
3127f46a6179Smrg			    ExprDef *expr;
3128f46a6179Smrg			    expr= ExprCreate(ExprValue,TypeFloat);
3129690143ccSmrg			    expr->value.ival= (yyvsp[(1) - (1)].ival);
3130690143ccSmrg			    (yyval.expr)= expr;
3131f46a6179Smrg			}
3132690143ccSmrg    break;
3133690143ccSmrg
3134690143ccSmrg  case 164:
3135690143ccSmrg
3136690143ccSmrg/* Line 1455 of yacc.c  */
313734345a63Smrg#line 704 "xkbparse.y"
3138690143ccSmrg    {
3139f46a6179Smrg			    ExprDef *expr;
3140f46a6179Smrg			    expr= ExprCreate(ExprValue,TypeKeyName);
3141f46a6179Smrg			    memset(expr->value.keyName,0,5);
3142690143ccSmrg			    strncpy(expr->value.keyName,(yyvsp[(1) - (1)].str),4);
3143690143ccSmrg			    free((yyvsp[(1) - (1)].str));
3144690143ccSmrg			    (yyval.expr)= expr;
3145f46a6179Smrg			}
3146690143ccSmrg    break;
3147690143ccSmrg
3148690143ccSmrg  case 165:
3149690143ccSmrg
3150690143ccSmrg/* Line 1455 of yacc.c  */
315134345a63Smrg#line 714 "xkbparse.y"
3152690143ccSmrg    { (yyval.expr)= (yyvsp[(1) - (1)].expr); }
3153690143ccSmrg    break;
3154690143ccSmrg
3155690143ccSmrg  case 166:
3156690143ccSmrg
3157690143ccSmrg/* Line 1455 of yacc.c  */
315834345a63Smrg#line 715 "xkbparse.y"
3159690143ccSmrg    { (yyval.expr)= NULL; }
3160690143ccSmrg    break;
3161690143ccSmrg
3162690143ccSmrg  case 167:
3163690143ccSmrg
3164690143ccSmrg/* Line 1455 of yacc.c  */
316534345a63Smrg#line 719 "xkbparse.y"
3166690143ccSmrg    { (yyval.expr)= AppendKeysymList((yyvsp[(1) - (3)].expr),(yyvsp[(3) - (3)].str)); }
3167690143ccSmrg    break;
3168690143ccSmrg
3169690143ccSmrg  case 168:
3170690143ccSmrg
3171690143ccSmrg/* Line 1455 of yacc.c  */
317234345a63Smrg#line 721 "xkbparse.y"
3173690143ccSmrg    { (yyval.expr)= CreateKeysymList((yyvsp[(1) - (1)].str)); }
3174690143ccSmrg    break;
3175690143ccSmrg
3176690143ccSmrg  case 169:
3177690143ccSmrg
3178690143ccSmrg/* Line 1455 of yacc.c  */
317983e5f723Smrg#line 724 "xkbparse.y"
3180690143ccSmrg    { (yyval.str)= strdup(scanBuf); }
3181690143ccSmrg    break;
3182690143ccSmrg
3183690143ccSmrg  case 170:
3184690143ccSmrg
3185690143ccSmrg/* Line 1455 of yacc.c  */
318683e5f723Smrg#line 725 "xkbparse.y"
3187690143ccSmrg    { (yyval.str)= strdup("section"); }
3188690143ccSmrg    break;
3189690143ccSmrg
3190690143ccSmrg  case 171:
3191690143ccSmrg
3192690143ccSmrg/* Line 1455 of yacc.c  */
319383e5f723Smrg#line 727 "xkbparse.y"
3194690143ccSmrg    {
3195690143ccSmrg			    if ((yyvsp[(1) - (1)].ival)<10)	{ (yyval.str)= malloc(2); (yyval.str)[0]= '0' + (yyvsp[(1) - (1)].ival); (yyval.str)[1]= '\0'; }
3196690143ccSmrg			    else	{ (yyval.str)= malloc(19); snprintf((yyval.str), 19, "0x%x", (yyvsp[(1) - (1)].ival)); }
3197f46a6179Smrg			}
3198690143ccSmrg    break;
3199690143ccSmrg
3200690143ccSmrg  case 172:
3201690143ccSmrg
3202690143ccSmrg/* Line 1455 of yacc.c  */
320383e5f723Smrg#line 733 "xkbparse.y"
3204690143ccSmrg    { (yyval.ival)= -(yyvsp[(2) - (2)].ival); }
3205690143ccSmrg    break;
3206690143ccSmrg
3207690143ccSmrg  case 173:
3208690143ccSmrg
3209690143ccSmrg/* Line 1455 of yacc.c  */
321083e5f723Smrg#line 734 "xkbparse.y"
3211690143ccSmrg    { (yyval.ival)= (yyvsp[(1) - (1)].ival); }
3212690143ccSmrg    break;
3213690143ccSmrg
3214690143ccSmrg  case 174:
3215690143ccSmrg
3216690143ccSmrg/* Line 1455 of yacc.c  */
321783e5f723Smrg#line 737 "xkbparse.y"
3218690143ccSmrg    { (yyval.ival)= scanInt; }
3219690143ccSmrg    break;
3220690143ccSmrg
3221690143ccSmrg  case 175:
3222690143ccSmrg
3223690143ccSmrg/* Line 1455 of yacc.c  */
322483e5f723Smrg#line 738 "xkbparse.y"
3225690143ccSmrg    { (yyval.ival)= scanInt*XkbGeomPtsPerMM; }
3226690143ccSmrg    break;
3227690143ccSmrg
3228690143ccSmrg  case 176:
3229690143ccSmrg
3230690143ccSmrg/* Line 1455 of yacc.c  */
323183e5f723Smrg#line 741 "xkbparse.y"
3232690143ccSmrg    { (yyval.ival)= scanInt; }
3233690143ccSmrg    break;
3234690143ccSmrg
3235690143ccSmrg  case 177:
3236690143ccSmrg
3237690143ccSmrg/* Line 1455 of yacc.c  */
323883e5f723Smrg#line 744 "xkbparse.y"
3239690143ccSmrg    { (yyval.ival)= scanInt; }
3240690143ccSmrg    break;
3241690143ccSmrg
3242690143ccSmrg  case 178:
3243690143ccSmrg
3244690143ccSmrg/* Line 1455 of yacc.c  */
324583e5f723Smrg#line 747 "xkbparse.y"
3246690143ccSmrg    { (yyval.str)= strdup(scanBuf); }
3247690143ccSmrg    break;
3248690143ccSmrg
3249690143ccSmrg  case 179:
3250690143ccSmrg
3251690143ccSmrg/* Line 1455 of yacc.c  */
325283e5f723Smrg#line 750 "xkbparse.y"
3253690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); }
3254690143ccSmrg    break;
3255690143ccSmrg
3256690143ccSmrg  case 180:
3257690143ccSmrg
3258690143ccSmrg/* Line 1455 of yacc.c  */
325983e5f723Smrg#line 751 "xkbparse.y"
3260690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,"default",False); }
3261690143ccSmrg    break;
3262690143ccSmrg
3263690143ccSmrg  case 181:
3264690143ccSmrg
3265690143ccSmrg/* Line 1455 of yacc.c  */
326683e5f723Smrg#line 754 "xkbparse.y"
3267690143ccSmrg    { (yyval.sval)= XkbInternAtom(NULL,scanBuf,False); }
3268690143ccSmrg    break;
3269690143ccSmrg
3270690143ccSmrg  case 182:
3271690143ccSmrg
3272690143ccSmrg/* Line 1455 of yacc.c  */
327383e5f723Smrg#line 757 "xkbparse.y"
3274690143ccSmrg    { (yyval.str)= (yyvsp[(1) - (1)].str); }
3275690143ccSmrg    break;
3276690143ccSmrg
3277690143ccSmrg  case 183:
3278690143ccSmrg
3279690143ccSmrg/* Line 1455 of yacc.c  */
328083e5f723Smrg#line 758 "xkbparse.y"
3281690143ccSmrg    { (yyval.str)= NULL; }
3282690143ccSmrg    break;
3283690143ccSmrg
3284690143ccSmrg  case 184:
3285690143ccSmrg
3286690143ccSmrg/* Line 1455 of yacc.c  */
328783e5f723Smrg#line 761 "xkbparse.y"
3288690143ccSmrg    { (yyval.str)= strdup(scanBuf); }
3289690143ccSmrg    break;
3290690143ccSmrg
3291690143ccSmrg
3292690143ccSmrg
3293690143ccSmrg/* Line 1455 of yacc.c  */
3294690143ccSmrg#line 3295 "xkbparse.c"
3295690143ccSmrg      default: break;
3296f46a6179Smrg    }
3297690143ccSmrg  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
3298690143ccSmrg
3299690143ccSmrg  YYPOPSTACK (yylen);
3300690143ccSmrg  yylen = 0;
3301690143ccSmrg  YY_STACK_PRINT (yyss, yyssp);
3302690143ccSmrg
3303690143ccSmrg  *++yyvsp = yyval;
3304690143ccSmrg
3305690143ccSmrg  /* Now `shift' the result of the reduction.  Determine what state
3306690143ccSmrg     that goes to, based on the state we popped back to and the rule
3307690143ccSmrg     number reduced by.  */
3308690143ccSmrg
3309690143ccSmrg  yyn = yyr1[yyn];
3310690143ccSmrg
3311690143ccSmrg  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3312690143ccSmrg  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3313690143ccSmrg    yystate = yytable[yystate];
3314690143ccSmrg  else
3315690143ccSmrg    yystate = yydefgoto[yyn - YYNTOKENS];
3316690143ccSmrg
3317690143ccSmrg  goto yynewstate;
3318690143ccSmrg
3319690143ccSmrg
3320690143ccSmrg/*------------------------------------.
3321690143ccSmrg| yyerrlab -- here on detecting error |
3322690143ccSmrg`------------------------------------*/
3323690143ccSmrgyyerrlab:
3324690143ccSmrg  /* If not already recovering from an error, report this error.  */
3325690143ccSmrg  if (!yyerrstatus)
3326f46a6179Smrg    {
3327690143ccSmrg      ++yynerrs;
3328690143ccSmrg#if ! YYERROR_VERBOSE
3329690143ccSmrg      yyerror (YY_("syntax error"));
3330690143ccSmrg#else
3331690143ccSmrg      {
3332690143ccSmrg	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
3333690143ccSmrg	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
3334690143ccSmrg	  {
3335690143ccSmrg	    YYSIZE_T yyalloc = 2 * yysize;
3336690143ccSmrg	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
3337690143ccSmrg	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
3338690143ccSmrg	    if (yymsg != yymsgbuf)
3339690143ccSmrg	      YYSTACK_FREE (yymsg);
3340690143ccSmrg	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
3341690143ccSmrg	    if (yymsg)
3342690143ccSmrg	      yymsg_alloc = yyalloc;
3343690143ccSmrg	    else
3344690143ccSmrg	      {
3345690143ccSmrg		yymsg = yymsgbuf;
3346690143ccSmrg		yymsg_alloc = sizeof yymsgbuf;
3347690143ccSmrg	      }
3348690143ccSmrg	  }
3349690143ccSmrg
3350690143ccSmrg	if (0 < yysize && yysize <= yymsg_alloc)
3351690143ccSmrg	  {
3352690143ccSmrg	    (void) yysyntax_error (yymsg, yystate, yychar);
3353690143ccSmrg	    yyerror (yymsg);
3354690143ccSmrg	  }
3355690143ccSmrg	else
3356690143ccSmrg	  {
3357690143ccSmrg	    yyerror (YY_("syntax error"));
3358690143ccSmrg	    if (yysize != 0)
3359690143ccSmrg	      goto yyexhaustedlab;
3360690143ccSmrg	  }
3361690143ccSmrg      }
336207d2e718Smrg#endif
3363f46a6179Smrg    }
3364690143ccSmrg
3365690143ccSmrg
3366690143ccSmrg
3367690143ccSmrg  if (yyerrstatus == 3)
3368690143ccSmrg    {
3369690143ccSmrg      /* If just tried and failed to reuse lookahead token after an
3370690143ccSmrg	 error, discard it.  */
3371690143ccSmrg
3372690143ccSmrg      if (yychar <= YYEOF)
3373690143ccSmrg	{
3374690143ccSmrg	  /* Return failure if at end of input.  */
3375690143ccSmrg	  if (yychar == YYEOF)
3376690143ccSmrg	    YYABORT;
3377690143ccSmrg	}
3378690143ccSmrg      else
3379690143ccSmrg	{
3380690143ccSmrg	  yydestruct ("Error: discarding",
3381690143ccSmrg		      yytoken, &yylval);
3382690143ccSmrg	  yychar = YYEMPTY;
3383690143ccSmrg	}
3384690143ccSmrg    }
3385690143ccSmrg
3386690143ccSmrg  /* Else will try to reuse lookahead token after shifting the error
3387690143ccSmrg     token.  */
3388690143ccSmrg  goto yyerrlab1;
3389690143ccSmrg
3390690143ccSmrg
3391690143ccSmrg/*---------------------------------------------------.
3392690143ccSmrg| yyerrorlab -- error raised explicitly by YYERROR.  |
3393690143ccSmrg`---------------------------------------------------*/
3394690143ccSmrgyyerrorlab:
3395690143ccSmrg
3396690143ccSmrg  /* Pacify compilers like GCC when the user code never invokes
3397690143ccSmrg     YYERROR and the label yyerrorlab therefore never appears in user
3398690143ccSmrg     code.  */
3399690143ccSmrg  if (/*CONSTCOND*/ 0)
3400690143ccSmrg     goto yyerrorlab;
3401690143ccSmrg
3402690143ccSmrg  /* Do not reclaim the symbols of the rule which action triggered
3403690143ccSmrg     this YYERROR.  */
3404690143ccSmrg  YYPOPSTACK (yylen);
3405690143ccSmrg  yylen = 0;
3406690143ccSmrg  YY_STACK_PRINT (yyss, yyssp);
3407690143ccSmrg  yystate = *yyssp;
3408690143ccSmrg  goto yyerrlab1;
3409690143ccSmrg
3410690143ccSmrg
3411690143ccSmrg/*-------------------------------------------------------------.
3412690143ccSmrg| yyerrlab1 -- common code for both syntax error and YYERROR.  |
3413690143ccSmrg`-------------------------------------------------------------*/
3414690143ccSmrgyyerrlab1:
3415690143ccSmrg  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
3416690143ccSmrg
3417690143ccSmrg  for (;;)
3418690143ccSmrg    {
3419690143ccSmrg      yyn = yypact[yystate];
3420690143ccSmrg      if (yyn != YYPACT_NINF)
3421690143ccSmrg	{
3422690143ccSmrg	  yyn += YYTERROR;
3423690143ccSmrg	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3424690143ccSmrg	    {
3425690143ccSmrg	      yyn = yytable[yyn];
3426690143ccSmrg	      if (0 < yyn)
3427690143ccSmrg		break;
3428690143ccSmrg	    }
3429690143ccSmrg	}
3430690143ccSmrg
3431690143ccSmrg      /* Pop the current state because it cannot handle the error token.  */
3432690143ccSmrg      if (yyssp == yyss)
3433690143ccSmrg	YYABORT;
3434690143ccSmrg
3435690143ccSmrg
3436690143ccSmrg      yydestruct ("Error: popping",
3437690143ccSmrg		  yystos[yystate], yyvsp);
3438690143ccSmrg      YYPOPSTACK (1);
3439690143ccSmrg      yystate = *yyssp;
3440690143ccSmrg      YY_STACK_PRINT (yyss, yyssp);
3441690143ccSmrg    }
3442690143ccSmrg
3443690143ccSmrg  *++yyvsp = yylval;
3444690143ccSmrg
3445690143ccSmrg
3446690143ccSmrg  /* Shift the error token.  */
3447690143ccSmrg  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3448690143ccSmrg
3449690143ccSmrg  yystate = yyn;
3450690143ccSmrg  goto yynewstate;
3451690143ccSmrg
3452690143ccSmrg
3453690143ccSmrg/*-------------------------------------.
3454690143ccSmrg| yyacceptlab -- YYACCEPT comes here.  |
3455690143ccSmrg`-------------------------------------*/
3456690143ccSmrgyyacceptlab:
3457690143ccSmrg  yyresult = 0;
3458690143ccSmrg  goto yyreturn;
3459690143ccSmrg
3460690143ccSmrg/*-----------------------------------.
3461690143ccSmrg| yyabortlab -- YYABORT comes here.  |
3462690143ccSmrg`-----------------------------------*/
3463690143ccSmrgyyabortlab:
3464690143ccSmrg  yyresult = 1;
3465690143ccSmrg  goto yyreturn;
3466690143ccSmrg
3467690143ccSmrg#if !defined(yyoverflow) || YYERROR_VERBOSE
3468690143ccSmrg/*-------------------------------------------------.
3469690143ccSmrg| yyexhaustedlab -- memory exhaustion comes here.  |
3470690143ccSmrg`-------------------------------------------------*/
3471690143ccSmrgyyexhaustedlab:
3472690143ccSmrg  yyerror (YY_("memory exhausted"));
3473690143ccSmrg  yyresult = 2;
3474690143ccSmrg  /* Fall through.  */
3475f46a6179Smrg#endif
3476690143ccSmrg
3477690143ccSmrgyyreturn:
3478690143ccSmrg  if (yychar != YYEMPTY)
3479690143ccSmrg     yydestruct ("Cleanup: discarding lookahead",
3480690143ccSmrg		 yytoken, &yylval);
3481690143ccSmrg  /* Do not reclaim the symbols of the rule which action triggered
3482690143ccSmrg     this YYABORT or YYACCEPT.  */
3483690143ccSmrg  YYPOPSTACK (yylen);
3484690143ccSmrg  YY_STACK_PRINT (yyss, yyssp);
3485690143ccSmrg  while (yyssp != yyss)
3486f46a6179Smrg    {
3487690143ccSmrg      yydestruct ("Cleanup: popping",
3488690143ccSmrg		  yystos[*yyssp], yyvsp);
3489690143ccSmrg      YYPOPSTACK (1);
3490f46a6179Smrg    }
3491690143ccSmrg#ifndef yyoverflow
3492690143ccSmrg  if (yyss != yyssa)
3493690143ccSmrg    YYSTACK_FREE (yyss);
3494690143ccSmrg#endif
3495690143ccSmrg#if YYERROR_VERBOSE
3496690143ccSmrg  if (yymsg != yymsgbuf)
3497690143ccSmrg    YYSTACK_FREE (yymsg);
3498690143ccSmrg#endif
3499690143ccSmrg  /* Make sure YYID is used.  */
3500690143ccSmrg  return YYID (yyresult);
3501690143ccSmrg}
3502f46a6179Smrg
3503f46a6179Smrg
3504f46a6179Smrg
3505690143ccSmrg/* Line 1675 of yacc.c  */
3506690143ccSmrg#line 763 "xkbparse.y"
3507690143ccSmrg
3508690143ccSmrgvoid
3509690143ccSmrgyyerror(const char *s)
3510690143ccSmrg{
3511690143ccSmrg    if (warningLevel>0) {
3512690143ccSmrg	(void)fprintf(stderr,"%s: line %d of %s\n",s,lineNum,
3513690143ccSmrg					(scanFile?scanFile:"(unknown)"));
3514690143ccSmrg	if ((warningLevel>3))
3515690143ccSmrg	    (void)fprintf(stderr,"last scanned symbol is: %s\n",scanBuf);
3516690143ccSmrg    }
3517690143ccSmrg    return;
3518690143ccSmrg}
3519690143ccSmrg
3520690143ccSmrg
3521690143ccSmrgint
3522690143ccSmrgyywrap(void)
3523690143ccSmrg{
3524690143ccSmrg   return 1;
3525f46a6179Smrg}
3526690143ccSmrg
3527690143ccSmrg
3528