OLD | NEW |
1 /* A Bison parser, made by GNU Bison 1.875c. */ | 1 /* A Bison parser, made by GNU Bison 1.875c. */ |
2 | 2 |
3 /* Skeleton parser for Yacc-like parsing with Bison, | 3 /* Skeleton parser for Yacc-like parsing with Bison, |
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundati
on, Inc. | 4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundati
on, Inc. |
5 | 5 |
6 This program is free software; you can redistribute it and/or modify | 6 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 | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation; either version 2, or (at your option) | 8 the Free Software Foundation; either version 2, or (at your option) |
9 any later version. | 9 any later version. |
10 | 10 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 | 48 |
49 | 49 |
50 /* Tokens. */ | 50 /* Tokens. */ |
51 #ifndef YYTOKENTYPE | 51 #ifndef YYTOKENTYPE |
52 # define YYTOKENTYPE | 52 # define YYTOKENTYPE |
53 /* Put the tokens into the symbol table, so that GDB and other debuggers | 53 /* Put the tokens into the symbol table, so that GDB and other debuggers |
54 know about them. */ | 54 know about them. */ |
55 enum yytokentype { | 55 enum yytokentype { |
56 INT = 258, | 56 INT = 258, |
57 FLOAT = 259, | 57 FLOAT = 259, |
58 STRING = 260, | 58 RAW_STRING = 260, |
59 FIELDNAME = 261, | 59 STRING = 261, |
60 COMPLETE = 262, | 60 CHAR = 262, |
61 NAME = 263, | 61 NAME = 263, |
62 TYPENAME = 264, | 62 TYPENAME = 264, |
63 NAME_OR_INT = 265, | 63 COMPLETE = 265, |
64 STRUCT = 266, | 64 NAME_OR_INT = 266, |
65 CLASS = 267, | 65 TRUE_KEYWORD = 267, |
66 SIZEOF = 268, | 66 FALSE_KEYWORD = 268, |
67 COLONCOLON = 269, | 67 STRUCT_KEYWORD = 269, |
68 ERROR = 270, | 68 INTERFACE_KEYWORD = 270, |
69 VARIABLE = 271, | 69 TYPE_KEYWORD = 271, |
70 THIS = 272, | 70 CHAN_KEYWORD = 272, |
71 TRUEKEYWORD = 273, | 71 SIZEOF_KEYWORD = 273, |
72 FALSEKEYWORD = 274, | 72 LEN_KEYWORD = 274, |
73 ABOVE_COMMA = 275, | 73 CAP_KEYWORD = 275, |
74 ASSIGN = 276, | 74 NEW_KEYWORD = 276, |
75 NOT = 277, | 75 IOTA_KEYWORD = 277, |
76 OR = 278, | 76 NIL_KEYWORD = 278, |
77 XOR = 279, | 77 CONST_KEYWORD = 279, |
78 ANDAND = 280, | 78 DOTDOTDOT = 280, |
79 NOTEQUAL = 281, | 79 ENTRY = 281, |
80 GEQ = 282, | 80 ERROR = 282, |
81 LEQ = 283, | 81 BYTE_KEYWORD = 283, |
82 MOD = 284, | 82 DOLLAR_VARIABLE = 284, |
83 DIV = 285, | 83 ASSIGN_MODIFY = 285, |
84 RSH = 286, | 84 ABOVE_COMMA = 286, |
85 LSH = 287, | 85 OROR = 287, |
86 DECREMENT = 288, | 86 ANDAND = 288, |
87 INCREMENT = 289, | 87 ANDNOT = 289, |
88 UNARY = 290, | 88 NOTEQUAL = 290, |
89 ARROW = 291, | 89 EQUAL = 291, |
90 BLOCKNAME = 292 | 90 GEQ = 292, |
| 91 LEQ = 293, |
| 92 RSH = 294, |
| 93 LSH = 295, |
| 94 DECREMENT = 296, |
| 95 INCREMENT = 297, |
| 96 UNARY = 298, |
| 97 LEFT_ARROW = 299 |
91 }; | 98 }; |
92 #endif | 99 #endif |
93 #define INT 258 | 100 #define INT 258 |
94 #define FLOAT 259 | 101 #define FLOAT 259 |
95 #define STRING 260 | 102 #define RAW_STRING 260 |
96 #define FIELDNAME 261 | 103 #define STRING 261 |
97 #define COMPLETE 262 | 104 #define CHAR 262 |
98 #define NAME 263 | 105 #define NAME 263 |
99 #define TYPENAME 264 | 106 #define TYPENAME 264 |
100 #define NAME_OR_INT 265 | 107 #define COMPLETE 265 |
101 #define STRUCT 266 | 108 #define NAME_OR_INT 266 |
102 #define CLASS 267 | 109 #define TRUE_KEYWORD 267 |
103 #define SIZEOF 268 | 110 #define FALSE_KEYWORD 268 |
104 #define COLONCOLON 269 | 111 #define STRUCT_KEYWORD 269 |
105 #define ERROR 270 | 112 #define INTERFACE_KEYWORD 270 |
106 #define VARIABLE 271 | 113 #define TYPE_KEYWORD 271 |
107 #define THIS 272 | 114 #define CHAN_KEYWORD 272 |
108 #define TRUEKEYWORD 273 | 115 #define SIZEOF_KEYWORD 273 |
109 #define FALSEKEYWORD 274 | 116 #define LEN_KEYWORD 274 |
110 #define ABOVE_COMMA 275 | 117 #define CAP_KEYWORD 275 |
111 #define ASSIGN 276 | 118 #define NEW_KEYWORD 276 |
112 #define NOT 277 | 119 #define IOTA_KEYWORD 277 |
113 #define OR 278 | 120 #define NIL_KEYWORD 278 |
114 #define XOR 279 | 121 #define CONST_KEYWORD 279 |
115 #define ANDAND 280 | 122 #define DOTDOTDOT 280 |
116 #define NOTEQUAL 281 | 123 #define ENTRY 281 |
117 #define GEQ 282 | 124 #define ERROR 282 |
118 #define LEQ 283 | 125 #define BYTE_KEYWORD 283 |
119 #define MOD 284 | 126 #define DOLLAR_VARIABLE 284 |
120 #define DIV 285 | 127 #define ASSIGN_MODIFY 285 |
121 #define RSH 286 | 128 #define ABOVE_COMMA 286 |
122 #define LSH 287 | 129 #define OROR 287 |
123 #define DECREMENT 288 | 130 #define ANDAND 288 |
124 #define INCREMENT 289 | 131 #define ANDNOT 289 |
125 #define UNARY 290 | 132 #define NOTEQUAL 290 |
126 #define ARROW 291 | 133 #define EQUAL 291 |
127 #define BLOCKNAME 292 | 134 #define GEQ 292 |
| 135 #define LEQ 293 |
| 136 #define RSH 294 |
| 137 #define LSH 295 |
| 138 #define DECREMENT 296 |
| 139 #define INCREMENT 297 |
| 140 #define UNARY 298 |
| 141 #define LEFT_ARROW 299 |
128 | 142 |
129 | 143 |
130 | 144 |
131 | 145 |
132 /* Copy the first part of user declarations. */ | 146 /* Copy the first part of user declarations. */ |
133 #line 44 "p-exp.y" | 147 #line 52 "go-exp.y" |
134 | 148 |
135 | 149 |
136 #include "defs.h" | 150 #include "defs.h" |
137 #include "gdb_string.h" | 151 #include "gdb_string.h" |
138 #include <ctype.h> | 152 #include <ctype.h> |
139 #include "expression.h" | 153 #include "expression.h" |
140 #include "value.h" | 154 #include "value.h" |
141 #include "parser-defs.h" | 155 #include "parser-defs.h" |
142 #include "language.h" | 156 #include "language.h" |
143 #include "p-lang.h" | 157 #include "c-lang.h" |
| 158 #include "go-lang.h" |
144 #include "bfd.h" /* Required by objfiles.h. */ | 159 #include "bfd.h" /* Required by objfiles.h. */ |
145 #include "symfile.h" /* Required by objfiles.h. */ | 160 #include "symfile.h" /* Required by objfiles.h. */ |
146 #include "objfiles.h" /* For have_full_symbols and have_partial_symbols. */ | 161 #include "objfiles.h" /* For have_full_symbols and have_partial_symbols */ |
| 162 #include "charset.h" |
147 #include "block.h" | 163 #include "block.h" |
148 | 164 |
149 #define parse_type builtin_type (parse_gdbarch) | 165 #define parse_type builtin_type (parse_gdbarch) |
150 | 166 |
151 /* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), | 167 /* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc), |
152 as well as gratuitiously global symbol names, so we can have multiple | 168 as well as gratuitiously global symbol names, so we can have multiple |
153 yacc generated parsers in gdb. Note that these are only the variables | 169 yacc generated parsers in gdb. Note that these are only the variables |
154 produced by yacc. If other parser generators (bison, byacc, etc) produce | 170 produced by yacc. If other parser generators (bison, byacc, etc) produce |
155 additional global names that conflict at link time, then those parser | 171 additional global names that conflict at link time, then those parser |
156 generators need to be fixed instead of adding those names to this list. */ | 172 generators need to be fixed instead of adding those names to this list. */ |
157 | 173 |
158 #define»yymaxdepth pascal_maxdepth | 174 #define»yymaxdepth go_maxdepth |
159 #define»yyparse»pascal_parse | 175 #define»yyparse»go_parse_internal |
160 #define»yylex» pascal_lex | 176 #define»yylex» go_lex |
161 #define»yyerror»pascal_error | 177 #define»yyerror»go_error |
162 #define»yylval» pascal_lval | 178 #define»yylval» go_lval |
163 #define»yychar» pascal_char | 179 #define»yychar» go_char |
164 #define»yydebug»pascal_debug | 180 #define»yydebug»go_debug |
165 #define»yypact» pascal_pact | 181 #define»yypact» go_pact |
166 #define»yyr1» pascal_r1 | 182 #define»yyr1» go_r1 |
167 #define»yyr2» pascal_r2 | 183 #define»yyr2» go_r2 |
168 #define»yydef» pascal_def | 184 #define»yydef» go_def |
169 #define»yychk» pascal_chk | 185 #define»yychk» go_chk |
170 #define»yypgo» pascal_pgo | 186 #define»yypgo» go_pgo |
171 #define»yyact» pascal_act | 187 #define»yyact» go_act |
172 #define»yyexca» pascal_exca | 188 #define»yyexca» go_exca |
173 #define yyerrflag pascal_errflag | 189 #define yyerrflag go_errflag |
174 #define yynerrs»pascal_nerrs | 190 #define yynerrs»go_nerrs |
175 #define»yyps» pascal_ps | 191 #define»yyps» go_ps |
176 #define»yypv» pascal_pv | 192 #define»yypv» go_pv |
177 #define»yys» pascal_s | 193 #define»yys» go_s |
178 #define»yy_yys» pascal_yys | 194 #define»yy_yys» go_yys |
179 #define»yystate»pascal_state | 195 #define»yystate»go_state |
180 #define»yytmp» pascal_tmp | 196 #define»yytmp» go_tmp |
181 #define»yyv» pascal_v | 197 #define»yyv» go_v |
182 #define»yy_yyv» pascal_yyv | 198 #define»yy_yyv» go_yyv |
183 #define»yyval» pascal_val | 199 #define»yyval» go_val |
184 #define»yylloc» pascal_lloc | 200 #define»yylloc» go_lloc |
185 #define yyreds» pascal_reds» » /* With YYDEBUG defined */ | 201 #define yyreds» go_reds»» /* With YYDEBUG defined */ |
186 #define yytoks» pascal_toks» » /* With YYDEBUG defined */ | 202 #define yytoks» go_toks»» /* With YYDEBUG defined */ |
187 #define yyname» pascal_name» » /* With YYDEBUG defined */ | 203 #define yyname» go_name»» /* With YYDEBUG defined */ |
188 #define yyrule» pascal_rule» » /* With YYDEBUG defined */ | 204 #define yyrule» go_rule»» /* With YYDEBUG defined */ |
189 #define yylhs» pascal_yylhs | 205 #define yylhs» go_yylhs |
190 #define yylen» pascal_yylen | 206 #define yylen» go_yylen |
191 #define yydefred pascal_yydefred | 207 #define yydefred go_yydefred |
192 #define yydgoto»pascal_yydgoto | 208 #define yydgoto»go_yydgoto |
193 #define yysindex pascal_yysindex | 209 #define yysindex go_yysindex |
194 #define yyrindex pascal_yyrindex | 210 #define yyrindex go_yyrindex |
195 #define yygindex pascal_yygindex | 211 #define yygindex go_yygindex |
196 #define yytable» pascal_yytable | 212 #define yytable» go_yytable |
197 #define yycheck» pascal_yycheck | 213 #define yycheck» go_yycheck |
198 | 214 |
199 #ifndef YYDEBUG | 215 #ifndef YYDEBUG |
200 #define YYDEBUG 1 /* Default to yydebug support */ | 216 #define YYDEBUG 1 /* Default to yydebug support */ |
201 #endif | 217 #endif |
202 | 218 |
203 #define YYFPRINTF parser_fprintf | 219 #define YYFPRINTF parser_fprintf |
204 | 220 |
205 int yyparse (void); | 221 int yyparse (void); |
206 | 222 |
207 static int yylex (void); | 223 static int yylex (void); |
208 | 224 |
209 void yyerror (char *); | 225 void yyerror (char *); |
210 | 226 |
211 static char * uptok (char *, int); | |
212 | 227 |
213 | 228 |
214 /* Enabling traces. */ | 229 /* Enabling traces. */ |
215 #ifndef YYDEBUG | 230 #ifndef YYDEBUG |
216 # define YYDEBUG 0 | 231 # define YYDEBUG 0 |
217 #endif | 232 #endif |
218 | 233 |
219 /* Enabling verbose error messages. */ | 234 /* Enabling verbose error messages. */ |
220 #ifdef YYERROR_VERBOSE | 235 #ifdef YYERROR_VERBOSE |
221 # undef YYERROR_VERBOSE | 236 # undef YYERROR_VERBOSE |
222 # define YYERROR_VERBOSE 1 | 237 # define YYERROR_VERBOSE 1 |
223 #else | 238 #else |
224 # define YYERROR_VERBOSE 0 | 239 # define YYERROR_VERBOSE 0 |
225 #endif | 240 #endif |
226 | 241 |
227 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) | 242 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) |
228 #line 129 "p-exp.y" | 243 #line 138 "go-exp.y" |
229 typedef union YYSTYPE { | 244 typedef union YYSTYPE { |
230 LONGEST lval; | 245 LONGEST lval; |
231 struct { | 246 struct { |
232 LONGEST val; | 247 LONGEST val; |
233 struct type *type; | 248 struct type *type; |
234 } typed_val_int; | 249 } typed_val_int; |
235 struct { | 250 struct { |
236 DOUBLEST dval; | 251 DOUBLEST dval; |
237 struct type *type; | 252 struct type *type; |
238 } typed_val_float; | 253 } typed_val_float; |
239 struct symbol *sym; | 254 struct stoken sval; |
| 255 struct symtoken ssym; |
240 struct type *tval; | 256 struct type *tval; |
241 struct stoken sval; | 257 struct typed_stoken tsval; |
242 struct ttype tsym; | 258 struct ttype tsym; |
243 struct symtoken ssym; | |
244 int voidval; | 259 int voidval; |
245 struct block *bval; | |
246 enum exp_opcode opcode; | 260 enum exp_opcode opcode; |
247 struct internalvar *ivar; | 261 struct internalvar *ivar; |
248 | 262 struct stoken_vector svec; |
249 struct type **tvec; | |
250 int *ivec; | |
251 } YYSTYPE; | 263 } YYSTYPE; |
252 /* Line 191 of yacc.c. */ | 264 /* Line 191 of yacc.c. */ |
253 #line 254 "p-exp.c" | 265 #line 266 "go-exp.c" |
254 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ | 266 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
255 # define YYSTYPE_IS_DECLARED 1 | 267 # define YYSTYPE_IS_DECLARED 1 |
256 # define YYSTYPE_IS_TRIVIAL 1 | 268 # define YYSTYPE_IS_TRIVIAL 1 |
257 #endif | 269 #endif |
258 | 270 |
259 | 271 |
260 | 272 |
261 /* Copy the second part of user declarations. */ | 273 /* Copy the second part of user declarations. */ |
262 #line 153 "p-exp.y" | 274 #line 159 "go-exp.y" |
263 | 275 |
264 /* YYSTYPE gets defined by %union */ | 276 /* YYSTYPE gets defined by %union. */ |
265 static int parse_number (char *, int, int, YYSTYPE *); | 277 static int parse_number (char *, int, int, YYSTYPE *); |
266 | 278 static int parse_go_float (struct gdbarch *gdbarch, const char *p, int len, |
267 static struct type *current_type; | 279 » » » DOUBLEST *d, struct type **t); |
268 static struct internalvar *intvar; | |
269 static int leftdiv_is_integer; | |
270 static void push_current_type (void); | |
271 static void pop_current_type (void); | |
272 static int search_field; | |
273 | 280 |
274 | 281 |
275 /* Line 214 of yacc.c. */ | 282 /* Line 214 of yacc.c. */ |
276 #line 277 "p-exp.c" | 283 #line 284 "go-exp.c" |
277 | 284 |
278 #if ! defined (yyoverflow) || YYERROR_VERBOSE | 285 #if ! defined (yyoverflow) || YYERROR_VERBOSE |
279 | 286 |
280 # ifndef YYFREE | 287 # ifndef YYFREE |
281 # define YYFREE xfree | 288 # define YYFREE xfree |
282 # endif | 289 # endif |
283 # ifndef YYMALLOC | 290 # ifndef YYMALLOC |
284 # define YYMALLOC xmalloc | 291 # define YYMALLOC xmalloc |
285 # endif | 292 # endif |
286 | 293 |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 | 377 |
371 #endif | 378 #endif |
372 | 379 |
373 #if defined (__STDC__) || defined (__cplusplus) | 380 #if defined (__STDC__) || defined (__cplusplus) |
374 typedef signed char yysigned_char; | 381 typedef signed char yysigned_char; |
375 #else | 382 #else |
376 typedef short yysigned_char; | 383 typedef short yysigned_char; |
377 #endif | 384 #endif |
378 | 385 |
379 /* YYFINAL -- State number of the termination state. */ | 386 /* YYFINAL -- State number of the termination state. */ |
380 #define YYFINAL 3 | 387 #define YYFINAL 40 |
381 /* YYLAST -- Last index in YYTABLE. */ | 388 /* YYLAST -- Last index in YYTABLE. */ |
382 #define YYLAST 382 | 389 #define YYLAST 443 |
383 | 390 |
384 /* YYNTOKENS -- Number of terminals. */ | 391 /* YYNTOKENS -- Number of terminals. */ |
385 #define YYNTOKENS 53 | 392 #define YYNTOKENS 68 |
386 /* YYNNTS -- Number of nonterminals. */ | 393 /* YYNNTS -- Number of nonterminals. */ |
387 #define YYNNTS 20 | 394 #define YYNNTS 13 |
388 /* YYNRULES -- Number of rules. */ | 395 /* YYNRULES -- Number of rules. */ |
389 #define YYNRULES 76 | 396 #define YYNRULES 69 |
390 /* YYNRULES -- Number of states. */ | 397 /* YYNRULES -- Number of states. */ |
391 #define YYNSTATES 125 | 398 #define YYNSTATES 122 |
392 | 399 |
393 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ | 400 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
394 #define YYUNDEFTOK 2 | 401 #define YYUNDEFTOK 2 |
395 #define YYMAXUTOK 292 | 402 #define YYMAXUTOK 299 |
396 | 403 |
397 #define YYTRANSLATE(YYX) \ | 404 #define YYTRANSLATE(YYX) \ |
398 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) | 405 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
399 | 406 |
400 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ | 407 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ |
401 static const unsigned char yytranslate[] = | 408 static const unsigned char yytranslate[] = |
402 { | 409 { |
403 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 410 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
404 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 411 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
405 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 412 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
406 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 413 2, 2, 2, 62, 2, 2, 2, 54, 39, 2, |
407 47, 51, 40, 38, 20, 39, 45, 41, 2, 2, | 414 60, 64, 52, 50, 31, 51, 58, 53, 2, 2, |
408 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 415 2, 2, 2, 2, 2, 2, 2, 2, 67, 2, |
409 29, 27, 30, 2, 37, 2, 2, 2, 2, 2, | 416 43, 33, 44, 34, 49, 2, 2, 2, 2, 2, |
410 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 417 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
411 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 418 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
412 2, 46, 2, 52, 49, 2, 2, 2, 2, 2, | 419 2, 59, 2, 63, 38, 2, 2, 2, 2, 2, |
| 420 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 421 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 422 2, 2, 2, 65, 37, 66, 2, 2, 2, 2, |
413 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 423 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
414 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 424 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
415 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 425 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
416 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
417 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
418 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
419 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 426 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
420 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 427 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
421 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 428 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
422 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 429 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
423 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 430 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
424 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 431 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
425 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 432 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
426 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 433 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
427 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | 434 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
428 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, | 435 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, |
429 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, | 436 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
430 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, | 437 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
431 26, 28, 31, 32, 33, 34, 35, 36, 42, 43, | 438 25, 26, 27, 28, 29, 30, 32, 35, 36, 40, |
432 44, 48, 50 | 439 41, 42, 45, 46, 47, 48, 55, 56, 57, 61 |
433 }; | 440 }; |
434 | 441 |
435 #if YYDEBUG | 442 #if YYDEBUG |
436 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in | 443 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in |
437 YYRHS. */ | 444 YYRHS. */ |
438 static const unsigned char yyprhs[] = | 445 static const unsigned char yyprhs[] = |
439 { | 446 { |
440 0, 0, 3, 4, 7, 9, 11, 13, 15, 19, | 447 0, 0, 3, 5, 7, 9, 11, 15, 18, 21, |
441 22, 25, 28, 31, 36, 41, 44, 47, 50, 53, | 448 24, 27, 30, 33, 36, 39, 43, 48, 52, 57, |
442 54, 60, 61, 67, 68, 70, 74, 79, 83, 87, | 449 58, 64, 66, 67, 69, 73, 75, 80, 85, 89, |
443 88, 93, 97, 101, 105, 109, 113, 117, 121, 125, | 450 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, |
444 129, 133, 137, 141, 145, 149, 153, 157, 159, 161, | 451 133, 137, 141, 145, 149, 153, 157, 161, 165, 171, |
445 163, 165, 167, 169, 171, 176, 181, 183, 185, 187, | 452 175, 179, 181, 183, 185, 187, 189, 191, 196, 201, |
446 191, 195, 199, 201, 204, 206, 208, 210, 213, 215, | 453 203, 207, 209, 211, 213, 216, 218, 221, 223, 225 |
447 218, 221, 223, 225, 227, 229, 231 | |
448 }; | 454 }; |
449 | 455 |
450 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ | 456 /* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
451 static const yysigned_char yyrhs[] = | 457 static const yysigned_char yyrhs[] = |
452 { | 458 { |
453 54, 0, -1, -1, 55, 56, -1, 58, -1, 57, | 459 69, 0, -1, 71, -1, 70, -1, 79, -1, 72, |
454 -1, 69, -1, 59, -1, 58, 20, 59, -1, 59, | 460 -1, 71, 31, 72, -1, 52, 72, -1, 39, 72, |
455 49, -1, 37, 59, -1, 39, 59, -1, 23, 59, | 461 -1, 51, 72, -1, 50, 72, -1, 62, 72, -1, |
456 -1, 43, 47, 59, 51, -1, 42, 47, 59, 51, | 462 38, 72, -1, 72, 56, -1, 72, 55, -1, 72, |
457 -1, 59, 45, -1, 60, 6, -1, 60, 71, -1, | 463 58, 80, -1, 72, 58, 80, 10, -1, 72, 58, |
458 60, 7, -1, -1, 59, 46, 61, 58, 52, -1, | 464 10, -1, 72, 59, 71, 63, -1, -1, 72, 60, |
459 -1, 59, 47, 62, 63, 51, -1, -1, 59, -1, | 465 73, 75, 64, -1, 65, -1, -1, 72, -1, 75, |
460 63, 20, 59, -1, 69, 47, 59, 51, -1, 47, | 466 31, 72, -1, 66, -1, 74, 79, 76, 72, -1, |
461 58, 51, -1, 59, 40, 59, -1, -1, 59, 41, | 467 79, 60, 72, 64, -1, 60, 71, 64, -1, 72, |
462 64, 59, -1, 59, 34, 59, -1, 59, 33, 59, | 468 49, 72, -1, 72, 52, 72, -1, 72, 53, 72, |
463 -1, 59, 38, 59, -1, 59, 39, 59, -1, 59, | 469 -1, 72, 54, 72, -1, 72, 50, 72, -1, 72, |
464 36, 59, -1, 59, 35, 59, -1, 59, 27, 59, | 470 51, 72, -1, 72, 48, 72, -1, 72, 47, 72, |
465 -1, 59, 28, 59, -1, 59, 32, 59, -1, 59, | 471 -1, 72, 42, 72, -1, 72, 41, 72, -1, 72, |
466 31, 59, -1, 59, 29, 59, -1, 59, 30, 59, | 472 46, 72, -1, 72, 45, 72, -1, 72, 43, 72, |
467 -1, 59, 26, 59, -1, 59, 25, 59, -1, 59, | 473 -1, 72, 44, 72, -1, 72, 39, 72, -1, 72, |
468 24, 59, -1, 59, 22, 59, -1, 18, -1, 19, | 474 38, 72, -1, 72, 37, 72, -1, 72, 36, 72, |
469 -1, 3, -1, 10, -1, 4, -1, 66, -1, 16, | 475 -1, 72, 35, 72, -1, 72, 34, 72, 67, 72, |
470 -1, 13, 47, 69, 51, -1, 13, 47, 59, 51, | 476 -1, 72, 33, 72, -1, 72, 30, 72, -1, 3, |
471 -1, 5, -1, 17, -1, 50, -1, 65, 14, 71, | 477 -1, 7, -1, 11, -1, 4, -1, 78, -1, 29, |
472 -1, 65, 14, 71, -1, 70, 14, 71, -1, 67, | 478 -1, 18, 60, 79, 64, -1, 18, 60, 72, 64, |
473 -1, 14, 71, -1, 72, -1, 70, -1, 68, -1, | 479 -1, 6, -1, 77, 50, 6, -1, 77, -1, 12, |
474 49, 70, -1, 9, -1, 11, 71, -1, 12, 71, | 480 -1, 13, -1, 80, 26, -1, 80, -1, 52, 79, |
475 -1, 8, -1, 50, -1, 9, -1, 10, -1, 8, | 481 -1, 9, -1, 28, -1, 8, -1 |
476 -1, 50, -1 | |
477 }; | 482 }; |
478 | 483 |
479 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ | 484 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
480 static const unsigned short yyrline[] = | 485 static const unsigned short yyrline[] = |
481 { | 486 { |
482 0, 234, 234, 234, 243, 244, 247, 254, 255, 260, | 487 0, 237, 237, 238, 241, 248, 249, 254, 258, 262, |
483 266, 272, 276, 280, 284, 289, 293, 311, 329, 341, | 488 266, 270, 274, 278, 282, 288, 294, 301, 311, 318, |
484 339, 369, 366, 381, 382, 384, 388, 403, 409, 413, | 489 315, 325, 329, 332, 336, 340, 344, 350, 356, 362, |
485 413, 433, 437, 441, 445, 449, 453, 457, 463, 469, | 490 366, 370, 374, 378, 382, 386, 390, 394, 398, 402, |
486 475, 481, 487, 493, 497, 501, 505, 509, 516, 523, | 491 406, 410, 414, 418, 422, 426, 430, 434, 438, 442, |
487 531, 545, 553, 556, 571, 579, 582, 607, 634, 652, | 492 446, 452, 459, 468, 481, 488, 491, 497, 509, 516, |
488 662, 677, 692, 693, 724, 795, 806, 810, 812, 814, | 493 533, 551, 562, 568, 574, 590, 645, 647, 654, 667 |
489 817, 825, 826, 827, 828, 831, 832 | |
490 }; | 494 }; |
491 #endif | 495 #endif |
492 | 496 |
493 #if YYDEBUG || YYERROR_VERBOSE | 497 #if YYDEBUG || YYERROR_VERBOSE |
494 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. | 498 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
495 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ | 499 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
496 static const char *const yytname[] = | 500 static const char *const yytname[] = |
497 { | 501 { |
498 "$end", "error", "$undefined", "INT", "FLOAT", "STRING", "FIELDNAME", | 502 "$end", "error", "$undefined", "INT", "FLOAT", "RAW_STRING", "STRING", |
499 "COMPLETE", "NAME", "TYPENAME", "NAME_OR_INT", "STRUCT", "CLASS", | 503 "CHAR", "NAME", "TYPENAME", "COMPLETE", "NAME_OR_INT", "TRUE_KEYWORD", |
500 "SIZEOF", "COLONCOLON", "ERROR", "VARIABLE", "THIS", "TRUEKEYWORD", | 504 "FALSE_KEYWORD", "STRUCT_KEYWORD", "INTERFACE_KEYWORD", "TYPE_KEYWORD", |
501 "FALSEKEYWORD", "','", "ABOVE_COMMA", "ASSIGN", "NOT", "OR", "XOR", | 505 "CHAN_KEYWORD", "SIZEOF_KEYWORD", "LEN_KEYWORD", "CAP_KEYWORD", |
502 "ANDAND", "'='", "NOTEQUAL", "'<'", "'>'", "GEQ", "LEQ", "MOD", "DIV", | 506 "NEW_KEYWORD", "IOTA_KEYWORD", "NIL_KEYWORD", "CONST_KEYWORD", |
503 "RSH", "LSH", "'@'", "'+'", "'-'", "'*'", "'/'", "DECREMENT", | 507 "DOTDOTDOT", "ENTRY", "ERROR", "BYTE_KEYWORD", "DOLLAR_VARIABLE", |
504 "INCREMENT", "UNARY", "'.'", "'['", "'('", "ARROW", "'^'", "BLOCKNAME", | 508 "ASSIGN_MODIFY", "','", "ABOVE_COMMA", "'='", "'?'", "OROR", "ANDAND", |
505 "')'", "']'", "$accept", "start", "@1", "normal_start", "type_exp", | 509 "'|'", "'^'", "'&'", "ANDNOT", "NOTEQUAL", "EQUAL", "'<'", "'>'", "GEQ", |
506 "exp1", "exp", "field_exp", "@2", "@3", "arglist", "@4", "block", | 510 "LEQ", "RSH", "LSH", "'@'", "'+'", "'-'", "'*'", "'/'", "'%'", |
507 "variable", "qualified_name", "ptype", "type", "typebase", "name", | 511 "DECREMENT", "INCREMENT", "UNARY", "'.'", "'['", "'('", "LEFT_ARROW", |
508 "name_not_typename", 0 | 512 "'!'", "']'", "')'", "'{'", "'}'", "':'", "$accept", "start", "type_exp", |
| 513 "exp1", "exp", "@1", "lcurly", "arglist", "rcurly", "string_exp", |
| 514 "variable", "type", "name_not_typename", 0 |
509 }; | 515 }; |
510 #endif | 516 #endif |
511 | 517 |
512 # ifdef YYPRINT | 518 # ifdef YYPRINT |
513 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to | 519 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to |
514 token YYLEX-NUM. */ | 520 token YYLEX-NUM. */ |
515 static const unsigned short yytoknum[] = | 521 static const unsigned short yytoknum[] = |
516 { | 522 { |
517 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, | 523 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
518 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, | 524 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
519 44, 275, 276, 277, 278, 279, 280, 61, 281, 60, | 525 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, |
520 62, 282, 283, 284, 285, 286, 287, 64, 43, 45, | 526 285, 44, 286, 61, 63, 287, 288, 124, 94, 38, |
521 42, 47, 288, 289, 290, 46, 91, 40, 291, 94, | 527 289, 290, 291, 60, 62, 292, 293, 294, 295, 64, |
522 292, 41, 93 | 528 43, 45, 42, 47, 37, 296, 297, 298, 46, 91, |
| 529 40, 299, 33, 93, 41, 123, 125, 58 |
523 }; | 530 }; |
524 # endif | 531 # endif |
525 | 532 |
526 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ | 533 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
527 static const unsigned char yyr1[] = | 534 static const unsigned char yyr1[] = |
528 { | 535 { |
529 0, 53, 55, 54, 56, 56, 57, 58, 58, 59, | 536 0, 68, 69, 69, 70, 71, 71, 72, 72, 72, |
530 59, 59, 59, 59, 59, 60, 59, 59, 59, 61, | 537 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, |
531 59, 62, 59, 63, 63, 63, 59, 59, 59, 64, | 538 72, 74, 75, 75, 75, 76, 72, 72, 72, 72, |
532 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, | 539 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, |
533 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, | 540 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, |
534 59, 59, 59, 59, 59, 59, 59, 59, 65, 65, | 541 72, 72, 72, 72, 72, 72, 72, 72, 72, 77, |
535 66, 67, 66, 66, 66, 68, 69, 70, 70, 70, | 542 77, 72, 72, 72, 78, 78, 79, 79, 79, 80 |
536 70, 71, 71, 71, 71, 72, 72 | |
537 }; | 543 }; |
538 | 544 |
539 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ | 545 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
540 static const unsigned char yyr2[] = | 546 static const unsigned char yyr2[] = |
541 { | 547 { |
542 0, 2, 0, 2, 1, 1, 1, 1, 3, 2, | 548 0, 2, 1, 1, 1, 1, 3, 2, 2, 2, |
543 2, 2, 2, 4, 4, 2, 2, 2, 2, 0, | 549 2, 2, 2, 2, 2, 3, 4, 3, 4, 0, |
544 5, 0, 5, 0, 1, 3, 4, 3, 3, 0, | 550 5, 1, 0, 1, 3, 1, 4, 4, 3, 3, |
545 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, | 551 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
546 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, | 552 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, |
547 1, 1, 1, 1, 4, 4, 1, 1, 1, 3, | 553 3, 1, 1, 1, 1, 1, 1, 4, 4, 1, |
548 3, 3, 1, 2, 1, 1, 1, 2, 1, 2, | 554 3, 1, 1, 1, 2, 1, 2, 1, 1, 1 |
549 2, 1, 1, 1, 1, 1, 1 | |
550 }; | 555 }; |
551 | 556 |
552 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state | 557 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
553 STATE-NUM when YYTABLE doesn't specify something else to do. Zero | 558 STATE-NUM when YYTABLE doesn't specify something else to do. Zero |
554 means the default is an error. */ | 559 means the default is an error. */ |
555 static const unsigned char yydefact[] = | 560 static const unsigned char yydefact[] = |
556 { | 561 { |
557 2, 0, 0, 1, 49, 51, 56, 75, 68, 50, | 562 0, 51, 54, 59, 52, 69, 67, 53, 62, 63, |
558 0, 0, 0, 0, 53, 57, 47, 48, 0, 0, | 563 0, 68, 56, 0, 0, 0, 0, 0, 0, 0, |
559 0, 0, 0, 0, 0, 76, 3, 5, 4, 7, | 564 21, 0, 3, 2, 5, 0, 61, 55, 4, 65, |
560 0, 0, 52, 62, 66, 6, 65, 64, 71, 73, | 565 0, 12, 0, 8, 10, 9, 7, 66, 0, 11, |
561 74, 72, 69, 70, 0, 63, 12, 0, 10, 11, | 566 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
562 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, | |
563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
564 0, 0, 29, 15, 19, 21, 9, 16, 18, 17, | 568 0, 0, 0, 0, 14, 13, 0, 0, 19, 0, |
565 0, 0, 0, 0, 0, 0, 0, 27, 8, 46, | 569 0, 0, 0, 64, 0, 0, 28, 6, 50, 49, |
566 45, 44, 43, 37, 38, 41, 42, 40, 39, 32, | 570 0, 47, 46, 45, 44, 43, 38, 37, 41, 42, |
567 31, 36, 35, 33, 34, 28, 0, 0, 23, 60, | 571 40, 39, 36, 35, 29, 33, 34, 30, 31, 32, |
568 0, 61, 55, 54, 14, 13, 30, 0, 24, 0, | 572 17, 15, 0, 22, 66, 25, 0, 60, 0, 58, |
569 26, 20, 0, 22, 25 | 573 57, 0, 16, 18, 23, 0, 26, 27, 48, 0, |
| 574 20, 24 |
570 }; | 575 }; |
571 | 576 |
572 /* YYDEFGOTO[NTERM-NUM]. */ | 577 /* YYDEFGOTO[NTERM-NUM]. */ |
573 static const yysigned_char yydefgoto[] = | 578 static const yysigned_char yydefgoto[] = |
574 { | 579 { |
575 -1, 1, 2, 26, 27, 28, 29, 30, 107, 108, | 580 -1, 21, 22, 23, 24, 103, 25, 115, 106, 26, |
576 119, 106, 31, 32, 33, 34, 47, 36, 42, 37 | 581 27, 32, 29 |
577 }; | 582 }; |
578 | 583 |
579 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | 584 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
580 STATE-NUM. */ | 585 STATE-NUM. */ |
581 #define YYPACT_NINF -43 | 586 #define YYPACT_NINF -56 |
582 static const short yypact[] = | 587 static const short yypact[] = |
583 { | 588 { |
584 -43, 8, 89, -43, -43, -43, -43, -43, -43, -43, | 589 49, -56, -56, -56, -56, -56, -56, -56, -56, -56, |
585 7, 7, -40, 7, -43, -43, -43, -43, 89, 89, | 590 -44, -56, -56, 49, 49, 49, 49, 49, 49, 49, |
586 89, -27, -23, 89, 10, 13, -43, -43, 14, 230, | 591 -56, 23, -56, 34, 187, 45, -23, -56, 6, 46, |
587 4, 21, -43, -43, -43, -19, 41, -43, -43, -43, | 592 49, -48, 6, -48, -48, -48, -48, 6, 38, -48, |
588 -43, -43, -43, -43, 89, -43, 36, -19, 36, 36, | 593 -56, 49, 49, 49, 49, 49, 49, 49, 49, 49, |
589 89, 89, 5, -43, 89, 89, 89, 89, 89, 89, | 594 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, |
590 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, | 595 49, 49, 49, 49, -56, -56, 5, 49, -56, 45, |
591 89, 89, -43, -43, -43, -43, -43, -43, -43, -43, | 596 8, 65, 49, -56, 123, -55, -56, 187, 187, 187, |
592 7, 89, 7, 118, -42, 146, 174, -43, 230, 230, | 597 88, 239, 263, 286, 308, 328, 346, 346, 360, 360, |
593 255, 279, 302, 323, 323, 31, 31, 31, 31, 75, | 598 360, 360, 372, 372, 383, -34, -34, -48, -48, -48, |
594 75, 75, 75, 333, 333, 36, 89, 89, 89, 44, | 599 -56, 69, 33, 49, -56, -56, 49, -56, 155, -56, |
595 202, -43, -43, -43, -43, -43, 36, 9, 230, 11, | 600 -56, 49, -56, -56, 187, 39, -48, -56, 214, 49, |
596 -43, -43, 89, -43, 230 | 601 -56, 187 |
597 }; | 602 }; |
598 | 603 |
599 /* YYPGOTO[NTERM-NUM]. */ | 604 /* YYPGOTO[NTERM-NUM]. */ |
600 static const yysigned_char yypgoto[] = | 605 static const yysigned_char yypgoto[] = |
601 { | 606 { |
602 -43, -43, -43, -43, -43, -20, -18, -43, -43, -43, | 607 -56, -56, -56, -4, -13, -56, -56, -56, -56, -56, |
603 -43, -43, -43, -43, -43, -43, 16, 6, -7, -43 | 608 -56, 51, 9 |
604 }; | 609 }; |
605 | 610 |
606 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If | 611 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
607 positive, shift that token. If negative, reduce the rule which | 612 positive, shift that token. If negative, reduce the rule which |
608 number is the opposite. If zero, do what YYDEFACT says. | 613 number is the opposite. If zero, do what YYDEFACT says. |
609 If YYTABLE_NINF, syntax error. */ | 614 If YYTABLE_NINF, syntax error. */ |
610 #define YYTABLE_NINF -60 | 615 #define YYTABLE_NINF -1 |
611 static const yysigned_char yytable[] = | 616 static const unsigned char yytable[] = |
612 { | 617 { |
613 46, 48, 49, 52, 43, 81, 45, 44, 3, 113, | 618 31, 33, 34, 35, 36, 72, 39, 64, 65, 110, |
614 77, 78, 38, 39, 40, 38, 39, 40, 35, 8, | 619 66, 67, 68, 5, 38, 100, 30, 74, 61, 62, |
615 50, 10, 11, 79, 51, 54, 83, -58, 81, 54, | 620 63, 64, 65, 40, 66, 67, 68, 71, 77, 78, |
616 53, 122, 85, 86, 54, 80, 88, 89, 90, 91, | 621 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
617 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, | 622 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, |
618 102, 103, 104, 105, 41, 82, 87, 41, -59, 24, | 623 99, 28, 1, 2, 6, 3, 4, 5, 6, 108, |
619 84, 121, 123, 110, 65, 66, 67, 68, 0, 69, | 624 7, 8, 9, 102, 41, 41, 72, 10, 37, 41, |
620 70, 71, 72, 109, 0, 111, 73, 74, 75, 0, | 625 119, 107, 73, 11, 105, 101, 70, 11, 12, 112, |
621 76, 73, 74, 75, 0, 76, 0, 117, 116, 0, | 626 0, 75, 0, 0, 0, 0, 0, 13, 14, 0, |
622 118, 0, 4, 5, 6, 0, 0, 7, 8, 9, | 627 114, 0, 0, 116, 0, 0, 113, 69, 118, 15, |
623 10, 11, 12, 13, 124, 14, 15, 16, 17, 0, | 628 16, 17, 76, 120, 0, 0, 121, 0, 0, 18, |
624 0, 0, 18, 69, 70, 71, 72, 0, 0, 0, | 629 0, 19, 0, 0, 20, 0, 0, 0, 42, 0, |
625 73, 74, 75, 0, 76, 0, 19, 0, 20, 0, | 630 104, 43, 44, 45, 46, 47, 48, 49, 0, 50, |
626 0, 21, 22, 0, 0, 0, 23, 0, 24, 25, | 631 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, |
627 55, 0, 56, 57, 58, 59, 60, 61, 62, 63, | 632 61, 62, 63, 64, 65, 0, 66, 67, 68, 0, |
628 64, 65, 66, 67, 68, 0, 69, 70, 71, 72, | 633 0, 0, 0, 42, 0, 111, 43, 44, 45, 46, |
629 0, 0, 0, 73, 74, 75, 0, 76, 55, 112, | 634 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, |
630 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, | 635 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, |
631 66, 67, 68, 0, 69, 70, 71, 72, 0, 0, | 636 0, 66, 67, 68, 0, 42, 0, 109, 43, 44, |
632 0, 73, 74, 75, 0, 76, 55, 114, 56, 57, | 637 45, 46, 47, 48, 49, 0, 50, 51, 52, 53, |
633 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, | 638 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, |
634 68, 0, 69, 70, 71, 72, 0, 0, 0, 73, | 639 64, 65, 0, 66, 67, 68, 0, 42, 0, 117, |
635 74, 75, 0, 76, 55, 115, 56, 57, 58, 59, | 640 43, 44, 45, 46, 47, 48, 49, 0, 50, 51, |
636 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, | 641 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, |
637 69, 70, 71, 72, 0, 0, 0, 73, 74, 75, | 642 62, 63, 64, 65, 0, 66, 67, 68, 44, 45, |
638 0, 76, 55, 120, 56, 57, 58, 59, 60, 61, | 643 46, 47, 48, 49, 0, 50, 51, 52, 53, 54, |
639 62, 63, 64, 65, 66, 67, 68, 0, 69, 70, | 644 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, |
640 71, 72, 0, 0, 0, 73, 74, 75, 0, 76, | 645 65, 0, 66, 67, 68, 46, 47, 48, 49, 0, |
641 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, | 646 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, |
642 67, 68, 0, 69, 70, 71, 72, 0, 0, 0, | 647 60, 61, 62, 63, 64, 65, 0, 66, 67, 68, |
643 73, 74, 75, 0, 76, 58, 59, 60, 61, 62, | 648 47, 48, 49, 0, 50, 51, 52, 53, 54, 55, |
644 63, 64, 65, 66, 67, 68, 0, 69, 70, 71, | 649 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, |
645 72, 0, 0, 0, 73, 74, 75, 0, 76, 59, | 650 0, 66, 67, 68, 48, 49, 0, 50, 51, 52, |
646 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, | 651 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, |
647 69, 70, 71, 72, 0, 0, 0, 73, 74, 75, | 652 63, 64, 65, 0, 66, 67, 68, 49, 0, 50, |
648 0, 76, 61, 62, 63, 64, 65, 66, 67, 68, | 653 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, |
649 0, 69, 70, 71, 72, 0, 0, 0, 73, 74, | 654 61, 62, 63, 64, 65, 0, 66, 67, 68, 50, |
650 75, 0, 76, 71, 72, 0, 0, 0, 73, 74, | 655 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, |
651 75, 0, 76 | 656 61, 62, 63, 64, 65, 0, 66, 67, 68, 52, |
| 657 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, |
| 658 63, 64, 65, 0, 66, 67, 68, 56, 57, 58, |
| 659 59, 60, 61, 62, 63, 64, 65, 0, 66, 67, |
| 660 68, 58, 59, 60, 61, 62, 63, 64, 65, 0, |
| 661 66, 67, 68, 59, 60, 61, 62, 63, 64, 65, |
| 662 0, 66, 67, 68 |
652 }; | 663 }; |
653 | 664 |
654 static const yysigned_char yycheck[] = | 665 static const yysigned_char yycheck[] = |
655 { | 666 { |
656 18, 19, 20, 23, 11, 47, 13, 47, 0, 51, | 667 13, 14, 15, 16, 17, 60, 19, 55, 56, 64, |
657 6, 7, 8, 9, 10, 8, 9, 10, 2, 9, | 668 58, 59, 60, 8, 18, 10, 60, 30, 52, 53, |
658 47, 11, 12, 30, 47, 20, 44, 14, 47, 20, | 669 54, 55, 56, 0, 58, 59, 60, 50, 41, 42, |
659 24, 20, 50, 51, 20, 14, 54, 55, 56, 57, | 670 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
660 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, | 671 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, |
661 68, 69, 70, 71, 50, 14, 51, 50, 14, 49, | 672 63, 0, 3, 4, 9, 6, 7, 8, 9, 72, |
662 44, 52, 51, 81, 33, 34, 35, 36, -1, 38, | 673 11, 12, 13, 67, 31, 31, 60, 18, 17, 31, |
663 39, 40, 41, 80, -1, 82, 45, 46, 47, -1, | 674 31, 6, 26, 28, 66, 66, 25, 28, 29, 10, |
664 49, 45, 46, 47, -1, 49, -1, 107, 106, -1, | 675 -1, 30, -1, -1, -1, -1, -1, 38, 39, -1, |
665 108, -1, 3, 4, 5, -1, -1, 8, 9, 10, | 676 103, -1, -1, 106, -1, -1, 63, 52, 111, 50, |
666 11, 12, 13, 14, 122, 16, 17, 18, 19, -1, | 677 51, 52, 64, 64, -1, -1, 119, -1, -1, 60, |
667 -1, -1, 23, 38, 39, 40, 41, -1, -1, -1, | 678 -1, 62, -1, -1, 65, -1, -1, -1, 30, -1, |
668 45, 46, 47, -1, 49, -1, 37, -1, 39, -1, | 679 69, 33, 34, 35, 36, 37, 38, 39, -1, 41, |
669 -1, 42, 43, -1, -1, -1, 47, -1, 49, 50, | 680 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
670 22, -1, 24, 25, 26, 27, 28, 29, 30, 31, | 681 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, |
671 32, 33, 34, 35, 36, -1, 38, 39, 40, 41, | 682 -1, -1, -1, 30, -1, 67, 33, 34, 35, 36, |
672 -1, -1, -1, 45, 46, 47, -1, 49, 22, 51, | 683 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, |
673 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, | 684 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
674 34, 35, 36, -1, 38, 39, 40, 41, -1, -1, | 685 -1, 58, 59, 60, -1, 30, -1, 64, 33, 34, |
675 -1, 45, 46, 47, -1, 49, 22, 51, 24, 25, | 686 35, 36, 37, 38, 39, -1, 41, 42, 43, 44, |
676 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, | 687 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
677 36, -1, 38, 39, 40, 41, -1, -1, -1, 45, | 688 55, 56, -1, 58, 59, 60, -1, 30, -1, 64, |
678 46, 47, -1, 49, 22, 51, 24, 25, 26, 27, | 689 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, |
679 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, | 690 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, |
680 38, 39, 40, 41, -1, -1, -1, 45, 46, 47, | 691 53, 54, 55, 56, -1, 58, 59, 60, 34, 35, |
681 -1, 49, 22, 51, 24, 25, 26, 27, 28, 29, | 692 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, |
682 30, 31, 32, 33, 34, 35, 36, -1, 38, 39, | 693 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
683 40, 41, -1, -1, -1, 45, 46, 47, -1, 49, | 694 56, -1, 58, 59, 60, 36, 37, 38, 39, -1, |
684 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, | 695 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, |
685 35, 36, -1, 38, 39, 40, 41, -1, -1, -1, | 696 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, |
686 45, 46, 47, -1, 49, 26, 27, 28, 29, 30, | 697 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, |
687 31, 32, 33, 34, 35, 36, -1, 38, 39, 40, | 698 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, |
688 41, -1, -1, -1, 45, 46, 47, -1, 49, 27, | 699 -1, 58, 59, 60, 38, 39, -1, 41, 42, 43, |
689 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, | 700 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
690 38, 39, 40, 41, -1, -1, -1, 45, 46, 47, | 701 54, 55, 56, -1, 58, 59, 60, 39, -1, 41, |
691 -1, 49, 29, 30, 31, 32, 33, 34, 35, 36, | 702 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
692 -1, 38, 39, 40, 41, -1, -1, -1, 45, 46, | 703 52, 53, 54, 55, 56, -1, 58, 59, 60, 41, |
693 47, -1, 49, 40, 41, -1, -1, -1, 45, 46, | 704 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
694 47, -1, 49 | 705 52, 53, 54, 55, 56, -1, 58, 59, 60, 43, |
| 706 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, |
| 707 54, 55, 56, -1, 58, 59, 60, 47, 48, 49, |
| 708 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, |
| 709 60, 49, 50, 51, 52, 53, 54, 55, 56, -1, |
| 710 58, 59, 60, 50, 51, 52, 53, 54, 55, 56, |
| 711 -1, 58, 59, 60 |
695 }; | 712 }; |
696 | 713 |
697 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | 714 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
698 symbol of state STATE-NUM. */ | 715 symbol of state STATE-NUM. */ |
699 static const unsigned char yystos[] = | 716 static const unsigned char yystos[] = |
700 { | 717 { |
701 0, 54, 55, 0, 3, 4, 5, 8, 9, 10, | 718 0, 3, 4, 6, 7, 8, 9, 11, 12, 13, |
702 11, 12, 13, 14, 16, 17, 18, 19, 23, 37, | 719 18, 28, 29, 38, 39, 50, 51, 52, 60, 62, |
703 39, 42, 43, 47, 49, 50, 56, 57, 58, 59, | 720 65, 69, 70, 71, 72, 74, 77, 78, 79, 80, |
704 60, 65, 66, 67, 68, 69, 70, 72, 8, 9, | 721 60, 72, 79, 72, 72, 72, 72, 79, 71, 72, |
705 10, 50, 71, 71, 47, 71, 59, 69, 59, 59, | 722 0, 31, 30, 33, 34, 35, 36, 37, 38, 39, |
706 47, 47, 58, 70, 20, 22, 24, 25, 26, 27, | 723 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, |
707 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, | 724 51, 52, 53, 54, 55, 56, 58, 59, 60, 52, |
708 39, 40, 41, 45, 46, 47, 49, 6, 7, 71, | 725 79, 50, 60, 26, 72, 79, 64, 72, 72, 72, |
709 14, 47, 14, 59, 69, 59, 59, 51, 59, 59, | 726 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, |
710 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, | 727 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, |
711 59, 59, 59, 59, 59, 59, 64, 61, 62, 71, | 728 10, 80, 71, 73, 79, 66, 76, 6, 72, 64, |
712 59, 71, 51, 51, 51, 51, 59, 58, 59, 63, | 729 64, 67, 10, 63, 72, 75, 72, 64, 72, 31, |
713 51, 52, 20, 51, 59 | 730 64, 72 |
714 }; | 731 }; |
715 | 732 |
716 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) | 733 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
717 # define YYSIZE_T __SIZE_TYPE__ | 734 # define YYSIZE_T __SIZE_TYPE__ |
718 #endif | 735 #endif |
719 #if ! defined (YYSIZE_T) && defined (size_t) | 736 #if ! defined (YYSIZE_T) && defined (size_t) |
720 # define YYSIZE_T size_t | 737 # define YYSIZE_T size_t |
721 #endif | 738 #endif |
722 #if ! defined (YYSIZE_T) | 739 #if ! defined (YYSIZE_T) |
723 # if defined (__STDC__) || defined (__cplusplus) | 740 # if defined (__STDC__) || defined (__cplusplus) |
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1310 yylen = yyr2[yyn]; | 1327 yylen = yyr2[yyn]; |
1311 | 1328 |
1312 /* If YYLEN is nonzero, implement the default value of the action: | 1329 /* If YYLEN is nonzero, implement the default value of the action: |
1313 `$$ = $1'. | 1330 `$$ = $1'. |
1314 | 1331 |
1315 Otherwise, the following line sets YYVAL to garbage. | 1332 Otherwise, the following line sets YYVAL to garbage. |
1316 This behavior is undocumented and Bison | 1333 This behavior is undocumented and Bison |
1317 users should not rely upon it. Assigning to YYVAL | 1334 users should not rely upon it. Assigning to YYVAL |
1318 unconditionally makes the parser a bit smaller, and it avoids a | 1335 unconditionally makes the parser a bit smaller, and it avoids a |
1319 GCC warning that YYVAL may be used uninitialized. */ | 1336 GCC warning that YYVAL may be used uninitialized. */ |
error: old chunk mismatch |
None
OLD | NEW |