aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/genksyms
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2007-09-01 04:26:32 -0400
committerSam Ravnborg <sam@neptun.(none)>2007-10-12 15:15:31 -0400
commit70f75246cf37a97da5e80e98c3ebb64db1f12b35 (patch)
treec11eb46935caca196c7908f58743a7b56f158823 /scripts/genksyms
parent3550a516d07dda4786c63e86f64f4f440db58782 (diff)
kbuild: apply genksyms changes
This patch updates the _shipped files for genksyms. See previous patch for actual functional changes. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/genksyms')
-rw-r--r--scripts/genksyms/keywords.c_shipped180
-rw-r--r--scripts/genksyms/lex.c_shipped1802
-rw-r--r--scripts/genksyms/parse.c_shipped2088
-rw-r--r--scripts/genksyms/parse.h_shipped159
4 files changed, 2523 insertions, 1706 deletions
diff --git a/scripts/genksyms/keywords.c_shipped b/scripts/genksyms/keywords.c_shipped
index d8153f572e4..971e0113ae7 100644
--- a/scripts/genksyms/keywords.c_shipped
+++ b/scripts/genksyms/keywords.c_shipped
@@ -1,4 +1,4 @@
1/* ANSI-C code produced by gperf version 3.0.1 */ 1/* ANSI-C code produced by gperf version 3.0.2 */
2/* Command-line: gperf -L ANSI-C -a -C -E -g -H is_reserved_hash -k '1,3,$' -N is_reserved_word -p -t scripts/genksyms/keywords.gperf */ 2/* Command-line: gperf -L ANSI-C -a -C -E -g -H is_reserved_hash -k '1,3,$' -N is_reserved_word -p -t scripts/genksyms/keywords.gperf */
3 3
4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ 4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -32,7 +32,7 @@
32 32
33#line 3 "scripts/genksyms/keywords.gperf" 33#line 3 "scripts/genksyms/keywords.gperf"
34struct resword { const char *name; int token; }; 34struct resword { const char *name; int token; };
35/* maximum key range = 68, duplicates = 0 */ 35/* maximum key range = 62, duplicates = 0 */
36 36
37#ifdef __GNUC__ 37#ifdef __GNUC__
38__inline 38__inline
@@ -46,32 +46,32 @@ is_reserved_hash (register const char *str, register unsigned int len)
46{ 46{
47 static const unsigned char asso_values[] = 47 static const unsigned char asso_values[] =
48 { 48 {
49 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 49 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
50 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 50 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
51 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 51 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
52 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 52 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
53 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 53 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
54 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 54 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
55 71, 71, 71, 71, 71, 71, 71, 71, 71, 0, 55 65, 65, 65, 65, 65, 65, 65, 65, 65, 5,
56 71, 71, 71, 71, 71, 71, 35, 71, 71, 71, 56 65, 65, 65, 65, 65, 65, 35, 65, 65, 65,
57 5, 71, 71, 71, 71, 71, 71, 71, 71, 71, 57 0, 65, 65, 65, 65, 65, 65, 65, 65, 65,
58 71, 71, 71, 71, 71, 0, 71, 0, 71, 5, 58 65, 65, 65, 65, 65, 0, 65, 0, 65, 5,
59 5, 0, 10, 20, 71, 25, 71, 71, 20, 0, 59 20, 15, 10, 30, 65, 15, 65, 65, 20, 0,
60 20, 30, 25, 71, 10, 5, 0, 20, 15, 71, 60 10, 35, 20, 65, 10, 5, 0, 10, 5, 65,
61 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 61 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
62 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 62 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
63 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 63 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
64 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 64 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
65 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 65 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
66 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 66 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
67 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 67 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
68 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 68 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
69 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 69 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
70 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 70 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
71 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
72 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
73 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 73 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
74 71, 71, 71, 71, 71, 71 74 65, 65, 65, 65, 65, 65
75 }; 75 };
76 return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]]; 76 return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]];
77} 77}
@@ -84,17 +84,17 @@ is_reserved_word (register const char *str, register unsigned int len)
84{ 84{
85 enum 85 enum
86 { 86 {
87 TOTAL_KEYWORDS = 42, 87 TOTAL_KEYWORDS = 43,
88 MIN_WORD_LENGTH = 3, 88 MIN_WORD_LENGTH = 3,
89 MAX_WORD_LENGTH = 24, 89 MAX_WORD_LENGTH = 24,
90 MIN_HASH_VALUE = 3, 90 MIN_HASH_VALUE = 3,
91 MAX_HASH_VALUE = 70 91 MAX_HASH_VALUE = 64
92 }; 92 };
93 93
94 static const struct resword wordlist[] = 94 static const struct resword wordlist[] =
95 { 95 {
96 {""}, {""}, {""}, 96 {""}, {""}, {""},
97#line 25 "scripts/genksyms/keywords.gperf" 97#line 26 "scripts/genksyms/keywords.gperf"
98 {"asm", ASM_KEYW}, 98 {"asm", ASM_KEYW},
99 {""}, 99 {""},
100#line 8 "scripts/genksyms/keywords.gperf" 100#line 8 "scripts/genksyms/keywords.gperf"
@@ -102,98 +102,98 @@ is_reserved_word (register const char *str, register unsigned int len)
102 {""}, 102 {""},
103#line 9 "scripts/genksyms/keywords.gperf" 103#line 9 "scripts/genksyms/keywords.gperf"
104 {"__asm__", ASM_KEYW}, 104 {"__asm__", ASM_KEYW},
105 {""}, 105 {""}, {""},
106#line 22 "scripts/genksyms/keywords.gperf" 106#line 52 "scripts/genksyms/keywords.gperf"
107 {"_restrict", RESTRICT_KEYW},
108#line 51 "scripts/genksyms/keywords.gperf"
109 {"__typeof__", TYPEOF_KEYW}, 107 {"__typeof__", TYPEOF_KEYW},
110#line 10 "scripts/genksyms/keywords.gperf" 108 {""},
111 {"__attribute", ATTRIBUTE_KEYW},
112#line 12 "scripts/genksyms/keywords.gperf" 109#line 12 "scripts/genksyms/keywords.gperf"
113 {"__const", CONST_KEYW}, 110 {"__const", CONST_KEYW},
114#line 11 "scripts/genksyms/keywords.gperf" 111#line 11 "scripts/genksyms/keywords.gperf"
115 {"__attribute__", ATTRIBUTE_KEYW}, 112 {"__attribute__", ATTRIBUTE_KEYW},
116#line 13 "scripts/genksyms/keywords.gperf" 113#line 13 "scripts/genksyms/keywords.gperf"
117 {"__const__", CONST_KEYW}, 114 {"__const__", CONST_KEYW},
118#line 17 "scripts/genksyms/keywords.gperf" 115#line 18 "scripts/genksyms/keywords.gperf"
119 {"__signed__", SIGNED_KEYW}, 116 {"__signed__", SIGNED_KEYW},
120#line 43 "scripts/genksyms/keywords.gperf" 117#line 44 "scripts/genksyms/keywords.gperf"
121 {"static", STATIC_KEYW}, 118 {"static", STATIC_KEYW},
122 {""}, 119#line 20 "scripts/genksyms/keywords.gperf"
123#line 16 "scripts/genksyms/keywords.gperf" 120 {"__volatile__", VOLATILE_KEYW},
124 {"__signed", SIGNED_KEYW}, 121#line 39 "scripts/genksyms/keywords.gperf"
125#line 31 "scripts/genksyms/keywords.gperf" 122 {"int", INT_KEYW},
123#line 32 "scripts/genksyms/keywords.gperf"
126 {"char", CHAR_KEYW}, 124 {"char", CHAR_KEYW},
127 {""}, 125#line 33 "scripts/genksyms/keywords.gperf"
128#line 44 "scripts/genksyms/keywords.gperf" 126 {"const", CONST_KEYW},
127#line 45 "scripts/genksyms/keywords.gperf"
129 {"struct", STRUCT_KEYW}, 128 {"struct", STRUCT_KEYW},
130#line 23 "scripts/genksyms/keywords.gperf"
131 {"__restrict__", RESTRICT_KEYW},
132#line 24 "scripts/genksyms/keywords.gperf" 129#line 24 "scripts/genksyms/keywords.gperf"
130 {"__restrict__", RESTRICT_KEYW},
131#line 25 "scripts/genksyms/keywords.gperf"
133 {"restrict", RESTRICT_KEYW}, 132 {"restrict", RESTRICT_KEYW},
134#line 34 "scripts/genksyms/keywords.gperf" 133#line 23 "scripts/genksyms/keywords.gperf"
134 {"_restrict", RESTRICT_KEYW},
135#line 16 "scripts/genksyms/keywords.gperf"
136 {"__inline__", INLINE_KEYW},
137#line 10 "scripts/genksyms/keywords.gperf"
138 {"__attribute", ATTRIBUTE_KEYW},
139 {""},
140#line 14 "scripts/genksyms/keywords.gperf"
141 {"__extension__", EXTENSION_KEYW},
142#line 35 "scripts/genksyms/keywords.gperf"
135 {"enum", ENUM_KEYW}, 143 {"enum", ENUM_KEYW},
136#line 18 "scripts/genksyms/keywords.gperf" 144#line 19 "scripts/genksyms/keywords.gperf"
137 {"__volatile", VOLATILE_KEYW}, 145 {"__volatile", VOLATILE_KEYW},
138#line 35 "scripts/genksyms/keywords.gperf" 146#line 36 "scripts/genksyms/keywords.gperf"
139 {"extern", EXTERN_KEYW}, 147 {"extern", EXTERN_KEYW},
140#line 19 "scripts/genksyms/keywords.gperf" 148 {""},
141 {"__volatile__", VOLATILE_KEYW}, 149#line 17 "scripts/genksyms/keywords.gperf"
142#line 38 "scripts/genksyms/keywords.gperf" 150 {"__signed", SIGNED_KEYW},
143 {"int", INT_KEYW},
144#line 7 "scripts/genksyms/keywords.gperf" 151#line 7 "scripts/genksyms/keywords.gperf"
145 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW}, 152 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
146#line 32 "scripts/genksyms/keywords.gperf"
147 {"const", CONST_KEYW},
148#line 33 "scripts/genksyms/keywords.gperf"
149 {"double", DOUBLE_KEYW},
150 {""}, 153 {""},
151#line 14 "scripts/genksyms/keywords.gperf" 154#line 51 "scripts/genksyms/keywords.gperf"
155 {"typeof", TYPEOF_KEYW},
156#line 46 "scripts/genksyms/keywords.gperf"
157 {"typedef", TYPEDEF_KEYW},
158#line 15 "scripts/genksyms/keywords.gperf"
152 {"__inline", INLINE_KEYW}, 159 {"__inline", INLINE_KEYW},
153#line 30 "scripts/genksyms/keywords.gperf" 160#line 31 "scripts/genksyms/keywords.gperf"
154 {"auto", AUTO_KEYW}, 161 {"auto", AUTO_KEYW},
155#line 15 "scripts/genksyms/keywords.gperf"
156 {"__inline__", INLINE_KEYW},
157#line 42 "scripts/genksyms/keywords.gperf"
158 {"signed", SIGNED_KEYW},
159 {""},
160#line 47 "scripts/genksyms/keywords.gperf" 162#line 47 "scripts/genksyms/keywords.gperf"
163 {"union", UNION_KEYW},
164 {""}, {""},
165#line 48 "scripts/genksyms/keywords.gperf"
161 {"unsigned", UNSIGNED_KEYW}, 166 {"unsigned", UNSIGNED_KEYW},
162 {""}, 167#line 49 "scripts/genksyms/keywords.gperf"
163#line 41 "scripts/genksyms/keywords.gperf" 168 {"void", VOID_KEYW},
169#line 42 "scripts/genksyms/keywords.gperf"
164 {"short", SHORT_KEYW}, 170 {"short", SHORT_KEYW},
171 {""}, {""},
165#line 50 "scripts/genksyms/keywords.gperf" 172#line 50 "scripts/genksyms/keywords.gperf"
166 {"typeof", TYPEOF_KEYW},
167#line 45 "scripts/genksyms/keywords.gperf"
168 {"typedef", TYPEDEF_KEYW},
169#line 49 "scripts/genksyms/keywords.gperf"
170 {"volatile", VOLATILE_KEYW}, 173 {"volatile", VOLATILE_KEYW},
171 {""}, 174 {""},
172#line 36 "scripts/genksyms/keywords.gperf"
173 {"float", FLOAT_KEYW},
174 {""}, {""},
175#line 40 "scripts/genksyms/keywords.gperf"
176 {"register", REGISTER_KEYW},
177#line 48 "scripts/genksyms/keywords.gperf"
178 {"void", VOID_KEYW},
179 {""},
180#line 37 "scripts/genksyms/keywords.gperf" 175#line 37 "scripts/genksyms/keywords.gperf"
181 {"inline", INLINE_KEYW}, 176 {"float", FLOAT_KEYW},
177#line 34 "scripts/genksyms/keywords.gperf"
178 {"double", DOUBLE_KEYW},
182 {""}, 179 {""},
183#line 5 "scripts/genksyms/keywords.gperf" 180#line 5 "scripts/genksyms/keywords.gperf"
184 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW}, 181 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
185 {""}, 182 {""}, {""},
186#line 21 "scripts/genksyms/keywords.gperf" 183#line 38 "scripts/genksyms/keywords.gperf"
187 {"_Bool", BOOL_KEYW}, 184 {"inline", INLINE_KEYW},
188 {""},
189#line 6 "scripts/genksyms/keywords.gperf" 185#line 6 "scripts/genksyms/keywords.gperf"
190 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW}, 186 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
191 {""}, {""}, {""}, {""}, {""}, {""}, 187#line 41 "scripts/genksyms/keywords.gperf"
192#line 39 "scripts/genksyms/keywords.gperf" 188 {"register", REGISTER_KEYW},
193 {"long", LONG_KEYW}, 189 {""},
194 {""}, {""}, {""}, {""}, {""}, 190#line 22 "scripts/genksyms/keywords.gperf"
195#line 46 "scripts/genksyms/keywords.gperf" 191 {"_Bool", BOOL_KEYW},
196 {"union", UNION_KEYW} 192#line 43 "scripts/genksyms/keywords.gperf"
193 {"signed", SIGNED_KEYW},
194 {""}, {""},
195#line 40 "scripts/genksyms/keywords.gperf"
196 {"long", LONG_KEYW}
197 }; 197 };
198 198
199 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) 199 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/scripts/genksyms/lex.c_shipped b/scripts/genksyms/lex.c_shipped
index 37ba98241b9..2a176988d46 100644
--- a/scripts/genksyms/lex.c_shipped
+++ b/scripts/genksyms/lex.c_shipped
@@ -1,32 +1,114 @@
1#line 2 "scripts/genksyms/lex.c" 1#line 2 "scripts/genksyms/lex.c"
2/* A lexical scanner generated by flex */
3 2
4/* Scanner skeleton version: 3#line 4 "scripts/genksyms/lex.c"
5 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ 4
6 */ 5#define YY_INT_ALIGNED short int
6
7/* A lexical scanner generated by flex */
7 8
8#define FLEX_SCANNER 9#define FLEX_SCANNER
9#define YY_FLEX_MAJOR_VERSION 2 10#define YY_FLEX_MAJOR_VERSION 2
10#define YY_FLEX_MINOR_VERSION 5 11#define YY_FLEX_MINOR_VERSION 5
12#define YY_FLEX_SUBMINOR_VERSION 33
13#if YY_FLEX_SUBMINOR_VERSION > 0
14#define FLEX_BETA
15#endif
16
17/* %if-c++-only */
18/* %endif */
11 19
20/* %if-c-only */
21
22/* %endif */
23
24/* %if-c-only */
25
26/* %endif */
27
28/* First, we deal with platform-specific or compiler-specific issues. */
29
30/* begin standard C headers. */
31/* %if-c-only */
12#include <stdio.h> 32#include <stdio.h>
13#include <unistd.h> 33#include <string.h>
34#include <errno.h>
35#include <stdlib.h>
36/* %endif */
14 37
38/* %if-tables-serialization */
39/* %endif */
40/* end standard C headers. */
15 41
16/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ 42/* %if-c-or-c++ */
17#ifdef c_plusplus 43/* flex integer type definitions */
18#ifndef __cplusplus 44
19#define __cplusplus 45#ifndef FLEXINT_H
46#define FLEXINT_H
47
48/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
49
50#if __STDC_VERSION__ >= 199901L
51
52/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
53 * if you want the limit (max/min) macros for int types.
54 */
55#ifndef __STDC_LIMIT_MACROS
56#define __STDC_LIMIT_MACROS 1
57#endif
58
59#include <inttypes.h>
60typedef int8_t flex_int8_t;
61typedef uint8_t flex_uint8_t;
62typedef int16_t flex_int16_t;
63typedef uint16_t flex_uint16_t;
64typedef int32_t flex_int32_t;
65typedef uint32_t flex_uint32_t;
66#else
67typedef signed char flex_int8_t;
68typedef short int flex_int16_t;
69typedef int flex_int32_t;
70typedef unsigned char flex_uint8_t;
71typedef unsigned short int flex_uint16_t;
72typedef unsigned int flex_uint32_t;
73#endif /* ! C99 */
74
75/* Limits of integral types. */
76#ifndef INT8_MIN
77#define INT8_MIN (-128)
78#endif
79#ifndef INT16_MIN
80#define INT16_MIN (-32767-1)
81#endif
82#ifndef INT32_MIN
83#define INT32_MIN (-2147483647-1)
20#endif 84#endif
85#ifndef INT8_MAX
86#define INT8_MAX (127)
87#endif
88#ifndef INT16_MAX
89#define INT16_MAX (32767)
90#endif
91#ifndef INT32_MAX
92#define INT32_MAX (2147483647)
93#endif
94#ifndef UINT8_MAX
95#define UINT8_MAX (255U)
96#endif
97#ifndef UINT16_MAX
98#define UINT16_MAX (65535U)
99#endif
100#ifndef UINT32_MAX
101#define UINT32_MAX (4294967295U)
21#endif 102#endif
22 103
104#endif /* ! FLEXINT_H */
23 105
24#ifdef __cplusplus 106/* %endif */
25 107
26#include <stdlib.h> 108/* %if-c++-only */
109/* %endif */
27 110
28/* Use prototypes in function declarations. */ 111#ifdef __cplusplus
29#define YY_USE_PROTOS
30 112
31/* The "const" storage-class-modifier is valid. */ 113/* The "const" storage-class-modifier is valid. */
32#define YY_USE_CONST 114#define YY_USE_CONST
@@ -35,36 +117,24 @@
35 117
36#if __STDC__ 118#if __STDC__
37 119
38#define YY_USE_PROTOS
39#define YY_USE_CONST 120#define YY_USE_CONST
40 121
41#endif /* __STDC__ */ 122#endif /* __STDC__ */
42#endif /* ! __cplusplus */ 123#endif /* ! __cplusplus */
43 124
44#ifdef __TURBOC__
45 #pragma warn -rch
46 #pragma warn -use
47#include <io.h>
48#include <stdlib.h>
49#define YY_USE_CONST
50#define YY_USE_PROTOS
51#endif
52
53#ifdef YY_USE_CONST 125#ifdef YY_USE_CONST
54#define yyconst const 126#define yyconst const
55#else 127#else
56#define yyconst 128#define yyconst
57#endif 129#endif
58 130
59 131/* %not-for-header */
60#ifdef YY_USE_PROTOS
61#define YY_PROTO(proto) proto
62#else
63#define YY_PROTO(proto) ()
64#endif
65 132
66/* Returned upon end-of-file. */ 133/* Returned upon end-of-file. */
67#define YY_NULL 0 134#define YY_NULL 0
135/* %ok-for-header */
136
137/* %not-for-header */
68 138
69/* Promotes a possibly negative, possibly signed char to an unsigned 139/* Promotes a possibly negative, possibly signed char to an unsigned
70 * integer for use as an array index. If the signed char is negative, 140 * integer for use as an array index. If the signed char is negative,
@@ -72,79 +142,102 @@
72 * double cast. 142 * double cast.
73 */ 143 */
74#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 144#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
145/* %ok-for-header */
146
147/* %if-reentrant */
148/* %endif */
149
150/* %if-not-reentrant */
151
152/* %endif */
75 153
76/* Enter a start condition. This macro really ought to take a parameter, 154/* Enter a start condition. This macro really ought to take a parameter,
77 * but we do it the disgusting crufty way forced on us by the ()-less 155 * but we do it the disgusting crufty way forced on us by the ()-less
78 * definition of BEGIN. 156 * definition of BEGIN.
79 */ 157 */
80#define BEGIN yy_start = 1 + 2 * 158#define BEGIN (yy_start) = 1 + 2 *
81 159
82/* Translate the current start state into a value that can be later handed 160/* Translate the current start state into a value that can be later handed
83 * to BEGIN to return to the state. The YYSTATE alias is for lex 161 * to BEGIN to return to the state. The YYSTATE alias is for lex
84 * compatibility. 162 * compatibility.
85 */ 163 */
86#define YY_START ((yy_start - 1) / 2) 164#define YY_START (((yy_start) - 1) / 2)
87#define YYSTATE YY_START 165#define YYSTATE YY_START
88 166
89/* Action number for EOF rule of a given start state. */ 167/* Action number for EOF rule of a given start state. */
90#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 168#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
91 169
92/* Special action meaning "start processing a new file". */ 170/* Special action meaning "start processing a new file". */
93#define YY_NEW_FILE yyrestart( yyin ) 171#define YY_NEW_FILE yyrestart(yyin )
94 172
95#define YY_END_OF_BUFFER_CHAR 0 173#define YY_END_OF_BUFFER_CHAR 0
96 174
97/* Size of default input buffer. */ 175/* Size of default input buffer. */
176#ifndef YY_BUF_SIZE
98#define YY_BUF_SIZE 16384 177#define YY_BUF_SIZE 16384
178#endif
99 179
180/* The state buf must be large enough to hold one state per character in the main buffer.
181 */
182#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
183
184#ifndef YY_TYPEDEF_YY_BUFFER_STATE
185#define YY_TYPEDEF_YY_BUFFER_STATE
100typedef struct yy_buffer_state *YY_BUFFER_STATE; 186typedef struct yy_buffer_state *YY_BUFFER_STATE;
187#endif
101 188
189/* %if-not-reentrant */
102extern int yyleng; 190extern int yyleng;
191/* %endif */
192
193/* %if-c-only */
194/* %if-not-reentrant */
103extern FILE *yyin, *yyout; 195extern FILE *yyin, *yyout;
196/* %endif */
197/* %endif */
104 198
105#define EOB_ACT_CONTINUE_SCAN 0 199#define EOB_ACT_CONTINUE_SCAN 0
106#define EOB_ACT_END_OF_FILE 1 200#define EOB_ACT_END_OF_FILE 1
107#define EOB_ACT_LAST_MATCH 2 201#define EOB_ACT_LAST_MATCH 2
108 202
109/* The funky do-while in the following #define is used to turn the definition 203 #define YY_LESS_LINENO(n)
110 * int a single C statement (which needs a semi-colon terminator). This 204
111 * avoids problems with code like: 205/* Return all but the first "n" matched characters back to the input stream. */
112 *
113 * if ( condition_holds )
114 * yyless( 5 );
115 * else
116 * do_something_else();
117 *
118 * Prior to using the do-while the compiler would get upset at the
119 * "else" because it interpreted the "if" statement as being all
120 * done when it reached the ';' after the yyless() call.
121 */
122
123/* Return all but the first 'n' matched characters back to the input stream. */
124
125#define yyless(n) \ 206#define yyless(n) \
126 do \ 207 do \
127 { \ 208 { \
128 /* Undo effects of setting up yytext. */ \ 209 /* Undo effects of setting up yytext. */ \
129 *yy_cp = yy_hold_char; \ 210 int yyless_macro_arg = (n); \
211 YY_LESS_LINENO(yyless_macro_arg);\
212 *yy_cp = (yy_hold_char); \
130 YY_RESTORE_YY_MORE_OFFSET \ 213 YY_RESTORE_YY_MORE_OFFSET \
131 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ 214 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
132 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 215 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
133 } \ 216 } \
134 while ( 0 ) 217 while ( 0 )
135 218
136#define unput(c) yyunput( c, yytext_ptr ) 219#define unput(c) yyunput( c, (yytext_ptr) )
137 220
138/* The following is because we cannot portably get our hands on size_t 221/* The following is because we cannot portably get our hands on size_t
139 * (without autoconf's help, which isn't available because we want 222 * (without autoconf's help, which isn't available because we want
140 * flex-generated scanners to compile on their own). 223 * flex-generated scanners to compile on their own).
141 */ 224 */
142typedef unsigned int yy_size_t;
143 225
226#ifndef YY_TYPEDEF_YY_SIZE_T
227#define YY_TYPEDEF_YY_SIZE_T
228typedef unsigned int yy_size_t;
229#endif
144 230
231#ifndef YY_STRUCT_YY_BUFFER_STATE
232#define YY_STRUCT_YY_BUFFER_STATE
145struct yy_buffer_state 233struct yy_buffer_state
146 { 234 {
235/* %if-c-only */
147 FILE *yy_input_file; 236 FILE *yy_input_file;
237/* %endif */
238
239/* %if-c++-only */
240/* %endif */
148 241
149 char *yy_ch_buf; /* input buffer */ 242 char *yy_ch_buf; /* input buffer */
150 char *yy_buf_pos; /* current position in input buffer */ 243 char *yy_buf_pos; /* current position in input buffer */
@@ -178,12 +271,16 @@ struct yy_buffer_state
178 */ 271 */
179 int yy_at_bol; 272 int yy_at_bol;
180 273
274 int yy_bs_lineno; /**< The line count. */
275 int yy_bs_column; /**< The column count. */
276
181 /* Whether to try to fill the input buffer when we reach the 277 /* Whether to try to fill the input buffer when we reach the
182 * end of it. 278 * end of it.
183 */ 279 */
184 int yy_fill_buffer; 280 int yy_fill_buffer;
185 281
186 int yy_buffer_status; 282 int yy_buffer_status;
283
187#define YY_BUFFER_NEW 0 284#define YY_BUFFER_NEW 0
188#define YY_BUFFER_NORMAL 1 285#define YY_BUFFER_NORMAL 1
189 /* When an EOF's been seen but there's still some text to process 286 /* When an EOF's been seen but there's still some text to process
@@ -197,102 +294,163 @@ struct yy_buffer_state
197 * just pointing yyin at a new input file. 294 * just pointing yyin at a new input file.
198 */ 295 */
199#define YY_BUFFER_EOF_PENDING 2 296#define YY_BUFFER_EOF_PENDING 2
297
200 }; 298 };
299#endif /* !YY_STRUCT_YY_BUFFER_STATE */
300
301/* %if-c-only Standard (non-C++) definition */
302/* %not-for-header */
201 303
202static YY_BUFFER_STATE yy_current_buffer = 0; 304/* %if-not-reentrant */
305
306/* Stack of input buffers. */
307static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
308static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
309static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
310/* %endif */
311/* %ok-for-header */
312
313/* %endif */
203 314
204/* We provide macros for accessing buffer states in case in the 315/* We provide macros for accessing buffer states in case in the
205 * future we want to put the buffer states in a more general 316 * future we want to put the buffer states in a more general
206 * "scanner state". 317 * "scanner state".
318 *
319 * Returns the top of the stack, or NULL.
207 */ 320 */
208#define YY_CURRENT_BUFFER yy_current_buffer 321#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
322 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
323 : NULL)
209 324
325/* Same as previous macro, but useful when we know that the buffer stack is not
326 * NULL or when we need an lvalue. For internal use only.
327 */
328#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
329
330/* %if-c-only Standard (non-C++) definition */
331
332/* %if-not-reentrant */
333/* %not-for-header */
210 334
211/* yy_hold_char holds the character lost when yytext is formed. */ 335/* yy_hold_char holds the character lost when yytext is formed. */
212static char yy_hold_char; 336static char yy_hold_char;
213
214static int yy_n_chars; /* number of characters read into yy_ch_buf */ 337static int yy_n_chars; /* number of characters read into yy_ch_buf */
215
216
217int yyleng; 338int yyleng;
218 339
219/* Points to current character in buffer. */ 340/* Points to current character in buffer. */
220static char *yy_c_buf_p = (char *) 0; 341static char *yy_c_buf_p = (char *) 0;
221static int yy_init = 1; /* whether we need to initialize */ 342static int yy_init = 0; /* whether we need to initialize */
222static int yy_start = 0; /* start state number */ 343static int yy_start = 0; /* start state number */
223 344
224/* Flag which is used to allow yywrap()'s to do buffer switches 345/* Flag which is used to allow yywrap()'s to do buffer switches
225 * instead of setting up a fresh yyin. A bit of a hack ... 346 * instead of setting up a fresh yyin. A bit of a hack ...
226 */ 347 */
227static int yy_did_buffer_switch_on_eof; 348static int yy_did_buffer_switch_on_eof;
349/* %ok-for-header */
350
351/* %endif */
228 352
229void yyrestart YY_PROTO(( FILE *input_file )); 353void yyrestart (FILE *input_file );
354void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
355YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
356void yy_delete_buffer (YY_BUFFER_STATE b );
357void yy_flush_buffer (YY_BUFFER_STATE b );
358void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
359void yypop_buffer_state (void );
230 360
231void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); 361static void yyensure_buffer_stack (void );
232void yy_load_buffer_state YY_PROTO(( void )); 362static void yy_load_buffer_state (void );
233YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); 363static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
234void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
235void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
236void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
237#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
238 364
239YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); 365#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
240YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
241YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
242 366
243static void *yy_flex_alloc YY_PROTO(( yy_size_t )); 367YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
244static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); 368YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
245static void yy_flex_free YY_PROTO(( void * )); 369YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
370
371/* %endif */
372
373void *yyalloc (yy_size_t );
374void *yyrealloc (void *,yy_size_t );
375void yyfree (void * );
246 376
247#define yy_new_buffer yy_create_buffer 377#define yy_new_buffer yy_create_buffer
248 378
249#define yy_set_interactive(is_interactive) \ 379#define yy_set_interactive(is_interactive) \
250 { \ 380 { \
251 if ( ! yy_current_buffer ) \ 381 if ( ! YY_CURRENT_BUFFER ){ \
252 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 382 yyensure_buffer_stack (); \
253 yy_current_buffer->yy_is_interactive = is_interactive; \ 383 YY_CURRENT_BUFFER_LVALUE = \
384 yy_create_buffer(yyin,YY_BUF_SIZE ); \
385 } \
386 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
254 } 387 }
255 388
256#define yy_set_bol(at_bol) \ 389#define yy_set_bol(at_bol) \
257 { \ 390 { \
258 if ( ! yy_current_buffer ) \ 391 if ( ! YY_CURRENT_BUFFER ){\
259 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 392 yyensure_buffer_stack (); \
260 yy_current_buffer->yy_at_bol = at_bol; \ 393 YY_CURRENT_BUFFER_LVALUE = \
394 yy_create_buffer(yyin,YY_BUF_SIZE ); \
395 } \
396 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
261 } 397 }
262 398
263#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) 399#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
264 400
401/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
402/* Begin user sect3 */
265 403
266#define yywrap() 1 404#define yywrap() 1
267#define YY_SKIP_YYWRAP 405#define YY_SKIP_YYWRAP
268 406
269#define FLEX_DEBUG 407#define FLEX_DEBUG
408
270typedef unsigned char YY_CHAR; 409typedef unsigned char YY_CHAR;
410
271FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 411FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
412
272typedef int yy_state_type; 413typedef int yy_state_type;
273 414
274#define FLEX_DEBUG 415extern int yylineno;
416
417int yylineno = 1;
418
275extern char *yytext; 419extern char *yytext;
276#define yytext_ptr yytext 420#define yytext_ptr yytext
277 421
278static yy_state_type yy_get_previous_state YY_PROTO(( void )); 422/* %if-c-only Standard (non-C++) definition */
279static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); 423
280static int yy_get_next_buffer YY_PROTO(( void )); 424static yy_state_type yy_get_previous_state (void );
281static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); 425static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
426static int yy_get_next_buffer (void );
427static void yy_fatal_error (yyconst char msg[] );
428
429/* %endif */
282 430
283/* Done after the current pattern has been matched and before the 431/* Done after the current pattern has been matched and before the
284 * corresponding action - sets up yytext. 432 * corresponding action - sets up yytext.
285 */ 433 */
286#define YY_DO_BEFORE_ACTION \ 434#define YY_DO_BEFORE_ACTION \
287 yytext_ptr = yy_bp; \ 435 (yytext_ptr) = yy_bp; \
288 yyleng = (int) (yy_cp - yy_bp); \ 436/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
289 yy_hold_char = *yy_cp; \ 437 yyleng = (size_t) (yy_cp - yy_bp); \
438 (yy_hold_char) = *yy_cp; \
290 *yy_cp = '\0'; \ 439 *yy_cp = '\0'; \
291 yy_c_buf_p = yy_cp; 440/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
441 (yy_c_buf_p) = yy_cp;
292 442
443/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
293#define YY_NUM_RULES 13 444#define YY_NUM_RULES 13
294#define YY_END_OF_BUFFER 14 445#define YY_END_OF_BUFFER 14
295static yyconst short int yy_accept[76] = 446/* This struct is not used in this scanner,
447 but its presence is necessary. */
448struct yy_trans_info
449 {
450 flex_int32_t yy_verify;
451 flex_int32_t yy_nxt;
452 };
453static yyconst flex_int16_t yy_accept[76] =
296 { 0, 454 { 0,
297 0, 0, 0, 0, 14, 12, 4, 3, 12, 7, 455 0, 0, 0, 0, 14, 12, 4, 3, 12, 7,
298 12, 12, 7, 12, 12, 12, 12, 12, 9, 9, 456 12, 12, 7, 12, 12, 12, 12, 12, 9, 9,
@@ -304,7 +462,7 @@ static yyconst short int yy_accept[76] =
304 0, 0, 0, 1, 0 462 0, 0, 0, 1, 0
305 } ; 463 } ;
306 464
307static yyconst int yy_ec[256] = 465static yyconst flex_int32_t yy_ec[256] =
308 { 0, 466 { 0,
309 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 467 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
310 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 468 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
@@ -336,14 +494,14 @@ static yyconst int yy_ec[256] =
336 1, 1, 1, 1, 1 494 1, 1, 1, 1, 1
337 } ; 495 } ;
338 496
339static yyconst int yy_meta[29] = 497static yyconst flex_int32_t yy_meta[29] =
340 { 0, 498 { 0,
341 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 499 1, 1, 2, 1, 1, 1, 3, 1, 1, 1,
342 4, 4, 5, 6, 6, 6, 1, 1, 1, 7, 500 4, 4, 5, 6, 6, 6, 1, 1, 1, 7,
343 8, 7, 3, 3, 3, 1, 3, 1 501 8, 7, 3, 3, 3, 1, 3, 1
344 } ; 502 } ;
345 503
346static yyconst short int yy_base[88] = 504static yyconst flex_int16_t yy_base[88] =
347 { 0, 505 { 0,
348 0, 147, 21, 140, 145, 284, 39, 284, 26, 0, 506 0, 147, 21, 140, 145, 284, 39, 284, 26, 0,
349 32, 126, 40, 44, 115, 35, 36, 46, 50, 53, 507 32, 126, 40, 44, 115, 35, 36, 46, 50, 53,
@@ -356,7 +514,7 @@ static yyconst short int yy_base[88] =
356 246, 250, 255, 256, 261, 267, 275 514 246, 250, 255, 256, 261, 267, 275
357 } ; 515 } ;
358 516
359static yyconst short int yy_def[88] = 517static yyconst flex_int16_t yy_def[88] =
360 { 0, 518 { 0,
361 75, 1, 1, 3, 75, 75, 75, 75, 76, 77, 519 75, 1, 1, 3, 75, 75, 75, 75, 76, 77,
362 78, 75, 77, 79, 75, 75, 75, 75, 75, 19, 520 78, 75, 77, 79, 75, 75, 75, 75, 75, 19,
@@ -369,7 +527,7 @@ static yyconst short int yy_def[88] =
369 75, 75, 75, 75, 75, 75, 75 527 75, 75, 75, 75, 75, 75, 75
370 } ; 528 } ;
371 529
372static yyconst short int yy_nxt[313] = 530static yyconst flex_int16_t yy_nxt[313] =
373 { 0, 531 { 0,
374 6, 7, 8, 7, 9, 6, 10, 6, 6, 11, 532 6, 7, 8, 7, 9, 6, 10, 6, 6, 11,
375 6, 6, 12, 6, 6, 6, 6, 6, 6, 10, 533 6, 6, 12, 6, 6, 6, 6, 6, 6, 10,
@@ -408,7 +566,7 @@ static yyconst short int yy_nxt[313] =
408 75, 75 566 75, 75
409 } ; 567 } ;
410 568
411static yyconst short int yy_chk[313] = 569static yyconst flex_int16_t yy_chk[313] =
412 { 0, 570 { 0,
413 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 571 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
414 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 572 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -453,7 +611,7 @@ static char *yy_last_accepting_cpos;
453extern int yy_flex_debug; 611extern int yy_flex_debug;
454int yy_flex_debug = 1; 612int yy_flex_debug = 1;
455 613
456static yyconst short int yy_rule_linenum[13] = 614static yyconst flex_int16_t yy_rule_linenum[13] =
457 { 0, 615 { 0,
458 69, 70, 71, 74, 77, 78, 79, 85, 86, 87, 616 69, 70, 71, 74, 77, 78, 79, 85, 86, 87,
459 89, 92 617 89, 92
@@ -468,7 +626,6 @@ static yyconst short int yy_rule_linenum[13] =
468#define YY_RESTORE_YY_MORE_OFFSET 626#define YY_RESTORE_YY_MORE_OFFSET
469char *yytext; 627char *yytext;
470#line 1 "scripts/genksyms/lex.l" 628#line 1 "scripts/genksyms/lex.l"
471#define INITIAL 0
472/* Lexical analysis for genksyms. 629/* Lexical analysis for genksyms.
473 Copyright 1996, 1997 Linux International. 630 Copyright 1996, 1997 Linux International.
474 631
@@ -506,10 +663,41 @@ char *yytext;
506 663
507/* Version 2 checksumming does proper tokenization; version 1 wasn't 664/* Version 2 checksumming does proper tokenization; version 1 wasn't
508 quite so pedantic. */ 665 quite so pedantic. */
509#define V2_TOKENS 1
510 666
511/* We don't do multiple input files. */ 667/* We don't do multiple input files. */
512#line 513 "scripts/genksyms/lex.c" 668#line 669 "scripts/genksyms/lex.c"
669
670#define INITIAL 0
671#define V2_TOKENS 1
672
673#ifndef YY_NO_UNISTD_H
674/* Special case for "unistd.h", since it is non-ANSI. We include it way
675 * down here because we want the user's section 1 to have been scanned first.
676 * The user has a chance to override it with an option.
677 */
678/* %if-c-only */
679#include <unistd.h>
680/* %endif */
681/* %if-c++-only */
682/* %endif */
683#endif
684
685#ifndef YY_EXTRA_TYPE
686#define YY_EXTRA_TYPE void *
687#endif
688
689/* %if-c-only Reentrant structure and macros (non-C++). */
690/* %if-reentrant */
691/* %if-c-only */
692
693static int yy_init_globals (void );
694
695/* %endif */
696/* %if-reentrant */
697/* %endif */
698/* %if-bison-bridge */
699/* %endif */
700/* %endif End reentrant structures and macros. */
513 701
514/* Macros after this point can all be overridden by user definitions in 702/* Macros after this point can all be overridden by user definitions in
515 * section 1. 703 * section 1.
@@ -517,66 +705,45 @@ char *yytext;
517 705
518#ifndef YY_SKIP_YYWRAP 706#ifndef YY_SKIP_YYWRAP
519#ifdef __cplusplus 707#ifdef __cplusplus
520extern "C" int yywrap YY_PROTO(( void )); 708extern "C" int yywrap (void );
521#else 709#else
522extern int yywrap YY_PROTO(( void )); 710extern int yywrap (void );
523#endif 711#endif
524#endif 712#endif
525 713
526#ifndef YY_NO_UNPUT 714/* %not-for-header */
527static void yyunput YY_PROTO(( int c, char *buf_ptr )); 715
528#endif 716 static void yyunput (int c,char *buf_ptr );
717
718/* %ok-for-header */
719
720/* %endif */
529 721
530#ifndef yytext_ptr 722#ifndef yytext_ptr
531static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); 723static void yy_flex_strncpy (char *,yyconst char *,int );
532#endif 724#endif
533 725
534#ifdef YY_NEED_STRLEN 726#ifdef YY_NEED_STRLEN
535static int yy_flex_strlen YY_PROTO(( yyconst char * )); 727static int yy_flex_strlen (yyconst char * );
536#endif 728#endif
537 729
538#ifndef YY_NO_INPUT 730#ifndef YY_NO_INPUT
731/* %if-c-only Standard (non-C++) definition */
732/* %not-for-header */
733
539#ifdef __cplusplus 734#ifdef __cplusplus
540static int yyinput YY_PROTO(( void )); 735static int yyinput (void );
541#else 736#else
542static int input YY_PROTO(( void )); 737static int input (void );
543#endif
544#endif 738#endif
739/* %ok-for-header */
545 740
546#if YY_STACK_USED 741/* %endif */
547static int yy_start_stack_ptr = 0;
548static int yy_start_stack_depth = 0;
549static int *yy_start_stack = 0;
550#ifndef YY_NO_PUSH_STATE
551static void yy_push_state YY_PROTO(( int new_state ));
552#endif
553#ifndef YY_NO_POP_STATE
554static void yy_pop_state YY_PROTO(( void ));
555#endif
556#ifndef YY_NO_TOP_STATE
557static int yy_top_state YY_PROTO(( void ));
558#endif 742#endif
559 743
560#else 744/* %if-c-only */
561#define YY_NO_PUSH_STATE 1
562#define YY_NO_POP_STATE 1
563#define YY_NO_TOP_STATE 1
564#endif
565 745
566#ifdef YY_MALLOC_DECL 746/* %endif */
567YY_MALLOC_DECL
568#else
569#if __STDC__
570#ifndef __cplusplus
571#include <stdlib.h>
572#endif
573#else
574/* Just try to get by without declaring the routines. This will fail
575 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
576 * or sizeof(void*) != sizeof(int).
577 */
578#endif
579#endif
580 747
581/* Amount of stuff to slurp up with each read. */ 748/* Amount of stuff to slurp up with each read. */
582#ifndef YY_READ_BUF_SIZE 749#ifndef YY_READ_BUF_SIZE
@@ -584,12 +751,15 @@ YY_MALLOC_DECL
584#endif 751#endif
585 752
586/* Copy whatever the last rule matched to the standard output. */ 753/* Copy whatever the last rule matched to the standard output. */
587
588#ifndef ECHO 754#ifndef ECHO
755/* %if-c-only Standard (non-C++) definition */
589/* This used to be an fputs(), but since the string might contain NUL's, 756/* This used to be an fputs(), but since the string might contain NUL's,
590 * we now use fwrite(). 757 * we now use fwrite().
591 */ 758 */
592#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) 759#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
760/* %endif */
761/* %if-c++-only C++ definition */
762/* %endif */
593#endif 763#endif
594 764
595/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 765/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -597,9 +767,11 @@ YY_MALLOC_DECL
597 */ 767 */
598#ifndef YY_INPUT 768#ifndef YY_INPUT
599#define YY_INPUT(buf,result,max_size) \ 769#define YY_INPUT(buf,result,max_size) \
600 if ( yy_current_buffer->yy_is_interactive ) \ 770/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
771 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
601 { \ 772 { \
602 int c = '*', n; \ 773 int c = '*'; \
774 size_t n; \
603 for ( n = 0; n < max_size && \ 775 for ( n = 0; n < max_size && \
604 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 776 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
605 buf[n] = (char) c; \ 777 buf[n] = (char) c; \
@@ -609,9 +781,24 @@ YY_MALLOC_DECL
609 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 781 YY_FATAL_ERROR( "input in flex scanner failed" ); \
610 result = n; \ 782 result = n; \
611 } \ 783 } \
612 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ 784 else \
613 && ferror( yyin ) ) \ 785 { \
614 YY_FATAL_ERROR( "input in flex scanner failed" ); 786 errno=0; \
787 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
788 { \
789 if( errno != EINTR) \
790 { \
791 YY_FATAL_ERROR( "input in flex scanner failed" ); \
792 break; \
793 } \
794 errno=0; \
795 clearerr(yyin); \
796 } \
797 }\
798\
799/* %if-c++-only C++ definition \ */\
800/* %endif */
801
615#endif 802#endif
616 803
617/* No semi-colon after return; correct usage is to write "yyterminate();" - 804/* No semi-colon after return; correct usage is to write "yyterminate();" -
@@ -629,15 +816,40 @@ YY_MALLOC_DECL
629 816
630/* Report a fatal error. */ 817/* Report a fatal error. */
631#ifndef YY_FATAL_ERROR 818#ifndef YY_FATAL_ERROR
819/* %if-c-only */
632#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 820#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
821/* %endif */
822/* %if-c++-only */
823/* %endif */
633#endif 824#endif
634 825
826/* %if-tables-serialization structures and prototypes */
827/* %not-for-header */
828
829/* %ok-for-header */
830
831/* %not-for-header */
832
833/* %tables-yydmap generated elements */
834/* %endif */
835/* end tables serialization structures and prototypes */
836
837/* %ok-for-header */
838
635/* Default declaration of generated scanner - a define so the user can 839/* Default declaration of generated scanner - a define so the user can
636 * easily add parameters. 840 * easily add parameters.
637 */ 841 */
638#ifndef YY_DECL 842#ifndef YY_DECL
639#define YY_DECL int yylex YY_PROTO(( void )) 843#define YY_DECL_IS_OURS 1
640#endif 844/* %if-c-only Standard (non-C++) definition */
845
846extern int yylex (void);
847
848#define YY_DECL int yylex (void)
849/* %endif */
850/* %if-c++-only C++ definition */
851/* %endif */
852#endif /* !YY_DECL */
641 853
642/* Code executed at the beginning of each rule, after yytext and yyleng 854/* Code executed at the beginning of each rule, after yytext and yyleng
643 * have been set up. 855 * have been set up.
@@ -651,62 +863,80 @@ YY_MALLOC_DECL
651#define YY_BREAK break; 863#define YY_BREAK break;
652#endif 864#endif
653 865
866/* %% [6.0] YY_RULE_SETUP definition goes here */
654#define YY_RULE_SETUP \ 867#define YY_RULE_SETUP \
655 if ( yyleng > 0 ) \ 868 if ( yyleng > 0 ) \
656 yy_current_buffer->yy_at_bol = \ 869 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
657 (yytext[yyleng - 1] == '\n'); \ 870 (yytext[yyleng - 1] == '\n'); \
658 YY_USER_ACTION 871 YY_USER_ACTION
659 872
873/* %not-for-header */
874
875/** The main scanner function which does all the work.
876 */
660YY_DECL 877YY_DECL
661 { 878{
662 register yy_state_type yy_current_state; 879 register yy_state_type yy_current_state;
663 register char *yy_cp = NULL, *yy_bp = NULL; 880 register char *yy_cp, *yy_bp;
664 register int yy_act; 881 register int yy_act;
665 882
883/* %% [7.0] user's declarations go here */
666#line 65 "scripts/genksyms/lex.l" 884#line 65 "scripts/genksyms/lex.l"
667 885
668 886
669 887
670 /* Keep track of our location in the original source files. */ 888 /* Keep track of our location in the original source files. */
671#line 672 "scripts/genksyms/lex.c" 889#line 890 "scripts/genksyms/lex.c"
672 890
673 if ( yy_init ) 891 if ( !(yy_init) )
674 { 892 {
675 yy_init = 0; 893 (yy_init) = 1;
676 894
677#ifdef YY_USER_INIT 895#ifdef YY_USER_INIT
678 YY_USER_INIT; 896 YY_USER_INIT;
679#endif 897#endif
680 898
681 if ( ! yy_start ) 899 if ( ! (yy_start) )
682 yy_start = 1; /* first start state */ 900 (yy_start) = 1; /* first start state */
683 901
684 if ( ! yyin ) 902 if ( ! yyin )
903/* %if-c-only */
685 yyin = stdin; 904 yyin = stdin;
905/* %endif */
906/* %if-c++-only */
907/* %endif */
686 908
687 if ( ! yyout ) 909 if ( ! yyout )
910/* %if-c-only */
688 yyout = stdout; 911 yyout = stdout;
912/* %endif */
913/* %if-c++-only */
914/* %endif */
915
916 if ( ! YY_CURRENT_BUFFER ) {
917 yyensure_buffer_stack ();
918 YY_CURRENT_BUFFER_LVALUE =
919 yy_create_buffer(yyin,YY_BUF_SIZE );
920 }
689 921
690 if ( ! yy_current_buffer ) 922 yy_load_buffer_state( );
691 yy_current_buffer =
692 yy_create_buffer( yyin, YY_BUF_SIZE );
693
694 yy_load_buffer_state();
695 } 923 }
696 924
697 while ( 1 ) /* loops until end-of-file is reached */ 925 while ( 1 ) /* loops until end-of-file is reached */
698 { 926 {
699 yy_cp = yy_c_buf_p; 927/* %% [8.0] yymore()-related code goes here */
928 yy_cp = (yy_c_buf_p);
700 929
701 /* Support of yytext. */ 930 /* Support of yytext. */
702 *yy_cp = yy_hold_char; 931 *yy_cp = (yy_hold_char);
703 932
704 /* yy_bp points to the position in yy_ch_buf of the start of 933 /* yy_bp points to the position in yy_ch_buf of the start of
705 * the current run. 934 * the current run.
706 */ 935 */
707 yy_bp = yy_cp; 936 yy_bp = yy_cp;
708 937
709 yy_current_state = yy_start; 938/* %% [9.0] code to set up and find next match goes here */
939 yy_current_state = (yy_start);
710 yy_current_state += YY_AT_BOL(); 940 yy_current_state += YY_AT_BOL();
711yy_match: 941yy_match:
712 do 942 do
@@ -714,8 +944,8 @@ yy_match:
714 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 944 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
715 if ( yy_accept[yy_current_state] ) 945 if ( yy_accept[yy_current_state] )
716 { 946 {
717 yy_last_accepting_state = yy_current_state; 947 (yy_last_accepting_state) = yy_current_state;
718 yy_last_accepting_cpos = yy_cp; 948 (yy_last_accepting_cpos) = yy_cp;
719 } 949 }
720 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 950 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
721 { 951 {
@@ -729,26 +959,29 @@ yy_match:
729 while ( yy_base[yy_current_state] != 284 ); 959 while ( yy_base[yy_current_state] != 284 );
730 960
731yy_find_action: 961yy_find_action:
962/* %% [10.0] code to find the action number goes here */
732 yy_act = yy_accept[yy_current_state]; 963 yy_act = yy_accept[yy_current_state];
733 if ( yy_act == 0 ) 964 if ( yy_act == 0 )
734 { /* have to back up */ 965 { /* have to back up */
735 yy_cp = yy_last_accepting_cpos; 966 yy_cp = (yy_last_accepting_cpos);
736 yy_current_state = yy_last_accepting_state; 967 yy_current_state = (yy_last_accepting_state);
737 yy_act = yy_accept[yy_current_state]; 968 yy_act = yy_accept[yy_current_state];
738 } 969 }
739 970
740 YY_DO_BEFORE_ACTION; 971 YY_DO_BEFORE_ACTION;
741 972
973/* %% [11.0] code for yylineno update goes here */
742 974
743do_action: /* This label is used only to access EOF actions. */ 975do_action: /* This label is used only to access EOF actions. */
744 976
977/* %% [12.0] debug code goes here */
745 if ( yy_flex_debug ) 978 if ( yy_flex_debug )
746 { 979 {
747 if ( yy_act == 0 ) 980 if ( yy_act == 0 )
748 fprintf( stderr, "--scanner backing up\n" ); 981 fprintf( stderr, "--scanner backing up\n" );
749 else if ( yy_act < 13 ) 982 else if ( yy_act < 13 )
750 fprintf( stderr, "--accepting rule at line %d (\"%s\")\n", 983 fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
751 yy_rule_linenum[yy_act], yytext ); 984 (long)yy_rule_linenum[yy_act], yytext );
752 else if ( yy_act == 13 ) 985 else if ( yy_act == 13 )
753 fprintf( stderr, "--accepting default rule (\"%s\")\n", 986 fprintf( stderr, "--accepting default rule (\"%s\")\n",
754 yytext ); 987 yytext );
@@ -760,24 +993,28 @@ do_action: /* This label is used only to access EOF actions. */
760 993
761 switch ( yy_act ) 994 switch ( yy_act )
762 { /* beginning of action switch */ 995 { /* beginning of action switch */
996/* %% [13.0] actions go here */
763 case 0: /* must back up */ 997 case 0: /* must back up */
764 /* undo the effects of YY_DO_BEFORE_ACTION */ 998 /* undo the effects of YY_DO_BEFORE_ACTION */
765 *yy_cp = yy_hold_char; 999 *yy_cp = (yy_hold_char);
766 yy_cp = yy_last_accepting_cpos; 1000 yy_cp = (yy_last_accepting_cpos);
767 yy_current_state = yy_last_accepting_state; 1001 yy_current_state = (yy_last_accepting_state);
768 goto yy_find_action; 1002 goto yy_find_action;
769 1003
770case 1: 1004case 1:
1005/* rule 1 can match eol */
771YY_RULE_SETUP 1006YY_RULE_SETUP
772#line 69 "scripts/genksyms/lex.l" 1007#line 69 "scripts/genksyms/lex.l"
773return FILENAME; 1008return FILENAME;
774 YY_BREAK 1009 YY_BREAK
775case 2: 1010case 2:
1011/* rule 2 can match eol */
776YY_RULE_SETUP 1012YY_RULE_SETUP
777#line 70 "scripts/genksyms/lex.l" 1013#line 70 "scripts/genksyms/lex.l"
778cur_line++; 1014cur_line++;
779 YY_BREAK 1015 YY_BREAK
780case 3: 1016case 3:
1017/* rule 3 can match eol */
781YY_RULE_SETUP 1018YY_RULE_SETUP
782#line 71 "scripts/genksyms/lex.l" 1019#line 71 "scripts/genksyms/lex.l"
783cur_line++; 1020cur_line++;
@@ -789,11 +1026,13 @@ YY_RULE_SETUP
789; 1026;
790 YY_BREAK 1027 YY_BREAK
791case 5: 1028case 5:
1029/* rule 5 can match eol */
792YY_RULE_SETUP 1030YY_RULE_SETUP
793#line 77 "scripts/genksyms/lex.l" 1031#line 77 "scripts/genksyms/lex.l"
794return STRING; 1032return STRING;
795 YY_BREAK 1033 YY_BREAK
796case 6: 1034case 6:
1035/* rule 6 can match eol */
797YY_RULE_SETUP 1036YY_RULE_SETUP
798#line 78 "scripts/genksyms/lex.l" 1037#line 78 "scripts/genksyms/lex.l"
799return CHAR; 1038return CHAR;
@@ -838,7 +1077,7 @@ YY_RULE_SETUP
838#line 95 "scripts/genksyms/lex.l" 1077#line 95 "scripts/genksyms/lex.l"
839ECHO; 1078ECHO;
840 YY_BREAK 1079 YY_BREAK
841#line 842 "scripts/genksyms/lex.c" 1080#line 1081 "scripts/genksyms/lex.c"
842case YY_STATE_EOF(INITIAL): 1081case YY_STATE_EOF(INITIAL):
843case YY_STATE_EOF(V2_TOKENS): 1082case YY_STATE_EOF(V2_TOKENS):
844 yyterminate(); 1083 yyterminate();
@@ -846,26 +1085,26 @@ case YY_STATE_EOF(V2_TOKENS):
846 case YY_END_OF_BUFFER: 1085 case YY_END_OF_BUFFER:
847 { 1086 {
848 /* Amount of text matched not including the EOB char. */ 1087 /* Amount of text matched not including the EOB char. */
849 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; 1088 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
850 1089
851 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 1090 /* Undo the effects of YY_DO_BEFORE_ACTION. */
852 *yy_cp = yy_hold_char; 1091 *yy_cp = (yy_hold_char);
853 YY_RESTORE_YY_MORE_OFFSET 1092 YY_RESTORE_YY_MORE_OFFSET
854 1093
855 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) 1094 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
856 { 1095 {
857 /* We're scanning a new file or input source. It's 1096 /* We're scanning a new file or input source. It's
858 * possible that this happened because the user 1097 * possible that this happened because the user
859 * just pointed yyin at a new source and called 1098 * just pointed yyin at a new source and called
860 * yylex(). If so, then we have to assure 1099 * yylex(). If so, then we have to assure
861 * consistency between yy_current_buffer and our 1100 * consistency between YY_CURRENT_BUFFER and our
862 * globals. Here is the right place to do so, because 1101 * globals. Here is the right place to do so, because
863 * this is the first action (other than possibly a 1102 * this is the first action (other than possibly a
864 * back-up) that will match for the new input source. 1103 * back-up) that will match for the new input source.
865 */ 1104 */
866 yy_n_chars = yy_current_buffer->yy_n_chars; 1105 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
867 yy_current_buffer->yy_input_file = yyin; 1106 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
868 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; 1107 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
869 } 1108 }
870 1109
871 /* Note that here we test for yy_c_buf_p "<=" to the position 1110 /* Note that here we test for yy_c_buf_p "<=" to the position
@@ -875,13 +1114,13 @@ case YY_STATE_EOF(V2_TOKENS):
875 * end-of-buffer state). Contrast this with the test 1114 * end-of-buffer state). Contrast this with the test
876 * in input(). 1115 * in input().
877 */ 1116 */
878 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 1117 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
879 { /* This was really a NUL. */ 1118 { /* This was really a NUL. */
880 yy_state_type yy_next_state; 1119 yy_state_type yy_next_state;
881 1120
882 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; 1121 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
883 1122
884 yy_current_state = yy_get_previous_state(); 1123 yy_current_state = yy_get_previous_state( );
885 1124
886 /* Okay, we're now positioned to make the NUL 1125 /* Okay, we're now positioned to make the NUL
887 * transition. We couldn't have 1126 * transition. We couldn't have
@@ -894,30 +1133,31 @@ case YY_STATE_EOF(V2_TOKENS):
894 1133
895 yy_next_state = yy_try_NUL_trans( yy_current_state ); 1134 yy_next_state = yy_try_NUL_trans( yy_current_state );
896 1135
897 yy_bp = yytext_ptr + YY_MORE_ADJ; 1136 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
898 1137
899 if ( yy_next_state ) 1138 if ( yy_next_state )
900 { 1139 {
901 /* Consume the NUL. */ 1140 /* Consume the NUL. */
902 yy_cp = ++yy_c_buf_p; 1141 yy_cp = ++(yy_c_buf_p);
903 yy_current_state = yy_next_state; 1142 yy_current_state = yy_next_state;
904 goto yy_match; 1143 goto yy_match;
905 } 1144 }
906 1145
907 else 1146 else
908 { 1147 {
909 yy_cp = yy_c_buf_p; 1148/* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
1149 yy_cp = (yy_c_buf_p);
910 goto yy_find_action; 1150 goto yy_find_action;
911 } 1151 }
912 } 1152 }
913 1153
914 else switch ( yy_get_next_buffer() ) 1154 else switch ( yy_get_next_buffer( ) )
915 { 1155 {
916 case EOB_ACT_END_OF_FILE: 1156 case EOB_ACT_END_OF_FILE:
917 { 1157 {
918 yy_did_buffer_switch_on_eof = 0; 1158 (yy_did_buffer_switch_on_eof) = 0;
919 1159
920 if ( yywrap() ) 1160 if ( yywrap( ) )
921 { 1161 {
922 /* Note: because we've taken care in 1162 /* Note: because we've taken care in
923 * yy_get_next_buffer() to have set up 1163 * yy_get_next_buffer() to have set up
@@ -928,7 +1168,7 @@ case YY_STATE_EOF(V2_TOKENS):
928 * YY_NULL, it'll still work - another 1168 * YY_NULL, it'll still work - another
929 * YY_NULL will get returned. 1169 * YY_NULL will get returned.
930 */ 1170 */
931 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; 1171 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
932 1172
933 yy_act = YY_STATE_EOF(YY_START); 1173 yy_act = YY_STATE_EOF(YY_START);
934 goto do_action; 1174 goto do_action;
@@ -936,30 +1176,30 @@ case YY_STATE_EOF(V2_TOKENS):
936 1176
937 else 1177 else
938 { 1178 {
939 if ( ! yy_did_buffer_switch_on_eof ) 1179 if ( ! (yy_did_buffer_switch_on_eof) )
940 YY_NEW_FILE; 1180 YY_NEW_FILE;
941 } 1181 }
942 break; 1182 break;
943 } 1183 }
944 1184
945 case EOB_ACT_CONTINUE_SCAN: 1185 case EOB_ACT_CONTINUE_SCAN:
946 yy_c_buf_p = 1186 (yy_c_buf_p) =
947 yytext_ptr + yy_amount_of_matched_text; 1187 (yytext_ptr) + yy_amount_of_matched_text;
948 1188
949 yy_current_state = yy_get_previous_state(); 1189 yy_current_state = yy_get_previous_state( );
950 1190
951 yy_cp = yy_c_buf_p; 1191 yy_cp = (yy_c_buf_p);
952 yy_bp = yytext_ptr + YY_MORE_ADJ; 1192 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
953 goto yy_match; 1193 goto yy_match;
954 1194
955 case EOB_ACT_LAST_MATCH: 1195 case EOB_ACT_LAST_MATCH:
956 yy_c_buf_p = 1196 (yy_c_buf_p) =
957 &yy_current_buffer->yy_ch_buf[yy_n_chars]; 1197 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
958 1198
959 yy_current_state = yy_get_previous_state(); 1199 yy_current_state = yy_get_previous_state( );
960 1200
961 yy_cp = yy_c_buf_p; 1201 yy_cp = (yy_c_buf_p);
962 yy_bp = yytext_ptr + YY_MORE_ADJ; 1202 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
963 goto yy_find_action; 1203 goto yy_find_action;
964 } 1204 }
965 break; 1205 break;
@@ -970,8 +1210,15 @@ case YY_STATE_EOF(V2_TOKENS):
970 "fatal flex scanner internal error--no action found" ); 1210 "fatal flex scanner internal error--no action found" );
971 } /* end of action switch */ 1211 } /* end of action switch */
972 } /* end of scanning one token */ 1212 } /* end of scanning one token */
973 } /* end of yylex */ 1213} /* end of yylex */
1214/* %ok-for-header */
974 1215
1216/* %if-c++-only */
1217/* %not-for-header */
1218
1219/* %ok-for-header */
1220
1221/* %endif */
975 1222
976/* yy_get_next_buffer - try to read in a new buffer 1223/* yy_get_next_buffer - try to read in a new buffer
977 * 1224 *
@@ -980,21 +1227,24 @@ case YY_STATE_EOF(V2_TOKENS):
980 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 1227 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
981 * EOB_ACT_END_OF_FILE - end of file 1228 * EOB_ACT_END_OF_FILE - end of file
982 */ 1229 */
983 1230/* %if-c-only */
984static int yy_get_next_buffer() 1231static int yy_get_next_buffer (void)
985 { 1232/* %endif */
986 register char *dest = yy_current_buffer->yy_ch_buf; 1233/* %if-c++-only */
987 register char *source = yytext_ptr; 1234/* %endif */
1235{
1236 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1237 register char *source = (yytext_ptr);
988 register int number_to_move, i; 1238 register int number_to_move, i;
989 int ret_val; 1239 int ret_val;
990 1240
991 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) 1241 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
992 YY_FATAL_ERROR( 1242 YY_FATAL_ERROR(
993 "fatal flex scanner internal error--end of buffer missed" ); 1243 "fatal flex scanner internal error--end of buffer missed" );
994 1244
995 if ( yy_current_buffer->yy_fill_buffer == 0 ) 1245 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
996 { /* Don't try to fill the buffer, so this is an EOF. */ 1246 { /* Don't try to fill the buffer, so this is an EOF. */
997 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) 1247 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
998 { 1248 {
999 /* We matched a single character, the EOB, so 1249 /* We matched a single character, the EOB, so
1000 * treat this as a final EOF. 1250 * treat this as a final EOF.
@@ -1014,34 +1264,30 @@ static int yy_get_next_buffer()
1014 /* Try to read more data. */ 1264 /* Try to read more data. */
1015 1265
1016 /* First move last chars to start of buffer. */ 1266 /* First move last chars to start of buffer. */
1017 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; 1267 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1018 1268
1019 for ( i = 0; i < number_to_move; ++i ) 1269 for ( i = 0; i < number_to_move; ++i )
1020 *(dest++) = *(source++); 1270 *(dest++) = *(source++);
1021 1271
1022 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 1272 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1023 /* don't do the read, it's not guaranteed to return an EOF, 1273 /* don't do the read, it's not guaranteed to return an EOF,
1024 * just force an EOF 1274 * just force an EOF
1025 */ 1275 */
1026 yy_current_buffer->yy_n_chars = yy_n_chars = 0; 1276 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1027 1277
1028 else 1278 else
1029 { 1279 {
1030 int num_to_read = 1280 int num_to_read =
1031 yy_current_buffer->yy_buf_size - number_to_move - 1; 1281 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1032 1282
1033 while ( num_to_read <= 0 ) 1283 while ( num_to_read <= 0 )
1034 { /* Not enough room in the buffer - grow it. */ 1284 { /* Not enough room in the buffer - grow it. */
1035#ifdef YY_USES_REJECT
1036 YY_FATAL_ERROR(
1037"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
1038#else
1039 1285
1040 /* just a shorter name for the current buffer */ 1286 /* just a shorter name for the current buffer */
1041 YY_BUFFER_STATE b = yy_current_buffer; 1287 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
1042 1288
1043 int yy_c_buf_p_offset = 1289 int yy_c_buf_p_offset =
1044 (int) (yy_c_buf_p - b->yy_ch_buf); 1290 (int) ((yy_c_buf_p) - b->yy_ch_buf);
1045 1291
1046 if ( b->yy_is_our_buffer ) 1292 if ( b->yy_is_our_buffer )
1047 { 1293 {
@@ -1054,8 +1300,7 @@ static int yy_get_next_buffer()
1054 1300
1055 b->yy_ch_buf = (char *) 1301 b->yy_ch_buf = (char *)
1056 /* Include room in for 2 EOB chars. */ 1302 /* Include room in for 2 EOB chars. */
1057 yy_flex_realloc( (void *) b->yy_ch_buf, 1303 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
1058 b->yy_buf_size + 2 );
1059 } 1304 }
1060 else 1305 else
1061 /* Can't grow it, we don't own it. */ 1306 /* Can't grow it, we don't own it. */
@@ -1065,35 +1310,35 @@ static int yy_get_next_buffer()
1065 YY_FATAL_ERROR( 1310 YY_FATAL_ERROR(
1066 "fatal error - scanner input buffer overflow" ); 1311 "fatal error - scanner input buffer overflow" );
1067 1312
1068 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; 1313 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1069 1314
1070 num_to_read = yy_current_buffer->yy_buf_size - 1315 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1071 number_to_move - 1; 1316 number_to_move - 1;
1072#endif 1317
1073 } 1318 }
1074 1319
1075 if ( num_to_read > YY_READ_BUF_SIZE ) 1320 if ( num_to_read > YY_READ_BUF_SIZE )
1076 num_to_read = YY_READ_BUF_SIZE; 1321 num_to_read = YY_READ_BUF_SIZE;
1077 1322
1078 /* Read in more data. */ 1323 /* Read in more data. */
1079 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), 1324 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1080 yy_n_chars, num_to_read ); 1325 (yy_n_chars), (size_t) num_to_read );
1081 1326
1082 yy_current_buffer->yy_n_chars = yy_n_chars; 1327 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1083 } 1328 }
1084 1329
1085 if ( yy_n_chars == 0 ) 1330 if ( (yy_n_chars) == 0 )
1086 { 1331 {
1087 if ( number_to_move == YY_MORE_ADJ ) 1332 if ( number_to_move == YY_MORE_ADJ )
1088 { 1333 {
1089 ret_val = EOB_ACT_END_OF_FILE; 1334 ret_val = EOB_ACT_END_OF_FILE;
1090 yyrestart( yyin ); 1335 yyrestart(yyin );
1091 } 1336 }
1092 1337
1093 else 1338 else
1094 { 1339 {
1095 ret_val = EOB_ACT_LAST_MATCH; 1340 ret_val = EOB_ACT_LAST_MATCH;
1096 yy_current_buffer->yy_buffer_status = 1341 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1097 YY_BUFFER_EOF_PENDING; 1342 YY_BUFFER_EOF_PENDING;
1098 } 1343 }
1099 } 1344 }
@@ -1101,33 +1346,40 @@ static int yy_get_next_buffer()
1101 else 1346 else
1102 ret_val = EOB_ACT_CONTINUE_SCAN; 1347 ret_val = EOB_ACT_CONTINUE_SCAN;
1103 1348
1104 yy_n_chars += number_to_move; 1349 (yy_n_chars) += number_to_move;
1105 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; 1350 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
1106 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; 1351 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
1107 1352
1108 yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; 1353 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1109 1354
1110 return ret_val; 1355 return ret_val;
1111 } 1356}
1112
1113 1357
1114/* yy_get_previous_state - get the state just before the EOB char was reached */ 1358/* yy_get_previous_state - get the state just before the EOB char was reached */
1115 1359
1116static yy_state_type yy_get_previous_state() 1360/* %if-c-only */
1117 { 1361/* %not-for-header */
1362
1363 static yy_state_type yy_get_previous_state (void)
1364/* %endif */
1365/* %if-c++-only */
1366/* %endif */
1367{
1118 register yy_state_type yy_current_state; 1368 register yy_state_type yy_current_state;
1119 register char *yy_cp; 1369 register char *yy_cp;
1120 1370
1121 yy_current_state = yy_start; 1371/* %% [15.0] code to get the start state into yy_current_state goes here */
1372 yy_current_state = (yy_start);
1122 yy_current_state += YY_AT_BOL(); 1373 yy_current_state += YY_AT_BOL();
1123 1374
1124 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) 1375 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1125 { 1376 {
1377/* %% [16.0] code to find the next state goes here */
1126 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 1378 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1127 if ( yy_accept[yy_current_state] ) 1379 if ( yy_accept[yy_current_state] )
1128 { 1380 {
1129 yy_last_accepting_state = yy_current_state; 1381 (yy_last_accepting_state) = yy_current_state;
1130 yy_last_accepting_cpos = yy_cp; 1382 (yy_last_accepting_cpos) = yy_cp;
1131 } 1383 }
1132 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1384 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1133 { 1385 {
@@ -1139,30 +1391,28 @@ static yy_state_type yy_get_previous_state()
1139 } 1391 }
1140 1392
1141 return yy_current_state; 1393 return yy_current_state;
1142 } 1394}
1143
1144 1395
1145/* yy_try_NUL_trans - try to make a transition on the NUL character 1396/* yy_try_NUL_trans - try to make a transition on the NUL character
1146 * 1397 *
1147 * synopsis 1398 * synopsis
1148 * next_state = yy_try_NUL_trans( current_state ); 1399 * next_state = yy_try_NUL_trans( current_state );
1149 */ 1400 */
1150 1401/* %if-c-only */
1151#ifdef YY_USE_PROTOS 1402 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
1152static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) 1403/* %endif */
1153#else 1404/* %if-c++-only */
1154static yy_state_type yy_try_NUL_trans( yy_current_state ) 1405/* %endif */
1155yy_state_type yy_current_state; 1406{
1156#endif
1157 {
1158 register int yy_is_jam; 1407 register int yy_is_jam;
1159 register char *yy_cp = yy_c_buf_p; 1408 /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
1409 register char *yy_cp = (yy_c_buf_p);
1160 1410
1161 register YY_CHAR yy_c = 1; 1411 register YY_CHAR yy_c = 1;
1162 if ( yy_accept[yy_current_state] ) 1412 if ( yy_accept[yy_current_state] )
1163 { 1413 {
1164 yy_last_accepting_state = yy_current_state; 1414 (yy_last_accepting_state) = yy_current_state;
1165 yy_last_accepting_cpos = yy_cp; 1415 (yy_last_accepting_cpos) = yy_cp;
1166 } 1416 }
1167 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1417 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1168 { 1418 {
@@ -1174,80 +1424,87 @@ yy_state_type yy_current_state;
1174 yy_is_jam = (yy_current_state == 75); 1424 yy_is_jam = (yy_current_state == 75);
1175 1425
1176 return yy_is_jam ? 0 : yy_current_state; 1426 return yy_is_jam ? 0 : yy_current_state;
1177 } 1427}
1178 1428
1429/* %if-c-only */
1179 1430
1180#ifndef YY_NO_UNPUT 1431 static void yyunput (int c, register char * yy_bp )
1181#ifdef YY_USE_PROTOS 1432/* %endif */
1182static void yyunput( int c, register char *yy_bp ) 1433/* %if-c++-only */
1183#else 1434/* %endif */
1184static void yyunput( c, yy_bp ) 1435{
1185int c; 1436 register char *yy_cp;
1186register char *yy_bp; 1437
1187#endif 1438 yy_cp = (yy_c_buf_p);
1188 {
1189 register char *yy_cp = yy_c_buf_p;
1190 1439
1191 /* undo effects of setting up yytext */ 1440 /* undo effects of setting up yytext */
1192 *yy_cp = yy_hold_char; 1441 *yy_cp = (yy_hold_char);
1193 1442
1194 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 1443 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
1195 { /* need to shift things up to make room */ 1444 { /* need to shift things up to make room */
1196 /* +2 for EOB chars. */ 1445 /* +2 for EOB chars. */
1197 register int number_to_move = yy_n_chars + 2; 1446 register int number_to_move = (yy_n_chars) + 2;
1198 register char *dest = &yy_current_buffer->yy_ch_buf[ 1447 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
1199 yy_current_buffer->yy_buf_size + 2]; 1448 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
1200 register char *source = 1449 register char *source =
1201 &yy_current_buffer->yy_ch_buf[number_to_move]; 1450 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
1202 1451
1203 while ( source > yy_current_buffer->yy_ch_buf ) 1452 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1204 *--dest = *--source; 1453 *--dest = *--source;
1205 1454
1206 yy_cp += (int) (dest - source); 1455 yy_cp += (int) (dest - source);
1207 yy_bp += (int) (dest - source); 1456 yy_bp += (int) (dest - source);
1208 yy_current_buffer->yy_n_chars = 1457 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
1209 yy_n_chars = yy_current_buffer->yy_buf_size; 1458 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
1210 1459
1211 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 1460 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
1212 YY_FATAL_ERROR( "flex scanner push-back overflow" ); 1461 YY_FATAL_ERROR( "flex scanner push-back overflow" );
1213 } 1462 }
1214 1463
1215 *--yy_cp = (char) c; 1464 *--yy_cp = (char) c;
1216 1465
1466/* %% [18.0] update yylineno here */
1217 1467
1218 yytext_ptr = yy_bp; 1468 (yytext_ptr) = yy_bp;
1219 yy_hold_char = *yy_cp; 1469 (yy_hold_char) = *yy_cp;
1220 yy_c_buf_p = yy_cp; 1470 (yy_c_buf_p) = yy_cp;
1221 } 1471}
1222#endif /* ifndef YY_NO_UNPUT */ 1472/* %if-c-only */
1223 1473
1474/* %endif */
1224 1475
1476/* %if-c-only */
1477#ifndef YY_NO_INPUT
1225#ifdef __cplusplus 1478#ifdef __cplusplus
1226static int yyinput() 1479 static int yyinput (void)
1227#else 1480#else
1228static int input() 1481 static int input (void)
1229#endif 1482#endif
1230 {
1231 int c;
1232 1483
1233 *yy_c_buf_p = yy_hold_char; 1484/* %endif */
1485/* %if-c++-only */
1486/* %endif */
1487{
1488 int c;
1489
1490 *(yy_c_buf_p) = (yy_hold_char);
1234 1491
1235 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) 1492 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1236 { 1493 {
1237 /* yy_c_buf_p now points to the character we want to return. 1494 /* yy_c_buf_p now points to the character we want to return.
1238 * If this occurs *before* the EOB characters, then it's a 1495 * If this occurs *before* the EOB characters, then it's a
1239 * valid NUL; if not, then we've hit the end of the buffer. 1496 * valid NUL; if not, then we've hit the end of the buffer.
1240 */ 1497 */
1241 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 1498 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1242 /* This was really a NUL. */ 1499 /* This was really a NUL. */
1243 *yy_c_buf_p = '\0'; 1500 *(yy_c_buf_p) = '\0';
1244 1501
1245 else 1502 else
1246 { /* need more input */ 1503 { /* need more input */
1247 int offset = yy_c_buf_p - yytext_ptr; 1504 int offset = (yy_c_buf_p) - (yytext_ptr);
1248 ++yy_c_buf_p; 1505 ++(yy_c_buf_p);
1249 1506
1250 switch ( yy_get_next_buffer() ) 1507 switch ( yy_get_next_buffer( ) )
1251 { 1508 {
1252 case EOB_ACT_LAST_MATCH: 1509 case EOB_ACT_LAST_MATCH:
1253 /* This happens because yy_g_n_b() 1510 /* This happens because yy_g_n_b()
@@ -1261,16 +1518,16 @@ static int input()
1261 */ 1518 */
1262 1519
1263 /* Reset buffer status. */ 1520 /* Reset buffer status. */
1264 yyrestart( yyin ); 1521 yyrestart(yyin );
1265 1522
1266 /* fall through */ 1523 /*FALLTHROUGH*/
1267 1524
1268 case EOB_ACT_END_OF_FILE: 1525 case EOB_ACT_END_OF_FILE:
1269 { 1526 {
1270 if ( yywrap() ) 1527 if ( yywrap( ) )
1271 return EOF; 1528 return EOF;
1272 1529
1273 if ( ! yy_did_buffer_switch_on_eof ) 1530 if ( ! (yy_did_buffer_switch_on_eof) )
1274 YY_NEW_FILE; 1531 YY_NEW_FILE;
1275#ifdef __cplusplus 1532#ifdef __cplusplus
1276 return yyinput(); 1533 return yyinput();
@@ -1280,91 +1537,113 @@ static int input()
1280 } 1537 }
1281 1538
1282 case EOB_ACT_CONTINUE_SCAN: 1539 case EOB_ACT_CONTINUE_SCAN:
1283 yy_c_buf_p = yytext_ptr + offset; 1540 (yy_c_buf_p) = (yytext_ptr) + offset;
1284 break; 1541 break;
1285 } 1542 }
1286 } 1543 }
1287 } 1544 }
1288 1545
1289 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ 1546 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
1290 *yy_c_buf_p = '\0'; /* preserve yytext */ 1547 *(yy_c_buf_p) = '\0'; /* preserve yytext */
1291 yy_hold_char = *++yy_c_buf_p; 1548 (yy_hold_char) = *++(yy_c_buf_p);
1292 1549
1293 yy_current_buffer->yy_at_bol = (c == '\n'); 1550/* %% [19.0] update BOL and yylineno */
1551 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
1294 1552
1295 return c; 1553 return c;
1554}
1555/* %if-c-only */
1556#endif /* ifndef YY_NO_INPUT */
1557/* %endif */
1558
1559/** Immediately switch to a different input stream.
1560 * @param input_file A readable stream.
1561 *
1562 * @note This function does not reset the start condition to @c INITIAL .
1563 */
1564/* %if-c-only */
1565 void yyrestart (FILE * input_file )
1566/* %endif */
1567/* %if-c++-only */
1568/* %endif */
1569{
1570
1571 if ( ! YY_CURRENT_BUFFER ){
1572 yyensure_buffer_stack ();
1573 YY_CURRENT_BUFFER_LVALUE =
1574 yy_create_buffer(yyin,YY_BUF_SIZE );
1296 } 1575 }
1297 1576
1577 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
1578 yy_load_buffer_state( );
1579}
1298 1580
1299#ifdef YY_USE_PROTOS 1581/** Switch to a different input buffer.
1300void yyrestart( FILE *input_file ) 1582 * @param new_buffer The new input buffer.
1301#else 1583 *
1302void yyrestart( input_file ) 1584 */
1303FILE *input_file; 1585/* %if-c-only */
1304#endif 1586 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
1305 { 1587/* %endif */
1306 if ( ! yy_current_buffer ) 1588/* %if-c++-only */
1307 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); 1589/* %endif */
1308 1590{
1309 yy_init_buffer( yy_current_buffer, input_file ); 1591
1310 yy_load_buffer_state(); 1592 /* TODO. We should be able to replace this entire function body
1311 } 1593 * with
1312 1594 * yypop_buffer_state();
1313 1595 * yypush_buffer_state(new_buffer);
1314#ifdef YY_USE_PROTOS 1596 */
1315void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) 1597 yyensure_buffer_stack ();
1316#else 1598 if ( YY_CURRENT_BUFFER == new_buffer )
1317void yy_switch_to_buffer( new_buffer )
1318YY_BUFFER_STATE new_buffer;
1319#endif
1320 {
1321 if ( yy_current_buffer == new_buffer )
1322 return; 1599 return;
1323 1600
1324 if ( yy_current_buffer ) 1601 if ( YY_CURRENT_BUFFER )
1325 { 1602 {
1326 /* Flush out information for old buffer. */ 1603 /* Flush out information for old buffer. */
1327 *yy_c_buf_p = yy_hold_char; 1604 *(yy_c_buf_p) = (yy_hold_char);
1328 yy_current_buffer->yy_buf_pos = yy_c_buf_p; 1605 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1329 yy_current_buffer->yy_n_chars = yy_n_chars; 1606 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1330 } 1607 }
1331 1608
1332 yy_current_buffer = new_buffer; 1609 YY_CURRENT_BUFFER_LVALUE = new_buffer;
1333 yy_load_buffer_state(); 1610 yy_load_buffer_state( );
1334 1611
1335 /* We don't actually know whether we did this switch during 1612 /* We don't actually know whether we did this switch during
1336 * EOF (yywrap()) processing, but the only time this flag 1613 * EOF (yywrap()) processing, but the only time this flag
1337 * is looked at is after yywrap() is called, so it's safe 1614 * is looked at is after yywrap() is called, so it's safe
1338 * to go ahead and always set it. 1615 * to go ahead and always set it.
1339 */ 1616 */
1340 yy_did_buffer_switch_on_eof = 1; 1617 (yy_did_buffer_switch_on_eof) = 1;
1341 } 1618}
1342
1343
1344#ifdef YY_USE_PROTOS
1345void yy_load_buffer_state( void )
1346#else
1347void yy_load_buffer_state()
1348#endif
1349 {
1350 yy_n_chars = yy_current_buffer->yy_n_chars;
1351 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
1352 yyin = yy_current_buffer->yy_input_file;
1353 yy_hold_char = *yy_c_buf_p;
1354 }
1355 1619
1620/* %if-c-only */
1621static void yy_load_buffer_state (void)
1622/* %endif */
1623/* %if-c++-only */
1624/* %endif */
1625{
1626 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1627 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1628 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1629 (yy_hold_char) = *(yy_c_buf_p);
1630}
1356 1631
1357#ifdef YY_USE_PROTOS 1632/** Allocate and initialize an input buffer state.
1358YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) 1633 * @param file A readable stream.
1359#else 1634 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
1360YY_BUFFER_STATE yy_create_buffer( file, size ) 1635 *
1361FILE *file; 1636 * @return the allocated buffer state.
1362int size; 1637 */
1363#endif 1638/* %if-c-only */
1364 { 1639 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
1640/* %endif */
1641/* %if-c++-only */
1642/* %endif */
1643{
1365 YY_BUFFER_STATE b; 1644 YY_BUFFER_STATE b;
1366 1645
1367 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 1646 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
1368 if ( ! b ) 1647 if ( ! b )
1369 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1648 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1370 1649
@@ -1373,75 +1652,99 @@ int size;
1373 /* yy_ch_buf has to be 2 characters longer than the size given because 1652 /* yy_ch_buf has to be 2 characters longer than the size given because
1374 * we need to put in 2 end-of-buffer characters. 1653 * we need to put in 2 end-of-buffer characters.
1375 */ 1654 */
1376 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); 1655 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
1377 if ( ! b->yy_ch_buf ) 1656 if ( ! b->yy_ch_buf )
1378 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1657 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1379 1658
1380 b->yy_is_our_buffer = 1; 1659 b->yy_is_our_buffer = 1;
1381 1660
1382 yy_init_buffer( b, file ); 1661 yy_init_buffer(b,file );
1383 1662
1384 return b; 1663 return b;
1385 } 1664}
1386
1387 1665
1388#ifdef YY_USE_PROTOS 1666/** Destroy the buffer.
1389void yy_delete_buffer( YY_BUFFER_STATE b ) 1667 * @param b a buffer created with yy_create_buffer()
1390#else 1668 *
1391void yy_delete_buffer( b ) 1669 */
1392YY_BUFFER_STATE b; 1670/* %if-c-only */
1393#endif 1671 void yy_delete_buffer (YY_BUFFER_STATE b )
1394 { 1672/* %endif */
1673/* %if-c++-only */
1674/* %endif */
1675{
1676
1395 if ( ! b ) 1677 if ( ! b )
1396 return; 1678 return;
1397 1679
1398 if ( b == yy_current_buffer ) 1680 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
1399 yy_current_buffer = (YY_BUFFER_STATE) 0; 1681 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
1400 1682
1401 if ( b->yy_is_our_buffer ) 1683 if ( b->yy_is_our_buffer )
1402 yy_flex_free( (void *) b->yy_ch_buf ); 1684 yyfree((void *) b->yy_ch_buf );
1403 1685
1404 yy_flex_free( (void *) b ); 1686 yyfree((void *) b );
1405 } 1687}
1406 1688
1689/* %if-c-only */
1407 1690
1691#ifndef __cplusplus
1692extern int isatty (int );
1693#endif /* __cplusplus */
1694
1695/* %endif */
1408 1696
1409#ifdef YY_USE_PROTOS 1697/* %if-c++-only */
1410void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) 1698/* %endif */
1411#else
1412void yy_init_buffer( b, file )
1413YY_BUFFER_STATE b;
1414FILE *file;
1415#endif
1416 1699
1700/* Initializes or reinitializes a buffer.
1701 * This function is sometimes called more than once on the same buffer,
1702 * such as during a yyrestart() or at EOF.
1703 */
1704/* %if-c-only */
1705 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
1706/* %endif */
1707/* %if-c++-only */
1708/* %endif */
1417 1709
1418 { 1710{
1419 yy_flush_buffer( b ); 1711 int oerrno = errno;
1712
1713 yy_flush_buffer(b );
1420 1714
1421 b->yy_input_file = file; 1715 b->yy_input_file = file;
1422 b->yy_fill_buffer = 1; 1716 b->yy_fill_buffer = 1;
1423 1717
1424#if YY_ALWAYS_INTERACTIVE 1718 /* If b is the current buffer, then yy_init_buffer was _probably_
1425 b->yy_is_interactive = 1; 1719 * called from yyrestart() or through yy_get_next_buffer.
1426#else 1720 * In that case, we don't want to reset the lineno or column.
1427#if YY_NEVER_INTERACTIVE 1721 */
1428 b->yy_is_interactive = 0; 1722 if (b != YY_CURRENT_BUFFER){
1429#else 1723 b->yy_bs_lineno = 1;
1430 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 1724 b->yy_bs_column = 0;
1431#endif 1725 }
1432#endif
1433 }
1434 1726
1727/* %if-c-only */
1435 1728
1436#ifdef YY_USE_PROTOS 1729 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
1437void yy_flush_buffer( YY_BUFFER_STATE b ) 1730
1438#else 1731/* %endif */
1439void yy_flush_buffer( b ) 1732/* %if-c++-only */
1440YY_BUFFER_STATE b; 1733/* %endif */
1441#endif 1734 errno = oerrno;
1735}
1442 1736
1443 { 1737/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
1444 if ( ! b ) 1738 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
1739 *
1740 */
1741/* %if-c-only */
1742 void yy_flush_buffer (YY_BUFFER_STATE b )
1743/* %endif */
1744/* %if-c++-only */
1745/* %endif */
1746{
1747 if ( ! b )
1445 return; 1748 return;
1446 1749
1447 b->yy_n_chars = 0; 1750 b->yy_n_chars = 0;
@@ -1458,29 +1761,140 @@ YY_BUFFER_STATE b;
1458 b->yy_at_bol = 1; 1761 b->yy_at_bol = 1;
1459 b->yy_buffer_status = YY_BUFFER_NEW; 1762 b->yy_buffer_status = YY_BUFFER_NEW;
1460 1763
1461 if ( b == yy_current_buffer ) 1764 if ( b == YY_CURRENT_BUFFER )
1462 yy_load_buffer_state(); 1765 yy_load_buffer_state( );
1766}
1767
1768/* %if-c-or-c++ */
1769/** Pushes the new state onto the stack. The new state becomes
1770 * the current state. This function will allocate the stack
1771 * if necessary.
1772 * @param new_buffer The new state.
1773 *
1774 */
1775/* %if-c-only */
1776void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
1777/* %endif */
1778/* %if-c++-only */
1779/* %endif */
1780{
1781 if (new_buffer == NULL)
1782 return;
1783
1784 yyensure_buffer_stack();
1785
1786 /* This block is copied from yy_switch_to_buffer. */
1787 if ( YY_CURRENT_BUFFER )
1788 {
1789 /* Flush out information for old buffer. */
1790 *(yy_c_buf_p) = (yy_hold_char);
1791 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1792 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1793 }
1794
1795 /* Only push if top exists. Otherwise, replace top. */
1796 if (YY_CURRENT_BUFFER)
1797 (yy_buffer_stack_top)++;
1798 YY_CURRENT_BUFFER_LVALUE = new_buffer;
1799
1800 /* copied from yy_switch_to_buffer. */
1801 yy_load_buffer_state( );
1802 (yy_did_buffer_switch_on_eof) = 1;
1803}
1804/* %endif */
1805
1806/* %if-c-or-c++ */
1807/** Removes and deletes the top of the stack, if present.
1808 * The next element becomes the new top.
1809 *
1810 */
1811/* %if-c-only */
1812void yypop_buffer_state (void)
1813/* %endif */
1814/* %if-c++-only */
1815/* %endif */
1816{
1817 if (!YY_CURRENT_BUFFER)
1818 return;
1819
1820 yy_delete_buffer(YY_CURRENT_BUFFER );
1821 YY_CURRENT_BUFFER_LVALUE = NULL;
1822 if ((yy_buffer_stack_top) > 0)
1823 --(yy_buffer_stack_top);
1824
1825 if (YY_CURRENT_BUFFER) {
1826 yy_load_buffer_state( );
1827 (yy_did_buffer_switch_on_eof) = 1;
1463 } 1828 }
1829}
1830/* %endif */
1464 1831
1832/* %if-c-or-c++ */
1833/* Allocates the stack if it does not exist.
1834 * Guarantees space for at least one push.
1835 */
1836/* %if-c-only */
1837static void yyensure_buffer_stack (void)
1838/* %endif */
1839/* %if-c++-only */
1840/* %endif */
1841{
1842 int num_to_alloc;
1843
1844 if (!(yy_buffer_stack)) {
1845
1846 /* First allocation is just for 2 elements, since we don't know if this
1847 * scanner will even need a stack. We use 2 instead of 1 to avoid an
1848 * immediate realloc on the next call.
1849 */
1850 num_to_alloc = 1;
1851 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
1852 (num_to_alloc * sizeof(struct yy_buffer_state*)
1853 );
1854
1855 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
1856
1857 (yy_buffer_stack_max) = num_to_alloc;
1858 (yy_buffer_stack_top) = 0;
1859 return;
1860 }
1465 1861
1466#ifndef YY_NO_SCAN_BUFFER 1862 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
1467#ifdef YY_USE_PROTOS 1863
1468YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) 1864 /* Increase the buffer to prepare for a possible push. */
1469#else 1865 int grow_size = 8 /* arbitrary grow size */;
1470YY_BUFFER_STATE yy_scan_buffer( base, size )
1471char *base;
1472yy_size_t size;
1473#endif
1474 {
1475 YY_BUFFER_STATE b;
1476 1866
1867 num_to_alloc = (yy_buffer_stack_max) + grow_size;
1868 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
1869 ((yy_buffer_stack),
1870 num_to_alloc * sizeof(struct yy_buffer_state*)
1871 );
1872
1873 /* zero only the new slots.*/
1874 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
1875 (yy_buffer_stack_max) = num_to_alloc;
1876 }
1877}
1878/* %endif */
1879
1880/* %if-c-only */
1881/** Setup the input buffer state to scan directly from a user-specified character buffer.
1882 * @param base the character buffer
1883 * @param size the size in bytes of the character buffer
1884 *
1885 * @return the newly allocated buffer state object.
1886 */
1887YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
1888{
1889 YY_BUFFER_STATE b;
1890
1477 if ( size < 2 || 1891 if ( size < 2 ||
1478 base[size-2] != YY_END_OF_BUFFER_CHAR || 1892 base[size-2] != YY_END_OF_BUFFER_CHAR ||
1479 base[size-1] != YY_END_OF_BUFFER_CHAR ) 1893 base[size-1] != YY_END_OF_BUFFER_CHAR )
1480 /* They forgot to leave room for the EOB's. */ 1894 /* They forgot to leave room for the EOB's. */
1481 return 0; 1895 return 0;
1482 1896
1483 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 1897 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
1484 if ( ! b ) 1898 if ( ! b )
1485 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 1899 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
1486 1900
@@ -1494,56 +1908,55 @@ yy_size_t size;
1494 b->yy_fill_buffer = 0; 1908 b->yy_fill_buffer = 0;
1495 b->yy_buffer_status = YY_BUFFER_NEW; 1909 b->yy_buffer_status = YY_BUFFER_NEW;
1496 1910
1497 yy_switch_to_buffer( b ); 1911 yy_switch_to_buffer(b );
1498 1912
1499 return b; 1913 return b;
1500 } 1914}
1501#endif 1915/* %endif */
1502 1916
1503 1917/* %if-c-only */
1504#ifndef YY_NO_SCAN_STRING 1918/** Setup the input buffer state to scan a string. The next call to yylex() will
1505#ifdef YY_USE_PROTOS 1919 * scan from a @e copy of @a str.
1506YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) 1920 * @param yystr a NUL-terminated string to scan
1507#else 1921 *
1508YY_BUFFER_STATE yy_scan_string( yy_str ) 1922 * @return the newly allocated buffer state object.
1509yyconst char *yy_str; 1923 * @note If you want to scan bytes that may contain NUL values, then use
1510#endif 1924 * yy_scan_bytes() instead.
1511 { 1925 */
1512 int len; 1926YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
1513 for ( len = 0; yy_str[len]; ++len ) 1927{
1514 ; 1928
1515 1929 return yy_scan_bytes(yystr,strlen(yystr) );
1516 return yy_scan_bytes( yy_str, len ); 1930}
1517 } 1931/* %endif */
1518#endif 1932
1519 1933/* %if-c-only */
1520 1934/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
1521#ifndef YY_NO_SCAN_BYTES 1935 * scan from a @e copy of @a bytes.
1522#ifdef YY_USE_PROTOS 1936 * @param bytes the byte buffer to scan
1523YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) 1937 * @param len the number of bytes in the buffer pointed to by @a bytes.
1524#else 1938 *
1525YY_BUFFER_STATE yy_scan_bytes( bytes, len ) 1939 * @return the newly allocated buffer state object.
1526yyconst char *bytes; 1940 */
1527int len; 1941YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
1528#endif 1942{
1529 {
1530 YY_BUFFER_STATE b; 1943 YY_BUFFER_STATE b;
1531 char *buf; 1944 char *buf;
1532 yy_size_t n; 1945 yy_size_t n;
1533 int i; 1946 int i;
1534 1947
1535 /* Get memory for full buffer, including space for trailing EOB's. */ 1948 /* Get memory for full buffer, including space for trailing EOB's. */
1536 n = len + 2; 1949 n = _yybytes_len + 2;
1537 buf = (char *) yy_flex_alloc( n ); 1950 buf = (char *) yyalloc(n );
1538 if ( ! buf ) 1951 if ( ! buf )
1539 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 1952 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
1540 1953
1541 for ( i = 0; i < len; ++i ) 1954 for ( i = 0; i < _yybytes_len; ++i )
1542 buf[i] = bytes[i]; 1955 buf[i] = yybytes[i];
1543 1956
1544 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; 1957 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
1545 1958
1546 b = yy_scan_buffer( buf, n ); 1959 b = yy_scan_buffer(buf,n );
1547 if ( ! b ) 1960 if ( ! b )
1548 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 1961 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
1549 1962
@@ -1553,148 +1966,231 @@ int len;
1553 b->yy_is_our_buffer = 1; 1966 b->yy_is_our_buffer = 1;
1554 1967
1555 return b; 1968 return b;
1556 } 1969}
1970/* %endif */
1971
1972#ifndef YY_EXIT_FAILURE
1973#define YY_EXIT_FAILURE 2
1557#endif 1974#endif
1558 1975
1976/* %if-c-only */
1977static void yy_fatal_error (yyconst char* msg )
1978{
1979 (void) fprintf( stderr, "%s\n", msg );
1980 exit( YY_EXIT_FAILURE );
1981}
1982/* %endif */
1983/* %if-c++-only */
1984/* %endif */
1559 1985
1560#ifndef YY_NO_PUSH_STATE 1986/* Redefine yyless() so it works in section 3 code. */
1561#ifdef YY_USE_PROTOS
1562static void yy_push_state( int new_state )
1563#else
1564static void yy_push_state( new_state )
1565int new_state;
1566#endif
1567 {
1568 if ( yy_start_stack_ptr >= yy_start_stack_depth )
1569 {
1570 yy_size_t new_size;
1571 1987
1572 yy_start_stack_depth += YY_START_STACK_INCR; 1988#undef yyless
1573 new_size = yy_start_stack_depth * sizeof( int ); 1989#define yyless(n) \
1990 do \
1991 { \
1992 /* Undo effects of setting up yytext. */ \
1993 int yyless_macro_arg = (n); \
1994 YY_LESS_LINENO(yyless_macro_arg);\
1995 yytext[yyleng] = (yy_hold_char); \
1996 (yy_c_buf_p) = yytext + yyless_macro_arg; \
1997 (yy_hold_char) = *(yy_c_buf_p); \
1998 *(yy_c_buf_p) = '\0'; \
1999 yyleng = yyless_macro_arg; \
2000 } \
2001 while ( 0 )
1574 2002
1575 if ( ! yy_start_stack ) 2003/* Accessor methods (get/set functions) to struct members. */
1576 yy_start_stack = (int *) yy_flex_alloc( new_size );
1577 2004
1578 else 2005/* %if-c-only */
1579 yy_start_stack = (int *) yy_flex_realloc( 2006/* %if-reentrant */
1580 (void *) yy_start_stack, new_size ); 2007/* %endif */
1581 2008
1582 if ( ! yy_start_stack ) 2009/** Get the current line number.
1583 YY_FATAL_ERROR( 2010 *
1584 "out of memory expanding start-condition stack" ); 2011 */
1585 } 2012int yyget_lineno (void)
2013{
2014
2015 return yylineno;
2016}
1586 2017
1587 yy_start_stack[yy_start_stack_ptr++] = YY_START; 2018/** Get the input stream.
2019 *
2020 */
2021FILE *yyget_in (void)
2022{
2023 return yyin;
2024}
1588 2025
1589 BEGIN(new_state); 2026/** Get the output stream.
1590 } 2027 *
1591#endif 2028 */
2029FILE *yyget_out (void)
2030{
2031 return yyout;
2032}
1592 2033
2034/** Get the length of the current token.
2035 *
2036 */
2037int yyget_leng (void)
2038{
2039 return yyleng;
2040}
1593 2041
1594#ifndef YY_NO_POP_STATE 2042/** Get the current token.
1595static void yy_pop_state() 2043 *
1596 { 2044 */
1597 if ( --yy_start_stack_ptr < 0 )
1598 YY_FATAL_ERROR( "start-condition stack underflow" );
1599 2045
1600 BEGIN(yy_start_stack[yy_start_stack_ptr]); 2046char *yyget_text (void)
1601 } 2047{
1602#endif 2048 return yytext;
2049}
1603 2050
2051/* %if-reentrant */
2052/* %endif */
1604 2053
1605#ifndef YY_NO_TOP_STATE 2054/** Set the current line number.
1606static int yy_top_state() 2055 * @param line_number
1607 { 2056 *
1608 return yy_start_stack[yy_start_stack_ptr - 1]; 2057 */
1609 } 2058void yyset_lineno (int line_number )
1610#endif 2059{
2060
2061 yylineno = line_number;
2062}
1611 2063
1612#ifndef YY_EXIT_FAILURE 2064/** Set the input stream. This does not discard the current
1613#define YY_EXIT_FAILURE 2 2065 * input buffer.
1614#endif 2066 * @param in_str A readable stream.
2067 *
2068 * @see yy_switch_to_buffer
2069 */
2070void yyset_in (FILE * in_str )
2071{
2072 yyin = in_str ;
2073}
2074
2075void yyset_out (FILE * out_str )
2076{
2077 yyout = out_str ;
2078}
2079
2080int yyget_debug (void)
2081{
2082 return yy_flex_debug;
2083}
1615 2084
1616#ifdef YY_USE_PROTOS 2085void yyset_debug (int bdebug )
1617static void yy_fatal_error( yyconst char msg[] ) 2086{
2087 yy_flex_debug = bdebug ;
2088}
2089
2090/* %endif */
2091
2092/* %if-reentrant */
2093/* %if-bison-bridge */
2094/* %endif */
2095/* %endif */
2096
2097/* %if-c-only */
2098static int yy_init_globals (void)
2099{
2100 /* Initialization is the same as for the non-reentrant scanner.
2101 * This function is called from yylex_destroy(), so don't allocate here.
2102 */
2103
2104 (yy_buffer_stack) = 0;
2105 (yy_buffer_stack_top) = 0;
2106 (yy_buffer_stack_max) = 0;
2107 (yy_c_buf_p) = (char *) 0;
2108 (yy_init) = 0;
2109 (yy_start) = 0;
2110
2111/* Defined in main.c */
2112#ifdef YY_STDINIT
2113 yyin = stdin;
2114 yyout = stdout;
1618#else 2115#else
1619static void yy_fatal_error( msg ) 2116 yyin = (FILE *) 0;
1620char msg[]; 2117 yyout = (FILE *) 0;
1621#endif 2118#endif
1622 { 2119
1623 (void) fprintf( stderr, "%s\n", msg ); 2120 /* For future reference: Set errno on error, since we are called by
1624 exit( YY_EXIT_FAILURE ); 2121 * yylex_init()
2122 */
2123 return 0;
2124}
2125/* %endif */
2126
2127/* %if-c-or-c++ */
2128/* %if-c-only */
2129/* yylex_destroy is for both reentrant and non-reentrant scanners. */
2130int yylex_destroy (void)
2131/* %endif */
2132/* %if-c++-only */
2133/* %endif */
2134{
2135
2136 /* Pop the buffer stack, destroying each element. */
2137 while(YY_CURRENT_BUFFER){
2138 yy_delete_buffer(YY_CURRENT_BUFFER );
2139 YY_CURRENT_BUFFER_LVALUE = NULL;
2140 yypop_buffer_state();
1625 } 2141 }
1626 2142
2143 /* Destroy the stack itself. */
2144 yyfree((yy_buffer_stack) );
2145 (yy_buffer_stack) = NULL;
1627 2146
2147/* %if-c++-only */
2148/* %endif */
1628 2149
1629/* Redefine yyless() so it works in section 3 code. */ 2150/* %if-c-only */
1630 2151
1631#undef yyless 2152 /* Reset the globals. This is important in a non-reentrant scanner so the next time
1632#define yyless(n) \ 2153 * yylex() is called, initialization will occur. */
1633 do \ 2154 yy_init_globals( );
1634 { \
1635 /* Undo effects of setting up yytext. */ \
1636 yytext[yyleng] = yy_hold_char; \
1637 yy_c_buf_p = yytext + n; \
1638 yy_hold_char = *yy_c_buf_p; \
1639 *yy_c_buf_p = '\0'; \
1640 yyleng = n; \
1641 } \
1642 while ( 0 )
1643 2155
2156/* %if-reentrant */
2157/* %endif */
2158 return 0;
2159/* %endif */
2160}
2161/* %endif */
1644 2162
1645/* Internal utility routines. */ 2163/*
2164 * Internal utility routines.
2165 */
1646 2166
1647#ifndef yytext_ptr 2167#ifndef yytext_ptr
1648#ifdef YY_USE_PROTOS 2168static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
1649static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) 2169{
1650#else
1651static void yy_flex_strncpy( s1, s2, n )
1652char *s1;
1653yyconst char *s2;
1654int n;
1655#endif
1656 {
1657 register int i; 2170 register int i;
1658 for ( i = 0; i < n; ++i ) 2171 for ( i = 0; i < n; ++i )
1659 s1[i] = s2[i]; 2172 s1[i] = s2[i];
1660 } 2173}
1661#endif 2174#endif
1662 2175
1663#ifdef YY_NEED_STRLEN 2176#ifdef YY_NEED_STRLEN
1664#ifdef YY_USE_PROTOS 2177static int yy_flex_strlen (yyconst char * s )
1665static int yy_flex_strlen( yyconst char *s ) 2178{
1666#else
1667static int yy_flex_strlen( s )
1668yyconst char *s;
1669#endif
1670 {
1671 register int n; 2179 register int n;
1672 for ( n = 0; s[n]; ++n ) 2180 for ( n = 0; s[n]; ++n )
1673 ; 2181 ;
1674 2182
1675 return n; 2183 return n;
1676 } 2184}
1677#endif 2185#endif
1678 2186
1679 2187void *yyalloc (yy_size_t size )
1680#ifdef YY_USE_PROTOS 2188{
1681static void *yy_flex_alloc( yy_size_t size )
1682#else
1683static void *yy_flex_alloc( size )
1684yy_size_t size;
1685#endif
1686 {
1687 return (void *) malloc( size ); 2189 return (void *) malloc( size );
1688 } 2190}
1689 2191
1690#ifdef YY_USE_PROTOS 2192void *yyrealloc (void * ptr, yy_size_t size )
1691static void *yy_flex_realloc( void *ptr, yy_size_t size ) 2193{
1692#else
1693static void *yy_flex_realloc( ptr, size )
1694void *ptr;
1695yy_size_t size;
1696#endif
1697 {
1698 /* The cast to (char *) in the following accommodates both 2194 /* The cast to (char *) in the following accommodates both
1699 * implementations that use char* generic pointers, and those 2195 * implementations that use char* generic pointers, and those
1700 * that use void* generic pointers. It works with the latter 2196 * that use void* generic pointers. It works with the latter
@@ -1703,28 +2199,24 @@ yy_size_t size;
1703 * as though doing an assignment. 2199 * as though doing an assignment.
1704 */ 2200 */
1705 return (void *) realloc( (char *) ptr, size ); 2201 return (void *) realloc( (char *) ptr, size );
1706 } 2202}
1707 2203
1708#ifdef YY_USE_PROTOS 2204void yyfree (void * ptr )
1709static void yy_flex_free( void *ptr ) 2205{
1710#else 2206 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
1711static void yy_flex_free( ptr ) 2207}
1712void *ptr; 2208
1713#endif 2209/* %if-tables-serialization definitions */
1714 { 2210/* %define-yytables The name for this specific scanner's tables. */
1715 free( ptr ); 2211#define YYTABLES_NAME "yytables"
1716 } 2212/* %endif */
2213
2214/* %ok-for-header */
1717 2215
1718#if YY_MAIN
1719int main()
1720 {
1721 yylex();
1722 return 0;
1723 }
1724#endif
1725#line 95 "scripts/genksyms/lex.l" 2216#line 95 "scripts/genksyms/lex.l"
1726 2217
1727 2218
2219
1728/* Bring in the keyword recognizer. */ 2220/* Bring in the keyword recognizer. */
1729 2221
1730#include "keywords.c" 2222#include "keywords.c"
@@ -2036,10 +2528,12 @@ fini:
2036 2528
2037 return token; 2529 return token;
2038} 2530}
2039/* A Bison parser, made by GNU Bison 2.0. */ 2531/* A Bison parser, made by GNU Bison 2.3. */
2532
2533/* Skeleton interface for Bison's Yacc-like parsers in C
2040 2534
2041/* Skeleton parser for Yacc-like parsing with Bison, 2535 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
2042 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 2536 Free Software Foundation, Inc.
2043 2537
2044 This program is free software; you can redistribute it and/or modify 2538 This program is free software; you can redistribute it and/or modify
2045 it under the terms of the GNU General Public License as published by 2539 it under the terms of the GNU General Public License as published by
@@ -2053,13 +2547,21 @@ fini:
2053 2547
2054 You should have received a copy of the GNU General Public License 2548 You should have received a copy of the GNU General Public License
2055 along with this program; if not, write to the Free Software 2549 along with this program; if not, write to the Free Software
2056 Foundation, Inc., 59 Temple Place - Suite 330, 2550 Foundation, Inc., 51 Franklin Street, Fifth Floor,
2057 Boston, MA 02111-1307, USA. */ 2551 Boston, MA 02110-1301, USA. */
2058 2552
2059/* As a special exception, when this file is copied by Bison into a 2553/* As a special exception, you may create a larger work that contains
2060 Bison output file, you may use that output file without restriction. 2554 part or all of the Bison parser skeleton and distribute that work
2061 This special exception was added by the Free Software Foundation 2555 under terms of your choice, so long as that work isn't itself a
2062 in version 1.24 of Bison. */ 2556 parser generator using the skeleton or a modified version thereof
2557 as a parser skeleton. Alternatively, if you modify or redistribute
2558 the parser skeleton itself, you may (at your option) remove this
2559 special exception, which will cause the skeleton and the resulting
2560 Bison output files to be licensed under the GNU General Public
2561 License without this special exception.
2562
2563 This special exception was added by the Free Software Foundation in
2564 version 2.2 of Bison. */
2063 2565
2064/* Tokens. */ 2566/* Tokens. */
2065#ifndef YYTOKENTYPE 2567#ifndef YYTOKENTYPE
@@ -2076,39 +2578,41 @@ fini:
2076 DOUBLE_KEYW = 264, 2578 DOUBLE_KEYW = 264,
2077 ENUM_KEYW = 265, 2579 ENUM_KEYW = 265,
2078 EXTERN_KEYW = 266, 2580 EXTERN_KEYW = 266,
2079 FLOAT_KEYW = 267, 2581 EXTENSION_KEYW = 267,
2080 INLINE_KEYW = 268, 2582 FLOAT_KEYW = 268,
2081 INT_KEYW = 269, 2583 INLINE_KEYW = 269,
2082 LONG_KEYW = 270, 2584 INT_KEYW = 270,
2083 REGISTER_KEYW = 271, 2585 LONG_KEYW = 271,
2084 RESTRICT_KEYW = 272, 2586 REGISTER_KEYW = 272,
2085 SHORT_KEYW = 273, 2587 RESTRICT_KEYW = 273,
2086 SIGNED_KEYW = 274, 2588 SHORT_KEYW = 274,
2087 STATIC_KEYW = 275, 2589 SIGNED_KEYW = 275,
2088 STRUCT_KEYW = 276, 2590 STATIC_KEYW = 276,
2089 TYPEDEF_KEYW = 277, 2591 STRUCT_KEYW = 277,
2090 UNION_KEYW = 278, 2592 TYPEDEF_KEYW = 278,
2091 UNSIGNED_KEYW = 279, 2593 UNION_KEYW = 279,
2092 VOID_KEYW = 280, 2594 UNSIGNED_KEYW = 280,
2093 VOLATILE_KEYW = 281, 2595 VOID_KEYW = 281,
2094 TYPEOF_KEYW = 282, 2596 VOLATILE_KEYW = 282,
2095 EXPORT_SYMBOL_KEYW = 283, 2597 TYPEOF_KEYW = 283,
2096 ASM_PHRASE = 284, 2598 EXPORT_SYMBOL_KEYW = 284,
2097 ATTRIBUTE_PHRASE = 285, 2599 ASM_PHRASE = 285,
2098 BRACE_PHRASE = 286, 2600 ATTRIBUTE_PHRASE = 286,
2099 BRACKET_PHRASE = 287, 2601 BRACE_PHRASE = 287,
2100 EXPRESSION_PHRASE = 288, 2602 BRACKET_PHRASE = 288,
2101 CHAR = 289, 2603 EXPRESSION_PHRASE = 289,
2102 DOTS = 290, 2604 CHAR = 290,
2103 IDENT = 291, 2605 DOTS = 291,
2104 INT = 292, 2606 IDENT = 292,
2105 REAL = 293, 2607 INT = 293,
2106 STRING = 294, 2608 REAL = 294,
2107 TYPE = 295, 2609 STRING = 295,
2108 OTHER = 296, 2610 TYPE = 296,
2109 FILENAME = 297 2611 OTHER = 297,
2612 FILENAME = 298
2110 }; 2613 };
2111#endif 2614#endif
2615/* Tokens. */
2112#define ASM_KEYW 258 2616#define ASM_KEYW 258
2113#define ATTRIBUTE_KEYW 259 2617#define ATTRIBUTE_KEYW 259
2114#define AUTO_KEYW 260 2618#define AUTO_KEYW 260
@@ -2118,42 +2622,43 @@ fini:
2118#define DOUBLE_KEYW 264 2622#define DOUBLE_KEYW 264
2119#define ENUM_KEYW 265 2623#define ENUM_KEYW 265
2120#define EXTERN_KEYW 266 2624#define EXTERN_KEYW 266
2121#define FLOAT_KEYW 267 2625#define EXTENSION_KEYW 267
2122#define INLINE_KEYW 268 2626#define FLOAT_KEYW 268
2123#define INT_KEYW 269 2627#define INLINE_KEYW 269
2124#define LONG_KEYW 270 2628#define INT_KEYW 270
2125#define REGISTER_KEYW 271 2629#define LONG_KEYW 271
2126#define RESTRICT_KEYW 272 2630#define REGISTER_KEYW 272
2127#define SHORT_KEYW 273 2631#define RESTRICT_KEYW 273
2128#define SIGNED_KEYW 274 2632#define SHORT_KEYW 274
2129#define STATIC_KEYW 275 2633#define SIGNED_KEYW 275
2130#define STRUCT_KEYW 276 2634#define STATIC_KEYW 276
2131#define TYPEDEF_KEYW 277 2635#define STRUCT_KEYW 277
2132#define UNION_KEYW 278 2636#define TYPEDEF_KEYW 278
2133#define UNSIGNED_KEYW 279 2637#define UNION_KEYW 279
2134#define VOID_KEYW 280 2638#define UNSIGNED_KEYW 280
2135#define VOLATILE_KEYW 281 2639#define VOID_KEYW 281
2136#define TYPEOF_KEYW 282 2640#define VOLATILE_KEYW 282
2137#define EXPORT_SYMBOL_KEYW 283 2641#define TYPEOF_KEYW 283
2138#define ASM_PHRASE 284 2642#define EXPORT_SYMBOL_KEYW 284
2139#define ATTRIBUTE_PHRASE 285 2643#define ASM_PHRASE 285
2140#define BRACE_PHRASE 286 2644#define ATTRIBUTE_PHRASE 286
2141#define BRACKET_PHRASE 287 2645#define BRACE_PHRASE 287
2142#define EXPRESSION_PHRASE 288 2646#define BRACKET_PHRASE 288
2143#define CHAR 289 2647#define EXPRESSION_PHRASE 289
2144#define DOTS 290 2648#define CHAR 290
2145#define IDENT 291 2649#define DOTS 291
2146#define INT 292 2650#define IDENT 292
2147#define REAL 293 2651#define INT 293
2148#define STRING 294 2652#define REAL 294
2149#define TYPE 295 2653#define STRING 295
2150#define OTHER 296 2654#define TYPE 296
2151#define FILENAME 297 2655#define OTHER 297
2152 2656#define FILENAME 298
2153 2657
2154 2658
2155 2659
2156#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) 2660
2661#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
2157typedef int YYSTYPE; 2662typedef int YYSTYPE;
2158# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 2663# define yystype YYSTYPE /* obsolescent; will be withdrawn */
2159# define YYSTYPE_IS_DECLARED 1 2664# define YYSTYPE_IS_DECLARED 1
@@ -2163,4 +2668,3 @@ typedef int YYSTYPE;
2163extern YYSTYPE yylval; 2668extern YYSTYPE yylval;
2164 2669
2165 2670
2166
diff --git a/scripts/genksyms/parse.c_shipped b/scripts/genksyms/parse.c_shipped
index 99d7c258696..3e6079f36b9 100644
--- a/scripts/genksyms/parse.c_shipped
+++ b/scripts/genksyms/parse.c_shipped
@@ -1,7 +1,9 @@
1/* A Bison parser, made by GNU Bison 2.0. */ 1/* A Bison parser, made by GNU Bison 2.3. */
2 2
3/* Skeleton parser for Yacc-like parsing with Bison, 3/* Skeleton implementation for Bison's Yacc-like parsers in C
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 4
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
5 7
6 This program is free software; you can redistribute it and/or modify 8 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 9 it under the terms of the GNU General Public License as published by
@@ -15,16 +17,24 @@
15 17
16 You should have received a copy of the GNU General Public License 18 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 19 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, 20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02111-1307, USA. */ 21 Boston, MA 02110-1301, USA. */
22
23/* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
20 32
21/* As a special exception, when this file is copied by Bison into a 33 This special exception was added by the Free Software Foundation in
22 Bison output file, you may use that output file without restriction. 34 version 2.2 of Bison. */
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
25 35
26/* Written by Richard Stallman by simplifying the original so called 36/* C LALR(1) parser skeleton written by Richard Stallman, by
27 ``semantic'' parser. */ 37 simplifying the original so-called "semantic" parser. */
28 38
29/* All symbols defined below should begin with yy or YY, to avoid 39/* All symbols defined below should begin with yy or YY, to avoid
30 infringing on user name space. This should be done even for local 40 infringing on user name space. This should be done even for local
@@ -36,6 +46,9 @@
36/* Identify Bison output. */ 46/* Identify Bison output. */
37#define YYBISON 1 47#define YYBISON 1
38 48
49/* Bison version. */
50#define YYBISON_VERSION "2.3"
51
39/* Skeleton name. */ 52/* Skeleton name. */
40#define YYSKELETON_NAME "yacc.c" 53#define YYSKELETON_NAME "yacc.c"
41 54
@@ -62,39 +75,41 @@
62 DOUBLE_KEYW = 264, 75 DOUBLE_KEYW = 264,
63 ENUM_KEYW = 265, 76 ENUM_KEYW = 265,
64 EXTERN_KEYW = 266, 77 EXTERN_KEYW = 266,
65 FLOAT_KEYW = 267, 78 EXTENSION_KEYW = 267,
66 INLINE_KEYW = 268, 79 FLOAT_KEYW = 268,
67 INT_KEYW = 269, 80 INLINE_KEYW = 269,
68 LONG_KEYW = 270, 81 INT_KEYW = 270,
69 REGISTER_KEYW = 271, 82 LONG_KEYW = 271,
70 RESTRICT_KEYW = 272, 83 REGISTER_KEYW = 272,
71 SHORT_KEYW = 273, 84 RESTRICT_KEYW = 273,
72 SIGNED_KEYW = 274, 85 SHORT_KEYW = 274,
73 STATIC_KEYW = 275, 86 SIGNED_KEYW = 275,
74 STRUCT_KEYW = 276, 87 STATIC_KEYW = 276,
75 TYPEDEF_KEYW = 277, 88 STRUCT_KEYW = 277,
76 UNION_KEYW = 278, 89 TYPEDEF_KEYW = 278,
77 UNSIGNED_KEYW = 279, 90 UNION_KEYW = 279,
78 VOID_KEYW = 280, 91 UNSIGNED_KEYW = 280,
79 VOLATILE_KEYW = 281, 92 VOID_KEYW = 281,
80 TYPEOF_KEYW = 282, 93 VOLATILE_KEYW = 282,
81 EXPORT_SYMBOL_KEYW = 283, 94 TYPEOF_KEYW = 283,
82 ASM_PHRASE = 284, 95 EXPORT_SYMBOL_KEYW = 284,
83 ATTRIBUTE_PHRASE = 285, 96 ASM_PHRASE = 285,
84 BRACE_PHRASE = 286, 97 ATTRIBUTE_PHRASE = 286,
85 BRACKET_PHRASE = 287, 98 BRACE_PHRASE = 287,
86 EXPRESSION_PHRASE = 288, 99 BRACKET_PHRASE = 288,
87 CHAR = 289, 100 EXPRESSION_PHRASE = 289,
88 DOTS = 290, 101 CHAR = 290,
89 IDENT = 291, 102 DOTS = 291,
90 INT = 292, 103 IDENT = 292,
91 REAL = 293, 104 INT = 293,
92 STRING = 294, 105 REAL = 294,
93 TYPE = 295, 106 STRING = 295,
94 OTHER = 296, 107 TYPE = 296,
95 FILENAME = 297 108 OTHER = 297,
109 FILENAME = 298
96 }; 110 };
97#endif 111#endif
112/* Tokens. */
98#define ASM_KEYW 258 113#define ASM_KEYW 258
99#define ATTRIBUTE_KEYW 259 114#define ATTRIBUTE_KEYW 259
100#define AUTO_KEYW 260 115#define AUTO_KEYW 260
@@ -104,37 +119,38 @@
104#define DOUBLE_KEYW 264 119#define DOUBLE_KEYW 264
105#define ENUM_KEYW 265 120#define ENUM_KEYW 265
106#define EXTERN_KEYW 266 121#define EXTERN_KEYW 266
107#define FLOAT_KEYW 267 122#define EXTENSION_KEYW 267
108#define INLINE_KEYW 268 123#define FLOAT_KEYW 268
109#define INT_KEYW 269 124#define INLINE_KEYW 269
110#define LONG_KEYW 270 125#define INT_KEYW 270
111#define REGISTER_KEYW 271 126#define LONG_KEYW 271
112#define RESTRICT_KEYW 272 127#define REGISTER_KEYW 272
113#define SHORT_KEYW 273 128#define RESTRICT_KEYW 273
114#define SIGNED_KEYW 274 129#define SHORT_KEYW 274
115#define STATIC_KEYW 275 130#define SIGNED_KEYW 275
116#define STRUCT_KEYW 276 131#define STATIC_KEYW 276
117#define TYPEDEF_KEYW 277 132#define STRUCT_KEYW 277
118#define UNION_KEYW 278 133#define TYPEDEF_KEYW 278
119#define UNSIGNED_KEYW 279 134#define UNION_KEYW 279
120#define VOID_KEYW 280 135#define UNSIGNED_KEYW 280
121#define VOLATILE_KEYW 281 136#define VOID_KEYW 281
122#define TYPEOF_KEYW 282 137#define VOLATILE_KEYW 282
123#define EXPORT_SYMBOL_KEYW 283 138#define TYPEOF_KEYW 283
124#define ASM_PHRASE 284 139#define EXPORT_SYMBOL_KEYW 284
125#define ATTRIBUTE_PHRASE 285 140#define ASM_PHRASE 285
126#define BRACE_PHRASE 286 141#define ATTRIBUTE_PHRASE 286
127#define BRACKET_PHRASE 287 142#define BRACE_PHRASE 287
128#define EXPRESSION_PHRASE 288 143#define BRACKET_PHRASE 288
129#define CHAR 289 144#define EXPRESSION_PHRASE 289
130#define DOTS 290 145#define CHAR 290
131#define IDENT 291 146#define DOTS 291
132#define INT 292 147#define IDENT 292
133#define REAL 293 148#define INT 293
134#define STRING 294 149#define REAL 294
135#define TYPE 295 150#define STRING 295
136#define OTHER 296 151#define TYPE 296
137#define FILENAME 297 152#define OTHER 297
153#define FILENAME 298
138 154
139 155
140 156
@@ -185,7 +201,12 @@ remove_list(struct string_list **pb, struct string_list **pe)
185# define YYERROR_VERBOSE 0 201# define YYERROR_VERBOSE 0
186#endif 202#endif
187 203
188#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) 204/* Enabling the token table. */
205#ifndef YYTOKEN_TABLE
206# define YYTOKEN_TABLE 0
207#endif
208
209#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
189typedef int YYSTYPE; 210typedef int YYSTYPE;
190# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 211# define yystype YYSTYPE /* obsolescent; will be withdrawn */
191# define YYSTYPE_IS_DECLARED 1 212# define YYSTYPE_IS_DECLARED 1
@@ -197,17 +218,94 @@ typedef int YYSTYPE;
197/* Copy the second part of user declarations. */ 218/* Copy the second part of user declarations. */
198 219
199 220
200/* Line 213 of yacc.c. */ 221/* Line 216 of yacc.c. */
201#line 202 "scripts/genksyms/parse.c" 222#line 223 "scripts/genksyms/parse.c"
223
224#ifdef short
225# undef short
226#endif
227
228#ifdef YYTYPE_UINT8
229typedef YYTYPE_UINT8 yytype_uint8;
230#else
231typedef unsigned char yytype_uint8;
232#endif
233
234#ifdef YYTYPE_INT8
235typedef YYTYPE_INT8 yytype_int8;
236#elif (defined __STDC__ || defined __C99__FUNC__ \
237 || defined __cplusplus || defined _MSC_VER)
238typedef signed char yytype_int8;
239#else
240typedef short int yytype_int8;
241#endif
242
243#ifdef YYTYPE_UINT16
244typedef YYTYPE_UINT16 yytype_uint16;
245#else
246typedef unsigned short int yytype_uint16;
247#endif
248
249#ifdef YYTYPE_INT16
250typedef YYTYPE_INT16 yytype_int16;
251#else
252typedef short int yytype_int16;
253#endif
254
255#ifndef YYSIZE_T
256# ifdef __SIZE_TYPE__
257# define YYSIZE_T __SIZE_TYPE__
258# elif defined size_t
259# define YYSIZE_T size_t
260# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
261 || defined __cplusplus || defined _MSC_VER)
262# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
263# define YYSIZE_T size_t
264# else
265# define YYSIZE_T unsigned int
266# endif
267#endif
202 268
203#if ! defined (yyoverflow) || YYERROR_VERBOSE 269#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
204 270
205# ifndef YYFREE 271#ifndef YY_
206# define YYFREE free 272# if YYENABLE_NLS
273# if ENABLE_NLS
274# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
275# define YY_(msgid) dgettext ("bison-runtime", msgid)
276# endif
207# endif 277# endif
208# ifndef YYMALLOC 278# ifndef YY_
209# define YYMALLOC malloc 279# define YY_(msgid) msgid
210# endif 280# endif
281#endif
282
283/* Suppress unused-variable warnings by "using" E. */
284#if ! defined lint || defined __GNUC__
285# define YYUSE(e) ((void) (e))
286#else
287# define YYUSE(e) /* empty */
288#endif
289
290/* Identity function, used to suppress warnings about constant conditions. */
291#ifndef lint
292# define YYID(n) (n)
293#else
294#if (defined __STDC__ || defined __C99__FUNC__ \
295 || defined __cplusplus || defined _MSC_VER)
296static int
297YYID (int i)
298#else
299static int
300YYID (i)
301 int i;
302#endif
303{
304 return i;
305}
306#endif
307
308#if ! defined yyoverflow || YYERROR_VERBOSE
211 309
212/* The parser invokes alloca or malloc; define the necessary symbols. */ 310/* The parser invokes alloca or malloc; define the necessary symbols. */
213 311
@@ -215,34 +313,76 @@ typedef int YYSTYPE;
215# if YYSTACK_USE_ALLOCA 313# if YYSTACK_USE_ALLOCA
216# ifdef __GNUC__ 314# ifdef __GNUC__
217# define YYSTACK_ALLOC __builtin_alloca 315# define YYSTACK_ALLOC __builtin_alloca
316# elif defined __BUILTIN_VA_ARG_INCR
317# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
318# elif defined _AIX
319# define YYSTACK_ALLOC __alloca
320# elif defined _MSC_VER
321# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
322# define alloca _alloca
218# else 323# else
219# define YYSTACK_ALLOC alloca 324# define YYSTACK_ALLOC alloca
325# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
326 || defined __cplusplus || defined _MSC_VER)
327# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
328# ifndef _STDLIB_H
329# define _STDLIB_H 1
330# endif
331# endif
220# endif 332# endif
221# endif 333# endif
222# endif 334# endif
223 335
224# ifdef YYSTACK_ALLOC 336# ifdef YYSTACK_ALLOC
225 /* Pacify GCC's `empty if-body' warning. */ 337 /* Pacify GCC's `empty if-body' warning. */
226# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 338# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
227# else 339# ifndef YYSTACK_ALLOC_MAXIMUM
228# if defined (__STDC__) || defined (__cplusplus) 340 /* The OS might guarantee only one guard page at the bottom of the stack,
229# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 341 and a page size can be as small as 4096 bytes. So we cannot safely
230# define YYSIZE_T size_t 342 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
343 to allow for a few compiler-allocated temporary stack slots. */
344# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
231# endif 345# endif
346# else
232# define YYSTACK_ALLOC YYMALLOC 347# define YYSTACK_ALLOC YYMALLOC
233# define YYSTACK_FREE YYFREE 348# define YYSTACK_FREE YYFREE
349# ifndef YYSTACK_ALLOC_MAXIMUM
350# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
351# endif
352# if (defined __cplusplus && ! defined _STDLIB_H \
353 && ! ((defined YYMALLOC || defined malloc) \
354 && (defined YYFREE || defined free)))
355# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
356# ifndef _STDLIB_H
357# define _STDLIB_H 1
358# endif
359# endif
360# ifndef YYMALLOC
361# define YYMALLOC malloc
362# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
363 || defined __cplusplus || defined _MSC_VER)
364void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
365# endif
366# endif
367# ifndef YYFREE
368# define YYFREE free
369# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
370 || defined __cplusplus || defined _MSC_VER)
371void free (void *); /* INFRINGES ON USER NAME SPACE */
372# endif
373# endif
234# endif 374# endif
235#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ 375#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
236 376
237 377
238#if (! defined (yyoverflow) \ 378#if (! defined yyoverflow \
239 && (! defined (__cplusplus) \ 379 && (! defined __cplusplus \
240 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) 380 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
241 381
242/* A type that is properly aligned for any stack member. */ 382/* A type that is properly aligned for any stack member. */
243union yyalloc 383union yyalloc
244{ 384{
245 short int yyss; 385 yytype_int16 yyss;
246 YYSTYPE yyvs; 386 YYSTYPE yyvs;
247 }; 387 };
248 388
@@ -252,24 +392,24 @@ union yyalloc
252/* The size of an array large to enough to hold all stacks, each with 392/* The size of an array large to enough to hold all stacks, each with
253 N elements. */ 393 N elements. */
254# define YYSTACK_BYTES(N) \ 394# define YYSTACK_BYTES(N) \
255 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ 395 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
256 + YYSTACK_GAP_MAXIMUM) 396 + YYSTACK_GAP_MAXIMUM)
257 397
258/* Copy COUNT objects from FROM to TO. The source and destination do 398/* Copy COUNT objects from FROM to TO. The source and destination do
259 not overlap. */ 399 not overlap. */
260# ifndef YYCOPY 400# ifndef YYCOPY
261# if defined (__GNUC__) && 1 < __GNUC__ 401# if defined __GNUC__ && 1 < __GNUC__
262# define YYCOPY(To, From, Count) \ 402# define YYCOPY(To, From, Count) \
263 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 403 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
264# else 404# else
265# define YYCOPY(To, From, Count) \ 405# define YYCOPY(To, From, Count) \
266 do \ 406 do \
267 { \ 407 { \
268 register YYSIZE_T yyi; \ 408 YYSIZE_T yyi; \
269 for (yyi = 0; yyi < (Count); yyi++) \ 409 for (yyi = 0; yyi < (Count); yyi++) \
270 (To)[yyi] = (From)[yyi]; \ 410 (To)[yyi] = (From)[yyi]; \
271 } \ 411 } \
272 while (0) 412 while (YYID (0))
273# endif 413# endif
274# endif 414# endif
275 415
@@ -287,53 +427,47 @@ union yyalloc
287 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 427 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
288 yyptr += yynewbytes / sizeof (*yyptr); \ 428 yyptr += yynewbytes / sizeof (*yyptr); \
289 } \ 429 } \
290 while (0) 430 while (YYID (0))
291 431
292#endif 432#endif
293 433
294#if defined (__STDC__) || defined (__cplusplus) 434/* YYFINAL -- State number of the termination state. */
295 typedef signed char yysigned_char;
296#else
297 typedef short int yysigned_char;
298#endif
299
300/* YYFINAL -- State number of the termination state. */
301#define YYFINAL 4 435#define YYFINAL 4
302/* YYLAST -- Last index in YYTABLE. */ 436/* YYLAST -- Last index in YYTABLE. */
303#define YYLAST 535 437#define YYLAST 523
304 438
305/* YYNTOKENS -- Number of terminals. */ 439/* YYNTOKENS -- Number of terminals. */
306#define YYNTOKENS 52 440#define YYNTOKENS 53
307/* YYNNTS -- Number of nonterminals. */ 441/* YYNNTS -- Number of nonterminals. */
308#define YYNNTS 45 442#define YYNNTS 46
309/* YYNRULES -- Number of rules. */ 443/* YYNRULES -- Number of rules. */
310#define YYNRULES 124 444#define YYNRULES 126
311/* YYNRULES -- Number of states. */ 445/* YYNRULES -- Number of states. */
312#define YYNSTATES 174 446#define YYNSTATES 178
313 447
314/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ 448/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
315#define YYUNDEFTOK 2 449#define YYUNDEFTOK 2
316#define YYMAXUTOK 297 450#define YYMAXUTOK 298
317 451
318#define YYTRANSLATE(YYX) \ 452#define YYTRANSLATE(YYX) \
319 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 453 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
320 454
321/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ 455/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
322static const unsigned char yytranslate[] = 456static const yytype_uint8 yytranslate[] =
323{ 457{
324 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 458 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 459 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 460 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 461 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 46, 48, 47, 2, 45, 2, 2, 2, 2, 2, 462 47, 49, 48, 2, 46, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 51, 43, 463 2, 2, 2, 2, 2, 2, 2, 2, 52, 44,
330 2, 49, 2, 2, 2, 2, 2, 2, 2, 2, 464 2, 50, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 465 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 466 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 467 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 468 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 469 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 50, 2, 44, 2, 2, 2, 2, 470 2, 2, 2, 51, 2, 45, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 471 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 472 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 473 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -350,114 +484,116 @@ static const unsigned char yytranslate[] =
350 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 484 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
351 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 485 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
352 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 486 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
353 35, 36, 37, 38, 39, 40, 41, 42 487 35, 36, 37, 38, 39, 40, 41, 42, 43
354}; 488};
355 489
356#if YYDEBUG 490#if YYDEBUG
357/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in 491/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
358 YYRHS. */ 492 YYRHS. */
359static const unsigned short int yyprhs[] = 493static const yytype_uint16 yyprhs[] =
360{ 494{
361 0, 0, 3, 5, 8, 9, 12, 13, 17, 19, 495 0, 0, 3, 5, 8, 9, 12, 13, 18, 19,
362 21, 23, 25, 28, 31, 35, 36, 38, 40, 44, 496 23, 25, 27, 29, 31, 34, 37, 41, 42, 44,
363 49, 50, 52, 54, 57, 59, 61, 63, 65, 67, 497 46, 50, 55, 56, 58, 60, 63, 65, 67, 69,
364 69, 71, 73, 75, 81, 86, 89, 92, 95, 99, 498 71, 73, 75, 77, 79, 81, 87, 92, 95, 98,
365 103, 107, 110, 113, 116, 118, 120, 122, 124, 126, 499 101, 105, 109, 113, 116, 119, 122, 124, 126, 128,
366 128, 130, 132, 134, 136, 138, 141, 142, 144, 146, 500 130, 132, 134, 136, 138, 140, 142, 144, 147, 148,
367 149, 151, 153, 155, 157, 160, 162, 164, 169, 174, 501 150, 152, 155, 157, 159, 161, 163, 166, 168, 170,
368 177, 181, 185, 188, 190, 192, 194, 199, 204, 207, 502 175, 180, 183, 187, 191, 194, 196, 198, 200, 205,
369 211, 215, 218, 220, 224, 225, 227, 229, 233, 236, 503 210, 213, 217, 221, 224, 226, 230, 231, 233, 235,
370 239, 241, 242, 244, 246, 251, 256, 259, 263, 267, 504 239, 242, 245, 247, 248, 250, 252, 257, 262, 265,
371 271, 272, 274, 277, 281, 285, 286, 288, 290, 293, 505 269, 273, 277, 278, 280, 283, 287, 291, 292, 294,
372 297, 300, 301, 303, 305, 309, 312, 315, 317, 320, 506 296, 299, 303, 306, 307, 309, 311, 315, 318, 321,
373 321, 323, 326, 327, 329 507 323, 326, 327, 329, 332, 333, 335
374}; 508};
375 509
376/* YYRHS -- A `-1'-separated list of the rules' RHS. */ 510/* YYRHS -- A `-1'-separated list of the rules' RHS. */
377static const yysigned_char yyrhs[] = 511static const yytype_int8 yyrhs[] =
378{ 512{
379 53, 0, -1, 54, -1, 53, 54, -1, -1, 55, 513 54, 0, -1, 55, -1, 54, 55, -1, -1, 56,
380 56, -1, -1, 22, 57, 58, -1, 58, -1, 82, 514 57, -1, -1, 12, 23, 58, 60, -1, -1, 23,
381 -1, 94, -1, 96, -1, 1, 43, -1, 1, 44, 515 59, 60, -1, 60, -1, 84, -1, 96, -1, 98,
382 -1, 62, 59, 43, -1, -1, 60, -1, 61, -1, 516 -1, 1, 44, -1, 1, 45, -1, 64, 61, 44,
383 60, 45, 61, -1, 72, 95, 93, 83, -1, -1, 517 -1, -1, 62, -1, 63, -1, 62, 46, 63, -1,
384 63, -1, 64, -1, 63, 64, -1, 65, -1, 66, 518 74, 97, 95, 85, -1, -1, 65, -1, 66, -1,
385 -1, 5, -1, 16, -1, 20, -1, 11, -1, 13, 519 65, 66, -1, 67, -1, 68, -1, 5, -1, 17,
386 -1, 67, -1, 71, -1, 27, 46, 63, 47, 48, 520 -1, 21, -1, 11, -1, 14, -1, 69, -1, 73,
387 -1, 27, 46, 63, 48, -1, 21, 36, -1, 23, 521 -1, 28, 47, 65, 48, 49, -1, 28, 47, 65,
388 36, -1, 10, 36, -1, 21, 36, 85, -1, 23, 522 49, -1, 22, 37, -1, 24, 37, -1, 10, 37,
389 36, 85, -1, 10, 36, 31, -1, 10, 31, -1, 523 -1, 22, 37, 87, -1, 24, 37, 87, -1, 10,
390 21, 85, -1, 23, 85, -1, 7, -1, 18, -1, 524 37, 32, -1, 10, 32, -1, 22, 87, -1, 24,
391 14, -1, 15, -1, 19, -1, 24, -1, 12, -1, 525 87, -1, 7, -1, 19, -1, 15, -1, 16, -1,
392 9, -1, 25, -1, 6, -1, 40, -1, 47, 69, 526 20, -1, 25, -1, 13, -1, 9, -1, 26, -1,
393 -1, -1, 70, -1, 71, -1, 70, 71, -1, 8, 527 6, -1, 41, -1, 48, 71, -1, -1, 72, -1,
394 -1, 26, -1, 30, -1, 17, -1, 68, 72, -1, 528 73, -1, 72, 73, -1, 8, -1, 27, -1, 31,
395 73, -1, 36, -1, 73, 46, 76, 48, -1, 73, 529 -1, 18, -1, 70, 74, -1, 75, -1, 37, -1,
396 46, 1, 48, -1, 73, 32, -1, 46, 72, 48, 530 75, 47, 78, 49, -1, 75, 47, 1, 49, -1,
397 -1, 46, 1, 48, -1, 68, 74, -1, 75, -1, 531 75, 33, -1, 47, 74, 49, -1, 47, 1, 49,
398 36, -1, 40, -1, 75, 46, 76, 48, -1, 75, 532 -1, 70, 76, -1, 77, -1, 37, -1, 41, -1,
399 46, 1, 48, -1, 75, 32, -1, 46, 74, 48, 533 77, 47, 78, 49, -1, 77, 47, 1, 49, -1,
400 -1, 46, 1, 48, -1, 77, 35, -1, 77, -1, 534 77, 33, -1, 47, 76, 49, -1, 47, 1, 49,
401 78, 45, 35, -1, -1, 78, -1, 79, -1, 78, 535 -1, 79, 36, -1, 79, -1, 80, 46, 36, -1,
402 45, 79, -1, 63, 80, -1, 68, 80, -1, 81, 536 -1, 80, -1, 81, -1, 80, 46, 81, -1, 65,
403 -1, -1, 36, -1, 40, -1, 81, 46, 76, 48, 537 82, -1, 70, 82, -1, 83, -1, -1, 37, -1,
404 -1, 81, 46, 1, 48, -1, 81, 32, -1, 46, 538 41, -1, 83, 47, 78, 49, -1, 83, 47, 1,
405 80, 48, -1, 46, 1, 48, -1, 62, 72, 31, 539 49, -1, 83, 33, -1, 47, 82, 49, -1, 47,
406 -1, -1, 84, -1, 49, 33, -1, 50, 86, 44, 540 1, 49, -1, 64, 74, 32, -1, -1, 86, -1,
407 -1, 50, 1, 44, -1, -1, 87, -1, 88, -1, 541 50, 34, -1, 51, 88, 45, -1, 51, 1, 45,
408 87, 88, -1, 62, 89, 43, -1, 1, 43, -1, 542 -1, -1, 89, -1, 90, -1, 89, 90, -1, 64,
409 -1, 90, -1, 91, -1, 90, 45, 91, -1, 74, 543 91, 44, -1, 1, 44, -1, -1, 92, -1, 93,
410 93, -1, 36, 92, -1, 92, -1, 51, 33, -1, 544 -1, 92, 46, 93, -1, 76, 95, -1, 37, 94,
411 -1, 30, -1, 29, 43, -1, -1, 29, -1, 28, 545 -1, 94, -1, 52, 34, -1, -1, 31, -1, 30,
412 46, 36, 48, 43, -1 546 44, -1, -1, 30, -1, 29, 47, 37, 49, 44,
547 -1
413}; 548};
414 549
415/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ 550/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
416static const unsigned short int yyrline[] = 551static const yytype_uint16 yyrline[] =
417{ 552{
418 0, 102, 102, 103, 107, 107, 113, 113, 115, 116, 553 0, 103, 103, 104, 108, 108, 114, 114, 116, 116,
419 117, 118, 119, 120, 124, 138, 139, 143, 151, 164, 554 118, 119, 120, 121, 122, 123, 127, 141, 142, 146,
420 170, 171, 175, 176, 180, 186, 190, 191, 192, 193, 555 154, 167, 173, 174, 178, 179, 183, 189, 193, 194,
421 194, 198, 199, 200, 201, 205, 207, 209, 213, 220, 556 195, 196, 197, 201, 202, 203, 204, 208, 210, 212,
422 227, 236, 237, 238, 242, 243, 244, 245, 246, 247, 557 216, 223, 230, 239, 240, 241, 245, 246, 247, 248,
423 248, 249, 250, 251, 252, 256, 261, 262, 266, 267, 558 249, 250, 251, 252, 253, 254, 255, 259, 264, 265,
424 271, 271, 271, 272, 280, 281, 285, 294, 296, 298, 559 269, 270, 274, 274, 274, 275, 283, 284, 288, 297,
425 300, 302, 309, 310, 314, 315, 316, 318, 320, 322, 560 299, 301, 303, 305, 312, 313, 317, 318, 319, 321,
426 324, 329, 330, 331, 335, 336, 340, 341, 346, 351, 561 323, 325, 327, 332, 333, 334, 338, 339, 343, 344,
427 353, 357, 358, 366, 370, 372, 374, 376, 378, 383, 562 349, 354, 356, 360, 361, 369, 373, 375, 377, 379,
428 392, 393, 398, 403, 404, 408, 409, 413, 414, 418, 563 381, 386, 395, 396, 401, 406, 407, 411, 412, 416,
429 420, 425, 426, 430, 431, 435, 436, 437, 441, 445, 564 417, 421, 423, 428, 429, 433, 434, 438, 439, 440,
430 446, 450, 454, 455, 459 565 444, 448, 449, 453, 457, 458, 462
431}; 566};
432#endif 567#endif
433 568
434#if YYDEBUG || YYERROR_VERBOSE 569#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
435/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 570/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
436 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 571 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
437static const char *const yytname[] = 572static const char *const yytname[] =
438{ 573{
439 "$end", "error", "$undefined", "ASM_KEYW", "ATTRIBUTE_KEYW", 574 "$end", "error", "$undefined", "ASM_KEYW", "ATTRIBUTE_KEYW",
440 "AUTO_KEYW", "BOOL_KEYW", "CHAR_KEYW", "CONST_KEYW", "DOUBLE_KEYW", 575 "AUTO_KEYW", "BOOL_KEYW", "CHAR_KEYW", "CONST_KEYW", "DOUBLE_KEYW",
441 "ENUM_KEYW", "EXTERN_KEYW", "FLOAT_KEYW", "INLINE_KEYW", "INT_KEYW", 576 "ENUM_KEYW", "EXTERN_KEYW", "EXTENSION_KEYW", "FLOAT_KEYW",
442 "LONG_KEYW", "REGISTER_KEYW", "RESTRICT_KEYW", "SHORT_KEYW", 577 "INLINE_KEYW", "INT_KEYW", "LONG_KEYW", "REGISTER_KEYW", "RESTRICT_KEYW",
443 "SIGNED_KEYW", "STATIC_KEYW", "STRUCT_KEYW", "TYPEDEF_KEYW", 578 "SHORT_KEYW", "SIGNED_KEYW", "STATIC_KEYW", "STRUCT_KEYW",
444 "UNION_KEYW", "UNSIGNED_KEYW", "VOID_KEYW", "VOLATILE_KEYW", 579 "TYPEDEF_KEYW", "UNION_KEYW", "UNSIGNED_KEYW", "VOID_KEYW",
445 "TYPEOF_KEYW", "EXPORT_SYMBOL_KEYW", "ASM_PHRASE", "ATTRIBUTE_PHRASE", 580 "VOLATILE_KEYW", "TYPEOF_KEYW", "EXPORT_SYMBOL_KEYW", "ASM_PHRASE",
446 "BRACE_PHRASE", "BRACKET_PHRASE", "EXPRESSION_PHRASE", "CHAR", "DOTS", 581 "ATTRIBUTE_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE",
447 "IDENT", "INT", "REAL", "STRING", "TYPE", "OTHER", "FILENAME", "';'", 582 "EXPRESSION_PHRASE", "CHAR", "DOTS", "IDENT", "INT", "REAL", "STRING",
448 "'}'", "','", "'('", "'*'", "')'", "'='", "'{'", "':'", "$accept", 583 "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "'*'", "')'",
449 "declaration_seq", "declaration", "@1", "declaration1", "@2", 584 "'='", "'{'", "':'", "$accept", "declaration_seq", "declaration", "@1",
450 "simple_declaration", "init_declarator_list_opt", "init_declarator_list", 585 "declaration1", "@2", "@3", "simple_declaration",
451 "init_declarator", "decl_specifier_seq_opt", "decl_specifier_seq", 586 "init_declarator_list_opt", "init_declarator_list", "init_declarator",
452 "decl_specifier", "storage_class_specifier", "type_specifier", 587 "decl_specifier_seq_opt", "decl_specifier_seq", "decl_specifier",
453 "simple_type_specifier", "ptr_operator", "cvar_qualifier_seq_opt", 588 "storage_class_specifier", "type_specifier", "simple_type_specifier",
454 "cvar_qualifier_seq", "cvar_qualifier", "declarator", 589 "ptr_operator", "cvar_qualifier_seq_opt", "cvar_qualifier_seq",
455 "direct_declarator", "nested_declarator", "direct_nested_declarator", 590 "cvar_qualifier", "declarator", "direct_declarator", "nested_declarator",
456 "parameter_declaration_clause", "parameter_declaration_list_opt", 591 "direct_nested_declarator", "parameter_declaration_clause",
457 "parameter_declaration_list", "parameter_declaration", 592 "parameter_declaration_list_opt", "parameter_declaration_list",
458 "m_abstract_declarator", "direct_m_abstract_declarator", 593 "parameter_declaration", "m_abstract_declarator",
459 "function_definition", "initializer_opt", "initializer", "class_body", 594 "direct_m_abstract_declarator", "function_definition", "initializer_opt",
460 "member_specification_opt", "member_specification", "member_declaration", 595 "initializer", "class_body", "member_specification_opt",
596 "member_specification", "member_declaration",
461 "member_declarator_list_opt", "member_declarator_list", 597 "member_declarator_list_opt", "member_declarator_list",
462 "member_declarator", "member_bitfield_declarator", "attribute_opt", 598 "member_declarator", "member_bitfield_declarator", "attribute_opt",
463 "asm_definition", "asm_phrase_opt", "export_definition", 0 599 "asm_definition", "asm_phrase_opt", "export_definition", 0
@@ -467,284 +603,266 @@ static const char *const yytname[] =
467# ifdef YYPRINT 603# ifdef YYPRINT
468/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to 604/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
469 token YYLEX-NUM. */ 605 token YYLEX-NUM. */
470static const unsigned short int yytoknum[] = 606static const yytype_uint16 yytoknum[] =
471{ 607{
472 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 608 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
473 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 609 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
474 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 610 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
475 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 611 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
476 295, 296, 297, 59, 125, 44, 40, 42, 41, 61, 612 295, 296, 297, 298, 59, 125, 44, 40, 42, 41,
477 123, 58 613 61, 123, 58
478}; 614};
479# endif 615# endif
480 616
481/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ 617/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
482static const unsigned char yyr1[] = 618static const yytype_uint8 yyr1[] =
483{ 619{
484 0, 52, 53, 53, 55, 54, 57, 56, 56, 56, 620 0, 53, 54, 54, 56, 55, 58, 57, 59, 57,
485 56, 56, 56, 56, 58, 59, 59, 60, 60, 61, 621 57, 57, 57, 57, 57, 57, 60, 61, 61, 62,
486 62, 62, 63, 63, 64, 64, 65, 65, 65, 65, 622 62, 63, 64, 64, 65, 65, 66, 66, 67, 67,
487 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 623 67, 67, 67, 68, 68, 68, 68, 68, 68, 68,
488 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 624 68, 68, 68, 68, 68, 68, 69, 69, 69, 69,
489 67, 67, 67, 67, 67, 68, 69, 69, 70, 70, 625 69, 69, 69, 69, 69, 69, 69, 70, 71, 71,
490 71, 71, 71, 71, 72, 72, 73, 73, 73, 73, 626 72, 72, 73, 73, 73, 73, 74, 74, 75, 75,
491 73, 73, 74, 74, 75, 75, 75, 75, 75, 75, 627 75, 75, 75, 75, 76, 76, 77, 77, 77, 77,
492 75, 76, 76, 76, 77, 77, 78, 78, 79, 80, 628 77, 77, 77, 78, 78, 78, 79, 79, 80, 80,
493 80, 81, 81, 81, 81, 81, 81, 81, 81, 82, 629 81, 82, 82, 83, 83, 83, 83, 83, 83, 83,
494 83, 83, 84, 85, 85, 86, 86, 87, 87, 88, 630 83, 84, 85, 85, 86, 87, 87, 88, 88, 89,
495 88, 89, 89, 90, 90, 91, 91, 91, 92, 93, 631 89, 90, 90, 91, 91, 92, 92, 93, 93, 93,
496 93, 94, 95, 95, 96 632 94, 95, 95, 96, 97, 97, 98
497}; 633};
498 634
499/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ 635/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
500static const unsigned char yyr2[] = 636static const yytype_uint8 yyr2[] =
501{ 637{
502 0, 2, 1, 2, 0, 2, 0, 3, 1, 1, 638 0, 2, 1, 2, 0, 2, 0, 4, 0, 3,
503 1, 1, 2, 2, 3, 0, 1, 1, 3, 4, 639 1, 1, 1, 1, 2, 2, 3, 0, 1, 1,
504 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 640 3, 4, 0, 1, 1, 2, 1, 1, 1, 1,
505 1, 1, 1, 5, 4, 2, 2, 2, 3, 3, 641 1, 1, 1, 1, 1, 5, 4, 2, 2, 2,
506 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 642 3, 3, 3, 2, 2, 2, 1, 1, 1, 1,
507 1, 1, 1, 1, 1, 2, 0, 1, 1, 2, 643 1, 1, 1, 1, 1, 1, 1, 2, 0, 1,
508 1, 1, 1, 1, 2, 1, 1, 4, 4, 2, 644 1, 2, 1, 1, 1, 1, 2, 1, 1, 4,
509 3, 3, 2, 1, 1, 1, 4, 4, 2, 3, 645 4, 2, 3, 3, 2, 1, 1, 1, 4, 4,
510 3, 2, 1, 3, 0, 1, 1, 3, 2, 2, 646 2, 3, 3, 2, 1, 3, 0, 1, 1, 3,
511 1, 0, 1, 1, 4, 4, 2, 3, 3, 3, 647 2, 2, 1, 0, 1, 1, 4, 4, 2, 3,
512 0, 1, 2, 3, 3, 0, 1, 1, 2, 3, 648 3, 3, 0, 1, 2, 3, 3, 0, 1, 1,
513 2, 0, 1, 1, 3, 2, 2, 1, 2, 0, 649 2, 3, 2, 0, 1, 1, 3, 2, 2, 1,
514 1, 2, 0, 1, 5 650 2, 0, 1, 2, 0, 1, 5
515}; 651};
516 652
517/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state 653/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
518 STATE-NUM when YYTABLE doesn't specify something else to do. Zero 654 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
519 means the default is an error. */ 655 means the default is an error. */
520static const unsigned char yydefact[] = 656static const yytype_uint8 yydefact[] =
521{ 657{
522 4, 4, 2, 0, 1, 3, 0, 26, 53, 44, 658 4, 4, 2, 0, 1, 3, 0, 28, 55, 46,
523 60, 51, 0, 29, 50, 30, 46, 47, 27, 63, 659 62, 53, 0, 31, 0, 52, 32, 48, 49, 29,
524 45, 48, 28, 0, 6, 0, 49, 52, 61, 0, 660 65, 47, 50, 30, 0, 8, 0, 51, 54, 63,
525 0, 0, 62, 54, 5, 8, 15, 21, 22, 24, 661 0, 0, 0, 64, 56, 5, 10, 17, 23, 24,
526 25, 31, 32, 9, 10, 11, 12, 13, 41, 37, 662 26, 27, 33, 34, 11, 12, 13, 14, 15, 43,
527 35, 0, 42, 20, 36, 43, 0, 0, 121, 66, 663 39, 6, 37, 0, 44, 22, 38, 45, 0, 0,
528 0, 56, 0, 16, 17, 0, 122, 65, 23, 40, 664 123, 68, 0, 58, 0, 18, 19, 0, 124, 67,
529 38, 0, 111, 0, 0, 107, 7, 15, 39, 0, 665 25, 42, 22, 40, 0, 113, 0, 0, 109, 9,
530 0, 0, 0, 55, 57, 58, 14, 0, 64, 123, 666 17, 41, 0, 0, 0, 0, 57, 59, 60, 16,
531 99, 119, 69, 0, 110, 104, 74, 75, 0, 0, 667 0, 66, 125, 101, 121, 71, 0, 7, 112, 106,
532 0, 119, 73, 0, 112, 113, 117, 103, 0, 108, 668 76, 77, 0, 0, 0, 121, 75, 0, 114, 115,
533 122, 0, 34, 0, 71, 70, 59, 18, 120, 100, 669 119, 105, 0, 110, 124, 0, 36, 0, 73, 72,
534 0, 91, 0, 82, 85, 86, 116, 0, 74, 0, 670 61, 20, 122, 102, 0, 93, 0, 84, 87, 88,
535 118, 72, 115, 78, 0, 109, 0, 33, 124, 0, 671 118, 0, 76, 0, 120, 74, 117, 80, 0, 111,
536 19, 101, 68, 92, 54, 0, 91, 88, 90, 67, 672 0, 35, 126, 0, 21, 103, 70, 94, 56, 0,
537 81, 0, 80, 79, 0, 0, 114, 102, 0, 93, 673 93, 90, 92, 69, 83, 0, 82, 81, 0, 0,
538 0, 89, 96, 0, 83, 87, 77, 76, 98, 97, 674 116, 104, 0, 95, 0, 91, 98, 0, 85, 89,
539 0, 0, 95, 94 675 79, 78, 100, 99, 0, 0, 97, 96
540}; 676};
541 677
542/* YYDEFGOTO[NTERM-NUM]. */ 678/* YYDEFGOTO[NTERM-NUM]. */
543static const short int yydefgoto[] = 679static const yytype_int16 yydefgoto[] =
544{ 680{
545 -1, 1, 2, 3, 34, 53, 35, 62, 63, 64, 681 -1, 1, 2, 3, 35, 72, 55, 36, 64, 65,
546 72, 37, 38, 39, 40, 41, 65, 83, 84, 42, 682 66, 75, 38, 39, 40, 41, 42, 67, 86, 87,
547 110, 67, 101, 102, 122, 123, 124, 125, 147, 148, 683 43, 114, 69, 105, 106, 126, 127, 128, 129, 151,
548 43, 140, 141, 52, 73, 74, 75, 103, 104, 105, 684 152, 44, 144, 145, 54, 76, 77, 78, 107, 108,
549 106, 119, 44, 91, 45 685 109, 110, 123, 45, 94, 46
550}; 686};
551 687
552/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 688/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
553 STATE-NUM. */ 689 STATE-NUM. */
554#define YYPACT_NINF -128 690#define YYPACT_NINF -135
555static const short int yypact[] = 691static const yytype_int16 yypact[] =
556{ 692{
557 -128, 13, -128, 329, -128, -128, 36, -128, -128, -128, 693 -135, 11, -135, 312, -135, -135, 24, -135, -135, -135,
558 -128, -128, -16, -128, -128, -128, -128, -128, -128, -128, 694 -135, -135, -23, -135, -2, -135, -135, -135, -135, -135,
559 -128, -128, -128, -25, -128, -24, -128, -128, -128, -29, 695 -135, -135, -135, -135, -17, -135, -11, -135, -135, -135,
560 -4, -22, -128, -128, -128, -128, -28, 495, -128, -128, 696 -3, 16, 26, -135, -135, -135, -135, 34, 482, -135,
561 -128, -128, -128, -128, -128, -128, -128, -128, -128, 16, 697 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
562 -23, 103, -128, 495, -23, -128, 495, 35, -128, -128, 698 -8, -135, 22, 97, -135, 482, 22, -135, 482, 56,
563 3, 15, 9, 17, -128, -28, -15, -8, -128, -128, 699 -135, -135, 12, 10, 50, 49, -135, 34, -13, 15,
564 -128, 47, 23, 44, 150, -128, -128, -28, -128, 372, 700 -135, -135, 482, -135, 47, -25, 51, 145, -135, -135,
565 33, 48, 49, -128, 15, -128, -128, -28, -128, -128, 701 34, -135, 356, 52, 71, 77, -135, 10, -135, -135,
566 -128, 64, -128, 197, -128, -128, 50, -128, 21, 65, 702 34, -135, -135, -135, 68, -135, 193, -135, -135, -135,
567 37, 64, 14, 56, 55, -128, -128, -128, 59, -128, 703 48, -135, 6, 93, 37, 68, 18, 85, 84, -135,
568 74, 57, -128, 63, -128, -128, -128, -128, -128, 76, 704 -135, -135, 87, -135, 102, 86, -135, 89, -135, -135,
569 83, 416, 84, 99, 90, -128, -128, 88, -128, 89, 705 -135, -135, -135, 90, 88, 401, 94, 100, 101, -135,
570 -128, -128, -128, -128, 241, -128, 23, -128, -128, 105, 706 -135, 99, -135, 108, -135, -135, -135, -135, 230, -135,
571 -128, -128, -128, -128, -128, 8, 46, -128, 26, -128, 707 -25, -135, -135, 105, -135, -135, -135, -135, -135, 9,
572 -128, 459, -128, -128, 92, 93, -128, -128, 94, -128, 708 42, -135, 28, -135, -135, 445, -135, -135, 119, 125,
573 96, -128, -128, 285, -128, -128, -128, -128, -128, -128, 709 -135, -135, 126, -135, 128, -135, -135, 267, -135, -135,
574 97, 100, -128, -128 710 -135, -135, -135, -135, 129, 130, -135, -135
575}; 711};
576 712
577/* YYPGOTO[NTERM-NUM]. */ 713/* YYPGOTO[NTERM-NUM]. */
578static const short int yypgoto[] = 714static const yytype_int16 yypgoto[] =
579{ 715{
580 -128, -128, 151, -128, -128, -128, 119, -128, -128, 66, 716 -135, -135, 179, -135, -135, -135, -135, -47, -135, -135,
581 0, -56, -36, -128, -128, -128, -70, -128, -128, -51, 717 91, 0, -58, -37, -135, -135, -135, -73, -135, -135,
582 -31, -128, -11, -128, -127, -128, -128, 27, -81, -128, 718 -48, -32, -135, -38, -135, -134, -135, -135, 29, -63,
583 -128, -128, -128, -19, -128, -128, 107, -128, -128, 43, 719 -135, -135, -135, -135, -20, -135, -135, 106, -135, -135,
584 86, 82, -128, -128, -128 720 45, 95, 82, -135, -135, -135
585}; 721};
586 722
587/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If 723/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
588 positive, shift that token. If negative, reduce the rule which 724 positive, shift that token. If negative, reduce the rule which
589 number is the opposite. If zero, do what YYDEFACT says. 725 number is the opposite. If zero, do what YYDEFACT says.
590 If YYTABLE_NINF, syntax error. */ 726 If YYTABLE_NINF, syntax error. */
591#define YYTABLE_NINF -107 727#define YYTABLE_NINF -109
592static const short int yytable[] = 728static const yytype_int16 yytable[] =
593{ 729{
594 79, 68, 100, 36, 81, 66, 55, 155, 59, 158, 730 82, 70, 104, 37, 159, 68, 57, 131, 79, 49,
595 85, 50, 54, 4, 89, 48, 90, 56, 60, 61, 731 162, 4, 100, 84, 50, 88, 101, 92, 10, 93,
596 49, 58, 127, 10, 92, 51, 51, 51, 100, 82, 732 52, 51, 102, 63, 71, 97, 56, 103, 20, 104,
597 100, 70, 19, 116, 88, 78, 171, 121, 93, 59, 733 85, 104, 73, 175, 53, 91, 81, 29, 125, 120,
598 -91, 28, 57, 68, 143, 32, 133, 69, 159, 60, 734 53, 33, -93, 132, 58, 70, 147, 101, 95, 61,
599 61, 146, 86, 77, 145, 61, -91, 128, 162, 96, 735 163, 137, 150, 102, 63, 80, 149, 63, -93, 62,
600 134, 97, 87, 97, 160, 161, 100, 98, 61, 98, 736 63, 166, 96, 59, 133, 138, 135, 104, 47, 48,
601 61, 80, 163, 128, 99, 146, 146, 97, 121, 46, 737 60, 61, 80, 53, 132, 167, 150, 150, 101, 147,
602 47, 113, 143, 98, 61, 68, 159, 129, 107, 131, 738 125, 62, 63, 163, 102, 63, 164, 165, 70, 149,
603 94, 95, 145, 61, 118, 121, 114, 115, 130, 135, 739 63, 98, 99, 83, 89, 90, 111, 125, 74, 122,
604 136, 99, 94, 89, 71, 137, 138, 121, 7, 8, 740 103, 117, 7, 8, 9, 10, 11, 12, 13, 125,
605 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 741 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
606 19, 20, 21, 22, 23, 139, 25, 26, 27, 28, 742 118, 26, 27, 28, 29, 30, 119, 134, 33, 139,
607 29, 142, 149, 32, 150, 151, 152, 153, 157, -20, 743 140, 98, 92, 142, -22, 141, 154, 146, 34, 161,
608 166, 167, 168, 33, 169, 172, -20, -105, 173, -20, 744 143, -22, -107, 153, -22, -22, 112, 155, 156, -22,
609 -20, 108, 5, 117, -20, 7, 8, 9, 10, 11, 745 7, 8, 9, 10, 11, 12, 13, 157, 15, 16,
610 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 746 17, 18, 19, 20, 21, 22, 23, 24, 170, 26,
611 22, 23, 76, 25, 26, 27, 28, 29, 165, 156, 747 27, 28, 29, 30, 171, 172, 33, 173, 176, 177,
612 32, 109, 126, 132, 0, 0, -20, 0, 0, 0, 748 5, 121, -22, 113, 169, 160, 34, 136, 0, -22,
613 33, 0, 0, -20, -106, 0, -20, -20, 120, 0, 749 -108, 0, -22, -22, 124, 130, 0, -22, 7, 8,
614 0, -20, 7, 8, 9, 10, 11, 12, 13, 14, 750 9, 10, 11, 12, 13, 0, 15, 16, 17, 18,
615 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 751 19, 20, 21, 22, 23, 24, 0, 26, 27, 28,
616 25, 26, 27, 28, 29, 0, 0, 32, 0, 0, 752 29, 30, 0, 0, 33, 0, 0, 0, 0, -86,
617 0, 0, -84, 0, 0, 0, 0, 33, 0, 0, 753 0, 158, 0, 0, 34, 7, 8, 9, 10, 11,
618 0, 0, 154, 0, 0, -84, 7, 8, 9, 10, 754 12, 13, -86, 15, 16, 17, 18, 19, 20, 21,
619 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 755 22, 23, 24, 0, 26, 27, 28, 29, 30, 0,
620 21, 22, 23, 0, 25, 26, 27, 28, 29, 0, 756 0, 33, 0, 0, 0, 0, -86, 0, 174, 0,
621 0, 32, 0, 0, 0, 0, -84, 0, 0, 0, 757 0, 34, 7, 8, 9, 10, 11, 12, 13, -86,
622 0, 33, 0, 0, 0, 0, 170, 0, 0, -84, 758 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
623 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 759 0, 26, 27, 28, 29, 30, 0, 0, 33, 0,
624 17, 18, 19, 20, 21, 22, 23, 0, 25, 26, 760 0, 0, 0, -86, 0, 0, 0, 0, 34, 0,
625 27, 28, 29, 0, 0, 32, 0, 0, 0, 0, 761 0, 0, 0, 6, 0, 0, -86, 7, 8, 9,
626 -84, 0, 0, 0, 0, 33, 0, 0, 0, 0,
627 6, 0, 0, -84, 7, 8, 9, 10, 11, 12,
628 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
629 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
630 0, 0, 0, 0, 0, -20, 0, 0, 0, 33,
631 0, 0, -20, 0, 0, -20, -20, 7, 8, 9,
632 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 762 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
633 20, 21, 22, 23, 0, 25, 26, 27, 28, 29, 763 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
634 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 764 30, 31, 32, 33, 0, 0, 0, 0, 0, -22,
635 0, 0, 33, 0, 0, 0, 0, 0, 0, 111, 765 0, 0, 0, 34, 0, 0, -22, 0, 0, -22,
636 112, 7, 8, 9, 10, 11, 12, 13, 14, 15, 766 -22, 7, 8, 9, 10, 11, 12, 13, 0, 15,
637 16, 17, 18, 19, 20, 21, 22, 23, 0, 25, 767 16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
638 26, 27, 28, 29, 0, 0, 32, 0, 0, 0, 768 26, 27, 28, 29, 30, 0, 0, 33, 0, 0,
639 0, 0, 143, 0, 0, 0, 144, 0, 0, 0, 769 0, 0, 0, 0, 0, 0, 0, 34, 0, 0,
640 0, 0, 145, 61, 7, 8, 9, 10, 11, 12, 770 0, 0, 0, 0, 115, 116, 7, 8, 9, 10,
641 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 771 11, 12, 13, 0, 15, 16, 17, 18, 19, 20,
642 23, 0, 25, 26, 27, 28, 29, 0, 0, 32, 772 21, 22, 23, 24, 0, 26, 27, 28, 29, 30,
643 0, 0, 0, 0, 164, 0, 0, 0, 0, 33, 773 0, 0, 33, 0, 0, 0, 0, 0, 147, 0,
644 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 774 0, 0, 148, 0, 0, 0, 0, 0, 149, 63,
645 17, 18, 19, 20, 21, 22, 23, 0, 25, 26, 775 7, 8, 9, 10, 11, 12, 13, 0, 15, 16,
646 27, 28, 29, 0, 0, 32, 0, 0, 0, 0, 776 17, 18, 19, 20, 21, 22, 23, 24, 0, 26,
647 0, 0, 0, 0, 0, 33 777 27, 28, 29, 30, 0, 0, 33, 0, 0, 0,
778 0, 168, 0, 0, 0, 0, 34, 7, 8, 9,
779 10, 11, 12, 13, 0, 15, 16, 17, 18, 19,
780 20, 21, 22, 23, 24, 0, 26, 27, 28, 29,
781 30, 0, 0, 33, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 34
648}; 783};
649 784
650static const short int yycheck[] = 785static const yytype_int16 yycheck[] =
651{ 786{
652 56, 37, 72, 3, 1, 36, 25, 134, 36, 1, 787 58, 38, 75, 3, 138, 37, 26, 1, 55, 32,
653 61, 36, 36, 0, 29, 31, 31, 46, 46, 47, 788 1, 0, 37, 1, 37, 63, 41, 30, 8, 32,
654 36, 43, 1, 8, 32, 50, 50, 50, 98, 60, 789 37, 23, 47, 48, 32, 72, 37, 52, 18, 102,
655 100, 50, 17, 84, 65, 54, 163, 93, 46, 36, 790 62, 104, 52, 167, 51, 67, 56, 27, 96, 87,
656 32, 26, 46, 79, 36, 30, 32, 31, 40, 46, 791 51, 31, 33, 37, 47, 82, 37, 41, 33, 37,
657 47, 121, 43, 53, 46, 47, 48, 36, 32, 36, 792 41, 33, 125, 47, 48, 55, 47, 48, 49, 47,
658 46, 40, 45, 40, 145, 146, 136, 46, 47, 46, 793 48, 33, 47, 47, 102, 47, 104, 140, 44, 45,
659 47, 36, 46, 36, 51, 145, 146, 40, 134, 43, 794 44, 37, 72, 51, 37, 47, 149, 150, 41, 37,
660 44, 48, 36, 46, 47, 121, 40, 98, 44, 100, 795 138, 47, 48, 41, 47, 48, 149, 150, 125, 47,
661 43, 44, 46, 47, 30, 151, 48, 48, 33, 43, 796 48, 44, 45, 37, 44, 46, 45, 155, 1, 31,
662 45, 51, 43, 29, 1, 48, 43, 163, 5, 6, 797 52, 49, 5, 6, 7, 8, 9, 10, 11, 167,
663 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 798 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
664 17, 18, 19, 20, 21, 49, 23, 24, 25, 26, 799 49, 24, 25, 26, 27, 28, 49, 34, 31, 44,
665 27, 48, 48, 30, 35, 45, 48, 48, 33, 36, 800 46, 44, 30, 44, 37, 49, 36, 49, 41, 34,
666 48, 48, 48, 40, 48, 48, 43, 44, 48, 46, 801 50, 44, 45, 49, 47, 48, 1, 46, 49, 52,
667 47, 1, 1, 87, 51, 5, 6, 7, 8, 9, 802 5, 6, 7, 8, 9, 10, 11, 49, 13, 14,
668 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 803 15, 16, 17, 18, 19, 20, 21, 22, 49, 24,
669 20, 21, 53, 23, 24, 25, 26, 27, 151, 136, 804 25, 26, 27, 28, 49, 49, 31, 49, 49, 49,
670 30, 74, 96, 101, -1, -1, 36, -1, -1, -1, 805 1, 90, 37, 77, 155, 140, 41, 105, -1, 44,
671 40, -1, -1, 43, 44, -1, 46, 47, 1, -1, 806 45, -1, 47, 48, 1, 100, -1, 52, 5, 6,
672 -1, 51, 5, 6, 7, 8, 9, 10, 11, 12, 807 7, 8, 9, 10, 11, -1, 13, 14, 15, 16,
673 13, 14, 15, 16, 17, 18, 19, 20, 21, -1, 808 17, 18, 19, 20, 21, 22, -1, 24, 25, 26,
674 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, 809 27, 28, -1, -1, 31, -1, -1, -1, -1, 36,
675 -1, -1, 35, -1, -1, -1, -1, 40, -1, -1, 810 -1, 1, -1, -1, 41, 5, 6, 7, 8, 9,
676 -1, -1, 1, -1, -1, 48, 5, 6, 7, 8, 811 10, 11, 49, 13, 14, 15, 16, 17, 18, 19,
677 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 812 20, 21, 22, -1, 24, 25, 26, 27, 28, -1,
678 19, 20, 21, -1, 23, 24, 25, 26, 27, -1, 813 -1, 31, -1, -1, -1, -1, 36, -1, 1, -1,
679 -1, 30, -1, -1, -1, -1, 35, -1, -1, -1, 814 -1, 41, 5, 6, 7, 8, 9, 10, 11, 49,
680 -1, 40, -1, -1, -1, -1, 1, -1, -1, 48, 815 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
681 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 816 -1, 24, 25, 26, 27, 28, -1, -1, 31, -1,
682 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, 817 -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
683 25, 26, 27, -1, -1, 30, -1, -1, -1, -1, 818 -1, -1, -1, 1, -1, -1, 49, 5, 6, 7,
684 35, -1, -1, -1, -1, 40, -1, -1, -1, -1,
685 1, -1, -1, 48, 5, 6, 7, 8, 9, 10,
686 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
687 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
688 -1, -1, -1, -1, -1, 36, -1, -1, -1, 40,
689 -1, -1, 43, -1, -1, 46, 47, 5, 6, 7,
690 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 819 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
691 18, 19, 20, 21, -1, 23, 24, 25, 26, 27, 820 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
692 -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, 821 28, 29, 30, 31, -1, -1, -1, -1, -1, 37,
693 -1, -1, 40, -1, -1, -1, -1, -1, -1, 47, 822 -1, -1, -1, 41, -1, -1, 44, -1, -1, 47,
694 48, 5, 6, 7, 8, 9, 10, 11, 12, 13, 823 48, 5, 6, 7, 8, 9, 10, 11, -1, 13,
695 14, 15, 16, 17, 18, 19, 20, 21, -1, 23, 824 14, 15, 16, 17, 18, 19, 20, 21, 22, -1,
696 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 825 24, 25, 26, 27, 28, -1, -1, 31, -1, -1,
697 -1, -1, 36, -1, -1, -1, 40, -1, -1, -1, 826 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
698 -1, -1, 46, 47, 5, 6, 7, 8, 9, 10, 827 -1, -1, -1, -1, 48, 49, 5, 6, 7, 8,
699 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 828 9, 10, 11, -1, 13, 14, 15, 16, 17, 18,
700 21, -1, 23, 24, 25, 26, 27, -1, -1, 30, 829 19, 20, 21, 22, -1, 24, 25, 26, 27, 28,
701 -1, -1, -1, -1, 35, -1, -1, -1, -1, 40, 830 -1, -1, 31, -1, -1, -1, -1, -1, 37, -1,
702 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 831 -1, -1, 41, -1, -1, -1, -1, -1, 47, 48,
703 15, 16, 17, 18, 19, 20, 21, -1, 23, 24, 832 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
704 25, 26, 27, -1, -1, 30, -1, -1, -1, -1, 833 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
705 -1, -1, -1, -1, -1, 40 834 25, 26, 27, 28, -1, -1, 31, -1, -1, -1,
835 -1, 36, -1, -1, -1, -1, 41, 5, 6, 7,
836 8, 9, 10, 11, -1, 13, 14, 15, 16, 17,
837 18, 19, 20, 21, 22, -1, 24, 25, 26, 27,
838 28, -1, -1, 31, -1, -1, -1, -1, -1, -1,
839 -1, -1, -1, 41
706}; 840};
707 841
708/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing 842/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
709 symbol of state STATE-NUM. */ 843 symbol of state STATE-NUM. */
710static const unsigned char yystos[] = 844static const yytype_uint8 yystos[] =
711{ 845{
712 0, 53, 54, 55, 0, 54, 1, 5, 6, 7, 846 0, 54, 55, 56, 0, 55, 1, 5, 6, 7,
713 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 847 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
714 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 848 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
715 28, 29, 30, 40, 56, 58, 62, 63, 64, 65, 849 28, 29, 30, 31, 41, 57, 60, 64, 65, 66,
716 66, 67, 71, 82, 94, 96, 43, 44, 31, 36, 850 67, 68, 69, 73, 84, 96, 98, 44, 45, 32,
717 36, 50, 85, 57, 36, 85, 46, 46, 43, 36, 851 37, 23, 37, 51, 87, 59, 37, 87, 47, 47,
718 46, 47, 59, 60, 61, 68, 72, 73, 64, 31, 852 44, 37, 47, 48, 61, 62, 63, 70, 74, 75,
719 85, 1, 62, 86, 87, 88, 58, 62, 85, 63, 853 66, 32, 58, 87, 1, 64, 88, 89, 90, 60,
720 36, 1, 72, 69, 70, 71, 43, 45, 72, 29, 854 64, 87, 65, 37, 1, 74, 71, 72, 73, 44,
721 31, 95, 32, 46, 43, 44, 36, 40, 46, 51, 855 46, 74, 30, 32, 97, 33, 47, 60, 44, 45,
722 68, 74, 75, 89, 90, 91, 92, 44, 1, 88, 856 37, 41, 47, 52, 70, 76, 77, 91, 92, 93,
723 72, 47, 48, 48, 48, 48, 71, 61, 30, 93, 857 94, 45, 1, 90, 74, 48, 49, 49, 49, 49,
724 1, 63, 76, 77, 78, 79, 92, 1, 36, 74, 858 73, 63, 31, 95, 1, 65, 78, 79, 80, 81,
725 33, 74, 93, 32, 46, 43, 45, 48, 43, 49, 859 94, 1, 37, 76, 34, 76, 95, 33, 47, 44,
726 83, 84, 48, 36, 40, 46, 68, 80, 81, 48, 860 46, 49, 44, 50, 85, 86, 49, 37, 41, 47,
727 35, 45, 48, 48, 1, 76, 91, 33, 1, 40, 861 70, 82, 83, 49, 36, 46, 49, 49, 1, 78,
728 80, 80, 32, 46, 35, 79, 48, 48, 48, 48, 862 93, 34, 1, 41, 82, 82, 33, 47, 36, 81,
729 1, 76, 48, 48 863 49, 49, 49, 49, 1, 78, 49, 49
730}; 864};
731 865
732#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
733# define YYSIZE_T __SIZE_TYPE__
734#endif
735#if ! defined (YYSIZE_T) && defined (size_t)
736# define YYSIZE_T size_t
737#endif
738#if ! defined (YYSIZE_T)
739# if defined (__STDC__) || defined (__cplusplus)
740# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
741# define YYSIZE_T size_t
742# endif
743#endif
744#if ! defined (YYSIZE_T)
745# define YYSIZE_T unsigned int
746#endif
747
748#define yyerrok (yyerrstatus = 0) 866#define yyerrok (yyerrstatus = 0)
749#define yyclearin (yychar = YYEMPTY) 867#define yyclearin (yychar = YYEMPTY)
750#define YYEMPTY (-2) 868#define YYEMPTY (-2)
@@ -770,15 +888,15 @@ do \
770 yychar = (Token); \ 888 yychar = (Token); \
771 yylval = (Value); \ 889 yylval = (Value); \
772 yytoken = YYTRANSLATE (yychar); \ 890 yytoken = YYTRANSLATE (yychar); \
773 YYPOPSTACK; \ 891 YYPOPSTACK (1); \
774 goto yybackup; \ 892 goto yybackup; \
775 } \ 893 } \
776 else \ 894 else \
777 { \ 895 { \
778 yyerror ("syntax error: cannot back up");\ 896 yyerror (YY_("syntax error: cannot back up")); \
779 YYERROR; \ 897 YYERROR; \
780 } \ 898 } \
781while (0) 899while (YYID (0))
782 900
783 901
784#define YYTERROR 1 902#define YYTERROR 1
@@ -793,7 +911,7 @@ while (0)
793#ifndef YYLLOC_DEFAULT 911#ifndef YYLLOC_DEFAULT
794# define YYLLOC_DEFAULT(Current, Rhs, N) \ 912# define YYLLOC_DEFAULT(Current, Rhs, N) \
795 do \ 913 do \
796 if (N) \ 914 if (YYID (N)) \
797 { \ 915 { \
798 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 916 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
799 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 917 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
@@ -807,7 +925,7 @@ while (0)
807 (Current).first_column = (Current).last_column = \ 925 (Current).first_column = (Current).last_column = \
808 YYRHSLOC (Rhs, 0).last_column; \ 926 YYRHSLOC (Rhs, 0).last_column; \
809 } \ 927 } \
810 while (0) 928 while (YYID (0))
811#endif 929#endif
812 930
813 931
@@ -819,8 +937,8 @@ while (0)
819# if YYLTYPE_IS_TRIVIAL 937# if YYLTYPE_IS_TRIVIAL
820# define YY_LOCATION_PRINT(File, Loc) \ 938# define YY_LOCATION_PRINT(File, Loc) \
821 fprintf (File, "%d.%d-%d.%d", \ 939 fprintf (File, "%d.%d-%d.%d", \
822 (Loc).first_line, (Loc).first_column, \ 940 (Loc).first_line, (Loc).first_column, \
823 (Loc).last_line, (Loc).last_column) 941 (Loc).last_line, (Loc).last_column)
824# else 942# else
825# define YY_LOCATION_PRINT(File, Loc) ((void) 0) 943# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
826# endif 944# endif
@@ -847,36 +965,96 @@ while (0)
847do { \ 965do { \
848 if (yydebug) \ 966 if (yydebug) \
849 YYFPRINTF Args; \ 967 YYFPRINTF Args; \
850} while (0) 968} while (YYID (0))
969
970# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
971do { \
972 if (yydebug) \
973 { \
974 YYFPRINTF (stderr, "%s ", Title); \
975 yy_symbol_print (stderr, \
976 Type, Value); \
977 YYFPRINTF (stderr, "\n"); \
978 } \
979} while (YYID (0))
851 980
852# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 981
853do { \ 982/*--------------------------------.
854 if (yydebug) \ 983| Print this symbol on YYOUTPUT. |
855 { \ 984`--------------------------------*/
856 YYFPRINTF (stderr, "%s ", Title); \ 985
857 yysymprint (stderr, \ 986/*ARGSUSED*/
858 Type, Value); \ 987#if (defined __STDC__ || defined __C99__FUNC__ \
859 YYFPRINTF (stderr, "\n"); \ 988 || defined __cplusplus || defined _MSC_VER)
860 } \ 989static void
861} while (0) 990yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
991#else
992static void
993yy_symbol_value_print (yyoutput, yytype, yyvaluep)
994 FILE *yyoutput;
995 int yytype;
996 YYSTYPE const * const yyvaluep;
997#endif
998{
999 if (!yyvaluep)
1000 return;
1001# ifdef YYPRINT
1002 if (yytype < YYNTOKENS)
1003 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1004# else
1005 YYUSE (yyoutput);
1006# endif
1007 switch (yytype)
1008 {
1009 default:
1010 break;
1011 }
1012}
1013
1014
1015/*--------------------------------.
1016| Print this symbol on YYOUTPUT. |
1017`--------------------------------*/
1018
1019#if (defined __STDC__ || defined __C99__FUNC__ \
1020 || defined __cplusplus || defined _MSC_VER)
1021static void
1022yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1023#else
1024static void
1025yy_symbol_print (yyoutput, yytype, yyvaluep)
1026 FILE *yyoutput;
1027 int yytype;
1028 YYSTYPE const * const yyvaluep;
1029#endif
1030{
1031 if (yytype < YYNTOKENS)
1032 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1033 else
1034 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1035
1036 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1037 YYFPRINTF (yyoutput, ")");
1038}
862 1039
863/*------------------------------------------------------------------. 1040/*------------------------------------------------------------------.
864| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1041| yy_stack_print -- Print the state stack from its BOTTOM up to its |
865| TOP (included). | 1042| TOP (included). |
866`------------------------------------------------------------------*/ 1043`------------------------------------------------------------------*/
867 1044
868#if defined (__STDC__) || defined (__cplusplus) 1045#if (defined __STDC__ || defined __C99__FUNC__ \
1046 || defined __cplusplus || defined _MSC_VER)
869static void 1047static void
870yy_stack_print (short int *bottom, short int *top) 1048yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
871#else 1049#else
872static void 1050static void
873yy_stack_print (bottom, top) 1051yy_stack_print (bottom, top)
874 short int *bottom; 1052 yytype_int16 *bottom;
875 short int *top; 1053 yytype_int16 *top;
876#endif 1054#endif
877{ 1055{
878 YYFPRINTF (stderr, "Stack now"); 1056 YYFPRINTF (stderr, "Stack now");
879 for (/* Nothing. */; bottom <= top; ++bottom) 1057 for (; bottom <= top; ++bottom)
880 YYFPRINTF (stderr, " %d", *bottom); 1058 YYFPRINTF (stderr, " %d", *bottom);
881 YYFPRINTF (stderr, "\n"); 1059 YYFPRINTF (stderr, "\n");
882} 1060}
@@ -885,37 +1063,45 @@ yy_stack_print (bottom, top)
885do { \ 1063do { \
886 if (yydebug) \ 1064 if (yydebug) \
887 yy_stack_print ((Bottom), (Top)); \ 1065 yy_stack_print ((Bottom), (Top)); \
888} while (0) 1066} while (YYID (0))
889 1067
890 1068
891/*------------------------------------------------. 1069/*------------------------------------------------.
892| Report that the YYRULE is going to be reduced. | 1070| Report that the YYRULE is going to be reduced. |
893`------------------------------------------------*/ 1071`------------------------------------------------*/
894 1072
895#if defined (__STDC__) || defined (__cplusplus) 1073#if (defined __STDC__ || defined __C99__FUNC__ \
1074 || defined __cplusplus || defined _MSC_VER)
896static void 1075static void
897yy_reduce_print (int yyrule) 1076yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
898#else 1077#else
899static void 1078static void
900yy_reduce_print (yyrule) 1079yy_reduce_print (yyvsp, yyrule)
1080 YYSTYPE *yyvsp;
901 int yyrule; 1081 int yyrule;
902#endif 1082#endif
903{ 1083{
1084 int yynrhs = yyr2[yyrule];
904 int yyi; 1085 int yyi;
905 unsigned int yylno = yyrline[yyrule]; 1086 unsigned long int yylno = yyrline[yyrule];
906 YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", 1087 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
907 yyrule - 1, yylno); 1088 yyrule - 1, yylno);
908 /* Print the symbols being reduced, and their result. */ 1089 /* The symbols being reduced. */
909 for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) 1090 for (yyi = 0; yyi < yynrhs; yyi++)
910 YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); 1091 {
911 YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); 1092 fprintf (stderr, " $%d = ", yyi + 1);
1093 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1094 &(yyvsp[(yyi + 1) - (yynrhs)])
1095 );
1096 fprintf (stderr, "\n");
1097 }
912} 1098}
913 1099
914# define YY_REDUCE_PRINT(Rule) \ 1100# define YY_REDUCE_PRINT(Rule) \
915do { \ 1101do { \
916 if (yydebug) \ 1102 if (yydebug) \
917 yy_reduce_print (Rule); \ 1103 yy_reduce_print (yyvsp, Rule); \
918} while (0) 1104} while (YYID (0))
919 1105
920/* Nonzero means print parse trace. It is left uninitialized so that 1106/* Nonzero means print parse trace. It is left uninitialized so that
921 multiple parsers can coexist. */ 1107 multiple parsers can coexist. */
@@ -937,7 +1123,7 @@ int yydebug;
937 if the built-in stack extension method is used). 1123 if the built-in stack extension method is used).
938 1124
939 Do not make this value too large; the results are undefined if 1125 Do not make this value too large; the results are undefined if
940 SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) 1126 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
941 evaluated with infinite-precision integer arithmetic. */ 1127 evaluated with infinite-precision integer arithmetic. */
942 1128
943#ifndef YYMAXDEPTH 1129#ifndef YYMAXDEPTH
@@ -949,45 +1135,47 @@ int yydebug;
949#if YYERROR_VERBOSE 1135#if YYERROR_VERBOSE
950 1136
951# ifndef yystrlen 1137# ifndef yystrlen
952# if defined (__GLIBC__) && defined (_STRING_H) 1138# if defined __GLIBC__ && defined _STRING_H
953# define yystrlen strlen 1139# define yystrlen strlen
954# else 1140# else
955/* Return the length of YYSTR. */ 1141/* Return the length of YYSTR. */
1142#if (defined __STDC__ || defined __C99__FUNC__ \
1143 || defined __cplusplus || defined _MSC_VER)
956static YYSIZE_T 1144static YYSIZE_T
957# if defined (__STDC__) || defined (__cplusplus)
958yystrlen (const char *yystr) 1145yystrlen (const char *yystr)
959# else 1146#else
1147static YYSIZE_T
960yystrlen (yystr) 1148yystrlen (yystr)
961 const char *yystr; 1149 const char *yystr;
962# endif 1150#endif
963{ 1151{
964 register const char *yys = yystr; 1152 YYSIZE_T yylen;
965 1153 for (yylen = 0; yystr[yylen]; yylen++)
966 while (*yys++ != '\0')
967 continue; 1154 continue;
968 1155 return yylen;
969 return yys - yystr - 1;
970} 1156}
971# endif 1157# endif
972# endif 1158# endif
973 1159
974# ifndef yystpcpy 1160# ifndef yystpcpy
975# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) 1161# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
976# define yystpcpy stpcpy 1162# define yystpcpy stpcpy
977# else 1163# else
978/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in 1164/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
979 YYDEST. */ 1165 YYDEST. */
1166#if (defined __STDC__ || defined __C99__FUNC__ \
1167 || defined __cplusplus || defined _MSC_VER)
980static char * 1168static char *
981# if defined (__STDC__) || defined (__cplusplus)
982yystpcpy (char *yydest, const char *yysrc) 1169yystpcpy (char *yydest, const char *yysrc)
983# else 1170#else
1171static char *
984yystpcpy (yydest, yysrc) 1172yystpcpy (yydest, yysrc)
985 char *yydest; 1173 char *yydest;
986 const char *yysrc; 1174 const char *yysrc;
987# endif 1175#endif
988{ 1176{
989 register char *yyd = yydest; 1177 char *yyd = yydest;
990 register const char *yys = yysrc; 1178 const char *yys = yysrc;
991 1179
992 while ((*yyd++ = *yys++) != '\0') 1180 while ((*yyd++ = *yys++) != '\0')
993 continue; 1181 continue;
@@ -997,53 +1185,171 @@ yystpcpy (yydest, yysrc)
997# endif 1185# endif
998# endif 1186# endif
999 1187
1000#endif /* !YYERROR_VERBOSE */ 1188# ifndef yytnamerr
1189/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1190 quotes and backslashes, so that it's suitable for yyerror. The
1191 heuristic is that double-quoting is unnecessary unless the string
1192 contains an apostrophe, a comma, or backslash (other than
1193 backslash-backslash). YYSTR is taken from yytname. If YYRES is
1194 null, do not copy; instead, return the length of what the result
1195 would have been. */
1196static YYSIZE_T
1197yytnamerr (char *yyres, const char *yystr)
1198{
1199 if (*yystr == '"')
1200 {
1201 YYSIZE_T yyn = 0;
1202 char const *yyp = yystr;
1203
1204 for (;;)
1205 switch (*++yyp)
1206 {
1207 case '\'':
1208 case ',':
1209 goto do_not_strip_quotes;
1210
1211 case '\\':
1212 if (*++yyp != '\\')
1213 goto do_not_strip_quotes;
1214 /* Fall through. */
1215 default:
1216 if (yyres)
1217 yyres[yyn] = *yyp;
1218 yyn++;
1219 break;
1220
1221 case '"':
1222 if (yyres)
1223 yyres[yyn] = '\0';
1224 return yyn;
1225 }
1226 do_not_strip_quotes: ;
1227 }
1001 1228
1002 1229 if (! yyres)
1230 return yystrlen (yystr);
1003 1231
1004#if YYDEBUG 1232 return yystpcpy (yyres, yystr) - yyres;
1005/*--------------------------------. 1233}
1006| Print this symbol on YYOUTPUT. | 1234# endif
1007`--------------------------------*/
1008 1235
1009#if defined (__STDC__) || defined (__cplusplus) 1236/* Copy into YYRESULT an error message about the unexpected token
1010static void 1237 YYCHAR while in state YYSTATE. Return the number of bytes copied,
1011yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) 1238 including the terminating null byte. If YYRESULT is null, do not
1012#else 1239 copy anything; just return the number of bytes that would be
1013static void 1240 copied. As a special case, return 0 if an ordinary "syntax error"
1014yysymprint (yyoutput, yytype, yyvaluep) 1241 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
1015 FILE *yyoutput; 1242 size calculation. */
1016 int yytype; 1243static YYSIZE_T
1017 YYSTYPE *yyvaluep; 1244yysyntax_error (char *yyresult, int yystate, int yychar)
1018#endif
1019{ 1245{
1020 /* Pacify ``unused variable'' warnings. */ 1246 int yyn = yypact[yystate];
1021 (void) yyvaluep;
1022 1247
1023 if (yytype < YYNTOKENS) 1248 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
1024 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); 1249 return 0;
1025 else 1250 else
1026 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1027
1028
1029# ifdef YYPRINT
1030 if (yytype < YYNTOKENS)
1031 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1032# endif
1033 switch (yytype)
1034 { 1251 {
1035 default: 1252 int yytype = YYTRANSLATE (yychar);
1036 break; 1253 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1254 YYSIZE_T yysize = yysize0;
1255 YYSIZE_T yysize1;
1256 int yysize_overflow = 0;
1257 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1258 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1259 int yyx;
1260
1261# if 0
1262 /* This is so xgettext sees the translatable formats that are
1263 constructed on the fly. */
1264 YY_("syntax error, unexpected %s");
1265 YY_("syntax error, unexpected %s, expecting %s");
1266 YY_("syntax error, unexpected %s, expecting %s or %s");
1267 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1268 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1269# endif
1270 char *yyfmt;
1271 char const *yyf;
1272 static char const yyunexpected[] = "syntax error, unexpected %s";
1273 static char const yyexpecting[] = ", expecting %s";
1274 static char const yyor[] = " or %s";
1275 char yyformat[sizeof yyunexpected
1276 + sizeof yyexpecting - 1
1277 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1278 * (sizeof yyor - 1))];
1279 char const *yyprefix = yyexpecting;
1280
1281 /* Start YYX at -YYN if negative to avoid negative indexes in
1282 YYCHECK. */
1283 int yyxbegin = yyn < 0 ? -yyn : 0;
1284
1285 /* Stay within bounds of both yycheck and yytname. */
1286 int yychecklim = YYLAST - yyn + 1;
1287 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1288 int yycount = 1;
1289
1290 yyarg[0] = yytname[yytype];
1291 yyfmt = yystpcpy (yyformat, yyunexpected);
1292
1293 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1294 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1295 {
1296 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1297 {
1298 yycount = 1;
1299 yysize = yysize0;
1300 yyformat[sizeof yyunexpected - 1] = '\0';
1301 break;
1302 }
1303 yyarg[yycount++] = yytname[yyx];
1304 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1305 yysize_overflow |= (yysize1 < yysize);
1306 yysize = yysize1;
1307 yyfmt = yystpcpy (yyfmt, yyprefix);
1308 yyprefix = yyor;
1309 }
1310
1311 yyf = YY_(yyformat);
1312 yysize1 = yysize + yystrlen (yyf);
1313 yysize_overflow |= (yysize1 < yysize);
1314 yysize = yysize1;
1315
1316 if (yysize_overflow)
1317 return YYSIZE_MAXIMUM;
1318
1319 if (yyresult)
1320 {
1321 /* Avoid sprintf, as that infringes on the user's name space.
1322 Don't have undefined behavior even if the translation
1323 produced a string with the wrong number of "%s"s. */
1324 char *yyp = yyresult;
1325 int yyi = 0;
1326 while ((*yyp = *yyf) != '\0')
1327 {
1328 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1329 {
1330 yyp += yytnamerr (yyp, yyarg[yyi++]);
1331 yyf += 2;
1332 }
1333 else
1334 {
1335 yyp++;
1336 yyf++;
1337 }
1338 }
1339 }
1340 return yysize;
1037 } 1341 }
1038 YYFPRINTF (yyoutput, ")");
1039} 1342}
1343#endif /* YYERROR_VERBOSE */
1344
1040 1345
1041#endif /* ! YYDEBUG */
1042/*-----------------------------------------------. 1346/*-----------------------------------------------.
1043| Release the memory associated to this symbol. | 1347| Release the memory associated to this symbol. |
1044`-----------------------------------------------*/ 1348`-----------------------------------------------*/
1045 1349
1046#if defined (__STDC__) || defined (__cplusplus) 1350/*ARGSUSED*/
1351#if (defined __STDC__ || defined __C99__FUNC__ \
1352 || defined __cplusplus || defined _MSC_VER)
1047static void 1353static void
1048yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) 1354yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1049#else 1355#else
@@ -1054,8 +1360,7 @@ yydestruct (yymsg, yytype, yyvaluep)
1054 YYSTYPE *yyvaluep; 1360 YYSTYPE *yyvaluep;
1055#endif 1361#endif
1056{ 1362{
1057 /* Pacify ``unused variable'' warnings. */ 1363 YYUSE (yyvaluep);
1058 (void) yyvaluep;
1059 1364
1060 if (!yymsg) 1365 if (!yymsg)
1061 yymsg = "Deleting"; 1366 yymsg = "Deleting";
@@ -1065,7 +1370,7 @@ yydestruct (yymsg, yytype, yyvaluep)
1065 { 1370 {
1066 1371
1067 default: 1372 default:
1068 break; 1373 break;
1069 } 1374 }
1070} 1375}
1071 1376
@@ -1073,13 +1378,13 @@ yydestruct (yymsg, yytype, yyvaluep)
1073/* Prevent warnings from -Wmissing-prototypes. */ 1378/* Prevent warnings from -Wmissing-prototypes. */
1074 1379
1075#ifdef YYPARSE_PARAM 1380#ifdef YYPARSE_PARAM
1076# if defined (__STDC__) || defined (__cplusplus) 1381#if defined __STDC__ || defined __cplusplus
1077int yyparse (void *YYPARSE_PARAM); 1382int yyparse (void *YYPARSE_PARAM);
1078# else 1383#else
1079int yyparse (); 1384int yyparse ();
1080# endif 1385#endif
1081#else /* ! YYPARSE_PARAM */ 1386#else /* ! YYPARSE_PARAM */
1082#if defined (__STDC__) || defined (__cplusplus) 1387#if defined __STDC__ || defined __cplusplus
1083int yyparse (void); 1388int yyparse (void);
1084#else 1389#else
1085int yyparse (); 1390int yyparse ();
@@ -1104,14 +1409,18 @@ int yynerrs;
1104`----------*/ 1409`----------*/
1105 1410
1106#ifdef YYPARSE_PARAM 1411#ifdef YYPARSE_PARAM
1107# if defined (__STDC__) || defined (__cplusplus) 1412#if (defined __STDC__ || defined __C99__FUNC__ \
1108int yyparse (void *YYPARSE_PARAM) 1413 || defined __cplusplus || defined _MSC_VER)
1109# else 1414int
1110int yyparse (YYPARSE_PARAM) 1415yyparse (void *YYPARSE_PARAM)
1111 void *YYPARSE_PARAM; 1416#else
1112# endif 1417int
1418yyparse (YYPARSE_PARAM)
1419 void *YYPARSE_PARAM;
1420#endif
1113#else /* ! YYPARSE_PARAM */ 1421#else /* ! YYPARSE_PARAM */
1114#if defined (__STDC__) || defined (__cplusplus) 1422#if (defined __STDC__ || defined __C99__FUNC__ \
1423 || defined __cplusplus || defined _MSC_VER)
1115int 1424int
1116yyparse (void) 1425yyparse (void)
1117#else 1426#else
@@ -1122,13 +1431,19 @@ yyparse ()
1122#endif 1431#endif
1123{ 1432{
1124 1433
1125 register int yystate; 1434 int yystate;
1126 register int yyn; 1435 int yyn;
1127 int yyresult; 1436 int yyresult;
1128 /* Number of tokens to shift before error messages enabled. */ 1437 /* Number of tokens to shift before error messages enabled. */
1129 int yyerrstatus; 1438 int yyerrstatus;
1130 /* Look-ahead token as an internal (translated) token number. */ 1439 /* Look-ahead token as an internal (translated) token number. */
1131 int yytoken = 0; 1440 int yytoken = 0;
1441#if YYERROR_VERBOSE
1442 /* Buffer for error messages, and its allocated size. */
1443 char yymsgbuf[128];
1444 char *yymsg = yymsgbuf;
1445 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1446#endif
1132 1447
1133 /* Three stacks and their tools: 1448 /* Three stacks and their tools:
1134 `yyss': related to states, 1449 `yyss': related to states,
@@ -1139,18 +1454,18 @@ yyparse ()
1139 to reallocate them elsewhere. */ 1454 to reallocate them elsewhere. */
1140 1455
1141 /* The state stack. */ 1456 /* The state stack. */
1142 short int yyssa[YYINITDEPTH]; 1457 yytype_int16 yyssa[YYINITDEPTH];
1143 short int *yyss = yyssa; 1458 yytype_int16 *yyss = yyssa;
1144 register short int *yyssp; 1459 yytype_int16 *yyssp;
1145 1460
1146 /* The semantic value stack. */ 1461 /* The semantic value stack. */
1147 YYSTYPE yyvsa[YYINITDEPTH]; 1462 YYSTYPE yyvsa[YYINITDEPTH];
1148 YYSTYPE *yyvs = yyvsa; 1463 YYSTYPE *yyvs = yyvsa;
1149 register YYSTYPE *yyvsp; 1464 YYSTYPE *yyvsp;
1150 1465
1151 1466
1152 1467
1153#define YYPOPSTACK (yyvsp--, yyssp--) 1468#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1154 1469
1155 YYSIZE_T yystacksize = YYINITDEPTH; 1470 YYSIZE_T yystacksize = YYINITDEPTH;
1156 1471
@@ -1159,9 +1474,9 @@ yyparse ()
1159 YYSTYPE yyval; 1474 YYSTYPE yyval;
1160 1475
1161 1476
1162 /* When reducing, the number of symbols on the RHS of the reduced 1477 /* The number of symbols on the RHS of the reduced rule.
1163 rule. */ 1478 Keep to zero when no symbol should be popped. */
1164 int yylen; 1479 int yylen = 0;
1165 1480
1166 YYDPRINTF ((stderr, "Starting parse\n")); 1481 YYDPRINTF ((stderr, "Starting parse\n"));
1167 1482
@@ -1178,9 +1493,6 @@ yyparse ()
1178 yyssp = yyss; 1493 yyssp = yyss;
1179 yyvsp = yyvs; 1494 yyvsp = yyvs;
1180 1495
1181
1182 yyvsp[0] = yylval;
1183
1184 goto yysetstate; 1496 goto yysetstate;
1185 1497
1186/*------------------------------------------------------------. 1498/*------------------------------------------------------------.
@@ -1188,8 +1500,7 @@ yyparse ()
1188`------------------------------------------------------------*/ 1500`------------------------------------------------------------*/
1189 yynewstate: 1501 yynewstate:
1190 /* In all cases, when you get here, the value and location stacks 1502 /* In all cases, when you get here, the value and location stacks
1191 have just been pushed. so pushing a state here evens the stacks. 1503 have just been pushed. So pushing a state here evens the stacks. */
1192 */
1193 yyssp++; 1504 yyssp++;
1194 1505
1195 yysetstate: 1506 yysetstate:
@@ -1202,18 +1513,18 @@ yyparse ()
1202 1513
1203#ifdef yyoverflow 1514#ifdef yyoverflow
1204 { 1515 {
1205 /* Give user a chance to reallocate the stack. Use copies of 1516 /* Give user a chance to reallocate the stack. Use copies of
1206 these so that the &'s don't force the real ones into 1517 these so that the &'s don't force the real ones into
1207 memory. */ 1518 memory. */
1208 YYSTYPE *yyvs1 = yyvs; 1519 YYSTYPE *yyvs1 = yyvs;
1209 short int *yyss1 = yyss; 1520 yytype_int16 *yyss1 = yyss;
1210 1521
1211 1522
1212 /* Each stack pointer address is followed by the size of the 1523 /* Each stack pointer address is followed by the size of the
1213 data in use in that stack, in bytes. This used to be a 1524 data in use in that stack, in bytes. This used to be a
1214 conditional around just the two extra args, but that might 1525 conditional around just the two extra args, but that might
1215 be undefined if yyoverflow is a macro. */ 1526 be undefined if yyoverflow is a macro. */
1216 yyoverflow ("parser stack overflow", 1527 yyoverflow (YY_("memory exhausted"),
1217 &yyss1, yysize * sizeof (*yyssp), 1528 &yyss1, yysize * sizeof (*yyssp),
1218 &yyvs1, yysize * sizeof (*yyvsp), 1529 &yyvs1, yysize * sizeof (*yyvsp),
1219 1530
@@ -1224,21 +1535,21 @@ yyparse ()
1224 } 1535 }
1225#else /* no yyoverflow */ 1536#else /* no yyoverflow */
1226# ifndef YYSTACK_RELOCATE 1537# ifndef YYSTACK_RELOCATE
1227 goto yyoverflowlab; 1538 goto yyexhaustedlab;
1228# else 1539# else
1229 /* Extend the stack our own way. */ 1540 /* Extend the stack our own way. */
1230 if (YYMAXDEPTH <= yystacksize) 1541 if (YYMAXDEPTH <= yystacksize)
1231 goto yyoverflowlab; 1542 goto yyexhaustedlab;
1232 yystacksize *= 2; 1543 yystacksize *= 2;
1233 if (YYMAXDEPTH < yystacksize) 1544 if (YYMAXDEPTH < yystacksize)
1234 yystacksize = YYMAXDEPTH; 1545 yystacksize = YYMAXDEPTH;
1235 1546
1236 { 1547 {
1237 short int *yyss1 = yyss; 1548 yytype_int16 *yyss1 = yyss;
1238 union yyalloc *yyptr = 1549 union yyalloc *yyptr =
1239 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); 1550 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1240 if (! yyptr) 1551 if (! yyptr)
1241 goto yyoverflowlab; 1552 goto yyexhaustedlab;
1242 YYSTACK_RELOCATE (yyss); 1553 YYSTACK_RELOCATE (yyss);
1243 YYSTACK_RELOCATE (yyvs); 1554 YYSTACK_RELOCATE (yyvs);
1244 1555
@@ -1269,12 +1580,10 @@ yyparse ()
1269`-----------*/ 1580`-----------*/
1270yybackup: 1581yybackup:
1271 1582
1272/* Do appropriate processing given the current state. */ 1583 /* Do appropriate processing given the current state. Read a
1273/* Read a look-ahead token if we need one and don't already have one. */ 1584 look-ahead token if we need one and don't already have one. */
1274/* yyresume: */
1275 1585
1276 /* First try to decide what to do without reference to look-ahead token. */ 1586 /* First try to decide what to do without reference to look-ahead token. */
1277
1278 yyn = yypact[yystate]; 1587 yyn = yypact[yystate];
1279 if (yyn == YYPACT_NINF) 1588 if (yyn == YYPACT_NINF)
1280 goto yydefault; 1589 goto yydefault;
@@ -1316,22 +1625,21 @@ yybackup:
1316 if (yyn == YYFINAL) 1625 if (yyn == YYFINAL)
1317 YYACCEPT; 1626 YYACCEPT;
1318 1627
1628 /* Count tokens shifted since error; after three, turn off error
1629 status. */
1630 if (yyerrstatus)
1631 yyerrstatus--;
1632
1319 /* Shift the look-ahead token. */ 1633 /* Shift the look-ahead token. */
1320 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1634 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1321 1635
1322 /* Discard the token being shifted unless it is eof. */ 1636 /* Discard the shifted token unless it is eof. */
1323 if (yychar != YYEOF) 1637 if (yychar != YYEOF)
1324 yychar = YYEMPTY; 1638 yychar = YYEMPTY;
1325 1639
1640 yystate = yyn;
1326 *++yyvsp = yylval; 1641 *++yyvsp = yylval;
1327 1642
1328
1329 /* Count tokens shifted since error; after three, turn off error
1330 status. */
1331 if (yyerrstatus)
1332 yyerrstatus--;
1333
1334 yystate = yyn;
1335 goto yynewstate; 1643 goto yynewstate;
1336 1644
1337 1645
@@ -1367,457 +1675,466 @@ yyreduce:
1367 switch (yyn) 1675 switch (yyn)
1368 { 1676 {
1369 case 4: 1677 case 4:
1370#line 107 "scripts/genksyms/parse.y" 1678#line 108 "scripts/genksyms/parse.y"
1371 { is_typedef = 0; is_extern = 0; current_name = NULL; decl_spec = NULL; ;} 1679 { is_typedef = 0; is_extern = 0; current_name = NULL; decl_spec = NULL; ;}
1372 break; 1680 break;
1373 1681
1374 case 5: 1682 case 5:
1375#line 109 "scripts/genksyms/parse.y" 1683#line 110 "scripts/genksyms/parse.y"
1376 { free_list(*(yyvsp[0]), NULL); *(yyvsp[0]) = NULL; ;} 1684 { free_list(*(yyvsp[(2) - (2)]), NULL); *(yyvsp[(2) - (2)]) = NULL; ;}
1377 break; 1685 break;
1378 1686
1379 case 6: 1687 case 6:
1380#line 113 "scripts/genksyms/parse.y" 1688#line 114 "scripts/genksyms/parse.y"
1381 { is_typedef = 1; ;} 1689 { is_typedef = 1; ;}
1382 break; 1690 break;
1383 1691
1384 case 7: 1692 case 7:
1385#line 114 "scripts/genksyms/parse.y" 1693#line 115 "scripts/genksyms/parse.y"
1386 { (yyval) = (yyvsp[0]); ;} 1694 { (yyval) = (yyvsp[(4) - (4)]); ;}
1387 break; 1695 break;
1388 1696
1389 case 12: 1697 case 8:
1390#line 119 "scripts/genksyms/parse.y" 1698#line 116 "scripts/genksyms/parse.y"
1391 { (yyval) = (yyvsp[0]); ;} 1699 { is_typedef = 1; ;}
1392 break; 1700 break;
1393 1701
1394 case 13: 1702 case 9:
1395#line 120 "scripts/genksyms/parse.y" 1703#line 117 "scripts/genksyms/parse.y"
1396 { (yyval) = (yyvsp[0]); ;} 1704 { (yyval) = (yyvsp[(3) - (3)]); ;}
1397 break; 1705 break;
1398 1706
1399 case 14: 1707 case 14:
1400#line 125 "scripts/genksyms/parse.y" 1708#line 122 "scripts/genksyms/parse.y"
1709 { (yyval) = (yyvsp[(2) - (2)]); ;}
1710 break;
1711
1712 case 15:
1713#line 123 "scripts/genksyms/parse.y"
1714 { (yyval) = (yyvsp[(2) - (2)]); ;}
1715 break;
1716
1717 case 16:
1718#line 128 "scripts/genksyms/parse.y"
1401 { if (current_name) { 1719 { if (current_name) {
1402 struct string_list *decl = (*(yyvsp[0]))->next; 1720 struct string_list *decl = (*(yyvsp[(3) - (3)]))->next;
1403 (*(yyvsp[0]))->next = NULL; 1721 (*(yyvsp[(3) - (3)]))->next = NULL;
1404 add_symbol(current_name, 1722 add_symbol(current_name,
1405 is_typedef ? SYM_TYPEDEF : SYM_NORMAL, 1723 is_typedef ? SYM_TYPEDEF : SYM_NORMAL,
1406 decl, is_extern); 1724 decl, is_extern);
1407 current_name = NULL; 1725 current_name = NULL;
1408 } 1726 }
1409 (yyval) = (yyvsp[0]); 1727 (yyval) = (yyvsp[(3) - (3)]);
1410 ;} 1728 ;}
1411 break; 1729 break;
1412 1730
1413 case 15: 1731 case 17:
1414#line 138 "scripts/genksyms/parse.y" 1732#line 141 "scripts/genksyms/parse.y"
1415 { (yyval) = NULL; ;} 1733 { (yyval) = NULL; ;}
1416 break; 1734 break;
1417 1735
1418 case 17: 1736 case 19:
1419#line 144 "scripts/genksyms/parse.y" 1737#line 147 "scripts/genksyms/parse.y"
1420 { struct string_list *decl = *(yyvsp[0]); 1738 { struct string_list *decl = *(yyvsp[(1) - (1)]);
1421 *(yyvsp[0]) = NULL; 1739 *(yyvsp[(1) - (1)]) = NULL;
1422 add_symbol(current_name, 1740 add_symbol(current_name,
1423 is_typedef ? SYM_TYPEDEF : SYM_NORMAL, decl, is_extern); 1741 is_typedef ? SYM_TYPEDEF : SYM_NORMAL, decl, is_extern);
1424 current_name = NULL; 1742 current_name = NULL;
1425 (yyval) = (yyvsp[0]); 1743 (yyval) = (yyvsp[(1) - (1)]);
1426 ;} 1744 ;}
1427 break; 1745 break;
1428 1746
1429 case 18: 1747 case 20:
1430#line 152 "scripts/genksyms/parse.y" 1748#line 155 "scripts/genksyms/parse.y"
1431 { struct string_list *decl = *(yyvsp[0]); 1749 { struct string_list *decl = *(yyvsp[(3) - (3)]);
1432 *(yyvsp[0]) = NULL; 1750 *(yyvsp[(3) - (3)]) = NULL;
1433 free_list(*(yyvsp[-1]), NULL); 1751 free_list(*(yyvsp[(2) - (3)]), NULL);
1434 *(yyvsp[-1]) = decl_spec; 1752 *(yyvsp[(2) - (3)]) = decl_spec;
1435 add_symbol(current_name, 1753 add_symbol(current_name,
1436 is_typedef ? SYM_TYPEDEF : SYM_NORMAL, decl, is_extern); 1754 is_typedef ? SYM_TYPEDEF : SYM_NORMAL, decl, is_extern);
1437 current_name = NULL; 1755 current_name = NULL;
1438 (yyval) = (yyvsp[0]); 1756 (yyval) = (yyvsp[(3) - (3)]);
1439 ;} 1757 ;}
1440 break; 1758 break;
1441 1759
1442 case 19: 1760 case 21:
1443#line 165 "scripts/genksyms/parse.y" 1761#line 168 "scripts/genksyms/parse.y"
1444 { (yyval) = (yyvsp[0]) ? (yyvsp[0]) : (yyvsp[-1]) ? (yyvsp[-1]) : (yyvsp[-2]) ? (yyvsp[-2]) : (yyvsp[-3]); ;} 1762 { (yyval) = (yyvsp[(4) - (4)]) ? (yyvsp[(4) - (4)]) : (yyvsp[(3) - (4)]) ? (yyvsp[(3) - (4)]) : (yyvsp[(2) - (4)]) ? (yyvsp[(2) - (4)]) : (yyvsp[(1) - (4)]); ;}
1445 break; 1763 break;
1446 1764
1447 case 20: 1765 case 22:
1448#line 170 "scripts/genksyms/parse.y" 1766#line 173 "scripts/genksyms/parse.y"
1449 { decl_spec = NULL; ;} 1767 { decl_spec = NULL; ;}
1450 break; 1768 break;
1451 1769
1452 case 22: 1770 case 24:
1453#line 175 "scripts/genksyms/parse.y" 1771#line 178 "scripts/genksyms/parse.y"
1454 { decl_spec = *(yyvsp[0]); ;} 1772 { decl_spec = *(yyvsp[(1) - (1)]); ;}
1455 break; 1773 break;
1456 1774
1457 case 23: 1775 case 25:
1458#line 176 "scripts/genksyms/parse.y" 1776#line 179 "scripts/genksyms/parse.y"
1459 { decl_spec = *(yyvsp[0]); ;} 1777 { decl_spec = *(yyvsp[(2) - (2)]); ;}
1460 break; 1778 break;
1461 1779
1462 case 24: 1780 case 26:
1463#line 181 "scripts/genksyms/parse.y" 1781#line 184 "scripts/genksyms/parse.y"
1464 { /* Version 2 checksumming ignores storage class, as that 1782 { /* Version 2 checksumming ignores storage class, as that
1465 is really irrelevant to the linkage. */ 1783 is really irrelevant to the linkage. */
1466 remove_node((yyvsp[0])); 1784 remove_node((yyvsp[(1) - (1)]));
1467 (yyval) = (yyvsp[0]); 1785 (yyval) = (yyvsp[(1) - (1)]);
1468 ;} 1786 ;}
1469 break; 1787 break;
1470 1788
1471 case 29: 1789 case 31:
1472#line 193 "scripts/genksyms/parse.y" 1790#line 196 "scripts/genksyms/parse.y"
1473 { is_extern = 1; (yyval) = (yyvsp[0]); ;} 1791 { is_extern = 1; (yyval) = (yyvsp[(1) - (1)]); ;}
1474 break; 1792 break;
1475 1793
1476 case 30: 1794 case 32:
1477#line 194 "scripts/genksyms/parse.y" 1795#line 197 "scripts/genksyms/parse.y"
1478 { is_extern = 0; (yyval) = (yyvsp[0]); ;} 1796 { is_extern = 0; (yyval) = (yyvsp[(1) - (1)]); ;}
1479 break; 1797 break;
1480 1798
1481 case 35: 1799 case 37:
1482#line 206 "scripts/genksyms/parse.y" 1800#line 209 "scripts/genksyms/parse.y"
1483 { remove_node((yyvsp[-1])); (*(yyvsp[0]))->tag = SYM_STRUCT; (yyval) = (yyvsp[0]); ;} 1801 { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_STRUCT; (yyval) = (yyvsp[(2) - (2)]); ;}
1484 break; 1802 break;
1485 1803
1486 case 36: 1804 case 38:
1487#line 208 "scripts/genksyms/parse.y" 1805#line 211 "scripts/genksyms/parse.y"
1488 { remove_node((yyvsp[-1])); (*(yyvsp[0]))->tag = SYM_UNION; (yyval) = (yyvsp[0]); ;} 1806 { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_UNION; (yyval) = (yyvsp[(2) - (2)]); ;}
1489 break; 1807 break;
1490 1808
1491 case 37: 1809 case 39:
1492#line 210 "scripts/genksyms/parse.y" 1810#line 213 "scripts/genksyms/parse.y"
1493 { remove_node((yyvsp[-1])); (*(yyvsp[0]))->tag = SYM_ENUM; (yyval) = (yyvsp[0]); ;} 1811 { remove_node((yyvsp[(1) - (2)])); (*(yyvsp[(2) - (2)]))->tag = SYM_ENUM; (yyval) = (yyvsp[(2) - (2)]); ;}
1494 break; 1812 break;
1495 1813
1496 case 38: 1814 case 40:
1497#line 214 "scripts/genksyms/parse.y" 1815#line 217 "scripts/genksyms/parse.y"
1498 { struct string_list *s = *(yyvsp[0]), *i = *(yyvsp[-1]), *r; 1816 { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r;
1499 r = copy_node(i); r->tag = SYM_STRUCT; 1817 r = copy_node(i); r->tag = SYM_STRUCT;
1500 r->next = (*(yyvsp[-2]))->next; *(yyvsp[0]) = r; (*(yyvsp[-2]))->next = NULL; 1818 r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL;
1501 add_symbol(i->string, SYM_STRUCT, s, is_extern); 1819 add_symbol(i->string, SYM_STRUCT, s, is_extern);
1502 (yyval) = (yyvsp[0]); 1820 (yyval) = (yyvsp[(3) - (3)]);
1503 ;} 1821 ;}
1504 break; 1822 break;
1505 1823
1506 case 39: 1824 case 41:
1507#line 221 "scripts/genksyms/parse.y" 1825#line 224 "scripts/genksyms/parse.y"
1508 { struct string_list *s = *(yyvsp[0]), *i = *(yyvsp[-1]), *r; 1826 { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r;
1509 r = copy_node(i); r->tag = SYM_UNION; 1827 r = copy_node(i); r->tag = SYM_UNION;
1510 r->next = (*(yyvsp[-2]))->next; *(yyvsp[0]) = r; (*(yyvsp[-2]))->next = NULL; 1828 r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL;
1511 add_symbol(i->string, SYM_UNION, s, is_extern); 1829 add_symbol(i->string, SYM_UNION, s, is_extern);
1512 (yyval) = (yyvsp[0]); 1830 (yyval) = (yyvsp[(3) - (3)]);
1513 ;} 1831 ;}
1514 break; 1832 break;
1515 1833
1516 case 40: 1834 case 42:
1517#line 228 "scripts/genksyms/parse.y" 1835#line 231 "scripts/genksyms/parse.y"
1518 { struct string_list *s = *(yyvsp[0]), *i = *(yyvsp[-1]), *r; 1836 { struct string_list *s = *(yyvsp[(3) - (3)]), *i = *(yyvsp[(2) - (3)]), *r;
1519 r = copy_node(i); r->tag = SYM_ENUM; 1837 r = copy_node(i); r->tag = SYM_ENUM;
1520 r->next = (*(yyvsp[-2]))->next; *(yyvsp[0]) = r; (*(yyvsp[-2]))->next = NULL; 1838 r->next = (*(yyvsp[(1) - (3)]))->next; *(yyvsp[(3) - (3)]) = r; (*(yyvsp[(1) - (3)]))->next = NULL;
1521 add_symbol(i->string, SYM_ENUM, s, is_extern); 1839 add_symbol(i->string, SYM_ENUM, s, is_extern);
1522 (yyval) = (yyvsp[0]); 1840 (yyval) = (yyvsp[(3) - (3)]);
1523 ;} 1841 ;}
1524 break; 1842 break;
1525 1843
1526 case 41: 1844 case 43:
1527#line 236 "scripts/genksyms/parse.y" 1845#line 239 "scripts/genksyms/parse.y"
1528 { (yyval) = (yyvsp[0]); ;} 1846 { (yyval) = (yyvsp[(2) - (2)]); ;}
1529 break; 1847 break;
1530 1848
1531 case 42: 1849 case 44:
1532#line 237 "scripts/genksyms/parse.y" 1850#line 240 "scripts/genksyms/parse.y"
1533 { (yyval) = (yyvsp[0]); ;} 1851 { (yyval) = (yyvsp[(2) - (2)]); ;}
1534 break; 1852 break;
1535 1853
1536 case 43: 1854 case 45:
1537#line 238 "scripts/genksyms/parse.y" 1855#line 241 "scripts/genksyms/parse.y"
1538 { (yyval) = (yyvsp[0]); ;} 1856 { (yyval) = (yyvsp[(2) - (2)]); ;}
1539 break; 1857 break;
1540 1858
1541 case 54: 1859 case 56:
1542#line 252 "scripts/genksyms/parse.y" 1860#line 255 "scripts/genksyms/parse.y"
1543 { (*(yyvsp[0]))->tag = SYM_TYPEDEF; (yyval) = (yyvsp[0]); ;} 1861 { (*(yyvsp[(1) - (1)]))->tag = SYM_TYPEDEF; (yyval) = (yyvsp[(1) - (1)]); ;}
1544 break; 1862 break;
1545 1863
1546 case 55: 1864 case 57:
1547#line 257 "scripts/genksyms/parse.y" 1865#line 260 "scripts/genksyms/parse.y"
1548 { (yyval) = (yyvsp[0]) ? (yyvsp[0]) : (yyvsp[-1]); ;} 1866 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;}
1549 break; 1867 break;
1550 1868
1551 case 56: 1869 case 58:
1552#line 261 "scripts/genksyms/parse.y" 1870#line 264 "scripts/genksyms/parse.y"
1553 { (yyval) = NULL; ;} 1871 { (yyval) = NULL; ;}
1554 break; 1872 break;
1555 1873
1556 case 59: 1874 case 61:
1557#line 267 "scripts/genksyms/parse.y" 1875#line 270 "scripts/genksyms/parse.y"
1558 { (yyval) = (yyvsp[0]); ;} 1876 { (yyval) = (yyvsp[(2) - (2)]); ;}
1559 break; 1877 break;
1560 1878
1561 case 63: 1879 case 65:
1562#line 273 "scripts/genksyms/parse.y" 1880#line 276 "scripts/genksyms/parse.y"
1563 { /* restrict has no effect in prototypes so ignore it */ 1881 { /* restrict has no effect in prototypes so ignore it */
1564 remove_node((yyvsp[0])); 1882 remove_node((yyvsp[(1) - (1)]));
1565 (yyval) = (yyvsp[0]); 1883 (yyval) = (yyvsp[(1) - (1)]);
1566 ;} 1884 ;}
1567 break; 1885 break;
1568 1886
1569 case 64: 1887 case 66:
1570#line 280 "scripts/genksyms/parse.y" 1888#line 283 "scripts/genksyms/parse.y"
1571 { (yyval) = (yyvsp[0]); ;} 1889 { (yyval) = (yyvsp[(2) - (2)]); ;}
1572 break; 1890 break;
1573 1891
1574 case 66: 1892 case 68:
1575#line 286 "scripts/genksyms/parse.y" 1893#line 289 "scripts/genksyms/parse.y"
1576 { if (current_name != NULL) { 1894 { if (current_name != NULL) {
1577 error_with_pos("unexpected second declaration name"); 1895 error_with_pos("unexpected second declaration name");
1578 YYERROR; 1896 YYERROR;
1579 } else { 1897 } else {
1580 current_name = (*(yyvsp[0]))->string; 1898 current_name = (*(yyvsp[(1) - (1)]))->string;
1581 (yyval) = (yyvsp[0]); 1899 (yyval) = (yyvsp[(1) - (1)]);
1582 } 1900 }
1583 ;} 1901 ;}
1584 break; 1902 break;
1585 1903
1586 case 67:
1587#line 295 "scripts/genksyms/parse.y"
1588 { (yyval) = (yyvsp[0]); ;}
1589 break;
1590
1591 case 68:
1592#line 297 "scripts/genksyms/parse.y"
1593 { (yyval) = (yyvsp[0]); ;}
1594 break;
1595
1596 case 69: 1904 case 69:
1597#line 299 "scripts/genksyms/parse.y" 1905#line 298 "scripts/genksyms/parse.y"
1598 { (yyval) = (yyvsp[0]); ;} 1906 { (yyval) = (yyvsp[(4) - (4)]); ;}
1599 break; 1907 break;
1600 1908
1601 case 70: 1909 case 70:
1602#line 301 "scripts/genksyms/parse.y" 1910#line 300 "scripts/genksyms/parse.y"
1603 { (yyval) = (yyvsp[0]); ;} 1911 { (yyval) = (yyvsp[(4) - (4)]); ;}
1604 break; 1912 break;
1605 1913
1606 case 71: 1914 case 71:
1607#line 303 "scripts/genksyms/parse.y" 1915#line 302 "scripts/genksyms/parse.y"
1608 { (yyval) = (yyvsp[0]); ;} 1916 { (yyval) = (yyvsp[(2) - (2)]); ;}
1609 break; 1917 break;
1610 1918
1611 case 72: 1919 case 72:
1612#line 309 "scripts/genksyms/parse.y" 1920#line 304 "scripts/genksyms/parse.y"
1613 { (yyval) = (yyvsp[0]); ;} 1921 { (yyval) = (yyvsp[(3) - (3)]); ;}
1614 break; 1922 break;
1615 1923
1616 case 76: 1924 case 73:
1617#line 317 "scripts/genksyms/parse.y" 1925#line 306 "scripts/genksyms/parse.y"
1618 { (yyval) = (yyvsp[0]); ;} 1926 { (yyval) = (yyvsp[(3) - (3)]); ;}
1619 break; 1927 break;
1620 1928
1621 case 77: 1929 case 74:
1622#line 319 "scripts/genksyms/parse.y" 1930#line 312 "scripts/genksyms/parse.y"
1623 { (yyval) = (yyvsp[0]); ;} 1931 { (yyval) = (yyvsp[(2) - (2)]); ;}
1624 break; 1932 break;
1625 1933
1626 case 78: 1934 case 78:
1627#line 321 "scripts/genksyms/parse.y" 1935#line 320 "scripts/genksyms/parse.y"
1628 { (yyval) = (yyvsp[0]); ;} 1936 { (yyval) = (yyvsp[(4) - (4)]); ;}
1629 break; 1937 break;
1630 1938
1631 case 79: 1939 case 79:
1632#line 323 "scripts/genksyms/parse.y" 1940#line 322 "scripts/genksyms/parse.y"
1633 { (yyval) = (yyvsp[0]); ;} 1941 { (yyval) = (yyvsp[(4) - (4)]); ;}
1634 break; 1942 break;
1635 1943
1636 case 80: 1944 case 80:
1637#line 325 "scripts/genksyms/parse.y" 1945#line 324 "scripts/genksyms/parse.y"
1638 { (yyval) = (yyvsp[0]); ;} 1946 { (yyval) = (yyvsp[(2) - (2)]); ;}
1639 break; 1947 break;
1640 1948
1641 case 81: 1949 case 81:
1642#line 329 "scripts/genksyms/parse.y" 1950#line 326 "scripts/genksyms/parse.y"
1643 { (yyval) = (yyvsp[0]); ;} 1951 { (yyval) = (yyvsp[(3) - (3)]); ;}
1644 break; 1952 break;
1645 1953
1646 case 83: 1954 case 82:
1647#line 331 "scripts/genksyms/parse.y" 1955#line 328 "scripts/genksyms/parse.y"
1648 { (yyval) = (yyvsp[0]); ;} 1956 { (yyval) = (yyvsp[(3) - (3)]); ;}
1649 break; 1957 break;
1650 1958
1651 case 84: 1959 case 83:
1652#line 335 "scripts/genksyms/parse.y" 1960#line 332 "scripts/genksyms/parse.y"
1653 { (yyval) = NULL; ;} 1961 { (yyval) = (yyvsp[(2) - (2)]); ;}
1654 break; 1962 break;
1655 1963
1656 case 87: 1964 case 85:
1657#line 342 "scripts/genksyms/parse.y" 1965#line 334 "scripts/genksyms/parse.y"
1658 { (yyval) = (yyvsp[0]); ;} 1966 { (yyval) = (yyvsp[(3) - (3)]); ;}
1659 break; 1967 break;
1660 1968
1661 case 88: 1969 case 86:
1662#line 347 "scripts/genksyms/parse.y" 1970#line 338 "scripts/genksyms/parse.y"
1663 { (yyval) = (yyvsp[0]) ? (yyvsp[0]) : (yyvsp[-1]); ;} 1971 { (yyval) = NULL; ;}
1664 break; 1972 break;
1665 1973
1666 case 89: 1974 case 89:
1667#line 352 "scripts/genksyms/parse.y" 1975#line 345 "scripts/genksyms/parse.y"
1668 { (yyval) = (yyvsp[0]) ? (yyvsp[0]) : (yyvsp[-1]); ;} 1976 { (yyval) = (yyvsp[(3) - (3)]); ;}
1669 break; 1977 break;
1670 1978
1671 case 91: 1979 case 90:
1672#line 357 "scripts/genksyms/parse.y" 1980#line 350 "scripts/genksyms/parse.y"
1673 { (yyval) = NULL; ;} 1981 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;}
1674 break; 1982 break;
1675 1983
1676 case 92: 1984 case 91:
1677#line 359 "scripts/genksyms/parse.y" 1985#line 355 "scripts/genksyms/parse.y"
1678 { /* For version 2 checksums, we don't want to remember 1986 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;}
1679 private parameter names. */
1680 remove_node((yyvsp[0]));
1681 (yyval) = (yyvsp[0]);
1682 ;}
1683 break; 1987 break;
1684 1988
1685 case 93: 1989 case 93:
1686#line 367 "scripts/genksyms/parse.y" 1990#line 360 "scripts/genksyms/parse.y"
1687 { remove_node((yyvsp[0])); 1991 { (yyval) = NULL; ;}
1688 (yyval) = (yyvsp[0]);
1689 ;}
1690 break; 1992 break;
1691 1993
1692 case 94: 1994 case 94:
1693#line 371 "scripts/genksyms/parse.y" 1995#line 362 "scripts/genksyms/parse.y"
1694 { (yyval) = (yyvsp[0]); ;} 1996 { /* For version 2 checksums, we don't want to remember
1997 private parameter names. */
1998 remove_node((yyvsp[(1) - (1)]));
1999 (yyval) = (yyvsp[(1) - (1)]);
2000 ;}
1695 break; 2001 break;
1696 2002
1697 case 95: 2003 case 95:
1698#line 373 "scripts/genksyms/parse.y" 2004#line 370 "scripts/genksyms/parse.y"
1699 { (yyval) = (yyvsp[0]); ;} 2005 { remove_node((yyvsp[(1) - (1)]));
2006 (yyval) = (yyvsp[(1) - (1)]);
2007 ;}
1700 break; 2008 break;
1701 2009
1702 case 96: 2010 case 96:
1703#line 375 "scripts/genksyms/parse.y" 2011#line 374 "scripts/genksyms/parse.y"
1704 { (yyval) = (yyvsp[0]); ;} 2012 { (yyval) = (yyvsp[(4) - (4)]); ;}
1705 break; 2013 break;
1706 2014
1707 case 97: 2015 case 97:
1708#line 377 "scripts/genksyms/parse.y" 2016#line 376 "scripts/genksyms/parse.y"
1709 { (yyval) = (yyvsp[0]); ;} 2017 { (yyval) = (yyvsp[(4) - (4)]); ;}
1710 break; 2018 break;
1711 2019
1712 case 98: 2020 case 98:
1713#line 379 "scripts/genksyms/parse.y" 2021#line 378 "scripts/genksyms/parse.y"
1714 { (yyval) = (yyvsp[0]); ;} 2022 { (yyval) = (yyvsp[(2) - (2)]); ;}
1715 break; 2023 break;
1716 2024
1717 case 99: 2025 case 99:
1718#line 384 "scripts/genksyms/parse.y" 2026#line 380 "scripts/genksyms/parse.y"
1719 { struct string_list *decl = *(yyvsp[-1]); 2027 { (yyval) = (yyvsp[(3) - (3)]); ;}
1720 *(yyvsp[-1]) = NULL;
1721 add_symbol(current_name, SYM_NORMAL, decl, is_extern);
1722 (yyval) = (yyvsp[0]);
1723 ;}
1724 break; 2028 break;
1725 2029
1726 case 100: 2030 case 100:
1727#line 392 "scripts/genksyms/parse.y" 2031#line 382 "scripts/genksyms/parse.y"
1728 { (yyval) = NULL; ;} 2032 { (yyval) = (yyvsp[(3) - (3)]); ;}
1729 break; 2033 break;
1730 2034
1731 case 102: 2035 case 101:
1732#line 399 "scripts/genksyms/parse.y" 2036#line 387 "scripts/genksyms/parse.y"
1733 { remove_list((yyvsp[0]), &(*(yyvsp[-1]))->next); (yyval) = (yyvsp[0]); ;} 2037 { struct string_list *decl = *(yyvsp[(2) - (3)]);
2038 *(yyvsp[(2) - (3)]) = NULL;
2039 add_symbol(current_name, SYM_NORMAL, decl, is_extern);
2040 (yyval) = (yyvsp[(3) - (3)]);
2041 ;}
1734 break; 2042 break;
1735 2043
1736 case 103: 2044 case 102:
1737#line 403 "scripts/genksyms/parse.y" 2045#line 395 "scripts/genksyms/parse.y"
1738 { (yyval) = (yyvsp[0]); ;} 2046 { (yyval) = NULL; ;}
1739 break; 2047 break;
1740 2048
1741 case 104: 2049 case 104:
1742#line 404 "scripts/genksyms/parse.y" 2050#line 402 "scripts/genksyms/parse.y"
1743 { (yyval) = (yyvsp[0]); ;} 2051 { remove_list((yyvsp[(2) - (2)]), &(*(yyvsp[(1) - (2)]))->next); (yyval) = (yyvsp[(2) - (2)]); ;}
1744 break; 2052 break;
1745 2053
1746 case 105: 2054 case 105:
1747#line 408 "scripts/genksyms/parse.y" 2055#line 406 "scripts/genksyms/parse.y"
1748 { (yyval) = NULL; ;} 2056 { (yyval) = (yyvsp[(3) - (3)]); ;}
1749 break; 2057 break;
1750 2058
1751 case 108: 2059 case 106:
1752#line 414 "scripts/genksyms/parse.y" 2060#line 407 "scripts/genksyms/parse.y"
1753 { (yyval) = (yyvsp[0]); ;} 2061 { (yyval) = (yyvsp[(3) - (3)]); ;}
1754 break; 2062 break;
1755 2063
1756 case 109: 2064 case 107:
1757#line 419 "scripts/genksyms/parse.y" 2065#line 411 "scripts/genksyms/parse.y"
1758 { (yyval) = (yyvsp[0]); ;} 2066 { (yyval) = NULL; ;}
1759 break; 2067 break;
1760 2068
1761 case 110: 2069 case 110:
1762#line 421 "scripts/genksyms/parse.y" 2070#line 417 "scripts/genksyms/parse.y"
1763 { (yyval) = (yyvsp[0]); ;} 2071 { (yyval) = (yyvsp[(2) - (2)]); ;}
1764 break; 2072 break;
1765 2073
1766 case 111: 2074 case 111:
1767#line 425 "scripts/genksyms/parse.y" 2075#line 422 "scripts/genksyms/parse.y"
1768 { (yyval) = NULL; ;} 2076 { (yyval) = (yyvsp[(3) - (3)]); ;}
1769 break; 2077 break;
1770 2078
1771 case 114: 2079 case 112:
1772#line 431 "scripts/genksyms/parse.y" 2080#line 424 "scripts/genksyms/parse.y"
1773 { (yyval) = (yyvsp[0]); ;} 2081 { (yyval) = (yyvsp[(2) - (2)]); ;}
1774 break; 2082 break;
1775 2083
1776 case 115: 2084 case 113:
1777#line 435 "scripts/genksyms/parse.y" 2085#line 428 "scripts/genksyms/parse.y"
1778 { (yyval) = (yyvsp[0]) ? (yyvsp[0]) : (yyvsp[-1]); ;} 2086 { (yyval) = NULL; ;}
1779 break; 2087 break;
1780 2088
1781 case 116: 2089 case 116:
1782#line 436 "scripts/genksyms/parse.y" 2090#line 434 "scripts/genksyms/parse.y"
1783 { (yyval) = (yyvsp[0]); ;} 2091 { (yyval) = (yyvsp[(3) - (3)]); ;}
2092 break;
2093
2094 case 117:
2095#line 438 "scripts/genksyms/parse.y"
2096 { (yyval) = (yyvsp[(2) - (2)]) ? (yyvsp[(2) - (2)]) : (yyvsp[(1) - (2)]); ;}
1784 break; 2097 break;
1785 2098
1786 case 118: 2099 case 118:
1787#line 441 "scripts/genksyms/parse.y" 2100#line 439 "scripts/genksyms/parse.y"
1788 { (yyval) = (yyvsp[0]); ;} 2101 { (yyval) = (yyvsp[(2) - (2)]); ;}
1789 break; 2102 break;
1790 2103
1791 case 119: 2104 case 120:
1792#line 445 "scripts/genksyms/parse.y" 2105#line 444 "scripts/genksyms/parse.y"
1793 { (yyval) = NULL; ;} 2106 { (yyval) = (yyvsp[(2) - (2)]); ;}
1794 break; 2107 break;
1795 2108
1796 case 121: 2109 case 121:
1797#line 450 "scripts/genksyms/parse.y" 2110#line 448 "scripts/genksyms/parse.y"
1798 { (yyval) = (yyvsp[0]); ;} 2111 { (yyval) = NULL; ;}
1799 break; 2112 break;
1800 2113
1801 case 122: 2114 case 123:
1802#line 454 "scripts/genksyms/parse.y" 2115#line 453 "scripts/genksyms/parse.y"
1803 { (yyval) = NULL; ;} 2116 { (yyval) = (yyvsp[(2) - (2)]); ;}
1804 break; 2117 break;
1805 2118
1806 case 124: 2119 case 124:
1807#line 460 "scripts/genksyms/parse.y" 2120#line 457 "scripts/genksyms/parse.y"
1808 { export_symbol((*(yyvsp[-2]))->string); (yyval) = (yyvsp[0]); ;} 2121 { (yyval) = NULL; ;}
1809 break; 2122 break;
1810 2123
2124 case 126:
2125#line 463 "scripts/genksyms/parse.y"
2126 { export_symbol((*(yyvsp[(3) - (5)]))->string); (yyval) = (yyvsp[(5) - (5)]); ;}
2127 break;
1811 2128
1812 }
1813
1814/* Line 1037 of yacc.c. */
1815#line 1816 "scripts/genksyms/parse.c"
1816
1817 yyvsp -= yylen;
1818 yyssp -= yylen;
1819 2129
2130/* Line 1267 of yacc.c. */
2131#line 2132 "scripts/genksyms/parse.c"
2132 default: break;
2133 }
2134 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
1820 2135
2136 YYPOPSTACK (yylen);
2137 yylen = 0;
1821 YY_STACK_PRINT (yyss, yyssp); 2138 YY_STACK_PRINT (yyss, yyssp);
1822 2139
1823 *++yyvsp = yyval; 2140 *++yyvsp = yyval;
@@ -1846,66 +2163,41 @@ yyerrlab:
1846 if (!yyerrstatus) 2163 if (!yyerrstatus)
1847 { 2164 {
1848 ++yynerrs; 2165 ++yynerrs;
1849#if YYERROR_VERBOSE 2166#if ! YYERROR_VERBOSE
1850 yyn = yypact[yystate]; 2167 yyerror (YY_("syntax error"));
1851 2168#else
1852 if (YYPACT_NINF < yyn && yyn < YYLAST) 2169 {
1853 { 2170 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
1854 YYSIZE_T yysize = 0; 2171 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
1855 int yytype = YYTRANSLATE (yychar); 2172 {
1856 const char* yyprefix; 2173 YYSIZE_T yyalloc = 2 * yysize;
1857 char *yymsg; 2174 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
1858 int yyx; 2175 yyalloc = YYSTACK_ALLOC_MAXIMUM;
1859 2176 if (yymsg != yymsgbuf)
1860 /* Start YYX at -YYN if negative to avoid negative indexes in 2177 YYSTACK_FREE (yymsg);
1861 YYCHECK. */ 2178 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
1862 int yyxbegin = yyn < 0 ? -yyn : 0; 2179 if (yymsg)
1863 2180 yymsg_alloc = yyalloc;
1864 /* Stay within bounds of both yycheck and yytname. */ 2181 else
1865 int yychecklim = YYLAST - yyn;
1866 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1867 int yycount = 0;
1868
1869 yyprefix = ", expecting ";
1870 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1871 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1872 { 2182 {
1873 yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); 2183 yymsg = yymsgbuf;
1874 yycount += 1; 2184 yymsg_alloc = sizeof yymsgbuf;
1875 if (yycount == 5)
1876 {
1877 yysize = 0;
1878 break;
1879 }
1880 } 2185 }
1881 yysize += (sizeof ("syntax error, unexpected ") 2186 }
1882 + yystrlen (yytname[yytype])); 2187
1883 yymsg = (char *) YYSTACK_ALLOC (yysize); 2188 if (0 < yysize && yysize <= yymsg_alloc)
1884 if (yymsg != 0) 2189 {
1885 { 2190 (void) yysyntax_error (yymsg, yystate, yychar);
1886 char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); 2191 yyerror (yymsg);
1887 yyp = yystpcpy (yyp, yytname[yytype]); 2192 }
1888 2193 else
1889 if (yycount < 5) 2194 {
1890 { 2195 yyerror (YY_("syntax error"));
1891 yyprefix = ", expecting "; 2196 if (yysize != 0)
1892 for (yyx = yyxbegin; yyx < yyxend; ++yyx) 2197 goto yyexhaustedlab;
1893 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) 2198 }
1894 { 2199 }
1895 yyp = yystpcpy (yyp, yyprefix); 2200#endif
1896 yyp = yystpcpy (yyp, yytname[yyx]);
1897 yyprefix = " or ";
1898 }
1899 }
1900 yyerror (yymsg);
1901 YYSTACK_FREE (yymsg);
1902 }
1903 else
1904 yyerror ("syntax error; also virtual memory exhausted");
1905 }
1906 else
1907#endif /* YYERROR_VERBOSE */
1908 yyerror ("syntax error");
1909 } 2201 }
1910 2202
1911 2203
@@ -1916,23 +2208,15 @@ yyerrlab:
1916 error, discard it. */ 2208 error, discard it. */
1917 2209
1918 if (yychar <= YYEOF) 2210 if (yychar <= YYEOF)
1919 { 2211 {
1920 /* If at end of input, pop the error token, 2212 /* Return failure if at end of input. */
1921 then the rest of the stack, then return failure. */
1922 if (yychar == YYEOF) 2213 if (yychar == YYEOF)
1923 for (;;) 2214 YYABORT;
1924 { 2215 }
1925
1926 YYPOPSTACK;
1927 if (yyssp == yyss)
1928 YYABORT;
1929 yydestruct ("Error: popping",
1930 yystos[*yyssp], yyvsp);
1931 }
1932 }
1933 else 2216 else
1934 { 2217 {
1935 yydestruct ("Error: discarding", yytoken, &yylval); 2218 yydestruct ("Error: discarding",
2219 yytoken, &yylval);
1936 yychar = YYEMPTY; 2220 yychar = YYEMPTY;
1937 } 2221 }
1938 } 2222 }
@@ -1947,15 +2231,17 @@ yyerrlab:
1947`---------------------------------------------------*/ 2231`---------------------------------------------------*/
1948yyerrorlab: 2232yyerrorlab:
1949 2233
1950#ifdef __GNUC__ 2234 /* Pacify compilers like GCC when the user code never invokes
1951 /* Pacify GCC when the user code never invokes YYERROR and the label 2235 YYERROR and the label yyerrorlab therefore never appears in user
1952 yyerrorlab therefore never appears in user code. */ 2236 code. */
1953 if (0) 2237 if (/*CONSTCOND*/ 0)
1954 goto yyerrorlab; 2238 goto yyerrorlab;
1955#endif
1956 2239
1957yyvsp -= yylen; 2240 /* Do not reclaim the symbols of the rule which action triggered
1958 yyssp -= yylen; 2241 this YYERROR. */
2242 YYPOPSTACK (yylen);
2243 yylen = 0;
2244 YY_STACK_PRINT (yyss, yyssp);
1959 yystate = *yyssp; 2245 yystate = *yyssp;
1960 goto yyerrlab1; 2246 goto yyerrlab1;
1961 2247
@@ -1985,8 +2271,9 @@ yyerrlab1:
1985 YYABORT; 2271 YYABORT;
1986 2272
1987 2273
1988 yydestruct ("Error: popping", yystos[yystate], yyvsp); 2274 yydestruct ("Error: popping",
1989 YYPOPSTACK; 2275 yystos[yystate], yyvsp);
2276 YYPOPSTACK (1);
1990 yystate = *yyssp; 2277 yystate = *yyssp;
1991 YY_STACK_PRINT (yyss, yyssp); 2278 YY_STACK_PRINT (yyss, yyssp);
1992 } 2279 }
@@ -1997,7 +2284,7 @@ yyerrlab1:
1997 *++yyvsp = yylval; 2284 *++yyvsp = yylval;
1998 2285
1999 2286
2000 /* Shift the error token. */ 2287 /* Shift the error token. */
2001 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); 2288 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
2002 2289
2003 yystate = yyn; 2290 yystate = yyn;
@@ -2015,32 +2302,47 @@ yyacceptlab:
2015| yyabortlab -- YYABORT comes here. | 2302| yyabortlab -- YYABORT comes here. |
2016`-----------------------------------*/ 2303`-----------------------------------*/
2017yyabortlab: 2304yyabortlab:
2018 yydestruct ("Error: discarding lookahead",
2019 yytoken, &yylval);
2020 yychar = YYEMPTY;
2021 yyresult = 1; 2305 yyresult = 1;
2022 goto yyreturn; 2306 goto yyreturn;
2023 2307
2024#ifndef yyoverflow 2308#ifndef yyoverflow
2025/*----------------------------------------------. 2309/*-------------------------------------------------.
2026| yyoverflowlab -- parser overflow comes here. | 2310| yyexhaustedlab -- memory exhaustion comes here. |
2027`----------------------------------------------*/ 2311`-------------------------------------------------*/
2028yyoverflowlab: 2312yyexhaustedlab:
2029 yyerror ("parser stack overflow"); 2313 yyerror (YY_("memory exhausted"));
2030 yyresult = 2; 2314 yyresult = 2;
2031 /* Fall through. */ 2315 /* Fall through. */
2032#endif 2316#endif
2033 2317
2034yyreturn: 2318yyreturn:
2319 if (yychar != YYEOF && yychar != YYEMPTY)
2320 yydestruct ("Cleanup: discarding lookahead",
2321 yytoken, &yylval);
2322 /* Do not reclaim the symbols of the rule which action triggered
2323 this YYABORT or YYACCEPT. */
2324 YYPOPSTACK (yylen);
2325 YY_STACK_PRINT (yyss, yyssp);
2326 while (yyssp != yyss)
2327 {
2328 yydestruct ("Cleanup: popping",
2329 yystos[*yyssp], yyvsp);
2330 YYPOPSTACK (1);
2331 }
2035#ifndef yyoverflow 2332#ifndef yyoverflow
2036 if (yyss != yyssa) 2333 if (yyss != yyssa)
2037 YYSTACK_FREE (yyss); 2334 YYSTACK_FREE (yyss);
2038#endif 2335#endif
2039 return yyresult; 2336#if YYERROR_VERBOSE
2337 if (yymsg != yymsgbuf)
2338 YYSTACK_FREE (yymsg);
2339#endif
2340 /* Make sure YYID is used. */
2341 return YYID (yyresult);
2040} 2342}
2041 2343
2042 2344
2043#line 464 "scripts/genksyms/parse.y" 2345#line 467 "scripts/genksyms/parse.y"
2044 2346
2045 2347
2046static void 2348static void
diff --git a/scripts/genksyms/parse.h_shipped b/scripts/genksyms/parse.h_shipped
index f3fb2bb058e..c4eeec652b7 100644
--- a/scripts/genksyms/parse.h_shipped
+++ b/scripts/genksyms/parse.h_shipped
@@ -1,7 +1,9 @@
1/* A Bison parser, made by GNU Bison 2.0. */ 1/* A Bison parser, made by GNU Bison 2.3. */
2 2
3/* Skeleton parser for Yacc-like parsing with Bison, 3/* Skeleton interface for Bison's Yacc-like parsers in C
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. 4
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
5 7
6 This program is free software; you can redistribute it and/or modify 8 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 9 it under the terms of the GNU General Public License as published by
@@ -15,13 +17,21 @@
15 17
16 You should have received a copy of the GNU General Public License 18 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 19 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, 20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02111-1307, USA. */ 21 Boston, MA 02110-1301, USA. */
22
23/* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
20 32
21/* As a special exception, when this file is copied by Bison into a 33 This special exception was added by the Free Software Foundation in
22 Bison output file, you may use that output file without restriction. 34 version 2.2 of Bison. */
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
25 35
26/* Tokens. */ 36/* Tokens. */
27#ifndef YYTOKENTYPE 37#ifndef YYTOKENTYPE
@@ -38,39 +48,41 @@
38 DOUBLE_KEYW = 264, 48 DOUBLE_KEYW = 264,
39 ENUM_KEYW = 265, 49 ENUM_KEYW = 265,
40 EXTERN_KEYW = 266, 50 EXTERN_KEYW = 266,
41 FLOAT_KEYW = 267, 51 EXTENSION_KEYW = 267,
42 INLINE_KEYW = 268, 52 FLOAT_KEYW = 268,
43 INT_KEYW = 269, 53 INLINE_KEYW = 269,
44 LONG_KEYW = 270, 54 INT_KEYW = 270,
45 REGISTER_KEYW = 271, 55 LONG_KEYW = 271,
46 RESTRICT_KEYW = 272, 56 REGISTER_KEYW = 272,
47 SHORT_KEYW = 273, 57 RESTRICT_KEYW = 273,
48 SIGNED_KEYW = 274, 58 SHORT_KEYW = 274,
49 STATIC_KEYW = 275, 59 SIGNED_KEYW = 275,
50 STRUCT_KEYW = 276, 60 STATIC_KEYW = 276,
51 TYPEDEF_KEYW = 277, 61 STRUCT_KEYW = 277,
52 UNION_KEYW = 278, 62 TYPEDEF_KEYW = 278,
53 UNSIGNED_KEYW = 279, 63 UNION_KEYW = 279,
54 VOID_KEYW = 280, 64 UNSIGNED_KEYW = 280,
55 VOLATILE_KEYW = 281, 65 VOID_KEYW = 281,
56 TYPEOF_KEYW = 282, 66 VOLATILE_KEYW = 282,
57 EXPORT_SYMBOL_KEYW = 283, 67 TYPEOF_KEYW = 283,
58 ASM_PHRASE = 284, 68 EXPORT_SYMBOL_KEYW = 284,
59 ATTRIBUTE_PHRASE = 285, 69 ASM_PHRASE = 285,
60 BRACE_PHRASE = 286, 70 ATTRIBUTE_PHRASE = 286,
61 BRACKET_PHRASE = 287, 71 BRACE_PHRASE = 287,
62 EXPRESSION_PHRASE = 288, 72 BRACKET_PHRASE = 288,
63 CHAR = 289, 73 EXPRESSION_PHRASE = 289,
64 DOTS = 290, 74 CHAR = 290,
65 IDENT = 291, 75 DOTS = 291,
66 INT = 292, 76 IDENT = 292,
67 REAL = 293, 77 INT = 293,
68 STRING = 294, 78 REAL = 294,
69 TYPE = 295, 79 STRING = 295,
70 OTHER = 296, 80 TYPE = 296,
71 FILENAME = 297 81 OTHER = 297,
82 FILENAME = 298
72 }; 83 };
73#endif 84#endif
85/* Tokens. */
74#define ASM_KEYW 258 86#define ASM_KEYW 258
75#define ATTRIBUTE_KEYW 259 87#define ATTRIBUTE_KEYW 259
76#define AUTO_KEYW 260 88#define AUTO_KEYW 260
@@ -80,42 +92,43 @@
80#define DOUBLE_KEYW 264 92#define DOUBLE_KEYW 264
81#define ENUM_KEYW 265 93#define ENUM_KEYW 265
82#define EXTERN_KEYW 266 94#define EXTERN_KEYW 266
83#define FLOAT_KEYW 267 95#define EXTENSION_KEYW 267
84#define INLINE_KEYW 268 96#define FLOAT_KEYW 268
85#define INT_KEYW 269 97#define INLINE_KEYW 269
86#define LONG_KEYW 270 98#define INT_KEYW 270
87#define REGISTER_KEYW 271 99#define LONG_KEYW 271
88#define RESTRICT_KEYW 272 100#define REGISTER_KEYW 272
89#define SHORT_KEYW 273 101#define RESTRICT_KEYW 273
90#define SIGNED_KEYW 274 102#define SHORT_KEYW 274
91#define STATIC_KEYW 275 103#define SIGNED_KEYW 275
92#define STRUCT_KEYW 276 104#define STATIC_KEYW 276
93#define TYPEDEF_KEYW 277 105#define STRUCT_KEYW 277
94#define UNION_KEYW 278 106#define TYPEDEF_KEYW 278
95#define UNSIGNED_KEYW 279 107#define UNION_KEYW 279
96#define VOID_KEYW 280 108#define UNSIGNED_KEYW 280
97#define VOLATILE_KEYW 281 109#define VOID_KEYW 281
98#define TYPEOF_KEYW 282 110#define VOLATILE_KEYW 282
99#define EXPORT_SYMBOL_KEYW 283 111#define TYPEOF_KEYW 283
100#define ASM_PHRASE 284 112#define EXPORT_SYMBOL_KEYW 284
101#define ATTRIBUTE_PHRASE 285 113#define ASM_PHRASE 285
102#define BRACE_PHRASE 286 114#define ATTRIBUTE_PHRASE 286
103#define BRACKET_PHRASE 287 115#define BRACE_PHRASE 287
104#define EXPRESSION_PHRASE 288 116#define BRACKET_PHRASE 288
105#define CHAR 289 117#define EXPRESSION_PHRASE 289
106#define DOTS 290 118#define CHAR 290
107#define IDENT 291 119#define DOTS 291
108#define INT 292 120#define IDENT 292
109#define REAL 293 121#define INT 293
110#define STRING 294 122#define REAL 294
111#define TYPE 295 123#define STRING 295
112#define OTHER 296 124#define TYPE 296
113#define FILENAME 297 125#define OTHER 297
126#define FILENAME 298
114 127
115 128
116 129
117 130
118#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) 131#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
119typedef int YYSTYPE; 132typedef int YYSTYPE;
120# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 133# define yystype YYSTYPE /* obsolescent; will be withdrawn */
121# define YYSTYPE_IS_DECLARED 1 134# define YYSTYPE_IS_DECLARED 1
@@ -124,5 +137,3 @@ typedef int YYSTYPE;
124 137
125extern YYSTYPE yylval; 138extern YYSTYPE yylval;
126 139
127
128