cprover
ansi_c_y.tab.cpp
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.6.4. */
2 
3 /* Bison implementation for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6  Inc.
7 
8  This program is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 
21 /* As a special exception, you may create a larger work that contains
22  part or all of the Bison parser skeleton and distribute that work
23  under terms of your choice, so long as that work isn't itself a
24  parser generator using the skeleton or a modified version thereof
25  as a parser skeleton. Alternatively, if you modify or redistribute
26  the parser skeleton itself, you may (at your option) remove this
27  special exception, which will cause the skeleton and the resulting
28  Bison output files to be licensed under the GNU General Public
29  License without this special exception.
30 
31  This special exception was added by the Free Software Foundation in
32  version 2.2 of Bison. */
33 
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35  simplifying the original so-called "semantic" parser. */
36 
37 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
38  especially those whose name start with YY_ or yy_. They are
39  private implementation details that can be changed or removed. */
40 
41 /* All symbols defined below should begin with yy or YY, to avoid
42  infringing on user name space. This should be done even for local
43  variables, as they might otherwise be expanded by user macros.
44  There are some unavoidable exceptions within include files to
45  define necessary library symbols; they are noted "INFRINGES ON
46  USER NAME SPACE" below. */
47 
48 /* Identify Bison output. */
49 #define YYBISON 1
50 
51 /* Bison version. */
52 #define YYBISON_VERSION "3.6.4"
53 
54 /* Skeleton name. */
55 #define YYSKELETON_NAME "yacc.c"
56 
57 /* Pure parsers. */
58 #define YYPURE 0
59 
60 /* Push parsers. */
61 #define YYPUSH 0
62 
63 /* Pull parsers. */
64 #define YYPULL 1
65 
66 
67 /* Substitute the variable and function names. */
68 #define yyparse yyansi_cparse
69 #define yylex yyansi_clex
70 #define yyerror yyansi_cerror
71 #define yydebug yyansi_cdebug
72 #define yynerrs yyansi_cnerrs
73 #define yylval yyansi_clval
74 #define yychar yyansi_cchar
75 
76 /* First part of user prologue. */
77 #line 1 "parser.y"
78 
79 
80 /*
81  * This parser is based on:
82  *
83  * c5.y, a ANSI-C grammar written by James A. Roskind.
84  * "Portions Copyright (c) 1989, 1990 James A. Roskind".
85  * (http://www.idiom.com/free-compilers/,
86  * ftp://ftp.infoseek.com/ftp/pub/c++grammar/,
87  * ftp://ftp.sra.co.jp/.a/pub/cmd/c++grammar2.0.tar.gz)
88  */
89 
90 #ifdef ANSI_C_DEBUG
91 #define YYDEBUG 1
92 #endif
93 #define PARSER ansi_c_parser
94 
95 #include "ansi_c_parser.h"
96 
97 int yyansi_clex();
98 extern char *yyansi_ctext;
99 
100 #include "parser_static.inc"
101 
103 
104 #include "ansi_c_y.tab.h"
105 
106 #include <util/mathematical_expr.h>
107 
108 #ifdef _MSC_VER
109 // possible loss of data
110 #pragma warning(disable:4242)
111 // possible loss of data
112 #pragma warning(disable:4244)
113 // signed/unsigned mismatch
114 #pragma warning(disable:4365)
115 // switch with default but no case labels
116 #pragma warning(disable:4065)
117 // unreachable code
118 #pragma warning(disable:4702)
119 #endif
120 
121 // statements have right recursion, deep nesting of statements thus
122 // requires more stack space
123 #define YYMAXDEPTH 25600
124 
125 /*** token declaration **************************************************/
126 #line 274 "parser.y"
127 
128 /************************************************************************/
129 /*** rules **************************************************************/
130 /************************************************************************/
131 
132 #line 133 "ansi_c_y.tab.cpp"
133 
134 # ifndef YY_CAST
135 # ifdef __cplusplus
136 # define YY_CAST(Type, Val) static_cast<Type> (Val)
137 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
138 # else
139 # define YY_CAST(Type, Val) ((Type) (Val))
140 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
141 # endif
142 # endif
143 # ifndef YY_NULLPTR
144 # if defined __cplusplus
145 # if 201103L <= __cplusplus
146 # define YY_NULLPTR nullptr
147 # else
148 # define YY_NULLPTR 0
149 # endif
150 # else
151 # define YY_NULLPTR ((void*)0)
152 # endif
153 # endif
154 
155 /* Use api.header.include to #include this header
156  instead of duplicating it here. */
157 #ifndef YY_YYANSI_C_ANSI_C_Y_TAB_H_INCLUDED
158 # define YY_YYANSI_C_ANSI_C_Y_TAB_H_INCLUDED
159 /* Debug traces. */
160 #ifndef YYDEBUG
161 # define YYDEBUG 0
162 #endif
163 #if YYDEBUG
164 extern int yyansi_cdebug;
165 #endif
166 
167 /* Token kinds. */
168 #ifndef YYTOKENTYPE
169 # define YYTOKENTYPE
170  enum yytokentype
171  {
172  YYEMPTY = -2,
173  YYEOF = 0, /* "end of file" */
174  YYerror = 256, /* error */
175  YYUNDEF = 257, /* "invalid token" */
176  TOK_AUTO = 258, /* "auto" */
177  TOK_BOOL = 259, /* "bool" */
178  TOK_COMPLEX = 260, /* "complex" */
179  TOK_BREAK = 261, /* "break" */
180  TOK_CASE = 262, /* "case" */
181  TOK_CHAR = 263, /* "char" */
182  TOK_CONST = 264, /* "const" */
183  TOK_CONTINUE = 265, /* "continue" */
184  TOK_DEFAULT = 266, /* "default" */
185  TOK_DO = 267, /* "do" */
186  TOK_DOUBLE = 268, /* "double" */
187  TOK_ELSE = 269, /* "else" */
188  TOK_ENUM = 270, /* "enum" */
189  TOK_EXTERN = 271, /* "extern" */
190  TOK_FLOAT = 272, /* "float" */
191  TOK_FOR = 273, /* "for" */
192  TOK_GOTO = 274, /* "goto" */
193  TOK_IF = 275, /* "if" */
194  TOK_INLINE = 276, /* "inline" */
195  TOK_INT = 277, /* "int" */
196  TOK_LONG = 278, /* "long" */
197  TOK_REGISTER = 279, /* "register" */
198  TOK_RESTRICT = 280, /* "restrict" */
199  TOK_RETURN = 281, /* "return" */
200  TOK_SHORT = 282, /* "short" */
201  TOK_SIGNED = 283, /* "signed" */
202  TOK_SIZEOF = 284, /* "sizeof" */
203  TOK_STATIC = 285, /* "static" */
204  TOK_STRUCT = 286, /* "struct" */
205  TOK_SWITCH = 287, /* "switch" */
206  TOK_TYPEDEF = 288, /* "typedef" */
207  TOK_UNION = 289, /* "union" */
208  TOK_UNSIGNED = 290, /* "unsigned" */
209  TOK_VOID = 291, /* "void" */
210  TOK_VOLATILE = 292, /* "volatile" */
211  TOK_WCHAR_T = 293, /* "wchar_t" */
212  TOK_WHILE = 294, /* "while" */
213  TOK_ARROW = 295, /* "->" */
214  TOK_INCR = 296, /* "++" */
215  TOK_DECR = 297, /* "--" */
216  TOK_SHIFTLEFT = 298, /* "<<" */
217  TOK_SHIFTRIGHT = 299, /* ">>" */
218  TOK_LE = 300, /* "<=" */
219  TOK_GE = 301, /* ">=" */
220  TOK_EQ = 302, /* "==" */
221  TOK_NE = 303, /* "!=" */
222  TOK_ANDAND = 304, /* "&&" */
223  TOK_OROR = 305, /* "||" */
224  TOK_ELLIPSIS = 306, /* "..." */
225  TOK_MULTASSIGN = 307, /* "*=" */
226  TOK_DIVASSIGN = 308, /* "/=" */
227  TOK_MODASSIGN = 309, /* "%=" */
228  TOK_PLUSASSIGN = 310, /* "+=" */
229  TOK_MINUSASSIGN = 311, /* "-=" */
230  TOK_SHLASSIGN = 312, /* "<<=" */
231  TOK_SHRASSIGN = 313, /* ">>=" */
232  TOK_ANDASSIGN = 314, /* "&=" */
233  TOK_XORASSIGN = 315, /* "^=" */
234  TOK_ORASSIGN = 316, /* "|=" */
235  TOK_IDENTIFIER = 317, /* TOK_IDENTIFIER */
236  TOK_TYPEDEFNAME = 318, /* TOK_TYPEDEFNAME */
237  TOK_INTEGER = 319, /* TOK_INTEGER */
238  TOK_FLOATING = 320, /* TOK_FLOATING */
239  TOK_CHARACTER = 321, /* TOK_CHARACTER */
240  TOK_STRING = 322, /* TOK_STRING */
241  TOK_ASM_STRING = 323, /* TOK_ASM_STRING */
242  TOK_INT8 = 324, /* "__int8" */
243  TOK_INT16 = 325, /* "__int16" */
244  TOK_INT32 = 326, /* "__int32" */
245  TOK_INT64 = 327, /* "__int64" */
246  TOK_PTR32 = 328, /* "__ptr32" */
247  TOK_PTR64 = 329, /* "__ptr64" */
248  TOK_TYPEOF = 330, /* "typeof" */
249  TOK_GCC_AUTO_TYPE = 331, /* "__auto_type" */
250  TOK_GCC_FLOAT16 = 332, /* "_Float16" */
251  TOK_GCC_FLOAT32 = 333, /* "_Float32" */
252  TOK_GCC_FLOAT32X = 334, /* "_Float32x" */
253  TOK_GCC_FLOAT80 = 335, /* "__float80" */
254  TOK_GCC_FLOAT64 = 336, /* "_Float64" */
255  TOK_GCC_FLOAT64X = 337, /* "_Float64x" */
256  TOK_GCC_FLOAT128 = 338, /* "_Float128" */
257  TOK_GCC_FLOAT128X = 339, /* "_Float128x" */
258  TOK_GCC_INT128 = 340, /* "__int128" */
259  TOK_GCC_DECIMAL32 = 341, /* "_Decimal32" */
260  TOK_GCC_DECIMAL64 = 342, /* "_Decimal64" */
261  TOK_GCC_DECIMAL128 = 343, /* "_Decimal128" */
262  TOK_GCC_ASM = 344, /* "__asm__" */
263  TOK_GCC_ASM_PAREN = 345, /* "__asm__ (with parentheses)" */
264  TOK_GCC_ATTRIBUTE = 346, /* "__attribute__" */
265  TOK_GCC_ATTRIBUTE_ALIGNED = 347, /* "aligned" */
266  TOK_GCC_ATTRIBUTE_TRANSPARENT_UNION = 348, /* "transparent_union" */
267  TOK_GCC_ATTRIBUTE_PACKED = 349, /* "packed" */
268  TOK_GCC_ATTRIBUTE_VECTOR_SIZE = 350, /* "vector_size" */
269  TOK_GCC_ATTRIBUTE_MODE = 351, /* "mode" */
270  TOK_GCC_ATTRIBUTE_GNU_INLINE = 352, /* "__gnu_inline__" */
271  TOK_GCC_ATTRIBUTE_WEAK = 353, /* "weak" */
272  TOK_GCC_ATTRIBUTE_ALIAS = 354, /* "alias" */
273  TOK_GCC_ATTRIBUTE_SECTION = 355, /* "section" */
274  TOK_GCC_ATTRIBUTE_NORETURN = 356, /* "noreturn" */
275  TOK_GCC_ATTRIBUTE_CONSTRUCTOR = 357, /* "constructor" */
276  TOK_GCC_ATTRIBUTE_DESTRUCTOR = 358, /* "destructor" */
277  TOK_GCC_ATTRIBUTE_FALLTHROUGH = 359, /* "fallthrough" */
278  TOK_GCC_ATTRIBUTE_USED = 360, /* "used" */
279  TOK_GCC_LABEL = 361, /* "__label__" */
280  TOK_MSC_ASM = 362, /* "__asm" */
281  TOK_MSC_BASED = 363, /* "__based" */
282  TOK_CW_VAR_ARG_TYPEOF = 364, /* "_var_arg_typeof" */
283  TOK_BUILTIN_VA_ARG = 365, /* "__builtin_va_arg" */
284  TOK_GCC_BUILTIN_TYPES_COMPATIBLE_P = 366, /* "__builtin_types_compatible_p" */
285  TOK_CLANG_BUILTIN_CONVERTVECTOR = 367, /* "__builtin_convertvector" */
286  TOK_OFFSETOF = 368, /* "__offsetof" */
287  TOK_ALIGNOF = 369, /* "__alignof__" */
288  TOK_MSC_TRY = 370, /* "__try" */
289  TOK_MSC_FINALLY = 371, /* "__finally" */
290  TOK_MSC_EXCEPT = 372, /* "__except" */
291  TOK_MSC_LEAVE = 373, /* "__leave" */
292  TOK_MSC_DECLSPEC = 374, /* "__declspec" */
293  TOK_MSC_FORCEINLINE = 375, /* "__forceinline" */
294  TOK_INTERFACE = 376, /* "__interface" */
295  TOK_CDECL = 377, /* "__cdecl" */
296  TOK_STDCALL = 378, /* "__stdcall" */
297  TOK_FASTCALL = 379, /* "__fastcall" */
298  TOK_CLRCALL = 380, /* "__clrcall" */
299  TOK_FORALL = 381, /* "forall" */
300  TOK_EXISTS = 382, /* "exists" */
301  TOK_ACSL_FORALL = 383, /* "\\forall" */
302  TOK_ACSL_EXISTS = 384, /* "\\exists" */
303  TOK_ACSL_LET = 385, /* "\\let" */
304  TOK_ARRAY_OF = 386, /* "array_of" */
305  TOK_CPROVER_BITVECTOR = 387, /* "__CPROVER_bitvector" */
306  TOK_CPROVER_FLOATBV = 388, /* "__CPROVER_floatbv" */
307  TOK_CPROVER_FIXEDBV = 389, /* "__CPROVER_fixedbv" */
308  TOK_CPROVER_ATOMIC = 390, /* "__CPROVER_atomic" */
309  TOK_CPROVER_BOOL = 391, /* "__CPROVER_bool" */
310  TOK_CPROVER_THROW = 392, /* "__CPROVER_throw" */
311  TOK_CPROVER_CATCH = 393, /* "__CPROVER_catch" */
312  TOK_CPROVER_TRY = 394, /* "__CPROVER_try" */
313  TOK_CPROVER_FINALLY = 395, /* "__CPROVER_finally" */
314  TOK_CPROVER_ID = 396, /* "__CPROVER_ID" */
315  TOK_CPROVER_LOOP_INVARIANT = 397, /* "__CPROVER_loop_invariant" */
316  TOK_CPROVER_REQUIRES = 398, /* "__CPROVER_requires" */
317  TOK_CPROVER_ENSURES = 399, /* "__CPROVER_ensures" */
318  TOK_IMPLIES = 400, /* "==>" */
319  TOK_EQUIVALENT = 401, /* "<==>" */
320  TOK_XORXOR = 402, /* "^^" */
321  TOK_TRUE = 403, /* "TRUE" */
322  TOK_FALSE = 404, /* "FALSE" */
323  TOK_REAL = 405, /* "__real__" */
324  TOK_IMAG = 406, /* "__imag__" */
325  TOK_ALIGNAS = 407, /* "_Alignas" */
326  TOK_ATOMIC_TYPE_QUALIFIER = 408, /* "_Atomic" */
327  TOK_ATOMIC_TYPE_SPECIFIER = 409, /* "_Atomic()" */
328  TOK_GENERIC = 410, /* "_Generic" */
329  TOK_IMAGINARY = 411, /* "_Imaginary" */
330  TOK_NORETURN = 412, /* "_Noreturn" */
331  TOK_STATIC_ASSERT = 413, /* "_Static_assert" */
332  TOK_THREAD_LOCAL = 414, /* "_Thread_local" */
333  TOK_NULLPTR = 415, /* "nullptr" */
334  TOK_CONSTEXPR = 416, /* "constexpr" */
335  TOK_SCANNER_ERROR = 417, /* TOK_SCANNER_ERROR */
336  TOK_SCANNER_EOF = 418, /* TOK_SCANNER_EOF */
337  TOK_CATCH = 419, /* "catch" */
338  TOK_CHAR16_T = 420, /* "char16_t" */
339  TOK_CHAR32_T = 421, /* "char32_t" */
340  TOK_CLASS = 422, /* "class" */
341  TOK_DELETE = 423, /* "delete" */
342  TOK_DECLTYPE = 424, /* "decltype" */
343  TOK_EXPLICIT = 425, /* "explicit" */
344  TOK_FRIEND = 426, /* "friend" */
345  TOK_MUTABLE = 427, /* "mutable" */
346  TOK_NAMESPACE = 428, /* "namespace" */
347  TOK_NEW = 429, /* "new" */
348  TOK_NOEXCEPT = 430, /* "noexcept" */
349  TOK_OPERATOR = 431, /* "operator" */
350  TOK_PRIVATE = 432, /* "private" */
351  TOK_PROTECTED = 433, /* "protected" */
352  TOK_PUBLIC = 434, /* "public" */
353  TOK_TEMPLATE = 435, /* "template" */
354  TOK_THIS = 436, /* "this" */
355  TOK_THROW = 437, /* "throw" */
356  TOK_TYPEID = 438, /* "typeid" */
357  TOK_TYPENAME = 439, /* "typename" */
358  TOK_TRY = 440, /* "try" */
359  TOK_USING = 441, /* "using" */
360  TOK_VIRTUAL = 442, /* "virtual" */
361  TOK_SCOPE = 443, /* "::" */
362  TOK_DOTPM = 444, /* ".*" */
363  TOK_ARROWPM = 445, /* "->*" */
364  TOK_UNARY_TYPE_PREDICATE = 446, /* TOK_UNARY_TYPE_PREDICATE */
365  TOK_BINARY_TYPE_PREDICATE = 447, /* TOK_BINARY_TYPE_PREDICATE */
366  TOK_MSC_UUIDOF = 448, /* "__uuidof" */
367  TOK_MSC_IF_EXISTS = 449, /* "__if_exists" */
368  TOK_MSC_IF_NOT_EXISTS = 450, /* "__if_not_exists" */
369  TOK_UNDERLYING_TYPE = 451 /* "__underlying_type" */
370  };
371  typedef enum yytokentype yytoken_kind_t;
372 #endif
373 
374 /* Value type. */
375 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
376 typedef int YYSTYPE;
377 # define YYSTYPE_IS_TRIVIAL 1
378 # define YYSTYPE_IS_DECLARED 1
379 #endif
380 
381 
382 extern YYSTYPE yyansi_clval;
383 
384 int yyansi_cparse (void);
385 
386 #endif /* !YY_YYANSI_C_ANSI_C_Y_TAB_H_INCLUDED */
387 /* Symbol kind. */
389 {
391  YYSYMBOL_YYEOF = 0, /* "end of file" */
392  YYSYMBOL_YYerror = 1, /* error */
393  YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
394  YYSYMBOL_TOK_AUTO = 3, /* "auto" */
395  YYSYMBOL_TOK_BOOL = 4, /* "bool" */
396  YYSYMBOL_TOK_COMPLEX = 5, /* "complex" */
397  YYSYMBOL_TOK_BREAK = 6, /* "break" */
398  YYSYMBOL_TOK_CASE = 7, /* "case" */
399  YYSYMBOL_TOK_CHAR = 8, /* "char" */
400  YYSYMBOL_TOK_CONST = 9, /* "const" */
401  YYSYMBOL_TOK_CONTINUE = 10, /* "continue" */
402  YYSYMBOL_TOK_DEFAULT = 11, /* "default" */
403  YYSYMBOL_TOK_DO = 12, /* "do" */
404  YYSYMBOL_TOK_DOUBLE = 13, /* "double" */
405  YYSYMBOL_TOK_ELSE = 14, /* "else" */
406  YYSYMBOL_TOK_ENUM = 15, /* "enum" */
407  YYSYMBOL_TOK_EXTERN = 16, /* "extern" */
408  YYSYMBOL_TOK_FLOAT = 17, /* "float" */
409  YYSYMBOL_TOK_FOR = 18, /* "for" */
410  YYSYMBOL_TOK_GOTO = 19, /* "goto" */
411  YYSYMBOL_TOK_IF = 20, /* "if" */
412  YYSYMBOL_TOK_INLINE = 21, /* "inline" */
413  YYSYMBOL_TOK_INT = 22, /* "int" */
414  YYSYMBOL_TOK_LONG = 23, /* "long" */
415  YYSYMBOL_TOK_REGISTER = 24, /* "register" */
416  YYSYMBOL_TOK_RESTRICT = 25, /* "restrict" */
417  YYSYMBOL_TOK_RETURN = 26, /* "return" */
418  YYSYMBOL_TOK_SHORT = 27, /* "short" */
419  YYSYMBOL_TOK_SIGNED = 28, /* "signed" */
420  YYSYMBOL_TOK_SIZEOF = 29, /* "sizeof" */
421  YYSYMBOL_TOK_STATIC = 30, /* "static" */
422  YYSYMBOL_TOK_STRUCT = 31, /* "struct" */
423  YYSYMBOL_TOK_SWITCH = 32, /* "switch" */
424  YYSYMBOL_TOK_TYPEDEF = 33, /* "typedef" */
425  YYSYMBOL_TOK_UNION = 34, /* "union" */
426  YYSYMBOL_TOK_UNSIGNED = 35, /* "unsigned" */
427  YYSYMBOL_TOK_VOID = 36, /* "void" */
428  YYSYMBOL_TOK_VOLATILE = 37, /* "volatile" */
429  YYSYMBOL_TOK_WCHAR_T = 38, /* "wchar_t" */
430  YYSYMBOL_TOK_WHILE = 39, /* "while" */
431  YYSYMBOL_TOK_ARROW = 40, /* "->" */
432  YYSYMBOL_TOK_INCR = 41, /* "++" */
433  YYSYMBOL_TOK_DECR = 42, /* "--" */
434  YYSYMBOL_TOK_SHIFTLEFT = 43, /* "<<" */
435  YYSYMBOL_TOK_SHIFTRIGHT = 44, /* ">>" */
436  YYSYMBOL_TOK_LE = 45, /* "<=" */
437  YYSYMBOL_TOK_GE = 46, /* ">=" */
438  YYSYMBOL_TOK_EQ = 47, /* "==" */
439  YYSYMBOL_TOK_NE = 48, /* "!=" */
440  YYSYMBOL_TOK_ANDAND = 49, /* "&&" */
441  YYSYMBOL_TOK_OROR = 50, /* "||" */
442  YYSYMBOL_TOK_ELLIPSIS = 51, /* "..." */
443  YYSYMBOL_TOK_MULTASSIGN = 52, /* "*=" */
444  YYSYMBOL_TOK_DIVASSIGN = 53, /* "/=" */
445  YYSYMBOL_TOK_MODASSIGN = 54, /* "%=" */
446  YYSYMBOL_TOK_PLUSASSIGN = 55, /* "+=" */
447  YYSYMBOL_TOK_MINUSASSIGN = 56, /* "-=" */
448  YYSYMBOL_TOK_SHLASSIGN = 57, /* "<<=" */
449  YYSYMBOL_TOK_SHRASSIGN = 58, /* ">>=" */
450  YYSYMBOL_TOK_ANDASSIGN = 59, /* "&=" */
451  YYSYMBOL_TOK_XORASSIGN = 60, /* "^=" */
452  YYSYMBOL_TOK_ORASSIGN = 61, /* "|=" */
453  YYSYMBOL_TOK_IDENTIFIER = 62, /* TOK_IDENTIFIER */
454  YYSYMBOL_TOK_TYPEDEFNAME = 63, /* TOK_TYPEDEFNAME */
455  YYSYMBOL_TOK_INTEGER = 64, /* TOK_INTEGER */
456  YYSYMBOL_TOK_FLOATING = 65, /* TOK_FLOATING */
457  YYSYMBOL_TOK_CHARACTER = 66, /* TOK_CHARACTER */
458  YYSYMBOL_TOK_STRING = 67, /* TOK_STRING */
459  YYSYMBOL_TOK_ASM_STRING = 68, /* TOK_ASM_STRING */
460  YYSYMBOL_TOK_INT8 = 69, /* "__int8" */
461  YYSYMBOL_TOK_INT16 = 70, /* "__int16" */
462  YYSYMBOL_TOK_INT32 = 71, /* "__int32" */
463  YYSYMBOL_TOK_INT64 = 72, /* "__int64" */
464  YYSYMBOL_TOK_PTR32 = 73, /* "__ptr32" */
465  YYSYMBOL_TOK_PTR64 = 74, /* "__ptr64" */
466  YYSYMBOL_TOK_TYPEOF = 75, /* "typeof" */
467  YYSYMBOL_TOK_GCC_AUTO_TYPE = 76, /* "__auto_type" */
468  YYSYMBOL_TOK_GCC_FLOAT16 = 77, /* "_Float16" */
469  YYSYMBOL_TOK_GCC_FLOAT32 = 78, /* "_Float32" */
470  YYSYMBOL_TOK_GCC_FLOAT32X = 79, /* "_Float32x" */
471  YYSYMBOL_TOK_GCC_FLOAT80 = 80, /* "__float80" */
472  YYSYMBOL_TOK_GCC_FLOAT64 = 81, /* "_Float64" */
473  YYSYMBOL_TOK_GCC_FLOAT64X = 82, /* "_Float64x" */
474  YYSYMBOL_TOK_GCC_FLOAT128 = 83, /* "_Float128" */
475  YYSYMBOL_TOK_GCC_FLOAT128X = 84, /* "_Float128x" */
476  YYSYMBOL_TOK_GCC_INT128 = 85, /* "__int128" */
477  YYSYMBOL_TOK_GCC_DECIMAL32 = 86, /* "_Decimal32" */
478  YYSYMBOL_TOK_GCC_DECIMAL64 = 87, /* "_Decimal64" */
479  YYSYMBOL_TOK_GCC_DECIMAL128 = 88, /* "_Decimal128" */
480  YYSYMBOL_TOK_GCC_ASM = 89, /* "__asm__" */
481  YYSYMBOL_TOK_GCC_ASM_PAREN = 90, /* "__asm__ (with parentheses)" */
482  YYSYMBOL_TOK_GCC_ATTRIBUTE = 91, /* "__attribute__" */
484  YYSYMBOL_TOK_GCC_ATTRIBUTE_TRANSPARENT_UNION = 93, /* "transparent_union" */
486  YYSYMBOL_TOK_GCC_ATTRIBUTE_VECTOR_SIZE = 95, /* "vector_size" */
488  YYSYMBOL_TOK_GCC_ATTRIBUTE_GNU_INLINE = 97, /* "__gnu_inline__" */
491  YYSYMBOL_TOK_GCC_ATTRIBUTE_SECTION = 100, /* "section" */
492  YYSYMBOL_TOK_GCC_ATTRIBUTE_NORETURN = 101, /* "noreturn" */
493  YYSYMBOL_TOK_GCC_ATTRIBUTE_CONSTRUCTOR = 102, /* "constructor" */
494  YYSYMBOL_TOK_GCC_ATTRIBUTE_DESTRUCTOR = 103, /* "destructor" */
495  YYSYMBOL_TOK_GCC_ATTRIBUTE_FALLTHROUGH = 104, /* "fallthrough" */
497  YYSYMBOL_TOK_GCC_LABEL = 106, /* "__label__" */
498  YYSYMBOL_TOK_MSC_ASM = 107, /* "__asm" */
499  YYSYMBOL_TOK_MSC_BASED = 108, /* "__based" */
500  YYSYMBOL_TOK_CW_VAR_ARG_TYPEOF = 109, /* "_var_arg_typeof" */
501  YYSYMBOL_TOK_BUILTIN_VA_ARG = 110, /* "__builtin_va_arg" */
502  YYSYMBOL_TOK_GCC_BUILTIN_TYPES_COMPATIBLE_P = 111, /* "__builtin_types_compatible_p" */
503  YYSYMBOL_TOK_CLANG_BUILTIN_CONVERTVECTOR = 112, /* "__builtin_convertvector" */
504  YYSYMBOL_TOK_OFFSETOF = 113, /* "__offsetof" */
505  YYSYMBOL_TOK_ALIGNOF = 114, /* "__alignof__" */
506  YYSYMBOL_TOK_MSC_TRY = 115, /* "__try" */
507  YYSYMBOL_TOK_MSC_FINALLY = 116, /* "__finally" */
508  YYSYMBOL_TOK_MSC_EXCEPT = 117, /* "__except" */
509  YYSYMBOL_TOK_MSC_LEAVE = 118, /* "__leave" */
510  YYSYMBOL_TOK_MSC_DECLSPEC = 119, /* "__declspec" */
511  YYSYMBOL_TOK_MSC_FORCEINLINE = 120, /* "__forceinline" */
512  YYSYMBOL_TOK_INTERFACE = 121, /* "__interface" */
513  YYSYMBOL_TOK_CDECL = 122, /* "__cdecl" */
514  YYSYMBOL_TOK_STDCALL = 123, /* "__stdcall" */
515  YYSYMBOL_TOK_FASTCALL = 124, /* "__fastcall" */
516  YYSYMBOL_TOK_CLRCALL = 125, /* "__clrcall" */
517  YYSYMBOL_TOK_FORALL = 126, /* "forall" */
518  YYSYMBOL_TOK_EXISTS = 127, /* "exists" */
519  YYSYMBOL_TOK_ACSL_FORALL = 128, /* "\\forall" */
520  YYSYMBOL_TOK_ACSL_EXISTS = 129, /* "\\exists" */
521  YYSYMBOL_TOK_ACSL_LET = 130, /* "\\let" */
522  YYSYMBOL_TOK_ARRAY_OF = 131, /* "array_of" */
523  YYSYMBOL_TOK_CPROVER_BITVECTOR = 132, /* "__CPROVER_bitvector" */
524  YYSYMBOL_TOK_CPROVER_FLOATBV = 133, /* "__CPROVER_floatbv" */
525  YYSYMBOL_TOK_CPROVER_FIXEDBV = 134, /* "__CPROVER_fixedbv" */
526  YYSYMBOL_TOK_CPROVER_ATOMIC = 135, /* "__CPROVER_atomic" */
527  YYSYMBOL_TOK_CPROVER_BOOL = 136, /* "__CPROVER_bool" */
528  YYSYMBOL_TOK_CPROVER_THROW = 137, /* "__CPROVER_throw" */
529  YYSYMBOL_TOK_CPROVER_CATCH = 138, /* "__CPROVER_catch" */
530  YYSYMBOL_TOK_CPROVER_TRY = 139, /* "__CPROVER_try" */
531  YYSYMBOL_TOK_CPROVER_FINALLY = 140, /* "__CPROVER_finally" */
532  YYSYMBOL_TOK_CPROVER_ID = 141, /* "__CPROVER_ID" */
533  YYSYMBOL_TOK_CPROVER_LOOP_INVARIANT = 142, /* "__CPROVER_loop_invariant" */
534  YYSYMBOL_TOK_CPROVER_REQUIRES = 143, /* "__CPROVER_requires" */
535  YYSYMBOL_TOK_CPROVER_ENSURES = 144, /* "__CPROVER_ensures" */
536  YYSYMBOL_TOK_IMPLIES = 145, /* "==>" */
537  YYSYMBOL_TOK_EQUIVALENT = 146, /* "<==>" */
538  YYSYMBOL_TOK_XORXOR = 147, /* "^^" */
539  YYSYMBOL_TOK_TRUE = 148, /* "TRUE" */
540  YYSYMBOL_TOK_FALSE = 149, /* "FALSE" */
541  YYSYMBOL_TOK_REAL = 150, /* "__real__" */
542  YYSYMBOL_TOK_IMAG = 151, /* "__imag__" */
543  YYSYMBOL_TOK_ALIGNAS = 152, /* "_Alignas" */
544  YYSYMBOL_TOK_ATOMIC_TYPE_QUALIFIER = 153, /* "_Atomic" */
545  YYSYMBOL_TOK_ATOMIC_TYPE_SPECIFIER = 154, /* "_Atomic()" */
546  YYSYMBOL_TOK_GENERIC = 155, /* "_Generic" */
547  YYSYMBOL_TOK_IMAGINARY = 156, /* "_Imaginary" */
548  YYSYMBOL_TOK_NORETURN = 157, /* "_Noreturn" */
549  YYSYMBOL_TOK_STATIC_ASSERT = 158, /* "_Static_assert" */
550  YYSYMBOL_TOK_THREAD_LOCAL = 159, /* "_Thread_local" */
551  YYSYMBOL_TOK_NULLPTR = 160, /* "nullptr" */
552  YYSYMBOL_TOK_CONSTEXPR = 161, /* "constexpr" */
553  YYSYMBOL_TOK_SCANNER_ERROR = 162, /* TOK_SCANNER_ERROR */
554  YYSYMBOL_TOK_SCANNER_EOF = 163, /* TOK_SCANNER_EOF */
555  YYSYMBOL_TOK_CATCH = 164, /* "catch" */
556  YYSYMBOL_TOK_CHAR16_T = 165, /* "char16_t" */
557  YYSYMBOL_TOK_CHAR32_T = 166, /* "char32_t" */
558  YYSYMBOL_TOK_CLASS = 167, /* "class" */
559  YYSYMBOL_TOK_DELETE = 168, /* "delete" */
560  YYSYMBOL_TOK_DECLTYPE = 169, /* "decltype" */
561  YYSYMBOL_TOK_EXPLICIT = 170, /* "explicit" */
562  YYSYMBOL_TOK_FRIEND = 171, /* "friend" */
563  YYSYMBOL_TOK_MUTABLE = 172, /* "mutable" */
564  YYSYMBOL_TOK_NAMESPACE = 173, /* "namespace" */
565  YYSYMBOL_TOK_NEW = 174, /* "new" */
566  YYSYMBOL_TOK_NOEXCEPT = 175, /* "noexcept" */
567  YYSYMBOL_TOK_OPERATOR = 176, /* "operator" */
568  YYSYMBOL_TOK_PRIVATE = 177, /* "private" */
569  YYSYMBOL_TOK_PROTECTED = 178, /* "protected" */
570  YYSYMBOL_TOK_PUBLIC = 179, /* "public" */
571  YYSYMBOL_TOK_TEMPLATE = 180, /* "template" */
572  YYSYMBOL_TOK_THIS = 181, /* "this" */
573  YYSYMBOL_TOK_THROW = 182, /* "throw" */
574  YYSYMBOL_TOK_TYPEID = 183, /* "typeid" */
575  YYSYMBOL_TOK_TYPENAME = 184, /* "typename" */
576  YYSYMBOL_TOK_TRY = 185, /* "try" */
577  YYSYMBOL_TOK_USING = 186, /* "using" */
578  YYSYMBOL_TOK_VIRTUAL = 187, /* "virtual" */
579  YYSYMBOL_TOK_SCOPE = 188, /* "::" */
580  YYSYMBOL_TOK_DOTPM = 189, /* ".*" */
581  YYSYMBOL_TOK_ARROWPM = 190, /* "->*" */
582  YYSYMBOL_TOK_UNARY_TYPE_PREDICATE = 191, /* TOK_UNARY_TYPE_PREDICATE */
583  YYSYMBOL_TOK_BINARY_TYPE_PREDICATE = 192, /* TOK_BINARY_TYPE_PREDICATE */
584  YYSYMBOL_TOK_MSC_UUIDOF = 193, /* "__uuidof" */
585  YYSYMBOL_TOK_MSC_IF_EXISTS = 194, /* "__if_exists" */
586  YYSYMBOL_TOK_MSC_IF_NOT_EXISTS = 195, /* "__if_not_exists" */
587  YYSYMBOL_TOK_UNDERLYING_TYPE = 196, /* "__underlying_type" */
588  YYSYMBOL_197_ = 197, /* '(' */
589  YYSYMBOL_198_ = 198, /* ')' */
590  YYSYMBOL_199_ = 199, /* ',' */
591  YYSYMBOL_200_ = 200, /* ':' */
592  YYSYMBOL_201_ = 201, /* '.' */
593  YYSYMBOL_202_ = 202, /* '[' */
594  YYSYMBOL_203_ = 203, /* ']' */
595  YYSYMBOL_204_ = 204, /* '{' */
596  YYSYMBOL_205_ = 205, /* '}' */
597  YYSYMBOL_206_ = 206, /* '&' */
598  YYSYMBOL_207_ = 207, /* '*' */
599  YYSYMBOL_208_ = 208, /* '+' */
600  YYSYMBOL_209_ = 209, /* '-' */
601  YYSYMBOL_210_ = 210, /* '~' */
602  YYSYMBOL_211_ = 211, /* '!' */
603  YYSYMBOL_212_ = 212, /* '/' */
604  YYSYMBOL_213_ = 213, /* '%' */
605  YYSYMBOL_214_ = 214, /* '<' */
606  YYSYMBOL_215_ = 215, /* '>' */
607  YYSYMBOL_216_ = 216, /* '^' */
608  YYSYMBOL_217_ = 217, /* '|' */
609  YYSYMBOL_218_ = 218, /* '?' */
610  YYSYMBOL_219_ = 219, /* '=' */
611  YYSYMBOL_220_ = 220, /* ';' */
612  YYSYMBOL_YYACCEPT = 221, /* $accept */
613  YYSYMBOL_grammar = 222, /* grammar */
614  YYSYMBOL_identifier = 223, /* identifier */
615  YYSYMBOL_typedef_name = 224, /* typedef_name */
616  YYSYMBOL_integer = 225, /* integer */
617  YYSYMBOL_floating = 226, /* floating */
618  YYSYMBOL_character = 227, /* character */
619  YYSYMBOL_string = 228, /* string */
620  YYSYMBOL_constant = 229, /* constant */
621  YYSYMBOL_primary_expression = 230, /* primary_expression */
622  YYSYMBOL_generic_selection = 231, /* generic_selection */
623  YYSYMBOL_generic_assoc_list = 232, /* generic_assoc_list */
624  YYSYMBOL_generic_association = 233, /* generic_association */
625  YYSYMBOL_gcc_builtin_expressions = 234, /* gcc_builtin_expressions */
626  YYSYMBOL_clang_builtin_expressions = 235, /* clang_builtin_expressions */
627  YYSYMBOL_cw_builtin_expressions = 236, /* cw_builtin_expressions */
628  YYSYMBOL_offsetof = 237, /* offsetof */
629  YYSYMBOL_offsetof_member_designator = 238, /* offsetof_member_designator */
630  YYSYMBOL_quantifier_expression = 239, /* quantifier_expression */
631  YYSYMBOL_loop_invariant_opt = 240, /* loop_invariant_opt */
632  YYSYMBOL_requires_opt = 241, /* requires_opt */
633  YYSYMBOL_ensures_opt = 242, /* ensures_opt */
634  YYSYMBOL_statement_expression = 243, /* statement_expression */
635  YYSYMBOL_postfix_expression = 244, /* postfix_expression */
636  YYSYMBOL_member_name = 245, /* member_name */
637  YYSYMBOL_argument_expression_list = 246, /* argument_expression_list */
638  YYSYMBOL_unary_expression = 247, /* unary_expression */
639  YYSYMBOL_cast_expression = 248, /* cast_expression */
640  YYSYMBOL_multiplicative_expression = 249, /* multiplicative_expression */
641  YYSYMBOL_additive_expression = 250, /* additive_expression */
642  YYSYMBOL_shift_expression = 251, /* shift_expression */
643  YYSYMBOL_relational_expression = 252, /* relational_expression */
644  YYSYMBOL_equality_expression = 253, /* equality_expression */
645  YYSYMBOL_and_expression = 254, /* and_expression */
646  YYSYMBOL_exclusive_or_expression = 255, /* exclusive_or_expression */
647  YYSYMBOL_inclusive_or_expression = 256, /* inclusive_or_expression */
648  YYSYMBOL_logical_and_expression = 257, /* logical_and_expression */
649  YYSYMBOL_logical_xor_expression = 258, /* logical_xor_expression */
650  YYSYMBOL_logical_or_expression = 259, /* logical_or_expression */
651  YYSYMBOL_logical_implication_expression = 260, /* logical_implication_expression */
652  YYSYMBOL_logical_equivalence_expression = 261, /* logical_equivalence_expression */
653  YYSYMBOL_ACSL_binding_expression = 262, /* ACSL_binding_expression */
654  YYSYMBOL_conditional_expression = 263, /* conditional_expression */
655  YYSYMBOL_assignment_expression = 264, /* assignment_expression */
656  YYSYMBOL_comma_expression = 265, /* comma_expression */
657  YYSYMBOL_constant_expression = 266, /* constant_expression */
658  YYSYMBOL_comma_expression_opt = 267, /* comma_expression_opt */
659  YYSYMBOL_declaration = 268, /* declaration */
660  YYSYMBOL_static_assert_declaration = 269, /* static_assert_declaration */
661  YYSYMBOL_default_declaring_list = 270, /* default_declaring_list */
662  YYSYMBOL_271_1 = 271, /* @1 */
663  YYSYMBOL_272_2 = 272, /* @2 */
664  YYSYMBOL_273_3 = 273, /* $@3 */
665  YYSYMBOL_post_declarator_attribute = 274, /* post_declarator_attribute */
666  YYSYMBOL_post_declarator_attributes = 275, /* post_declarator_attributes */
667  YYSYMBOL_post_declarator_attributes_opt = 276, /* post_declarator_attributes_opt */
668  YYSYMBOL_declaring_list = 277, /* declaring_list */
669  YYSYMBOL_278_4 = 278, /* @4 */
670  YYSYMBOL_279_5 = 279, /* @5 */
671  YYSYMBOL_280_6 = 280, /* $@6 */
672  YYSYMBOL_declaration_specifier = 281, /* declaration_specifier */
673  YYSYMBOL_type_specifier = 282, /* type_specifier */
674  YYSYMBOL_declaration_qualifier_list = 283, /* declaration_qualifier_list */
675  YYSYMBOL_type_qualifier_list = 284, /* type_qualifier_list */
676  YYSYMBOL_attribute_type_qualifier_list = 285, /* attribute_type_qualifier_list */
677  YYSYMBOL_declaration_qualifier = 286, /* declaration_qualifier */
678  YYSYMBOL_type_qualifier = 287, /* type_qualifier */
679  YYSYMBOL_alignas_specifier = 288, /* alignas_specifier */
680  YYSYMBOL_attribute_or_type_qualifier = 289, /* attribute_or_type_qualifier */
681  YYSYMBOL_attribute_or_type_qualifier_or_storage_class = 290, /* attribute_or_type_qualifier_or_storage_class */
682  YYSYMBOL_attribute_type_qualifier_storage_class_list = 291, /* attribute_type_qualifier_storage_class_list */
683  YYSYMBOL_basic_declaration_specifier = 292, /* basic_declaration_specifier */
684  YYSYMBOL_basic_type_specifier = 293, /* basic_type_specifier */
685  YYSYMBOL_sue_declaration_specifier = 294, /* sue_declaration_specifier */
686  YYSYMBOL_sue_type_specifier = 295, /* sue_type_specifier */
687  YYSYMBOL_typedef_declaration_specifier = 296, /* typedef_declaration_specifier */
688  YYSYMBOL_typeof_declaration_specifier = 297, /* typeof_declaration_specifier */
689  YYSYMBOL_atomic_declaration_specifier = 298, /* atomic_declaration_specifier */
690  YYSYMBOL_typedef_type_specifier = 299, /* typedef_type_specifier */
691  YYSYMBOL_typeof_specifier = 300, /* typeof_specifier */
692  YYSYMBOL_typeof_type_specifier = 301, /* typeof_type_specifier */
693  YYSYMBOL_atomic_specifier = 302, /* atomic_specifier */
694  YYSYMBOL_atomic_type_specifier = 303, /* atomic_type_specifier */
695  YYSYMBOL_msc_decl_identifier = 304, /* msc_decl_identifier */
696  YYSYMBOL_msc_decl_modifier = 305, /* msc_decl_modifier */
697  YYSYMBOL_msc_declspec_seq = 306, /* msc_declspec_seq */
698  YYSYMBOL_msc_declspec = 307, /* msc_declspec */
699  YYSYMBOL_msc_declspec_opt = 308, /* msc_declspec_opt */
700  YYSYMBOL_storage_class = 309, /* storage_class */
701  YYSYMBOL_basic_type_name = 310, /* basic_type_name */
702  YYSYMBOL_elaborated_type_name = 311, /* elaborated_type_name */
703  YYSYMBOL_array_of_construct = 312, /* array_of_construct */
704  YYSYMBOL_pragma_packed = 313, /* pragma_packed */
705  YYSYMBOL_aggregate_name = 314, /* aggregate_name */
706  YYSYMBOL_315_7 = 315, /* $@7 */
707  YYSYMBOL_316_8 = 316, /* $@8 */
708  YYSYMBOL_317_9 = 317, /* $@9 */
709  YYSYMBOL_aggregate_key = 318, /* aggregate_key */
710  YYSYMBOL_gcc_type_attribute = 319, /* gcc_type_attribute */
711  YYSYMBOL_gcc_attribute = 320, /* gcc_attribute */
712  YYSYMBOL_gcc_attribute_list = 321, /* gcc_attribute_list */
713  YYSYMBOL_gcc_attribute_specifier = 322, /* gcc_attribute_specifier */
714  YYSYMBOL_gcc_type_attribute_opt = 323, /* gcc_type_attribute_opt */
715  YYSYMBOL_gcc_type_attribute_list = 324, /* gcc_type_attribute_list */
716  YYSYMBOL_member_declaration_list_opt = 325, /* member_declaration_list_opt */
717  YYSYMBOL_member_declaration_list = 326, /* member_declaration_list */
718  YYSYMBOL_member_declaration = 327, /* member_declaration */
719  YYSYMBOL_member_default_declaring_list = 328, /* member_default_declaring_list */
720  YYSYMBOL_member_declaring_list = 329, /* member_declaring_list */
721  YYSYMBOL_member_declarator = 330, /* member_declarator */
722  YYSYMBOL_member_identifier_declarator = 331, /* member_identifier_declarator */
723  YYSYMBOL_bit_field_size_opt = 332, /* bit_field_size_opt */
724  YYSYMBOL_bit_field_size = 333, /* bit_field_size */
725  YYSYMBOL_enum_name = 334, /* enum_name */
726  YYSYMBOL_335_10 = 335, /* $@10 */
727  YYSYMBOL_336_11 = 336, /* $@11 */
728  YYSYMBOL_enum_key = 337, /* enum_key */
729  YYSYMBOL_enumerator_list_opt = 338, /* enumerator_list_opt */
730  YYSYMBOL_enumerator_list = 339, /* enumerator_list */
731  YYSYMBOL_enumerator_declaration = 340, /* enumerator_declaration */
732  YYSYMBOL_enumerator_value_opt = 341, /* enumerator_value_opt */
733  YYSYMBOL_parameter_type_list = 342, /* parameter_type_list */
734  YYSYMBOL_KnR_parameter_list = 343, /* KnR_parameter_list */
735  YYSYMBOL_KnR_parameter = 344, /* KnR_parameter */
736  YYSYMBOL_parameter_list = 345, /* parameter_list */
737  YYSYMBOL_parameter_declaration = 346, /* parameter_declaration */
738  YYSYMBOL_identifier_or_typedef_name = 347, /* identifier_or_typedef_name */
739  YYSYMBOL_type_name = 348, /* type_name */
740  YYSYMBOL_initializer_opt = 349, /* initializer_opt */
741  YYSYMBOL_initializer = 350, /* initializer */
742  YYSYMBOL_initializer_list = 351, /* initializer_list */
743  YYSYMBOL_initializer_list_opt = 352, /* initializer_list_opt */
744  YYSYMBOL_designated_initializer = 353, /* designated_initializer */
745  YYSYMBOL_designator = 354, /* designator */
746  YYSYMBOL_statement = 355, /* statement */
747  YYSYMBOL_declaration_statement = 356, /* declaration_statement */
748  YYSYMBOL_labeled_statement = 357, /* labeled_statement */
749  YYSYMBOL_statement_attribute = 358, /* statement_attribute */
750  YYSYMBOL_compound_statement = 359, /* compound_statement */
751  YYSYMBOL_compound_scope = 360, /* compound_scope */
752  YYSYMBOL_statement_list = 361, /* statement_list */
753  YYSYMBOL_expression_statement = 362, /* expression_statement */
754  YYSYMBOL_selection_statement = 363, /* selection_statement */
755  YYSYMBOL_declaration_or_expression_statement = 364, /* declaration_or_expression_statement */
756  YYSYMBOL_iteration_statement = 365, /* iteration_statement */
757  YYSYMBOL_366_12 = 366, /* $@12 */
758  YYSYMBOL_jump_statement = 367, /* jump_statement */
759  YYSYMBOL_gcc_local_label_statement = 368, /* gcc_local_label_statement */
760  YYSYMBOL_gcc_local_label_list = 369, /* gcc_local_label_list */
761  YYSYMBOL_gcc_local_label = 370, /* gcc_local_label */
762  YYSYMBOL_gcc_asm_statement = 371, /* gcc_asm_statement */
763  YYSYMBOL_msc_asm_statement = 372, /* msc_asm_statement */
764  YYSYMBOL_msc_seh_statement = 373, /* msc_seh_statement */
765  YYSYMBOL_cprover_exception_statement = 374, /* cprover_exception_statement */
766  YYSYMBOL_volatile_or_goto_opt = 375, /* volatile_or_goto_opt */
767  YYSYMBOL_gcc_asm_commands = 376, /* gcc_asm_commands */
768  YYSYMBOL_gcc_asm_assembler_template = 377, /* gcc_asm_assembler_template */
769  YYSYMBOL_gcc_asm_outputs = 378, /* gcc_asm_outputs */
770  YYSYMBOL_gcc_asm_output = 379, /* gcc_asm_output */
771  YYSYMBOL_gcc_asm_output_list = 380, /* gcc_asm_output_list */
772  YYSYMBOL_gcc_asm_inputs = 381, /* gcc_asm_inputs */
773  YYSYMBOL_gcc_asm_input = 382, /* gcc_asm_input */
774  YYSYMBOL_gcc_asm_input_list = 383, /* gcc_asm_input_list */
775  YYSYMBOL_gcc_asm_clobbered_registers = 384, /* gcc_asm_clobbered_registers */
776  YYSYMBOL_gcc_asm_clobbered_register = 385, /* gcc_asm_clobbered_register */
777  YYSYMBOL_gcc_asm_clobbered_registers_list = 386, /* gcc_asm_clobbered_registers_list */
778  YYSYMBOL_gcc_asm_labels = 387, /* gcc_asm_labels */
779  YYSYMBOL_gcc_asm_labels_list = 388, /* gcc_asm_labels_list */
780  YYSYMBOL_gcc_asm_label = 389, /* gcc_asm_label */
781  YYSYMBOL_translation_unit = 390, /* translation_unit */
782  YYSYMBOL_external_definition_list = 391, /* external_definition_list */
783  YYSYMBOL_external_definition = 392, /* external_definition */
784  YYSYMBOL_asm_definition = 393, /* asm_definition */
785  YYSYMBOL_function_definition = 394, /* function_definition */
786  YYSYMBOL_function_body = 395, /* function_body */
787  YYSYMBOL_KnR_parameter_header_opt = 396, /* KnR_parameter_header_opt */
788  YYSYMBOL_KnR_parameter_header = 397, /* KnR_parameter_header */
789  YYSYMBOL_KnR_parameter_declaration = 398, /* KnR_parameter_declaration */
790  YYSYMBOL_KnR_declaration_qualifier_list = 399, /* KnR_declaration_qualifier_list */
791  YYSYMBOL_KnR_basic_declaration_specifier = 400, /* KnR_basic_declaration_specifier */
792  YYSYMBOL_KnR_typedef_declaration_specifier = 401, /* KnR_typedef_declaration_specifier */
793  YYSYMBOL_KnR_sue_declaration_specifier = 402, /* KnR_sue_declaration_specifier */
794  YYSYMBOL_KnR_declaration_specifier = 403, /* KnR_declaration_specifier */
795  YYSYMBOL_KnR_parameter_declaring_list = 404, /* KnR_parameter_declaring_list */
796  YYSYMBOL_function_head = 405, /* function_head */
797  YYSYMBOL_declarator = 406, /* declarator */
798  YYSYMBOL_paren_attribute_declarator = 407, /* paren_attribute_declarator */
799  YYSYMBOL_typedef_declarator = 408, /* typedef_declarator */
800  YYSYMBOL_parameter_typedef_declarator = 409, /* parameter_typedef_declarator */
801  YYSYMBOL_clean_typedef_declarator = 410, /* clean_typedef_declarator */
802  YYSYMBOL_clean_postfix_typedef_declarator = 411, /* clean_postfix_typedef_declarator */
803  YYSYMBOL_paren_typedef_declarator = 412, /* paren_typedef_declarator */
804  YYSYMBOL_paren_postfix_typedef_declarator = 413, /* paren_postfix_typedef_declarator */
805  YYSYMBOL_simple_paren_typedef_declarator = 414, /* simple_paren_typedef_declarator */
806  YYSYMBOL_identifier_declarator = 415, /* identifier_declarator */
807  YYSYMBOL_unary_identifier_declarator = 416, /* unary_identifier_declarator */
808  YYSYMBOL_postfix_identifier_declarator = 417, /* postfix_identifier_declarator */
809  YYSYMBOL_paren_identifier_declarator = 418, /* paren_identifier_declarator */
810  YYSYMBOL_abstract_declarator = 419, /* abstract_declarator */
811  YYSYMBOL_parameter_abstract_declarator = 420, /* parameter_abstract_declarator */
812  YYSYMBOL_postfixing_abstract_declarator = 421, /* postfixing_abstract_declarator */
813  YYSYMBOL_422_13 = 422, /* $@13 */
814  YYSYMBOL_parameter_postfixing_abstract_declarator = 423, /* parameter_postfixing_abstract_declarator */
815  YYSYMBOL_424_14 = 424, /* $@14 */
816  YYSYMBOL_array_abstract_declarator = 425, /* array_abstract_declarator */
817  YYSYMBOL_unary_abstract_declarator = 426, /* unary_abstract_declarator */
818  YYSYMBOL_parameter_unary_abstract_declarator = 427, /* parameter_unary_abstract_declarator */
819  YYSYMBOL_postfix_abstract_declarator = 428, /* postfix_abstract_declarator */
820  YYSYMBOL_parameter_postfix_abstract_declarator = 429 /* parameter_postfix_abstract_declarator */
821 };
822 typedef enum yysymbol_kind_t yysymbol_kind_t;
823 
824 
825 
826 
827 #ifdef short
828 # undef short
829 #endif
830 
831 /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
832  <limits.h> and (if available) <stdint.h> are included
833  so that the code can choose integer types of a good width. */
834 
835 #ifndef __PTRDIFF_MAX__
836 # include <limits.h> /* INFRINGES ON USER NAME SPACE */
837 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
838 # include <stdint.h> /* INFRINGES ON USER NAME SPACE */
839 # define YY_STDINT_H
840 # endif
841 #endif
842 
843 /* Narrow types that promote to a signed type and that can represent a
844  signed or unsigned integer of at least N bits. In tables they can
845  save space and decrease cache pressure. Promoting to a signed type
846  helps avoid bugs in integer arithmetic. */
847 
848 #ifdef __INT_LEAST8_MAX__
849 typedef __INT_LEAST8_TYPE__ yytype_int8;
850 #elif defined YY_STDINT_H
851 typedef int_least8_t yytype_int8;
852 #else
853 typedef signed char yytype_int8;
854 #endif
855 
856 #ifdef __INT_LEAST16_MAX__
857 typedef __INT_LEAST16_TYPE__ yytype_int16;
858 #elif defined YY_STDINT_H
859 typedef int_least16_t yytype_int16;
860 #else
861 typedef short yytype_int16;
862 #endif
863 
864 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
865 typedef __UINT_LEAST8_TYPE__ yytype_uint8;
866 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
867  && UINT_LEAST8_MAX <= INT_MAX)
868 typedef uint_least8_t yytype_uint8;
869 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
870 typedef unsigned char yytype_uint8;
871 #else
872 typedef short yytype_uint8;
873 #endif
874 
875 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
876 typedef __UINT_LEAST16_TYPE__ yytype_uint16;
877 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
878  && UINT_LEAST16_MAX <= INT_MAX)
879 typedef uint_least16_t yytype_uint16;
880 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
881 typedef unsigned short yytype_uint16;
882 #else
883 typedef int yytype_uint16;
884 #endif
885 
886 #ifndef YYPTRDIFF_T
887 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
888 # define YYPTRDIFF_T __PTRDIFF_TYPE__
889 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
890 # elif defined PTRDIFF_MAX
891 # ifndef ptrdiff_t
892 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
893 # endif
894 # define YYPTRDIFF_T ptrdiff_t
895 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
896 # else
897 # define YYPTRDIFF_T long
898 # define YYPTRDIFF_MAXIMUM LONG_MAX
899 # endif
900 #endif
901 
902 #ifndef YYSIZE_T
903 # ifdef __SIZE_TYPE__
904 # define YYSIZE_T __SIZE_TYPE__
905 # elif defined size_t
906 # define YYSIZE_T size_t
907 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
908 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
909 # define YYSIZE_T size_t
910 # else
911 # define YYSIZE_T unsigned
912 # endif
913 #endif
914 
915 #define YYSIZE_MAXIMUM \
916  YY_CAST (YYPTRDIFF_T, \
917  (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
918  ? YYPTRDIFF_MAXIMUM \
919  : YY_CAST (YYSIZE_T, -1)))
920 
921 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
922 
923 
924 /* Stored state numbers (used for stacks). */
926 
927 /* State numbers in computations. */
928 typedef int yy_state_fast_t;
929 
930 #ifndef YY_
931 # if defined YYENABLE_NLS && YYENABLE_NLS
932 # if ENABLE_NLS
933 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
934 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
935 # endif
936 # endif
937 # ifndef YY_
938 # define YY_(Msgid) Msgid
939 # endif
940 #endif
941 
942 
943 #ifndef YY_ATTRIBUTE_PURE
944 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
945 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
946 # else
947 # define YY_ATTRIBUTE_PURE
948 # endif
949 #endif
950 
951 #ifndef YY_ATTRIBUTE_UNUSED
952 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
953 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
954 # else
955 # define YY_ATTRIBUTE_UNUSED
956 # endif
957 #endif
958 
959 /* Suppress unused-variable warnings by "using" E. */
960 #if ! defined lint || defined __GNUC__
961 # define YYUSE(E) ((void) (E))
962 #else
963 # define YYUSE(E) /* empty */
964 #endif
965 
966 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
967 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
968 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
969  _Pragma ("GCC diagnostic push") \
970  _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
971  _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
972 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
973  _Pragma ("GCC diagnostic pop")
974 #else
975 # define YY_INITIAL_VALUE(Value) Value
976 #endif
977 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
978 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
979 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
980 #endif
981 #ifndef YY_INITIAL_VALUE
982 # define YY_INITIAL_VALUE(Value) /* Nothing. */
983 #endif
984 
985 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
986 # define YY_IGNORE_USELESS_CAST_BEGIN \
987  _Pragma ("GCC diagnostic push") \
988  _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
989 # define YY_IGNORE_USELESS_CAST_END \
990  _Pragma ("GCC diagnostic pop")
991 #endif
992 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
993 # define YY_IGNORE_USELESS_CAST_BEGIN
994 # define YY_IGNORE_USELESS_CAST_END
995 #endif
996 
997 
998 #define YY_ASSERT(E) ((void) (0 && (E)))
999 
1000 #if !defined yyoverflow
1001 
1002 /* The parser invokes alloca or malloc; define the necessary symbols. */
1003 
1004 # ifdef YYSTACK_USE_ALLOCA
1005 # if YYSTACK_USE_ALLOCA
1006 # ifdef __GNUC__
1007 # define YYSTACK_ALLOC __builtin_alloca
1008 # elif defined __BUILTIN_VA_ARG_INCR
1009 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
1010 # elif defined _AIX
1011 # define YYSTACK_ALLOC __alloca
1012 # elif defined _MSC_VER
1013 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
1014 # define alloca _alloca
1015 # else
1016 # define YYSTACK_ALLOC alloca
1017 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
1018 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1019  /* Use EXIT_SUCCESS as a witness for stdlib.h. */
1020 # ifndef EXIT_SUCCESS
1021 # define EXIT_SUCCESS 0
1022 # endif
1023 # endif
1024 # endif
1025 # endif
1026 # endif
1027 
1028 # ifdef YYSTACK_ALLOC
1029  /* Pacify GCC's 'empty if-body' warning. */
1030 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1031 # ifndef YYSTACK_ALLOC_MAXIMUM
1032  /* The OS might guarantee only one guard page at the bottom of the stack,
1033  and a page size can be as small as 4096 bytes. So we cannot safely
1034  invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
1035  to allow for a few compiler-allocated temporary stack slots. */
1036 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1037 # endif
1038 # else
1039 # define YYSTACK_ALLOC YYMALLOC
1040 # define YYSTACK_FREE YYFREE
1041 # ifndef YYSTACK_ALLOC_MAXIMUM
1042 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1043 # endif
1044 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
1045  && ! ((defined YYMALLOC || defined malloc) \
1046  && (defined YYFREE || defined free)))
1047 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1048 # ifndef EXIT_SUCCESS
1049 # define EXIT_SUCCESS 0
1050 # endif
1051 # endif
1052 # ifndef YYMALLOC
1053 # define YYMALLOC malloc
1054 # if ! defined malloc && ! defined EXIT_SUCCESS
1055 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1056 # endif
1057 # endif
1058 # ifndef YYFREE
1059 # define YYFREE free
1060 # if ! defined free && ! defined EXIT_SUCCESS
1061 void free (void *); /* INFRINGES ON USER NAME SPACE */
1062 # endif
1063 # endif
1064 # endif
1065 #endif /* !defined yyoverflow */
1066 
1067 #if (! defined yyoverflow \
1068  && (! defined __cplusplus \
1069  || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1070 
1071 /* A type that is properly aligned for any stack member. */
1072 union yyalloc
1073 {
1076 };
1077 
1078 /* The size of the maximum gap between one aligned stack and the next. */
1079 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
1081 /* The size of an array large to enough to hold all stacks, each with
1082  N elements. */
1083 # define YYSTACK_BYTES(N) \
1084  ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
1085  + YYSTACK_GAP_MAXIMUM)
1086 
1087 # define YYCOPY_NEEDED 1
1089 /* Relocate STACK from its old location to the new one. The
1090  local variables YYSIZE and YYSTACKSIZE give the old and new number of
1091  elements in the stack, and YYPTR gives the new location of the
1092  stack. Advance YYPTR to a properly aligned location for the next
1093  stack. */
1094 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1095  do \
1096  { \
1097  YYPTRDIFF_T yynewbytes; \
1098  YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1099  Stack = &yyptr->Stack_alloc; \
1100  yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
1101  yyptr += yynewbytes / YYSIZEOF (*yyptr); \
1102  } \
1103  while (0)
1104 
1105 #endif
1106 
1107 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1108 /* Copy COUNT objects from SRC to DST. The source and destination do
1109  not overlap. */
1110 # ifndef YYCOPY
1111 # if defined __GNUC__ && 1 < __GNUC__
1112 # define YYCOPY(Dst, Src, Count) \
1113  __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
1114 # else
1115 # define YYCOPY(Dst, Src, Count) \
1116  do \
1117  { \
1118  YYPTRDIFF_T yyi; \
1119  for (yyi = 0; yyi < (Count); yyi++) \
1120  (Dst)[yyi] = (Src)[yyi]; \
1121  } \
1122  while (0)
1123 # endif
1124 # endif
1125 #endif /* !YYCOPY_NEEDED */
1126 
1127 /* YYFINAL -- State number of the termination state. */
1128 #define YYFINAL 149
1129 /* YYLAST -- Last index in YYTABLE. */
1130 #define YYLAST 6992
1132 /* YYNTOKENS -- Number of terminals. */
1133 #define YYNTOKENS 221
1134 /* YYNNTS -- Number of nonterminals. */
1135 #define YYNNTS 209
1136 /* YYNRULES -- Number of rules. */
1137 #define YYNRULES 615
1138 /* YYNSTATES -- Number of states. */
1139 #define YYNSTATES 1112
1141 #define YYMAXUTOK 451
1143 
1144 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1145  as returned by yylex, with out-of-bounds checking. */
1146 #define YYTRANSLATE(YYX) \
1147  (0 <= (YYX) && (YYX) <= YYMAXUTOK \
1148  ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
1149  : YYSYMBOL_YYUNDEF)
1150 
1151 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1152  as returned by yylex. */
1153 static const yytype_uint8 yytranslate[] =
1154 {
1155  0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1156  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1157  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1158  2, 2, 2, 211, 2, 2, 2, 213, 206, 2,
1159  197, 198, 207, 208, 199, 209, 201, 212, 2, 2,
1160  2, 2, 2, 2, 2, 2, 2, 2, 200, 220,
1161  214, 219, 215, 218, 2, 2, 2, 2, 2, 2,
1162  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1163  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1164  2, 202, 2, 203, 216, 2, 2, 2, 2, 2,
1165  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1166  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1167  2, 2, 2, 204, 217, 205, 210, 2, 2, 2,
1168  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1169  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1170  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1171  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1172  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1173  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1174  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1175  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1176  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1177  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1178  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1179  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1180  2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1181  5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1182  15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1183  25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1184  35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1185  45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1186  55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1187  65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1188  75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1189  85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1190  95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1191  105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1192  115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1193  125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1194  135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1195  145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1196  155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1197  165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1198  175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1199  185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1200  195, 196
1201 };
1202 
1203 #if YYDEBUG
1204  /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
1205 static const yytype_int16 yyrline[] =
1206 {
1207  0, 282, 282, 288, 289, 302, 306, 310, 314, 318,
1208  323, 324, 325, 326, 332, 333, 334, 336, 337, 338,
1209  339, 340, 341, 342, 346, 356, 360, 367, 374, 384,
1210  391, 405, 415, 424, 434, 443, 450, 457, 470, 478,
1211  490, 491, 497, 498, 504, 505, 509, 519, 520, 522,
1212  532, 542, 548, 554, 560, 567, 577, 591, 592, 596,
1213  601, 609, 610, 616, 622, 627, 638, 643, 648, 653,
1214  658, 663, 668, 673, 679, 688, 689, 696, 701, 709,
1215  710, 712, 714, 719, 720, 722, 727, 728, 730, 735,
1216  736, 738, 740, 742, 747, 748, 750, 755, 756, 761,
1217  762, 767, 768, 773, 774, 779, 780, 785, 786, 794,
1218  795, 803, 804, 810, 811, 819, 830, 831, 838, 848,
1219  849, 851, 853, 855, 857, 859, 861, 863, 865, 867,
1220  869, 874, 875, 880, 885, 886, 892, 898, 904, 905,
1221  906, 910, 922, 921, 934, 933, 946, 945, 961, 968,
1222  972, 976, 981, 984, 990, 988, 1006, 1004, 1020, 1038,
1223  1036, 1053, 1054, 1055, 1056, 1057, 1061, 1062, 1063, 1064,
1224  1065, 1069, 1070, 1074, 1075, 1079, 1086, 1087, 1094, 1101,
1225  1102, 1109, 1110, 1114, 1115, 1116, 1117, 1118, 1119, 1120,
1226  1121, 1122, 1126, 1131, 1139, 1140, 1144, 1145, 1146, 1150,
1227  1151, 1158, 1162, 1166, 1170, 1177, 1181, 1185, 1189, 1196,
1228  1200, 1204, 1211, 1212, 1216, 1223, 1227, 1231, 1238, 1242,
1229  1246, 1253, 1257, 1261, 1268, 1272, 1276, 1283, 1288, 1296,
1230  1297, 1301, 1305, 1312, 1321, 1322, 1326, 1330, 1337, 1341,
1231  1345, 1352, 1353, 1357, 1361, 1365, 1369, 1373, 1377, 1384,
1232  1389, 1397, 1400, 1404, 1405, 1406, 1407, 1408, 1409, 1410,
1233  1411, 1412, 1413, 1435, 1436, 1437, 1438, 1439, 1440, 1441,
1234  1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451,
1235  1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461,
1236  1462, 1468, 1475, 1482, 1486, 1487, 1488, 1492, 1497, 1509,
1237  1506, 1527, 1523, 1547, 1543, 1560, 1562, 1567, 1569, 1571,
1238  1573, 1575, 1577, 1579, 1581, 1583, 1585, 1587, 1589, 1591,
1239  1593, 1599, 1602, 1606, 1607, 1614, 1616, 1622, 1625, 1629,
1240  1630, 1638, 1641, 1645, 1650, 1658, 1659, 1660, 1665, 1672,
1241  1684, 1692, 1720, 1728, 1739, 1742, 1753, 1762, 1774, 1777,
1242  1781, 1793, 1791, 1805, 1802, 1815, 1826, 1835, 1838, 1842,
1243  1847, 1852, 1859, 1870, 1874, 1881, 1882, 1891, 1896, 1903,
1244  1912, 1917, 1925, 1933, 1940, 1948, 1957, 1965, 1972, 1980,
1245  1988, 1995, 2003, 2011, 2019, 2026, 2037, 2038, 2042, 2046,
1246  2051, 2055, 2064, 2068, 2078, 2079, 2085, 2094, 2102, 2110,
1247  2112, 2120, 2121, 2129, 2135, 2150, 2157, 2164, 2172, 2179,
1248  2187, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207,
1249  2208, 2209, 2210, 2211, 2215, 2224, 2236, 2244, 2251, 2260,
1250  2271, 2279, 2286, 2294, 2306, 2313, 2318, 2325, 2340, 2347,
1251  2354, 2363, 2364, 2368, 2378, 2389, 2388, 2420, 2437, 2444,
1252  2446, 2448, 2454, 2459, 2481, 2486, 2493, 2497, 2503, 2514,
1253  2520, 2529, 2538, 2546, 2554, 2559, 2567, 2577, 2579, 2580,
1254  2581, 2582, 2594, 2600, 2607, 2615, 2624, 2636, 2640, 2644,
1255  2648, 2654, 2664, 2669, 2677, 2681, 2685, 2691, 2701, 2706,
1256  2714, 2718, 2722, 2730, 2735, 2743, 2747, 2751, 2756, 2764,
1257  2772, 2774, 2778, 2779, 2783, 2788, 2792, 2793, 2797, 2801,
1258  2808, 2835, 2840, 2843, 2847, 2852, 2860, 2865, 2866, 2870,
1259  2877, 2881, 2885, 2889, 2897, 2901, 2905, 2913, 2918, 2928,
1260  2929, 2930, 2934, 2940, 2946, 2954, 2962, 2969, 2976, 2983,
1261  2993, 2994, 2995, 2999, 3006, 3016, 3024, 3025, 3029, 3030,
1262  3035, 3039, 3040, 3045, 3053, 3055, 3065, 3066, 3071, 3077,
1263  3082, 3090, 3092, 3097, 3107, 3108, 3113, 3114, 3118, 3119,
1264  3124, 3131, 3146, 3152, 3154, 3164, 3171, 3176, 3177, 3178,
1265  3182, 3183, 3187, 3189, 3200, 3199, 3222, 3223, 3231, 3230,
1266  3256, 3263, 3273, 3281, 3288, 3297, 3306, 3319, 3327, 3337,
1267  3342, 3354, 3365, 3373, 3383, 3388, 3400, 3411, 3413, 3415,
1268  3417, 3423, 3432, 3434, 3436, 3437
1269 };
1270 #endif
1271 
1273 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
1275 #if YYDEBUG || 0
1276 /* The user-facing name of the symbol whose (internal) number is
1277  YYSYMBOL. No bounds checking. */
1278 static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
1279 
1280 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1281  First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1282 static const char *const yytname[] =
1283 {
1284  "\"end of file\"", "error", "\"invalid token\"", "\"auto\"", "\"bool\"",
1285  "\"complex\"", "\"break\"", "\"case\"", "\"char\"", "\"const\"",
1286  "\"continue\"", "\"default\"", "\"do\"", "\"double\"", "\"else\"",
1287  "\"enum\"", "\"extern\"", "\"float\"", "\"for\"", "\"goto\"", "\"if\"",
1288  "\"inline\"", "\"int\"", "\"long\"", "\"register\"", "\"restrict\"",
1289  "\"return\"", "\"short\"", "\"signed\"", "\"sizeof\"", "\"static\"",
1290  "\"struct\"", "\"switch\"", "\"typedef\"", "\"union\"", "\"unsigned\"",
1291  "\"void\"", "\"volatile\"", "\"wchar_t\"", "\"while\"", "\"->\"",
1292  "\"++\"", "\"--\"", "\"<<\"", "\">>\"", "\"<=\"", "\">=\"", "\"==\"",
1293  "\"!=\"", "\"&&\"", "\"||\"", "\"...\"", "\"*=\"", "\"/=\"", "\"%=\"",
1294  "\"+=\"", "\"-=\"", "\"<<=\"", "\">>=\"", "\"&=\"", "\"^=\"", "\"|=\"",
1295  "TOK_IDENTIFIER", "TOK_TYPEDEFNAME", "TOK_INTEGER", "TOK_FLOATING",
1296  "TOK_CHARACTER", "TOK_STRING", "TOK_ASM_STRING", "\"__int8\"",
1297  "\"__int16\"", "\"__int32\"", "\"__int64\"", "\"__ptr32\"",
1298  "\"__ptr64\"", "\"typeof\"", "\"__auto_type\"", "\"_Float16\"",
1299  "\"_Float32\"", "\"_Float32x\"", "\"__float80\"", "\"_Float64\"",
1300  "\"_Float64x\"", "\"_Float128\"", "\"_Float128x\"", "\"__int128\"",
1301  "\"_Decimal32\"", "\"_Decimal64\"", "\"_Decimal128\"", "\"__asm__\"",
1302  "\"__asm__ (with parentheses)\"", "\"__attribute__\"", "\"aligned\"",
1303  "\"transparent_union\"", "\"packed\"", "\"vector_size\"", "\"mode\"",
1304  "\"__gnu_inline__\"", "\"weak\"", "\"alias\"", "\"section\"",
1305  "\"noreturn\"", "\"constructor\"", "\"destructor\"", "\"fallthrough\"",
1306  "\"used\"", "\"__label__\"", "\"__asm\"", "\"__based\"",
1307  "\"_var_arg_typeof\"", "\"__builtin_va_arg\"",
1308  "\"__builtin_types_compatible_p\"", "\"__builtin_convertvector\"",
1309  "\"__offsetof\"", "\"__alignof__\"", "\"__try\"", "\"__finally\"",
1310  "\"__except\"", "\"__leave\"", "\"__declspec\"", "\"__forceinline\"",
1311  "\"__interface\"", "\"__cdecl\"", "\"__stdcall\"", "\"__fastcall\"",
1312  "\"__clrcall\"", "\"forall\"", "\"exists\"", "\"\\\\forall\"",
1313  "\"\\\\exists\"", "\"\\\\let\"", "\"array_of\"",
1314  "\"__CPROVER_bitvector\"", "\"__CPROVER_floatbv\"",
1315  "\"__CPROVER_fixedbv\"", "\"__CPROVER_atomic\"", "\"__CPROVER_bool\"",
1316  "\"__CPROVER_throw\"", "\"__CPROVER_catch\"", "\"__CPROVER_try\"",
1317  "\"__CPROVER_finally\"", "\"__CPROVER_ID\"",
1318  "\"__CPROVER_loop_invariant\"", "\"__CPROVER_requires\"",
1319  "\"__CPROVER_ensures\"", "\"==>\"", "\"<==>\"", "\"^^\"", "\"TRUE\"",
1320  "\"FALSE\"", "\"__real__\"", "\"__imag__\"", "\"_Alignas\"",
1321  "\"_Atomic\"", "\"_Atomic()\"", "\"_Generic\"", "\"_Imaginary\"",
1322  "\"_Noreturn\"", "\"_Static_assert\"", "\"_Thread_local\"",
1323  "\"nullptr\"", "\"constexpr\"", "TOK_SCANNER_ERROR", "TOK_SCANNER_EOF",
1324  "\"catch\"", "\"char16_t\"", "\"char32_t\"", "\"class\"", "\"delete\"",
1325  "\"decltype\"", "\"explicit\"", "\"friend\"", "\"mutable\"",
1326  "\"namespace\"", "\"new\"", "\"noexcept\"", "\"operator\"",
1327  "\"private\"", "\"protected\"", "\"public\"", "\"template\"", "\"this\"",
1328  "\"throw\"", "\"typeid\"", "\"typename\"", "\"try\"", "\"using\"",
1329  "\"virtual\"", "\"::\"", "\".*\"", "\"->*\"", "TOK_UNARY_TYPE_PREDICATE",
1330  "TOK_BINARY_TYPE_PREDICATE", "\"__uuidof\"", "\"__if_exists\"",
1331  "\"__if_not_exists\"", "\"__underlying_type\"", "'('", "')'", "','",
1332  "':'", "'.'", "'['", "']'", "'{'", "'}'", "'&'", "'*'", "'+'", "'-'",
1333  "'~'", "'!'", "'/'", "'%'", "'<'", "'>'", "'^'", "'|'", "'?'", "'='",
1334  "';'", "$accept", "grammar", "identifier", "typedef_name", "integer",
1335  "floating", "character", "string", "constant", "primary_expression",
1336  "generic_selection", "generic_assoc_list", "generic_association",
1337  "gcc_builtin_expressions", "clang_builtin_expressions",
1338  "cw_builtin_expressions", "offsetof", "offsetof_member_designator",
1339  "quantifier_expression", "loop_invariant_opt", "requires_opt",
1340  "ensures_opt", "statement_expression", "postfix_expression",
1341  "member_name", "argument_expression_list", "unary_expression",
1342  "cast_expression", "multiplicative_expression", "additive_expression",
1343  "shift_expression", "relational_expression", "equality_expression",
1344  "and_expression", "exclusive_or_expression", "inclusive_or_expression",
1345  "logical_and_expression", "logical_xor_expression",
1346  "logical_or_expression", "logical_implication_expression",
1347  "logical_equivalence_expression", "ACSL_binding_expression",
1348  "conditional_expression", "assignment_expression", "comma_expression",
1349  "constant_expression", "comma_expression_opt", "declaration",
1350  "static_assert_declaration", "default_declaring_list", "@1", "@2", "$@3",
1351  "post_declarator_attribute", "post_declarator_attributes",
1352  "post_declarator_attributes_opt", "declaring_list", "@4", "@5", "$@6",
1353  "declaration_specifier", "type_specifier", "declaration_qualifier_list",
1354  "type_qualifier_list", "attribute_type_qualifier_list",
1355  "declaration_qualifier", "type_qualifier", "alignas_specifier",
1356  "attribute_or_type_qualifier",
1357  "attribute_or_type_qualifier_or_storage_class",
1358  "attribute_type_qualifier_storage_class_list",
1359  "basic_declaration_specifier", "basic_type_specifier",
1360  "sue_declaration_specifier", "sue_type_specifier",
1361  "typedef_declaration_specifier", "typeof_declaration_specifier",
1362  "atomic_declaration_specifier", "typedef_type_specifier",
1363  "typeof_specifier", "typeof_type_specifier", "atomic_specifier",
1364  "atomic_type_specifier", "msc_decl_identifier", "msc_decl_modifier",
1365  "msc_declspec_seq", "msc_declspec", "msc_declspec_opt", "storage_class",
1366  "basic_type_name", "elaborated_type_name", "array_of_construct",
1367  "pragma_packed", "aggregate_name", "$@7", "$@8", "$@9", "aggregate_key",
1368  "gcc_type_attribute", "gcc_attribute", "gcc_attribute_list",
1369  "gcc_attribute_specifier", "gcc_type_attribute_opt",
1370  "gcc_type_attribute_list", "member_declaration_list_opt",
1371  "member_declaration_list", "member_declaration",
1372  "member_default_declaring_list", "member_declaring_list",
1373  "member_declarator", "member_identifier_declarator",
1374  "bit_field_size_opt", "bit_field_size", "enum_name", "$@10", "$@11",
1375  "enum_key", "enumerator_list_opt", "enumerator_list",
1376  "enumerator_declaration", "enumerator_value_opt", "parameter_type_list",
1377  "KnR_parameter_list", "KnR_parameter", "parameter_list",
1378  "parameter_declaration", "identifier_or_typedef_name", "type_name",
1379  "initializer_opt", "initializer", "initializer_list",
1380  "initializer_list_opt", "designated_initializer", "designator",
1381  "statement", "declaration_statement", "labeled_statement",
1382  "statement_attribute", "compound_statement", "compound_scope",
1383  "statement_list", "expression_statement", "selection_statement",
1384  "declaration_or_expression_statement", "iteration_statement", "$@12",
1385  "jump_statement", "gcc_local_label_statement", "gcc_local_label_list",
1386  "gcc_local_label", "gcc_asm_statement", "msc_asm_statement",
1387  "msc_seh_statement", "cprover_exception_statement",
1388  "volatile_or_goto_opt", "gcc_asm_commands", "gcc_asm_assembler_template",
1389  "gcc_asm_outputs", "gcc_asm_output", "gcc_asm_output_list",
1390  "gcc_asm_inputs", "gcc_asm_input", "gcc_asm_input_list",
1391  "gcc_asm_clobbered_registers", "gcc_asm_clobbered_register",
1392  "gcc_asm_clobbered_registers_list", "gcc_asm_labels",
1393  "gcc_asm_labels_list", "gcc_asm_label", "translation_unit",
1394  "external_definition_list", "external_definition", "asm_definition",
1395  "function_definition", "function_body", "KnR_parameter_header_opt",
1396  "KnR_parameter_header", "KnR_parameter_declaration",
1397  "KnR_declaration_qualifier_list", "KnR_basic_declaration_specifier",
1398  "KnR_typedef_declaration_specifier", "KnR_sue_declaration_specifier",
1399  "KnR_declaration_specifier", "KnR_parameter_declaring_list",
1400  "function_head", "declarator", "paren_attribute_declarator",
1401  "typedef_declarator", "parameter_typedef_declarator",
1402  "clean_typedef_declarator", "clean_postfix_typedef_declarator",
1403  "paren_typedef_declarator", "paren_postfix_typedef_declarator",
1404  "simple_paren_typedef_declarator", "identifier_declarator",
1405  "unary_identifier_declarator", "postfix_identifier_declarator",
1406  "paren_identifier_declarator", "abstract_declarator",
1407  "parameter_abstract_declarator", "postfixing_abstract_declarator",
1408  "$@13", "parameter_postfixing_abstract_declarator", "$@14",
1409  "array_abstract_declarator", "unary_abstract_declarator",
1410  "parameter_unary_abstract_declarator", "postfix_abstract_declarator",
1411  "parameter_postfix_abstract_declarator", YY_NULLPTR
1412 };
1413 
1414 static const char *
1415 yysymbol_name (yysymbol_kind_t yysymbol)
1416 {
1417  return yytname[yysymbol];
1418 }
1419 #endif
1420 
1421 #ifdef YYPRINT
1422 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1423  (internal) symbol number NUM (which must be that of a token). */
1424 static const yytype_int16 yytoknum[] =
1425 {
1426  0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1427  265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1428  275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1429  285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1430  295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1431  305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1432  315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1433  325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1434  335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1435  345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1436  355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1437  365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1438  375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1439  385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1440  395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1441  405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1442  415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1443  425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1444  435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1445  445, 446, 447, 448, 449, 450, 451, 40, 41, 44,
1446  58, 46, 91, 93, 123, 125, 38, 42, 43, 45,
1447  126, 33, 47, 37, 60, 62, 94, 124, 63, 61,
1448  59
1449 };
1450 #endif
1451 
1452 #define YYPACT_NINF (-946)
1454 #define yypact_value_is_default(Yyn) \
1455  ((Yyn) == YYPACT_NINF)
1456 
1457 #define YYTABLE_NINF (-585)
1459 #define yytable_value_is_error(Yyn) \
1460  0
1461 
1462  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1463  STATE-NUM. */
1464 static const yytype_int16 yypact[] =
1465 {
1466  2047, -946, -946, -946, -946, -946, -946, -946, -946, -946,
1467  -946, -946, -946, -946, -946, -946, -946, -946, -946, -946,
1468  -946, -946, -946, -946, -946, -946, -946, -946, -946, -946,
1469  -946, -946, -107, 34, -946, -946, -946, -946, -946, -946,
1470  -946, -946, -946, -946, -946, -946, -946, -52, -4, 10,
1471  28, -946, -138, -90, -39, -5, -946, -946, 173, 52,
1472  -946, 70, -946, 86, -946, 63, 239, 3918, 63, -946,
1473  314, -946, -20, -946, 135, 27, 73, 183, 459, 2384,
1474  2384, -946, -946, 6527, 6527, 1914, 1914, 1914, 1914, 1914,
1475  1914, 979, 906, 979, 906, -946, -946, -20, -946, -946,
1476  -946, -20, -946, -946, -20, -946, 2047, -946, -946, -946,
1477  205, -946, -946, -946, 121, 4594, 348, 1628, 121, 3,
1478  -946, -946, -946, -946, -946, -946, -946, -946, 290, 167,
1479  5040, 20, -20, 5040, 5040, 5040, -946, 4594, -20, 5040,
1480  178, 128, 187, 3918, -946, -946, -946, -946, -946, -946,
1481  -946, -946, -20, -946, 63, -946, -20, -946, -946, 591,
1482  -946, 809, -20, -946, -946, -20, -20, -946, -20, -946,
1483  -946, 118, -20, -946, 979, 979, -946, -20, -946, -946,
1484  161, -20, -20, -946, -20, -20, -20, -20, -20, -20,
1485  -20, -20, -20, -20, 1626, -20, 1626, -20, -946, 279,
1486  96, -946, 181, 261, -28, 3628, -946, -946, 218, 5477,
1487  5511, 5511, 96, -946, -946, -946, -946, 210, 238, 248,
1488  267, 277, 5614, -946, -946, -946, -946, 5361, 5361, 291,
1489  4491, 5361, 5361, 5361, 5361, 5361, 5361, -946, -946, -946,
1490  -946, -946, -946, -946, -946, -946, -946, -946, -946, -946,
1491  -946, -3, -946, 1098, 124, 285, 536, 24, 554, 295,
1492  288, 301, 475, 382, 16, -946, -74, -946, -946, -946,
1493  427, 6752, 334, 226, 1823, -946, 172, 340, 343, 121,
1494  348, 3886, -946, -946, -946, -946, 112, -946, 3, 330,
1495  -946, 367, 1143, 432, -946, -946, -946, -946, -946, 370,
1496  -946, 37, 356, -19, 113, 147, 437, 383, 396, 393,
1497  121, -946, -946, -946, -946, -946, -946, 34, -946, -946,
1498  -946, -946, -946, -946, 378, -946, 1626, 1626, -946, 378,
1499  -946, -946, -946, -946, -946, -946, -946, -946, -946, -946,
1500  -946, -946, -946, -946, -946, 96, -946, -946, 371, -37,
1501  5040, 406, -946, 6234, -6, 6077, -946, 5177, -946, 404,
1502  -946, -946, 3779, -946, -946, 5074, 4491, -946, 4491, -946,
1503  -946, -946, -946, -20, 5040, -20, 5040, -20, 4491, -946,
1504  411, 424, 5763, 5763, -946, -946, 5040, 439, 435, 442,
1505  443, -946, -946, -946, -946, -946, -946, 96, -946, -946,
1506  4697, 96, 5040, 5040, 5040, 5040, 5040, 5040, 5040, 5040,
1507  5040, 5040, 5040, 5040, 5361, 5361, 5361, 5361, 5361, 5361,
1508  5361, 5361, 5361, 5361, 5361, 5361, 5361, 5361, 5361, 5361,
1509  5361, 5361, 5361, 5361, 5361, 4731, -946, 5040, 407, 2691,
1510  6839, 979, 979, -946, -946, -946, 189, 226, 451, 121,
1511  121, 457, 338, 226, -946, -946, 620, 674, 504, -946,
1512  4834, 506, 513, -946, -946, 539, 543, -946, -946, 556,
1513  558, -946, -946, -946, -946, -946, -946, 446, -946, 352,
1514  -946, -946, -946, -946, 531, 562, -946, -946, -946, 5040,
1515  -946, 378, 3, 378, 378, 4834, -946, -946, 568, 570,
1516  96, -946, 576, -946, 595, 5040, -946, -946, 34, 6660,
1517  906, 6527, 1914, -946, 6234, -946, 6386, 6527, 1914, -946,
1518  34, 78, -946, 454, -946, 507, 507, 2225, 2225, 600,
1519  567, -946, -946, -946, -946, 565, -946, 5211, 602, 609,
1520  614, 615, 616, 618, 619, 621, 624, 5763, 5763, 5040,
1521  183, 459, 2384, 2384, 5040, 631, -946, 5327, -946, 2848,
1522  -946, -946, -946, -946, 461, -946, -946, 235, -946, -946,
1523  -946, -946, -946, -946, -946, -946, -946, -946, -946, -946,
1524  -946, -946, 124, 124, 285, 285, 536, 536, 536, 536,
1525  24, 24, 554, 295, 288, 301, 475, 382, -946, -946,
1526  5361, 469, -946, 154, 1443, -946, -946, -946, -946, -946,
1527  -946, -946, 121, -946, -946, -946, -946, 345, -946, -946,
1528  290, 4388, -946, -946, -946, 5040, 5040, -6, 756, 764,
1529  634, 1143, 635, 638, 628, 5040, 5040, 639, -946, -946,
1530  -946, -946, -946, -72, 647, -20, 633, 653, -946, -20,
1531  96, -946, 655, -946, -946, -20, -20, -946, -20, -946,
1532  -20, 96, 96, -20, -20, -20, -946, 34, -946, 6234,
1533  -6, 675, 1325, 63, -946, -20, -946, -946, -946, -946,
1534  -946, -20, -946, 744, 3888, -20, -946, -20, -946, 6234,
1535  5920, -946, -946, -946, 651, 651, -946, -20, -20, -20,
1536  96, 651, 5040, 5040, -946, 3, 3, -946, -946, -946,
1537  31, 4388, -946, 636, 5040, 640, 658, 3266, -946, 4937,
1538  670, 4032, 673, 677, 671, 112, 678, 96, -22, -946,
1539  -946, 664, -946, -946, 689, -36, 691, 690, -946, 693,
1540  -946, -946, -946, -946, -946, 3057, -946, -946, -946, -946,
1541  -946, -946, -946, -946, -946, -946, 5040, -946, -946, 5361,
1542  696, 697, 713, 1443, -946, -946, -946, -946, 716, 715,
1543  96, 5040, 719, 723, -946, 726, 727, -946, 4135, 478,
1544  490, 730, 733, 737, -946, -946, -946, -946, 90, 241,
1545  259, -946, 378, -946, 718, 6752, 735, 201, -946, 79,
1546  88, -72, -946, -20, 96, 728, 740, -946, -946, -946,
1547  -946, -946, -20, -20, -946, -946, -946, -946, -946, 6234,
1548  -946, -946, 751, 757, 1325, -946, -946, -946, 3888, -946,
1549  -946, -946, -946, -946, 759, 761, 765, 67, -946, 54,
1550  97, 768, 498, -946, 769, 773, 770, -946, -10, -946,
1551  3266, 934, 780, 762, 91, 5040, -946, 95, 5040, 5040,
1552  -946, -23, 784, 101, -946, -946, 917, 589, -946, 126,
1553  -946, 3266, -946, -946, -946, -946, -946, 121, 121, -946,
1554  -946, 7, 789, -946, 72, 4834, 4169, -946, 96, 5040,
1555  4834, -946, -946, -946, -946, -946, -946, 509, -946, -946,
1556  -946, -946, 662, 2540, -20, -946, 817, -946, 662, -946,
1557  779, -946, -946, 5040, -946, -20, -946, -946, 145, -946,
1558  -946, -946, -946, -946, 96, -946, 96, 5040, -946, -946,
1559  5040, -946, 31, 5040, 4285, -946, 5040, 3266, -946, 795,
1560  3475, -946, -946, 514, -946, 517, 796, 290, 925, 1120,
1561  96, -946, 791, -946, 800, -946, -946, 783, -946, -946,
1562  -946, 96, 803, -946, 808, 8, 810, 5040, -946, -946,
1563  -946, -946, -946, 83, -946, -946, 90, 5040, -946, -20,
1564  815, -946, -20, 815, -946, -946, -946, -20, -946, -946,
1565  811, -946, -946, -946, 262, -946, -946, -946, -946, 818,
1566  -946, 5040, -946, -946, 5040, 3266, 3266, 866, 821, 822,
1567  824, -946, -946, -946, 5040, -946, -946, -946, 820, 5040,
1568  7, 96, 823, -946, 831, 290, 832, 300, 5040, -946,
1569  812, -946, -946, -20, -946, -946, -20, -946, -946, -946,
1570  3266, 523, 814, 1023, -946, 841, 3266, 819, -946, 843,
1571  553, 290, 564, -946, 839, 5040, 8, -946, -946, 844,
1572  96, -946, -946, 357, 90, -946, -946, -946, -946, 866,
1573  5040, 3266, 5040, -946, -946, 825, -946, 847, -946, 290,
1574  578, -946, 290, -946, 850, -946, -946, 852, 834, 858,
1575  -946, 860, 222, -946, 5040, 862, -946, -946, 96, -946,
1576  -946, 866, -946, -946, 585, 5040, -946, 3266, -946, 587,
1577  -946, -946
1578 };
1579 
1580  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1581  Performed when YYTABLE does not specify something else to do. Zero
1582  means the default is an error. */
1583 static const yytype_int16 yydefact[] =
1584 {
1585  500, 256, 288, 289, 268, 184, 284, 356, 254, 271,
1586  258, 263, 270, 257, 185, 269, 285, 255, 305, 253,
1587  306, 286, 287, 186, 3, 5, 264, 265, 266, 267,
1588  188, 189, 0, 0, 272, 273, 274, 277, 275, 276,
1589  278, 279, 280, 281, 282, 283, 260, 0, 0, 0,
1590  0, 262, 0, 0, 0, 0, 187, 293, 0, 0,
1591  183, 0, 326, 0, 259, 0, 0, 0, 0, 507,
1592  0, 575, 327, 505, 0, 0, 0, 0, 0, 0,
1593  0, 176, 191, 161, 166, 162, 167, 163, 164, 165,
1594  168, 229, 169, 234, 170, 261, 171, 327, 212, 296,
1595  294, 327, 173, 295, 327, 2, 501, 502, 506, 504,
1596  42, 535, 566, 568, 567, 327, 0, 0, 548, 152,
1597  542, 541, 547, 550, 551, 546, 556, 540, 0, 0,
1598  0, 0, 327, 0, 0, 0, 4, 327, 327, 0,
1599  0, 0, 0, 0, 194, 179, 195, 569, 570, 1,
1600  329, 224, 328, 138, 0, 140, 327, 139, 136, 152,
1601  137, 152, 327, 175, 182, 327, 327, 181, 327, 209,
1602  174, 142, 327, 177, 230, 235, 172, 327, 213, 178,
1603  144, 327, 327, 207, 327, 327, 327, 327, 327, 327,
1604  327, 327, 327, 327, 232, 327, 237, 327, 205, 251,
1605  351, 503, 0, 44, 588, 0, 572, 582, 586, 0,
1606  0, 0, 0, 6, 7, 8, 9, 0, 0, 0,
1607  0, 0, 0, 434, 434, 434, 434, 0, 0, 0,
1608  327, 0, 0, 0, 0, 0, 0, 14, 10, 11,
1609  12, 13, 15, 47, 23, 18, 19, 20, 21, 22,
1610  17, 61, 75, 79, 83, 86, 89, 94, 97, 99,
1611  101, 103, 105, 107, 109, 111, 116, 119, 113, 131,
1612  0, 0, 0, 0, 0, 564, 0, 0, 0, 0,
1613  0, 0, 545, 552, 559, 549, 467, 151, 153, 0,
1614  149, 0, 321, 0, 240, 238, 239, 250, 246, 241,
1615  247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1616  573, 576, 509, 180, 571, 330, 146, 0, 154, 156,
1617  216, 219, 222, 201, 392, 225, 231, 236, 206, 392,
1618  203, 204, 202, 208, 211, 214, 210, 217, 220, 223,
1619  226, 215, 218, 221, 252, 299, 386, 387, 0, 327,
1620  0, 0, 434, 587, 0, 0, 590, 0, 133, 0,
1621  196, 199, 0, 198, 197, 0, 327, 71, 327, 62,
1622  63, 456, 65, 327, 0, 327, 0, 327, 327, 73,
1623  0, 0, 0, 0, 77, 78, 0, 0, 0, 0,
1624  0, 64, 66, 67, 68, 69, 70, 0, 53, 54,
1625  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1626  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1627  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1628  0, 0, 0, 0, 0, 0, 227, 0, 388, 390,
1629  166, 167, 168, 169, 170, 228, 0, 0, 0, 554,
1630  561, 0, 0, 0, 553, 560, 469, 468, 0, 150,
1631  0, 0, 310, 308, 307, 0, 0, 313, 314, 0,
1632  0, 317, 318, 319, 320, 322, 323, 0, 190, 0,
1633  249, 248, 297, 290, 0, 0, 192, 193, 233, 0,
1634  574, 392, 152, 392, 392, 0, 143, 145, 0, 303,
1635  357, 355, 0, 79, 0, 0, 511, 510, 0, 0,
1636  176, 166, 168, 517, 583, 514, 0, 529, 530, 531,
1637  0, 0, 369, 0, 367, 372, 379, 376, 383, 0,
1638  365, 370, 592, 593, 591, 0, 200, 0, 0, 0,
1639  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1640  0, 0, 0, 0, 0, 0, 16, 0, 46, 134,
1641  57, 58, 52, 49, 0, 59, 51, 0, 121, 122,
1642  123, 124, 125, 126, 127, 128, 129, 130, 120, 80,
1643  81, 82, 84, 85, 87, 88, 92, 93, 90, 91,
1644  95, 96, 98, 100, 102, 104, 106, 108, 110, 112,
1645  0, 0, 132, 588, 597, 601, 389, 579, 577, 578,
1646  391, 565, 543, 555, 563, 562, 557, 0, 470, 471,
1647  0, 400, 394, 158, 508, 0, 0, 0, 0, 0,
1648  0, 321, 0, 0, 0, 0, 0, 0, 147, 159,
1649  155, 157, 393, 327, 0, 327, 0, 358, 359, 327,
1650  357, 43, 0, 533, 518, 327, 327, 515, 327, 519,
1651  327, 0, 0, 327, 327, 327, 532, 0, 516, 512,
1652  0, 588, 602, 606, 375, 327, 373, 614, 580, 581,
1653  382, 327, 380, 588, 602, 327, 377, 327, 384, 512,
1654  0, 594, 596, 595, 72, 0, 32, 327, 327, 327,
1655  0, 74, 0, 0, 114, 152, 152, 142, 144, 115,
1656  327, 400, 76, 0, 0, 0, 0, 134, 445, 0,
1657  0, 0, 0, 0, 0, 467, 0, 0, 0, 434,
1658  463, 0, 434, 431, 14, 327, 135, 0, 424, 0,
1659  435, 413, 411, 423, 412, 134, 414, 415, 416, 417,
1660  419, 418, 420, 421, 422, 50, 0, 48, 118, 0,
1661  0, 0, 0, 598, 599, 544, 558, 477, 0, 472,
1662  0, 0, 14, 0, 401, 399, 0, 397, 0, 0,
1663  0, 0, 0, 0, 325, 324, 243, 242, 0, 0,
1664  0, 141, 392, 337, 0, 0, 0, 327, 333, 0,
1665  0, 327, 304, 327, 361, 363, 0, 45, 521, 524,
1666  525, 520, 327, 327, 522, 523, 526, 534, 585, 513,
1667  368, 587, 0, 0, 603, 604, 374, 381, 603, 378,
1668  385, 589, 366, 371, 0, 0, 0, 0, 34, 0,
1669  0, 0, 0, 25, 0, 399, 0, 450, 0, 449,
1670  134, 0, 0, 0, 0, 0, 451, 0, 0, 134,
1671  433, 0, 0, 0, 454, 460, 0, 0, 464, 0,
1672  437, 134, 432, 436, 60, 117, 609, 607, 608, 600,
1673  148, 479, 473, 405, 0, 0, 0, 395, 0, 0,
1674  0, 403, 311, 309, 312, 315, 316, 0, 291, 292,
1675  160, 338, 344, 0, 327, 334, 0, 336, 344, 335,
1676  0, 352, 360, 0, 362, 327, 527, 528, 612, 613,
1677  605, 29, 30, 31, 0, 33, 0, 0, 38, 39,
1678  0, 24, 327, 0, 0, 55, 0, 134, 429, 0,
1679  134, 448, 447, 0, 452, 0, 0, 0, 0, 321,
1680  0, 453, 0, 434, 0, 434, 434, 173, 426, 611,
1681  610, 0, 0, 482, 478, 485, 474, 0, 406, 404,
1682  396, 398, 410, 0, 402, 244, 0, 0, 341, 327,
1683  348, 339, 327, 348, 298, 340, 342, 327, 364, 354,
1684  588, 615, 37, 35, 0, 28, 26, 27, 56, 0,
1685  427, 0, 441, 442, 134, 134, 134, 40, 0, 0,
1686  0, 455, 459, 462, 0, 465, 466, 425, 0, 0,
1687  0, 0, 0, 488, 484, 491, 475, 0, 0, 408,
1688  0, 350, 345, 327, 349, 347, 327, 300, 298, 36,
1689  134, 0, 0, 438, 440, 0, 134, 0, 458, 0,
1690  0, 0, 0, 483, 0, 0, 0, 492, 493, 490,
1691  496, 476, 407, 0, 0, 343, 346, 302, 428, 40,
1692  134, 134, 0, 443, 457, 0, 434, 0, 480, 0,
1693  0, 489, 0, 499, 495, 497, 409, 0, 0, 0,
1694  439, 0, 0, 461, 0, 0, 486, 494, 0, 245,
1695  444, 40, 41, 430, 0, 0, 498, 134, 481, 0,
1696  446, 487
1697 };
1698 
1699  /* YYPGOTO[NTERM-NUM]. */
1700 static const yytype_int16 yypgoto[] =
1701 {
1702  -946, -946, 0, 30, -946, -946, -946, -108, -946, -946,
1703  -946, -946, 129, -946, -946, -946, -946, -946, -946, -945,
1704  -946, -946, -946, -946, -283, -946, 270, 1077, 372, 377,
1705  93, 384, 641, 644, 637, 632, 642, 643, -946, 368,
1706  -946, -343, -572, 916, 376, -148, -827, 26, -596, -946,
1707  -946, -946, -946, 775, -946, -118, -946, -946, -946, -946,
1708  5, 102, 13, 49, -50, 169, 1501, -946, -134, 705,
1709  -946, -946, -223, -946, -187, -946, -946, -946, -121, -77,
1710  110, -57, 125, -469, 776, -946, 870, -946, 1356, -68,
1711  -55, -946, 36, -946, -946, -946, -946, 573, -946, 449,
1712  -946, 702, 1011, -85, 280, -946, 289, -946, -946, 185,
1713  188, 108, -811, -946, -946, -946, 580, 450, -946, 298,
1714  -946, -946, -946, 429, -946, 413, -194, -34, -302, -292,
1715  395, 398, -826, -946, 42, 164, 18, -946, -195, 394,
1716  -946, 165, -946, -946, -946, -946, -946, -946, -946, -204,
1717  -946, -946, -946, -946, 386, 170, -946, -946, 98, -946,
1718  -946, 60, -946, -946, 38, -946, -946, -946, 21, -946,
1719  -946, 1017, -946, -946, -946, 436, 771, -510, -946, -946,
1720  -946, -946, -946, -946, -946, 11, 1009, -946, -96, -58,
1721  -946, -53, -946, -87, 59, -29, -946, -25, -425, -475,
1722  -13, -946, 315, -946, -946, 524, -610, 526, -542
1723 };
1724 
1725  /* YYDEFGOTO[NTERM-NUM]. */
1726 static const yytype_int16 yydefgoto[] =
1727 {
1728  -1, 70, 237, 118, 238, 239, 240, 241, 242, 243,
1729  244, 842, 843, 245, 246, 247, 248, 837, 249, 1046,
1730  203, 352, 250, 251, 773, 564, 252, 253, 254, 255,
1731  256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1732  266, 267, 268, 269, 736, 622, 737, 738, 74, 75,
1733  324, 329, 491, 287, 288, 318, 76, 493, 494, 792,
1734  550, 551, 552, 553, 281, 163, 81, 82, 145, 361,
1735  362, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1736  92, 93, 94, 299, 300, 301, 95, 345, 96, 97,
1737  98, 99, 1037, 100, 498, 644, 645, 101, 475, 476,
1738  477, 150, 271, 152, 796, 797, 798, 799, 800, 978,
1739  981, 1033, 979, 103, 348, 502, 104, 646, 647, 648,
1740  914, 529, 523, 524, 530, 531, 739, 844, 496, 774,
1741  775, 776, 777, 778, 740, 741, 742, 743, 744, 390,
1742  745, 746, 747, 1004, 748, 852, 749, 750, 863, 1083,
1743  751, 752, 753, 754, 458, 768, 769, 882, 963, 964,
1744  966, 1023, 1024, 1026, 1058, 1059, 1061, 1084, 1085, 105,
1745  106, 107, 108, 109, 507, 818, 819, 515, 516, 517,
1746  518, 519, 520, 521, 110, 980, 120, 121, 122, 123,
1747  124, 125, 126, 452, 127, 112, 113, 114, 606, 825,
1748  451, 354, 207, 355, 208, 608, 678, 609, 679
1749 };
1750 
1751  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1752  positive, shift that token. If negative, reduce the rule whose
1753  number is the opposite. If YYTABLE_NINF, syntax error. */
1754 static const yytype_int16 yytable[] =
1755 {
1756  71, 289, 165, 174, 657, 77, 349, 504, 372, 313,
1757  634, 168, 177, 79, 610, 182, 185, 143, 371, 48,
1758  291, 283, 166, 175, 169, 178, 73, 497, 758, 279,
1759  72, 276, 946, 71, -584, 389, 140, 397, 398, 399,
1760  141, 936, 841, 319, 119, 294, 865, 794, 440, 80,
1761  676, 682, 686, 688, 48, 48, 24, 359, 277, 111,
1762  971, 822, 294, 278, 284, 71, 432, 71, 71, 421,
1763  422, 48, 434, 822, 216, 216, 132, 71, 71, 71,
1764  71, 272, 295, 296, 441, 62, 63, 140, 159, 161,
1765  115, 141, 982, 286, 48, 982, 24, 25, 302, 295,
1766  296, 206, 78, 307, 308, 285, 71, 924, 971, 162,
1767  172, 77, 133, -584, 562, 294, 71, 71, 566, 79,
1768  62, 62, 48, 967, 1088, 24, 147, 148, 206, 823,
1769  511, 456, 73, -331, 1028, 58, 72, 62, 171, 180,
1770  194, 823, 196, 71, 435, 128, 275, 313, 793, 457,
1771  442, 499, 295, 296, 71, 80, 1107, 506, 24, 25,
1772  62, 433, 652, 134, -387, 111, 441, -353, 623, 1034,
1773  353, 389, 1034, 389, 947, 58, 147, 1042, 283, 764,
1774  437, 948, 866, 389, 483, 454, 446, 875, 62, 638,
1775  937, 640, 641, 129, 400, 276, 388, 135, 401, 402,
1776  346, 794, 314, 642, 58, 794, 704, 130, 78, 961,
1777  1021, 709, 346, 316, 535, 277, -584, 538, 297, 298,
1778  278, 284, 277, 326, 327, 131, 154, 278, 455, 714,
1779  347, 116, 512, 716, 24, 480, 298, 58, 423, 424,
1780  136, 117, 347, 1089, 140, 24, 25, 155, 141, 137,
1781  68, 140, 181, 437, 186, 141, 189, 190, 191, 928,
1782  65, -538, -538, 48, 955, 925, 956, 138, 926, 927,
1783  67, 437, 156, 71, 71, 968, 71, 667, 906, 68,
1784  71, 71, 437, 139, 24, 25, 1029, 908, 24, 25,
1785  437, 511, 48, 157, 437, -584, 437, 490, 668, 907,
1786  950, 72, 929, 275, -539, -539, 649, 142, 909, 657,
1787  275, 942, 437, 58, 149, 944, 484, 71, 204, 897,
1788  439, 951, -538, 205, 58, 204, 311, 441, 492, 62,
1789  205, 414, 539, 147, 540, 448, 415, 416, 879, 541,
1790  314, 543, 990, 545, 546, 346, 437, 205, 202, 920,
1791  485, 603, 353, 920, 522, 153, 205, 216, 62, 63,
1792  525, 604, 174, 58, 292, -539, 617, 58, 527, 65,
1793  605, 177, 185, 438, 639, 347, 310, 294, 350, 67,
1794  116, 443, 175, 72, 178, 72, 204, 611, 68, 277,
1795  117, 205, 312, 512, 278, 277, 444, 560, 50, 68,
1796  278, 560, 509, 158, 528, 351, -332, 373, 549, 554,
1797  24, 25, 72, 72, 295, 296, 632, 838, 140, 633,
1798  365, 793, 141, 273, 140, 607, 607, 561, 141, 674,
1799  680, 561, 174, 274, 437, 374, 613, 614, 757, 48,
1800  437, 177, 68, 185, 898, 375, 511, 71, 660, 664,
1801  165, 174, 175, 71, 178, 508, 649, 526, 437, 168,
1802  177, 437, 899, 443, 376, 1039, 511, 812, 813, 172,
1803  166, 175, 169, 178, 377, 165, 174, 275, 444, 367,
1804  369, 370, 441, 275, 168, 177, 891, 883, 386, 58,
1805  900, 270, 379, 417, 418, 166, 175, 169, 178, 437,
1806  346, 427, 441, 1062, 428, 62, 293, 1030, 71, 303,
1807  304, 305, 767, 306, 586, 587, 588, 589, 429, 653,
1808  71, 24, 25, 864, 430, 71, 71, 71, 71, 431,
1809  347, 666, 445, 371, 867, 204, 616, 869, 449, 172,
1810  205, 450, 204, 766, 72, 273, 658, 205, 512, 460,
1811  71, 71, 71, 71, 763, 274, 437, 162, 172, 734,
1812  1086, 705, 706, 509, 68, 461, 848, 479, 512, 24,
1813  25, 482, 440, 702, 703, 500, 283, 72, 72, 419,
1814  420, 487, 162, 172, 675, 681, 685, 687, 319, 735,
1815  760, 607, 489, 969, 488, 1087, 511, 495, 974, 765,
1816  58, 425, 426, 505, 603, 972, 387, 533, 441, 205,
1817  649, 707, 708, 277, 604, 547, 508, 380, 381, 382,
1818  383, 772, 824, 605, 443, 436, 437, 781, 548, 313,
1819  478, 437, 441, 557, 828, 486, 437, 556, 437, 444,
1820  558, 992, 140, 993, 630, 631, 141, 559, 58, 612,
1821  346, 561, 669, 670, 140, 615, 116, 618, 141, 755,
1822  756, 346, 346, 834, 835, 836, 117, 71, 437, 759,
1823  522, 71, 71, 71, 442, 68, 892, 437, 817, 160,
1824  347, 286, 48, 71, 71, 659, 663, 665, 893, 437,
1825  313, 347, 347, 619, 313, 525, 931, 932, 512, 72,
1826  560, 620, 102, 527, 671, 953, 954, 975, 976, 205,
1827  625, 772, 1005, 437, 672, 1006, 437, 734, 509, 72,
1828  72, 1069, 437, 673, 24, 25, 624, 346, 454, 1091,
1829  561, 147, 148, 635, -536, -536, 626, 24, 509, 528,
1830  627, 561, 387, 147, 387, 734, 1011, 735, 62, 853,
1831  607, 1076, 437, 628, 387, 629, 371, 347, 1013, 851,
1832  1015, 1016, 1078, 437, 636, 988, 690, 1018, 691, 146,
1833  560, 508, 643, 962, -301, 735, 1096, 437, 567, 443,
1834  650, 170, 179, 1108, 437, 1111, 437, 873, 999, 582,
1835  583, 508, 526, 651, 444, -536, 584, 585, 689, 443,
1836  561, 598, 599, 58, 346, 693, 24, 694, 102, 590,
1837  591, 601, 695, 696, 444, 697, 58, 698, 699, 146,
1838  700, 290, 701, 782, 71, 72, 174, 1054, 71, 1031,
1839  710, 783, 784, 786, 347, 177, 787, 791, 803, 767,
1840  677, 677, 677, 677, 903, 146, 175, 788, 178, 72,
1841  734, 801, 804, 807, 315, 711, 847, 1022, 850, 116,
1842  849, 290, 977, 290, 959, 960, 371, 855, 509, 117,
1843  858, 734, 671, 821, 859, 862, 860, 205, 68, 24,
1844  735, 1093, 672, 314, 868, 58, 772, 314, 560, -386,
1845  437, 673, 938, 871, 876, 877, 179, 902, 179, 286,
1846  48, 735, 71, 71, 371, 443, 71, 364, 71, 1,
1847  870, 878, 962, 958, 880, 881, 561, 1057, 561, -57,
1848  444, 508, 8, 885, 560, 886, 560, 10, 894, 443,
1849  13, 895, 887, 172, 772, 896, 17, 734, 901, 19,
1850  904, 683, 821, 1077, 444, 915, 205, 913, 1022, 918,
1851  346, 684, -537, -537, 561, 919, 561, 921, 58, 922,
1852  673, 346, 983, 923, 561, 983, 62, 735, 930, 933,
1853  72, 1095, 934, 939, 1057, 935, 146, 940, 315, 1000,
1854  347, 949, 941, 146, 987, 952, 677, 677, 5, 965,
1855  290, 347, 1001, 1009, 1007, 46, 1012, 1014, 677, 677,
1856  1019, 779, 780, 1017, 14, 734, 734, 1020, 1045, 821,
1857  1025, 789, 790, -537, 65, 977, 23, 977, 1040, 1047,
1858  1055, 346, 1049, 1051, 67, 50, 51, 1048, 179, 179,
1859  1056, 1064, 1060, 68, 1070, 735, 735, 1071, 1072, 1074,
1860  734, 1075, 1079, 1082, 1094, 1092, 734, 1043, 1044, 1098,
1861  1099, 347, 30, 31, 1100, 309, 1101, 102, 1102, 1105,
1862  346, 996, 595, 459, 364, 64, 594, 536, 592, 344,
1863  735, 734, 593, 596, 1067, 597, 735, 481, 839, 840,
1864  785, 910, 1068, 151, 102, 102, 905, 49, 1073, 661,
1865  347, 1036, 346, 986, 985, 854, 662, 857, 346, 820,
1866  806, 735, 912, 833, 1002, 1003, 845, 734, 198, 846,
1867  1103, 861, 199, 1090, 56, 200, 1081, 1008, 1053, 1106,
1868  1097, 358, 347, 201, 514, 831, 282, 761, 347, 762,
1869  0, 59, 60, 0, 0, 0, 0, 735, 0, 677,
1870  0, 179, 0, 677, 0, 0, 0, 884, 0, 1110,
1871  403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
1872  0, 0, 0, 0, 0, 0, 0, 317, 0, 0,
1873  0, 0, 0, 320, 0, 0, 321, 322, 0, 323,
1874  0, 0, 0, 325, 0, 0, 0, 0, 328, 0,
1875  0, 0, 330, 331, 290, 332, 333, 334, 335, 336,
1876  337, 338, 339, 340, 341, 0, 342, 0, 343, 0,
1877  0, 179, 462, 463, 464, 465, 466, 467, 468, 469,
1878  470, 471, 472, 473, 1010, 474, 0, 0, 0, 170,
1879  179, 943, 0, 991, 945, 462, 463, 464, 465, 466,
1880  467, 468, 469, 470, 471, 472, 473, 0, 474, 102,
1881  102, 0, 0, 0, 170, 179, 0, 0, 0, 0,
1882  0, 102, 0, 0, 0, 973, 0, 0, 0, 0,
1883  0, 0, 0, 0, 0, 0, 0, 0, 358, 0,
1884  0, 358, 0, 0, 0, 0, 0, 0, 0, 0,
1885  542, 0, 544, 0, 0, 0, 0, 0, 0, 0,
1886  0, 0, 555, 994, 384, 385, 146, 0, 391, 392,
1887  393, 394, 395, 396, 0, 0, 565, 413, 0, 568,
1888  569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
1889  0, 0, 0, 0, 5, 0, 0, 0, 0, 0,
1890  0, 0, 0, 1027, 0, 0, 0, 0, 0, 0,
1891  14, 0, 0, 602, 0, 0, 0, 0, 0, 0,
1892  501, 0, 23, 0, 0, 0, 0, 0, 0, 0,
1893  0, 0, 0, 0, 146, 0, 358, 1041, 0, 0,
1894  0, 0, 0, 0, 0, 0, 146, 24, 25, 0,
1895  1050, 0, 102, 0, 0, 1052, 0, 0, 30, 31,
1896  0, 0, 0, 0, 1063, 637, 0, 290, 290, 0,
1897  0, 358, 0, 0, 0, 0, 48, 0, 0, 102,
1898  0, 0, 0, 0, 0, 0, 0, 503, 0, 0,
1899  0, 1080, 0, 49, 392, 167, 176, 0, 0, 167,
1900  184, 167, 188, 167, 167, 167, 193, 102, 195, 0,
1901  197, 0, 5, 0, 0, 0, 0, 0, 0, 0,
1902  56, 0, 0, 0, 0, 146, 58, 0, 14, 0,
1903  1104, 0, 0, 0, 0, 0, 0, 59, 60, 0,
1904  23, 1109, 62, 0, 0, 0, 0, 0, 0, 0,
1905  0, 579, 580, 581, 503, 503, 503, 503, 503, 503,
1906  503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
1907  503, 503, 0, 0, 0, 0, 30, 31, 0, 0,
1908  0, 0, 671, 0, 0, 0, 146, 205, 0, 0,
1909  146, 0, 672, 0, 48, 0, 0, 358, 0, 0,
1910  0, 673, 0, 0, 0, 0, 0, 0, 0, 0,
1911  0, 49, 102, 0, 0, 0, 0, 0, 0, 0,
1912  0, 363, 0, 0, 0, 0, 0, 0, 144, 0,
1913  0, 0, 0, 957, 0, 0, 0, 0, 56, 0,
1914  164, 173, 503, 0, 164, 183, 164, 187, 164, 164,
1915  164, 192, 0, 0, 0, 59, 60, 0, 0, 0,
1916  62, 0, 0, 0, 0, 179, 0, 0, 0, 0,
1917  0, 0, 0, 0, 392, 0, 0, 0, 144, 0,
1918  0, 0, 0, 0, 0, 0, 503, 358, 0, 0,
1919  358, 503, 0, 0, 712, 5, 0, 5, 0, 102,
1920  603, 0, 102, 0, 144, 205, 0, 0, 0, 0,
1921  604, 14, 0, 14, 795, 0, 802, 0, 0, 605,
1922  805, 0, 0, 23, 0, 23, 808, 809, 0, 810,
1923  0, 811, 874, 0, 814, 815, 816, 503, 0, 0,
1924  0, 0, 0, 0, 0, 0, 826, 0, 0, 0,
1925  24, 25, 827, 0, 358, 173, 829, 173, 830, 30,
1926  31, 30, 31, 0, 0, 0, 360, 102, 102, 513,
1927  0, 0, 0, 0, 0, 0, 0, 48, 363, 48,
1928  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929  0, 0, 0, 0, 49, 0, 49, 0, 0, 0,
1930  0, 0, 102, 0, 0, 0, 151, 0, 102, 0,
1931  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932  0, 56, 0, 56, 0, 0, 0, 0, 0, 58,
1933  0, 0, 0, 102, 0, 144, 0, 0, 59, 60,
1934  59, 60, 144, 62, 0, 62, 0, 0, 0, 0,
1935  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1936  0, 358, 358, 0, 0, 0, 358, 0, 795, 102,
1937  0, 0, 795, 0, 911, 0, 0, 0, 0, 0,
1938  0, 0, 0, 916, 917, 280, 0, 173, 173, 358,
1939  0, 0, 5, 0, 0, 117, 503, 0, 0, 0,
1940  0, 0, 0, 0, 68, 0, 995, 0, 14, 997,
1941  358, 0, 358, 0, 510, 0, 0, 0, 0, 0,
1942  23, 0, 0, 360, 0, 0, 654, 655, 656, 0,
1943  513, 0, 167, 167, 167, 0, 0, 0, 0, 0,
1944  0, 0, 0, 167, 176, 24, 25, 0, 0, 0,
1945  0, 0, 0, 358, 0, 0, 30, 31, 0, 0,
1946  0, 0, 0, 0, 0, 0, 0, 0, 167, 176,
1947  0, 0, 0, 0, 48, 984, 0, 1, 0, 0,
1948  0, 0, 0, 5, 0, 0, 989, 0, 0, 0,
1949  8, 49, 0, 0, 0, 10, 0, 0, 13, 14,
1950  173, 183, 187, 192, 17, 0, 0, 19, 0, 0,
1951  0, 23, 0, 0, 0, 0, 0, 0, 56, 0,
1952  0, 0, 0, 0, 58, 0, 0, 0, 0, 0,
1953  0, 0, 0, 0, 0, 59, 60, 0, 0, 0,
1954  62, 0, 0, 0, 0, 0, 0, 30, 31, 0,
1955  1032, 0, 0, 1035, 0, 0, 0, 0, 1038, 0,
1956  0, 0, 0, 46, 0, 0, 0, 0, 0, 0,
1957  173, 0, 183, 192, 0, 510, 0, 164, 164, 164,
1958  447, 0, 49, 0, 0, 513, 0, 0, 164, 173,
1959  274, 0, 0, 50, 51, 0, 0, 0, 0, 68,
1960  0, 0, 0, 0, 1065, 513, 0, 1066, 0, 56,
1961  1, 2, 3, 164, 173, 4, 5, 0, 0, 0,
1962  6, 0, 7, 8, 9, 0, 59, 60, 10, 11,
1963  12, 13, 14, 64, 15, 16, 0, 17, 18, 0,
1964  19, 20, 21, 22, 23, 0, 0, 0, 0, 0,
1965  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966  0, 0, 0, 0, 0, 144, 0, 0, 0, 24,
1967  25, 0, 0, 0, 0, 0, 26, 27, 28, 29,
1968  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1969  40, 41, 42, 43, 44, 45, 46, 47, 48, 0,
1970  0, 0, 0, 0, 0, 0, 0, 0, 0, 503,
1971  0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
1972  0, 0, 0, 0, 0, 0, 50, 51, 0, 0,
1973  510, 0, 0, 144, 0, 513, 0, 0, 52, 53,
1974  54, 55, 56, 57, 0, 144, 0, 0, 58, 0,
1975  510, 0, 0, 0, 0, 0, 0, 0, 0, 59,
1976  60, 61, 0, 0, 62, 63, 64, 0, 0, 0,
1977  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978  0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
1979  3, 0, 0, 4, 5, 0, 0, 0, 6, 0,
1980  7, 8, 9, 0, 65, 0, 10, 11, 12, 13,
1981  14, 66, 15, 16, 67, 17, 18, 0, 19, 20,
1982  21, 22, 23, 68, 144, 0, 0, 69, 0, 0,
1983  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984  0, 0, 0, 0, 0, 0, 0, 24, 25, 0,
1985  0, 0, 0, 0, 26, 27, 28, 29, 30, 31,
1986  32, 0, 34, 35, 36, 37, 38, 39, 40, 41,
1987  42, 43, 44, 45, 46, 0, 48, 0, 0, 0,
1988  510, 0, 0, 0, 0, 144, 0, 0, 0, 144,
1989  0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
1990  0, 0, 0, 0, 50, 51, 0, 0, 0, 0,
1991  0, 0, 0, 0, 0, 0, 52, 53, 54, 55,
1992  56, 57, 0, 0, 0, 0, 58, 0, 0, 0,
1993  0, 0, 0, 0, 0, 0, 0, 59, 60, 61,
1994  0, 0, 62, 0, 64, 0, 0, 1, 2, 3,
1995  0, 0, 4, 5, 0, 0, 0, 6, 0, 7,
1996  8, 9, 0, 0, 173, 10, 11, 12, 13, 14,
1997  0, 15, 16, 0, 17, 18, 0, 19, 20, 21,
1998  22, 23, 683, 0, 0, 0, 0, 205, 0, 0,
1999  0, 0, 684, 0, 0, 0, 0, 0, 0, 0,
2000  0, 673, 0, 0, 0, 0, 24, 25, 0, 0,
2001  0, 0, 0, 26, 27, 28, 29, 30, 31, 32,
2002  0, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2003  43, 44, 45, 46, 0, 48, 0, 0, 0, 0,
2004  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005  0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
2006  0, 0, 0, 50, 51, 0, 0, 0, 0, 0,
2007  0, 0, 0, 0, 0, 52, 53, 54, 55, 56,
2008  57, 0, 0, 0, 0, 58, 0, 0, 0, 0,
2009  0, 0, 0, 0, 0, 0, 59, 60, 61, 0,
2010  0, 62, 0, 64, 2, 3, 0, 0, 4, 5,
2011  0, 0, 0, 6, 0, 7, 0, 9, 0, 0,
2012  0, 0, 11, 12, 0, 14, 0, 15, 16, 0,
2013  0, 18, 0, 0, 20, 21, 22, 23, 0, 0,
2014  0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
2015  0, 67, 0, 0, 0, 0, 0, 0, 0, 0,
2016  68, 0, 24, 25, 0, 0, 0, 0, 0, 26,
2017  27, 28, 29, 30, 31, 32, 0, 34, 35, 36,
2018  37, 38, 39, 40, 41, 42, 43, 44, 45, 0,
2019  0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
2020  0, 0, 0, 0, 0, 0, 0, 0, 49, 0,
2021  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2022  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023  0, 52, 53, 54, 55, 56, 57, 0, 0, 0,
2024  0, 58, 0, 0, 0, 0, 0, 0, 0, 0,
2025  0, 0, 59, 60, 61, 2, 3, 62, 0, 4,
2026  5, 0, 0, 0, 6, 0, 7, 0, 9, 0,
2027  0, 0, 0, 11, 12, 0, 14, 0, 15, 16,
2028  0, 0, 18, 0, 0, 20, 21, 22, 23, 0,
2029  0, 0, 0, 0, 0, 0, 0, 65, 0, 0,
2030  977, 0, 0, 0, 0, 0, 0, 67, 0, 0,
2031  0, 0, 0, 0, 25, 0, 68, 0, 0, 0,
2032  26, 27, 28, 29, 30, 31, 32, 0, 34, 35,
2033  36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2034  0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
2035  0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
2036  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2037  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2038  0, 0, 52, 53, 54, 55, 56, 57, 0, 0,
2039  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2040  0, 0, 0, 59, 60, 61, 0, 0, 62, 0,
2041  0, 1, 2, 3, 713, 714, 4, 5, 715, 716,
2042  717, 6, 0, 7, 8, 9, 718, 719, 720, 10,
2043  11, 12, 13, 14, 721, 15, 16, 209, 17, 18,
2044  722, 19, 20, 21, 22, 23, 0, 723, 603, 210,
2045  211, 0, 0, 205, 0, 0, 0, 212, 604, 0,
2046  0, 0, 0, 0, 0, 0, 0, 605, 0, 0,
2047  24, 25, 213, 214, 215, 216, 724, 26, 27, 28,
2048  29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2049  39, 40, 41, 42, 43, 44, 45, 46, 725, 726,
2050  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051  0, 0, 0, 0, 727, 728, 49, 217, 218, 219,
2052  220, 221, 222, 729, 0, 0, 730, 50, 51, 0,
2053  0, 0, 0, 0, 223, 224, 225, 226, 0, 52,
2054  53, 54, 55, 56, 57, 731, 0, 732, 0, 58,
2055  0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
2056  59, 60, 61, 229, 0, 62, 63, 64, 0, 0,
2057  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2058  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2059  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2060  0, 0, 0, 0, 0, 230, 0, 0, 0, 0,
2061  0, 0, -434, 733, 231, 232, 233, 234, 235, 236,
2062  1, 2, 3, 713, 714, 4, 5, 715, 716, 717,
2063  6, 0, 7, 8, 9, 718, 719, 720, 10, 11,
2064  12, 13, 14, 721, 15, 16, 209, 17, 18, 722,
2065  19, 20, 21, 22, 23, 0, 723, 0, 210, 211,
2066  0, 0, 0, 0, 0, 0, 212, 0, 0, 0,
2067  0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
2068  25, 213, 214, 215, 216, 0, 26, 27, 28, 29,
2069  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2070  40, 41, 42, 43, 44, 45, 46, 725, 726, 0,
2071  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2072  0, 0, 0, 727, 728, 49, 217, 218, 219, 220,
2073  221, 222, 729, 0, 0, 730, 50, 51, 0, 0,
2074  0, 0, 0, 223, 224, 225, 226, 0, 52, 53,
2075  54, 55, 56, 57, 731, 0, 732, 0, 58, 0,
2076  0, 0, 0, 0, 0, 0, 0, 227, 228, 59,
2077  60, 61, 229, 0, 62, 63, 64, 0, 0, 0,
2078  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2079  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2080  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2081  0, 0, 0, 0, 230, 0, 0, 0, 0, 0,
2082  0, -434, 872, 231, 232, 233, 234, 235, 236, 1,
2083  2, 3, 713, 714, 4, 5, 715, 716, 717, 6,
2084  0, 7, 8, 9, 718, 719, 720, 10, 11, 12,
2085  13, 14, 721, 15, 16, 209, 17, 18, 722, 19,
2086  20, 21, 22, 23, 0, 723, 0, 210, 211, 0,
2087  0, 0, 0, 0, 0, 212, 0, 0, 0, 0,
2088  0, 0, 0, 0, 0, 0, 0, 0, 24, 25,
2089  213, 214, 215, 216, 0, 26, 27, 28, 29, 30,
2090  31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2091  41, 42, 43, 44, 45, 46, 725, 726, 0, 0,
2092  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2093  0, 0, 727, 728, 49, 217, 218, 219, 220, 221,
2094  222, 729, 0, 0, 730, 50, 51, 0, 0, 0,
2095  0, 0, 223, 224, 225, 226, 0, 52, 53, 54,
2096  55, 56, 57, 731, 0, 732, 0, 58, 0, 0,
2097  0, 0, 0, 0, 0, 0, 227, 228, 59, 60,
2098  61, 229, 0, 62, 63, 64, 0, 0, 0, 0,
2099  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2101  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102  0, 0, 0, 230, 0, 0, 0, 0, 0, 0,
2103  -434, 0, 231, 232, 233, 234, 235, 236, 1, 2,
2104  3, 0, 0, 4, 5, 0, 0, 0, 6, 0,
2105  7, 8, 9, 0, 0, 0, 10, 11, 12, 13,
2106  14, 0, 15, 16, 209, 17, 18, 0, 19, 20,
2107  21, 22, 23, 0, 0, 0, 210, 211, 0, 0,
2108  0, 0, 0, 0, 212, 0, 0, 0, 0, 0,
2109  0, 0, 0, 0, 0, 0, 0, 24, 25, 213,
2110  214, 215, 216, 0, 26, 27, 28, 29, 30, 31,
2111  32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2112  42, 43, 44, 45, 46, 0, 48, 0, 0, 0,
2113  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2114  0, 0, 0, 49, 217, 218, 219, 220, 221, 222,
2115  0, 0, 0, 0, 50, 51, 0, 0, 0, 0,
2116  0, 223, 224, 225, 226, 0, 52, 53, 54, 55,
2117  56, 57, 0, 0, 0, 0, 58, 0, 0, 0,
2118  0, 0, 0, 0, 0, 227, 228, 59, 60, 61,
2119  229, 1, 62, 63, 64, 0, 0, 5, 0, 0,
2120  0, 0, 0, 0, 8, 0, 0, 0, 0, 10,
2121  0, 0, 13, 14, 0, 0, 0, 209, 17, 0,
2122  0, 19, 0, 0, 0, 23, 0, 0, 0, 210,
2123  211, 0, 230, 0, 0, 0, 0, 212, 0, 0,
2124  0, 231, 232, 233, 234, 235, 236, 0, 0, 0,
2125  24, 0, 213, 214, 215, 216, 0, 0, 0, 0,
2126  0, 30, 31, 0, 0, 0, 0, 0, 0, 0,
2127  0, 0, 0, 0, 0, 0, 0, 46, 0, 48,
2128  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129  0, 0, 0, 0, 0, 0, 49, 217, 218, 219,
2130  220, 221, 222, 0, 0, 0, 0, 50, 51, 0,
2131  0, 0, 0, 0, 223, 224, 225, 226, 0, 0,
2132  0, 0, 0, 56, 0, 0, 0, 0, 0, 58,
2133  0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
2134  59, 60, 1, 229, 0, 62, 0, 64, 5, 0,
2135  0, 0, 0, 0, 0, 8, 0, 0, 0, 0,
2136  10, 0, 0, 13, 14, 0, 0, 0, 209, 17,
2137  0, 0, 19, 0, 0, 0, 23, 0, 0, 0,
2138  210, 211, 0, 0, 0, 230, 0, 0, 212, 0,
2139  0, 356, 0, 0, 231, 357, 233, 234, 235, 236,
2140  0, 24, 0, 213, 214, 215, 216, 0, 0, 0,
2141  0, 0, 30, 31, 0, 0, 0, 0, 0, 0,
2142  0, 0, 0, 0, 0, 0, 0, 0, 46, 0,
2143  48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2144  0, 0, 0, 0, 0, 0, 0, 49, 217, 218,
2145  219, 220, 221, 222, 0, 5, 0, 5, 50, 51,
2146  0, 0, 0, 0, 0, 223, 224, 225, 226, 0,
2147  0, 14, 0, 14, 56, 0, 0, 0, 0, 0,
2148  58, 0, 0, 23, 0, 23, 0, 5, 0, 227,
2149  228, 59, 60, 0, 229, 0, 62, 0, 64, 0,
2150  0, 0, 0, 14, 0, 0, 0, 0, 24, 25,
2151  24, 0, 0, 0, 0, 23, 0, 0, 0, 30,
2152  31, 30, 31, 0, 0, 0, 0, 0, 0, 0,
2153  0, 0, 0, 0, 0, 0, 230, 48, 0, 48,
2154  24, 0, 534, 0, 0, 231, 232, 233, 234, 235,
2155  236, 30, 31, 0, 49, 0, 49, 0, 0, 0,
2156  0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
2157  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158  0, 56, 0, 56, 0, 0, 49, 58, 0, 58,
2159  0, 0, 0, 0, 0, 0, 0, 0, 59, 60,
2160  59, 60, 0, 62, 0, 62, 0, 0, 0, 0,
2161  0, 0, 0, 56, 0, 0, 0, 0, 0, 58,
2162  0, 209, 0, 0, 0, 0, 0, 0, 0, 0,
2163  59, 60, 0, 210, 211, 62, 0, 0, 0, 0,
2164  0, 212, 0, 453, 0, 683, 0, 0, 0, 0,
2165  205, 0, 0, 274, 24, 684, 213, 214, 215, 216,
2166  0, 0, 68, 0, 673, 0, 0, 0, 0, 0,
2167  0, 0, 0, 0, 0, 65, 0, 0, 0, 0,
2168  0, 0, 0, 0, 0, 67, 0, 0, 0, 0,
2169  0, 0, 0, 0, 68, 0, 0, 0, 0, 0,
2170  0, 217, 218, 219, 220, 221, 222, 0, 0, 0,
2171  0, 0, 0, 0, 0, 0, 0, 0, 223, 224,
2172  225, 226, 0, 0, 209, 0, 0, 0, 0, 0,
2173  0, 0, 0, 58, 0, 0, 210, 211, 0, 0,
2174  0, 0, 227, 228, 212, 0, 0, 229, 0, 0,
2175  0, 0, 0, 0, 0, 0, 0, 24, 209, 213,
2176  214, 215, 216, 0, 0, 0, 0, 0, 0, 0,
2177  210, 211, 0, 0, 0, 0, 0, 0, 212, 0,
2178  0, 0, 0, 0, 0, 0, 0, 0, 0, 230,
2179  0, 24, 25, 213, 214, 215, 216, 0, 231, 232,
2180  233, 234, 235, 236, 217, 218, 219, 220, 221, 222,
2181  0, 0, 856, 0, 0, 0, 0, 0, 0, 0,
2182  0, 223, 224, 225, 226, 0, 0, 0, 0, 0,
2183  0, 0, 0, 0, 0, 0, 58, 0, 217, 218,
2184  219, 220, 221, 222, 0, 227, 228, 0, 0, 0,
2185  229, 0, 0, 0, 0, 223, 224, 225, 226, 0,
2186  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2187  58, 0, 0, 0, 209, 0, 0, 0, 0, 227,
2188  228, 0, 0, 0, 229, 0, 210, 211, 0, 0,
2189  0, 0, 230, 0, 212, 0, 888, 889, 0, 621,
2190  0, 231, 232, 233, 234, 235, 236, 24, 25, 213,
2191  214, 215, 216, 0, 890, 0, 0, 0, 0, 0,
2192  0, 0, 0, 0, 0, 0, 230, 0, 0, 0,
2193  770, 771, 0, 621, 970, 231, 232, 233, 234, 235,
2194  236, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195  0, 0, 0, 0, 217, 218, 219, 220, 221, 222,
2196  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197  0, 223, 224, 225, 226, 0, 0, 209, 0, 0,
2198  0, 0, 0, 0, 0, 0, 58, 0, 0, 210,
2199  211, 0, 0, 0, 0, 227, 228, 212, 0, 0,
2200  229, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2201  24, 25, 213, 214, 215, 216, 0, 0, 0, 0,
2202  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2203  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2204  0, 0, 230, 0, 0, 0, 770, 771, 0, 621,
2205  998, 231, 232, 233, 234, 235, 236, 217, 218, 219,
2206  220, 221, 222, 0, 0, 0, 0, 0, 0, 0,
2207  0, 0, 0, 0, 223, 224, 225, 226, 0, 0,
2208  209, 0, 0, 0, 0, 0, 0, 0, 0, 58,
2209  0, 0, 210, 211, 0, 0, 0, 0, 227, 228,
2210  212, 0, 0, 229, 0, 0, 0, 0, 0, 0,
2211  0, 0, 0, 24, 0, 213, 214, 215, 216, 0,
2212  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2214  0, 0, 48, 0, 0, 230, 0, 0, 0, 770,
2215  771, 0, 621, 0, 231, 232, 233, 234, 235, 236,
2216  217, 218, 219, 220, 221, 222, 0, 0, 0, 0,
2217  0, 0, 0, 0, 0, 0, 0, 223, 224, 225,
2218  226, 0, 0, 209, 0, 0, 0, 0, 0, 0,
2219  0, 0, 58, 0, 0, 210, 211, 0, 0, 0,
2220  0, 227, 228, 212, 0, 0, 229, 0, 62, 0,
2221  0, 0, 0, 0, 0, 0, 24, 0, 213, 214,
2222  215, 216, 0, 0, 0, 0, 0, 0, 0, 0,
2223  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2224  0, 0, 0, 0, 0, 48, 0, 0, 230, 0,
2225  0, 0, 0, 0, 0, -434, 0, 231, 232, 233,
2226  234, 235, 236, 217, 218, 219, 220, 221, 222, 0,
2227  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2228  223, 224, 225, 226, 0, 0, 209, 0, 0, 0,
2229  0, 0, 0, 0, 0, 58, 0, 0, 210, 211,
2230  0, 0, 0, 0, 227, 228, 212, 0, 0, 229,
2231  0, 62, 0, 0, 0, 0, 0, 0, 0, 24,
2232  209, 213, 214, 215, 216, 0, 0, 0, 0, 0,
2233  0, 0, 210, 211, 0, 0, 0, 0, 0, 0,
2234  212, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235  0, 230, 0, 24, 0, 213, 214, 215, 216, 0,
2236  231, 232, 233, 234, 235, 236, 217, 218, 219, 220,
2237  221, 222, 0, 0, 0, 0, 0, 0, 0, 0,
2238  0, 0, 0, 223, 224, 225, 226, 0, 0, 0,
2239  0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
2240  217, 218, 219, 220, 221, 222, 0, 227, 228, 0,
2241  0, 0, 229, 0, 0, 0, 0, 223, 224, 225,
2242  226, 0, 0, 209, 0, 0, 0, 0, 0, 0,
2243  0, 0, 58, 0, 0, 210, 211, 0, 0, 0,
2244  0, 227, 228, 212, 0, 0, 229, 0, 0, 0,
2245  0, 0, 0, 0, 230, 563, 24, 0, 213, 214,
2246  215, 216, 0, 231, 232, 233, 234, 235, 236, 0,
2247  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2248  0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
2249  0, 600, 0, 0, 0, 0, 0, 231, 232, 233,
2250  234, 235, 236, 217, 218, 219, 220, 221, 222, 0,
2251  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252  223, 224, 225, 226, 0, 0, 209, 0, 0, 0,
2253  0, 0, 0, 0, 0, 58, 0, 0, 210, 211,
2254  0, 0, 0, 0, 227, 228, 212, 0, 0, 229,
2255  0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
2256  25, 213, 214, 215, 216, 0, 0, 0, 0, 0,
2257  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2258  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2259  0, 230, 0, 0, 0, 0, 0, 0, 621, 0,
2260  231, 232, 233, 234, 235, 236, 217, 218, 219, 220,
2261  221, 222, 0, 0, 0, 0, 0, 0, 0, 0,
2262  0, 0, 0, 223, 224, 225, 226, 0, 0, 209,
2263  0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
2264  0, 210, 211, 0, 0, 0, 0, 227, 228, 212,
2265  0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
2266  0, 0, 24, 209, 213, 214, 215, 216, 0, 0,
2267  0, 0, 0, 0, 0, 210, 211, 0, 0, 0,
2268  0, 0, 0, 212, 0, 0, 0, 0, 0, 0,
2269  0, 0, 0, 0, 230, 0, 24, 0, 213, 214,
2270  215, 216, 0, 231, 232, 233, 234, 235, 236, 217,
2271  218, 219, 220, 221, 222, 0, 0, 0, 0, 0,
2272  0, 0, 0, 0, 0, 0, 223, 224, 225, 226,
2273  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2274  0, 58, 0, 217, 218, 219, 220, 221, 222, 0,
2275  227, 228, 0, 0, 0, 229, 0, 0, 0, 0,
2276  223, 224, 225, 226, 0, 0, 209, 0, 0, 0,
2277  0, 0, 0, 0, 0, 58, 0, 0, 210, 211,
2278  0, 0, 0, 0, 227, 228, 212, 0, 0, 229,
2279  0, 0, 0, 0, 0, 0, 0, 230, 0, 24,
2280  209, 213, 214, 215, 216, 0, 231, 232, 233, 234,
2281  235, 236, 210, 211, 0, 0, 0, 0, 0, 0,
2282  212, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2283  0, 230, 0, 24, 0, 213, 214, 215, 216, 0,
2284  231, 537, 233, 234, 235, 236, 217, 218, 219, 220,
2285  221, 222, 0, 0, 0, 0, 0, 0, 0, 0,
2286  0, 0, 0, 223, 224, 0, 0, 0, 0, 0,
2287  0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
2288  217, 218, 219, 220, 221, 222, 0, 227, 228, 0,
2289  0, 0, 229, 0, 0, 0, 0, 223, 224, 0,
2290  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2291  0, 0, 58, 0, 0, 0, 209, 0, 0, 0,
2292  0, 227, 228, 0, 0, 0, 229, 0, 210, 211,
2293  0, 0, 0, 0, 230, 0, 212, 0, 0, 0,
2294  532, 0, 0, 231, 232, 233, 234, 235, 236, 24,
2295  209, 213, 214, 215, 216, 0, 0, 0, 0, 0,
2296  0, 0, 210, 211, 0, 0, 0, 0, 230, 0,
2297  212, 0, 0, 0, 692, 0, 0, 231, 232, 233,
2298  234, 235, 236, 24, 0, 213, 214, 215, 216, 0,
2299  0, 0, 0, 0, 0, 0, 217, 218, 219, 220,
2300  221, 222, 0, 0, 0, 0, 0, 0, 0, 0,
2301  0, 0, 0, 223, 224, 0, 0, 0, 0, 0,
2302  0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
2303  217, 218, 219, 220, 221, 222, 0, 227, 228, 0,
2304  0, 0, 229, 0, 0, 0, 0, 223, 224, 0,
2305  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2306  0, 0, 58, 0, 0, 0, 209, 0, 0, 0,
2307  0, 227, 228, 0, 0, 0, 229, 0, 210, 211,
2308  0, 0, 0, 0, 230, 0, 212, 0, 0, 0,
2309  0, 711, 0, 231, 232, 233, 234, 235, 236, 24,
2310  209, 213, 214, 215, 216, 0, 0, 0, 0, 0,
2311  0, 0, 210, 211, 0, 0, 0, 0, 230, 0,
2312  212, 0, 0, 0, 0, 0, 0, 231, 232, 233,
2313  234, 235, 236, 24, 0, 213, 214, 215, 216, 0,
2314  0, 0, 0, 0, 0, 0, 217, 218, 219, 220,
2315  221, 222, 0, 0, 0, 0, 0, 0, 0, 0,
2316  0, 0, 0, 223, 224, 0, 0, 0, 0, 0,
2317  0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
2318  217, 218, 219, 220, 221, 222, 0, 0, 0, 0,
2319  0, 0, 229, 0, 0, 0, 0, 223, 224, 0,
2320  0, 0, 0, 209, 0, 0, 0, 0, 0, 0,
2321  0, 0, 58, 0, 0, 210, 211, 0, 0, 0,
2322  0, 0, 0, 212, 0, 0, 229, 0, 0, 0,
2323  0, 0, 0, 0, 366, 0, 24, 0, 213, 214,
2324  215, 216, 0, 231, 232, 233, 234, 235, 236, 0,
2325  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2326  0, 0, 0, 0, 0, 0, 0, 0, 368, 0,
2327  0, 0, 0, 0, 0, 0, 0, 231, 232, 233,
2328  234, 235, 236, 217, 218, 219, 220, 221, 222, 0,
2329  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2330  223, 224, 0, 0, 0, 0, 0, 0, 0, 0,
2331  0, 0, 0, 0, 0, 58, 0, 0, 0, 0,
2332  0, 0, 0, 0, 0, 0, 1, 2, 3, 229,
2333  0, 4, 5, 0, 0, 0, 6, 0, 7, 8,
2334  9, 0, 0, 0, 10, 11, 12, 13, 14, 0,
2335  15, 16, 0, 17, 18, 0, 19, 20, 21, 22,
2336  23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2337  0, 378, 0, 0, 0, 0, 0, 0, 0, 0,
2338  231, 232, 233, 234, 235, 236, 25, 0, 0, 0,
2339  0, 0, 26, 27, 28, 29, 30, 31, 32, 33,
2340  34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2341  44, 45, 46, 0, 48, 0, 0, 0, 0, 0,
2342  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2343  0, 49, 0, 0, 0, 0, 0, 0, 0, 0,
2344  0, 0, 50, 51, 0, 0, 0, 0, 0, 0,
2345  0, 0, 0, 0, 52, 53, 54, 55, 56, 57,
2346  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2347  0, 0, 0, 0, 0, 59, 60, 61, 0, 0,
2348  62, 63, 64, 1, 2, 3, 0, 0, 4, 5,
2349  0, 0, 0, 6, 0, 7, 8, 9, 0, 0,
2350  0, 10, 11, 12, 13, 14, 0, 15, 16, 0,
2351  17, 18, 0, 19, 20, 21, 22, 23, 0, 0,
2352  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2353  0, 832, 0, 0, 0, 0, 0, 0, 0, 0,
2354  0, 0, 0, 25, 0, 0, 0, 0, 0, 26,
2355  27, 28, 29, 30, 31, 32, 0, 34, 35, 36,
2356  37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2357  0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
2358  0, 0, 0, 0, 0, 0, 0, 0, 49, 0,
2359  0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
2360  51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2361  0, 52, 53, 54, 55, 56, 57, 0, 0, 0,
2362  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2363  0, 0, 59, 60, 61, 0, 0, 62, 0, 64,
2364  1, 2, 3, 0, 0, 4, 5, 0, 0, 0,
2365  6, 0, 7, 8, 9, 0, 0, 0, 10, 11,
2366  12, 13, 14, 0, 15, 16, 0, 17, 18, 0,
2367  19, 20, 21, 22, 23, 0, 0, 0, 0, 0,
2368  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2369  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2370  25, 0, 0, 0, 0, 0, 26, 27, 28, 29,
2371  30, 31, 32, 0, 34, 35, 36, 37, 38, 39,
2372  40, 41, 42, 43, 44, 45, 46, 0, 48, 0,
2373  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2374  0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
2375  0, 0, 0, 0, 0, 0, 50, 51, 0, 0,
2376  0, 0, 0, 0, 0, 0, 0, 0, 52, 53,
2377  54, 55, 56, 57, 0, 0, 0, 0, 0, 0,
2378  0, 0, 0, 0, 0, 0, 0, 0, 0, 59,
2379  60, 61, 0, 0, 62, 0, 64, 1, 2, 3,
2380  0, 0, 4, 5, 0, 0, 0, 6, 0, 7,
2381  8, 9, 0, 0, 0, 10, 11, 12, 13, 14,
2382  0, 15, 16, 0, 17, 18, 0, 19, 20, 21,
2383  22, 23, 0, 0, 0, 0, 0, 0, 0, 0,
2384  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2385  0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
2386  0, 0, 0, 26, 27, 28, 29, 30, 31, 32,
2387  0, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2388  43, 44, 45, 46, 0, 0, 0, 0, 0, 0,
2389  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2390  0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
2391  0, 0, 0, 50, 51, 0, 0, 0, 0, 0,
2392  0, 0, 0, 0, 0, 52, 53, 54, 55, 56,
2393  57, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2394  0, 0, 0, 0, 0, 0, 59, 60, 61, 1,
2395  2, 3, 0, 64, 4, 5, 0, 0, 0, 6,
2396  0, 7, 8, 9, 0, 0, 0, 10, 11, 12,
2397  13, 14, 0, 15, 16, 0, 17, 18, 0, 19,
2398  20, 21, 22, 23, 0, 0, 0, 0, 0, 0,
2399  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2400  0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
2401  0, 0, 0, 0, 0, 26, 27, 28, 29, 30,
2402  31, 0, 0, 34, 35, 36, 37, 38, 39, 40,
2403  41, 42, 43, 44, 45, 46, 0, 0, 0, 0,
2404  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2405  0, 0, 0, 0, 49, 0, 0, 0, 0, 0,
2406  0, 0, 0, 0, 0, 50, 51, 0, 0, 0,
2407  0, 0, 0, 0, 0, 0, 0, 0, 53, 54,
2408  55, 56, 57, 0, 0, 0, 0, 0, 0, 0,
2409  1, 2, 3, 0, 0, 4, 5, 0, 59, 60,
2410  6, 0, 0, 8, 9, 64, 0, 0, 10, 11,
2411  12, 13, 14, 0, 15, 16, 0, 17, 0, 0,
2412  19, 0, 21, 22, 23, 0, 0, 0, 0, 0,
2413  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2414  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2415  0, 0, 0, 0, 0, 0, 26, 27, 28, 29,
2416  30, 31, 0, 0, 34, 35, 36, 37, 38, 39,
2417  40, 41, 42, 43, 44, 45, 46, 0, 0, 0,
2418  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2419  0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
2420  0, 0, 0, 0, 0, 0, 50, 51, 0, 0,
2421  0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
2422  54, 55, 56, 57, 2, 3, 0, 0, 4, 5,
2423  0, 0, 0, 6, 0, 7, 0, 9, 0, 59,
2424  60, 0, 11, 12, 0, 14, 64, 15, 16, 0,
2425  0, 18, 0, 0, 20, 21, 22, 23, 0, 0,
2426  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2427  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2428  0, 0, 0, 25, 0, 0, 0, 0, 0, 26,
2429  27, 28, 29, 30, 31, 32, 0, 34, 35, 36,
2430  37, 38, 39, 40, 41, 42, 43, 44, 45, 0,
2431  0, 48, 0, 0, 0, 0, 2, 3, 0, 0,
2432  4, 5, 0, 0, 0, 6, 0, 7, 49, 9,
2433  0, 0, 0, 0, 11, 12, 0, 14, 0, 15,
2434  16, 0, 0, 18, 0, 0, 20, 21, 22, 23,
2435  0, 52, 53, 54, 55, 56, 57, 0, 0, 0,
2436  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2437  0, 0, 59, 60, 61, 25, 0, 62, 0, 0,
2438  0, 26, 27, 28, 29, 30, 31, 32, 0, 34,
2439  35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2440  45, 0, 0, 2, 3, 0, 0, 4, 5, 0,
2441  0, 0, 6, 0, 0, 0, 9, 0, 0, 0,
2442  49, 11, 12, 0, 14, 0, 15, 16, 0, 0,
2443  0, 0, 0, 0, 21, 22, 23, 0, 0, 0,
2444  0, 0, 0, 52, 53, 54, 55, 56, 57, 0,
2445  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2446  0, 0, 0, 0, 59, 60, 61, 0, 26, 27,
2447  28, 29, 30, 31, 0, 0, 34, 35, 36, 37,
2448  38, 39, 40, 41, 42, 43, 44, 45, 0, 0,
2449  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2450  0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
2451  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2452  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2453  0, 53, 54, 55, 56, 57, 0, 0, 0, 0,
2454  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2455  0, 59, 60
2456 };
2457 
2458 static const yytype_int16 yycheck[] =
2459 {
2460  0, 119, 79, 80, 514, 0, 200, 350, 212, 143,
2461  479, 79, 80, 0, 439, 83, 84, 67, 212, 91,
2462  128, 117, 79, 80, 79, 80, 0, 329, 600, 116,
2463  0, 116, 859, 33, 62, 230, 65, 40, 41, 42,
2464  65, 51, 11, 161, 33, 25, 68, 643, 271, 0,
2465  525, 526, 527, 528, 91, 91, 62, 205, 116, 0,
2466  886, 671, 25, 116, 117, 65, 50, 67, 68, 45,
2467  46, 91, 146, 683, 67, 67, 214, 77, 78, 79,
2468  80, 115, 62, 63, 271, 157, 158, 116, 77, 78,
2469  197, 116, 903, 90, 91, 906, 62, 63, 132, 62,
2470  63, 114, 0, 137, 138, 118, 106, 40, 934, 79,
2471  80, 106, 202, 141, 397, 25, 116, 117, 401, 106,
2472  157, 157, 91, 51, 1069, 62, 67, 68, 141, 671,
2473  353, 19, 106, 205, 51, 141, 106, 157, 79, 80,
2474  91, 683, 93, 143, 218, 197, 116, 281, 220, 37,
2475  271, 345, 62, 63, 154, 106, 1101, 352, 62, 63,
2476  157, 145, 505, 202, 200, 106, 353, 204, 460, 980,
2477  198, 366, 983, 368, 197, 141, 117, 1004, 274, 604,
2478  199, 204, 204, 378, 203, 281, 273, 759, 157, 491,
2479  200, 493, 494, 197, 197, 280, 230, 202, 201, 202,
2480  200, 797, 143, 495, 141, 801, 549, 197, 106, 202,
2481  202, 554, 212, 154, 362, 273, 62, 365, 198, 199,
2482  273, 274, 280, 174, 175, 197, 199, 280, 281, 7,
2483  200, 197, 353, 11, 62, 198, 199, 141, 214, 215,
2484  67, 207, 212, 1070, 273, 62, 63, 220, 273, 197,
2485  216, 280, 83, 199, 85, 280, 87, 88, 89, 205,
2486  197, 143, 144, 91, 138, 198, 140, 197, 201, 202,
2487  207, 199, 199, 273, 274, 203, 276, 199, 199, 216,
2488  280, 281, 199, 197, 62, 63, 203, 199, 62, 63,
2489  199, 514, 91, 220, 199, 141, 199, 310, 220, 220,
2490  199, 271, 205, 273, 143, 144, 500, 68, 220, 819,
2491  280, 220, 199, 141, 0, 220, 203, 317, 197, 788,
2492  271, 220, 204, 202, 141, 197, 198, 514, 317, 157,
2493  202, 207, 366, 274, 368, 276, 212, 213, 763, 373,
2494  281, 375, 197, 377, 378, 345, 199, 202, 143, 824,
2495  203, 197, 198, 828, 354, 220, 202, 67, 157, 158,
2496  355, 207, 439, 141, 197, 204, 453, 141, 355, 197,
2497  216, 439, 440, 271, 492, 345, 198, 25, 197, 207,
2498  197, 271, 439, 353, 439, 355, 197, 198, 216, 447,
2499  207, 202, 205, 514, 447, 453, 271, 397, 119, 216,
2500  453, 401, 353, 220, 355, 144, 205, 197, 382, 383,
2501  62, 63, 382, 383, 62, 63, 64, 700, 447, 67,
2502  202, 220, 447, 197, 453, 438, 439, 397, 453, 525,
2503  526, 401, 509, 207, 199, 197, 449, 450, 203, 91,
2504  199, 509, 216, 511, 203, 197, 669, 447, 516, 517,
2505  527, 528, 509, 453, 509, 353, 650, 355, 199, 527,
2506  528, 199, 203, 353, 197, 203, 689, 661, 662, 439,
2507  527, 528, 527, 528, 197, 552, 553, 447, 353, 209,
2508  210, 211, 669, 453, 552, 553, 778, 770, 197, 141,
2509  792, 115, 222, 208, 209, 552, 553, 552, 553, 199,
2510  500, 206, 689, 203, 216, 157, 130, 976, 508, 133,
2511  134, 135, 620, 137, 421, 422, 423, 424, 217, 508,
2512  520, 62, 63, 727, 49, 525, 526, 527, 528, 147,
2513  500, 520, 198, 727, 729, 197, 198, 732, 198, 509,
2514  202, 198, 197, 198, 514, 197, 516, 202, 669, 219,
2515  550, 551, 552, 553, 604, 207, 199, 527, 528, 559,
2516  203, 550, 551, 514, 216, 198, 714, 197, 689, 62,
2517  63, 215, 795, 547, 548, 204, 672, 547, 548, 43,
2518  44, 198, 552, 553, 525, 526, 527, 528, 706, 559,
2519  603, 604, 199, 885, 198, 1064, 819, 219, 890, 612,
2520  141, 47, 48, 197, 197, 888, 230, 203, 795, 202,
2521  804, 552, 553, 671, 207, 204, 514, 223, 224, 225,
2522  226, 621, 672, 216, 514, 198, 199, 627, 204, 763,
2523  198, 199, 819, 198, 684, 198, 199, 198, 199, 514,
2524  198, 924, 671, 926, 198, 199, 671, 204, 141, 198,
2525  650, 621, 198, 199, 683, 198, 197, 37, 683, 198,
2526  199, 661, 662, 697, 698, 699, 207, 667, 199, 200,
2527  670, 671, 672, 673, 795, 216, 198, 199, 667, 220,
2528  650, 90, 91, 683, 684, 516, 517, 518, 198, 199,
2529  824, 661, 662, 19, 828, 690, 198, 199, 819, 669,
2530  700, 197, 0, 690, 197, 116, 117, 198, 199, 202,
2531  197, 711, 198, 199, 207, 198, 199, 717, 669, 689,
2532  690, 198, 199, 216, 62, 63, 220, 727, 824, 1072,
2533  700, 672, 673, 202, 143, 144, 197, 62, 689, 690,
2534  197, 711, 366, 684, 368, 745, 950, 717, 157, 719,
2535  763, 198, 199, 197, 378, 197, 950, 727, 953, 717,
2536  955, 956, 198, 199, 202, 913, 199, 961, 203, 67,
2537  770, 669, 204, 881, 204, 745, 198, 199, 402, 669,
2538  204, 79, 80, 198, 199, 198, 199, 745, 936, 417,
2539  418, 689, 690, 198, 669, 204, 419, 420, 198, 689,
2540  770, 433, 434, 141, 804, 203, 62, 198, 106, 425,
2541  426, 435, 198, 198, 689, 199, 141, 199, 199, 117,
2542  199, 119, 198, 67, 824, 795, 903, 1021, 828, 977,
2543  199, 67, 198, 198, 804, 903, 198, 198, 205, 947,
2544  525, 526, 527, 528, 795, 143, 903, 219, 903, 819,
2545  850, 204, 199, 198, 152, 204, 220, 965, 200, 197,
2546  220, 159, 200, 161, 877, 878, 1060, 197, 819, 207,
2547  197, 871, 197, 198, 197, 197, 205, 202, 216, 62,
2548  850, 1076, 207, 824, 220, 141, 886, 828, 888, 200,
2549  199, 216, 850, 200, 198, 198, 194, 795, 196, 90,
2550  91, 871, 902, 903, 1098, 795, 906, 205, 908, 3,
2551  220, 198, 1020, 871, 198, 200, 886, 1025, 888, 200,
2552  795, 819, 16, 200, 924, 199, 926, 21, 198, 819,
2553  24, 198, 205, 903, 934, 198, 30, 937, 220, 33,
2554  205, 197, 198, 1051, 819, 205, 202, 219, 1056, 198,
2555  950, 207, 143, 144, 924, 198, 926, 198, 141, 198,
2556  216, 961, 903, 198, 934, 906, 157, 937, 200, 200,
2557  940, 1079, 199, 39, 1082, 205, 274, 197, 276, 937,
2558  950, 197, 220, 281, 205, 68, 671, 672, 9, 200,
2559  288, 961, 197, 68, 198, 89, 205, 197, 683, 684,
2560  197, 625, 626, 220, 25, 1005, 1006, 199, 142, 198,
2561  200, 635, 636, 204, 197, 200, 37, 200, 200, 198,
2562  197, 1021, 198, 203, 207, 119, 120, 205, 326, 327,
2563  199, 219, 200, 216, 220, 1005, 1006, 14, 197, 220,
2564  1040, 198, 203, 199, 197, 220, 1046, 1005, 1006, 199,
2565  198, 1021, 73, 74, 220, 139, 198, 355, 198, 197,
2566  1060, 932, 430, 288, 362, 159, 429, 362, 427, 199,
2567  1040, 1071, 428, 431, 1038, 432, 1046, 301, 702, 703,
2568  631, 801, 1040, 72, 382, 383, 797, 108, 1046, 516,
2569  1060, 983, 1092, 908, 906, 719, 516, 721, 1098, 670,
2570  650, 1071, 804, 690, 940, 940, 711, 1107, 97, 711,
2571  1092, 725, 101, 1071, 135, 104, 1056, 947, 1020, 1098,
2572  1082, 205, 1092, 106, 353, 689, 117, 603, 1098, 603,
2573  -1, 152, 153, -1, -1, -1, -1, 1107, -1, 824,
2574  -1, 439, -1, 828, -1, -1, -1, 771, -1, 1107,
2575  52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2576  -1, -1, -1, -1, -1, -1, -1, 156, -1, -1,
2577  -1, -1, -1, 162, -1, -1, 165, 166, -1, 168,
2578  -1, -1, -1, 172, -1, -1, -1, -1, 177, -1,
2579  -1, -1, 181, 182, 492, 184, 185, 186, 187, 188,
2580  189, 190, 191, 192, 193, -1, 195, -1, 197, -1,
2581  -1, 509, 92, 93, 94, 95, 96, 97, 98, 99,
2582  100, 101, 102, 103, 104, 105, -1, -1, -1, 527,
2583  528, 855, -1, 918, 858, 92, 93, 94, 95, 96,
2584  97, 98, 99, 100, 101, 102, 103, -1, 105, 547,
2585  548, -1, -1, -1, 552, 553, -1, -1, -1, -1,
2586  -1, 559, -1, -1, -1, 889, -1, -1, -1, -1,
2587  -1, -1, -1, -1, -1, -1, -1, -1, 362, -1,
2588  -1, 365, -1, -1, -1, -1, -1, -1, -1, -1,
2589  374, -1, 376, -1, -1, -1, -1, -1, -1, -1,
2590  -1, -1, 386, 927, 227, 228, 604, -1, 231, 232,
2591  233, 234, 235, 236, -1, -1, 400, 219, -1, 403,
2592  404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
2593  -1, -1, -1, -1, 9, -1, -1, -1, -1, -1,
2594  -1, -1, -1, 967, -1, -1, -1, -1, -1, -1,
2595  25, -1, -1, 437, -1, -1, -1, -1, -1, -1,
2596  349, -1, 37, -1, -1, -1, -1, -1, -1, -1,
2597  -1, -1, -1, -1, 672, -1, 460, 1001, -1, -1,
2598  -1, -1, -1, -1, -1, -1, 684, 62, 63, -1,
2599  1014, -1, 690, -1, -1, 1019, -1, -1, 73, 74,
2600  -1, -1, -1, -1, 1028, 489, -1, 705, 706, -1,
2601  -1, 495, -1, -1, -1, -1, 91, -1, -1, 717,
2602  -1, -1, -1, -1, -1, -1, -1, 350, -1, -1,
2603  -1, 1055, -1, 108, 357, 79, 80, -1, -1, 83,
2604  84, 85, 86, 87, 88, 89, 90, 745, 92, -1,
2605  94, -1, 9, -1, -1, -1, -1, -1, -1, -1,
2606  135, -1, -1, -1, -1, 763, 141, -1, 25, -1,
2607  1094, -1, -1, -1, -1, -1, -1, 152, 153, -1,
2608  37, 1105, 157, -1, -1, -1, -1, -1, -1, -1,
2609  -1, 414, 415, 416, 417, 418, 419, 420, 421, 422,
2610  423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
2611  433, 434, -1, -1, -1, -1, 73, 74, -1, -1,
2612  -1, -1, 197, -1, -1, -1, 824, 202, -1, -1,
2613  828, -1, 207, -1, 91, -1, -1, 621, -1, -1,
2614  -1, 216, -1, -1, -1, -1, -1, -1, -1, -1,
2615  -1, 108, 850, -1, -1, -1, -1, -1, -1, -1,
2616  -1, 205, -1, -1, -1, -1, -1, -1, 67, -1,
2617  -1, -1, -1, 871, -1, -1, -1, -1, 135, -1,
2618  79, 80, 505, -1, 83, 84, 85, 86, 87, 88,
2619  89, 90, -1, -1, -1, 152, 153, -1, -1, -1,
2620  157, -1, -1, -1, -1, 903, -1, -1, -1, -1,
2621  -1, -1, -1, -1, 537, -1, -1, -1, 117, -1,
2622  -1, -1, -1, -1, -1, -1, 549, 711, -1, -1,
2623  714, 554, -1, -1, 557, 9, -1, 9, -1, 937,
2624  197, -1, 940, -1, 143, 202, -1, -1, -1, -1,
2625  207, 25, -1, 25, 643, -1, 645, -1, -1, 216,
2626  649, -1, -1, 37, -1, 37, 655, 656, -1, 658,
2627  -1, 660, 756, -1, 663, 664, 665, 600, -1, -1,
2628  -1, -1, -1, -1, -1, -1, 675, -1, -1, -1,
2629  62, 63, 681, -1, 778, 194, 685, 196, 687, 73,
2630  74, 73, 74, -1, -1, -1, 205, 1005, 1006, 353,
2631  -1, -1, -1, -1, -1, -1, -1, 91, 362, 91,
2632  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2633  -1, -1, -1, -1, 108, -1, 108, -1, -1, -1,
2634  -1, -1, 1040, -1, -1, -1, 735, -1, 1046, -1,
2635  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2636  -1, 135, -1, 135, -1, -1, -1, -1, -1, 141,
2637  -1, -1, -1, 1071, -1, 274, -1, -1, 152, 153,
2638  152, 153, 281, 157, -1, 157, -1, -1, -1, -1,
2639  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2640  -1, 885, 886, -1, -1, -1, 890, -1, 797, 1107,
2641  -1, -1, 801, -1, 803, -1, -1, -1, -1, -1,
2642  -1, -1, -1, 812, 813, 197, -1, 326, 327, 913,
2643  -1, -1, 9, -1, -1, 207, 759, -1, -1, -1,
2644  -1, -1, -1, -1, 216, -1, 930, -1, 25, 933,
2645  934, -1, 936, -1, 353, -1, -1, -1, -1, -1,
2646  37, -1, -1, 362, -1, -1, 510, 511, 512, -1,
2647  514, -1, 516, 517, 518, -1, -1, -1, -1, -1,
2648  -1, -1, -1, 527, 528, 62, 63, -1, -1, -1,
2649  -1, -1, -1, 977, -1, -1, 73, 74, -1, -1,
2650  -1, -1, -1, -1, -1, -1, -1, -1, 552, 553,
2651  -1, -1, -1, -1, 91, 904, -1, 3, -1, -1,
2652  -1, -1, -1, 9, -1, -1, 915, -1, -1, -1,
2653  16, 108, -1, -1, -1, 21, -1, -1, 24, 25,
2654  439, 440, 441, 442, 30, -1, -1, 33, -1, -1,
2655  -1, 37, -1, -1, -1, -1, -1, -1, 135, -1,
2656  -1, -1, -1, -1, 141, -1, -1, -1, -1, -1,
2657  -1, -1, -1, -1, -1, 152, 153, -1, -1, -1,
2658  157, -1, -1, -1, -1, -1, -1, 73, 74, -1,
2659  979, -1, -1, 982, -1, -1, -1, -1, 987, -1,
2660  -1, -1, -1, 89, -1, -1, -1, -1, -1, -1,
2661  509, -1, 511, 512, -1, 514, -1, 516, 517, 518,
2662  197, -1, 108, -1, -1, 669, -1, -1, 527, 528,
2663  207, -1, -1, 119, 120, -1, -1, -1, -1, 216,
2664  -1, -1, -1, -1, 1033, 689, -1, 1036, -1, 135,
2665  3, 4, 5, 552, 553, 8, 9, -1, -1, -1,
2666  13, -1, 15, 16, 17, -1, 152, 153, 21, 22,
2667  23, 24, 25, 159, 27, 28, -1, 30, 31, -1,
2668  33, 34, 35, 36, 37, -1, -1, -1, -1, -1,
2669  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2670  -1, -1, -1, -1, -1, 604, -1, -1, -1, 62,
2671  63, -1, -1, -1, -1, -1, 69, 70, 71, 72,
2672  73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2673  83, 84, 85, 86, 87, 88, 89, 90, 91, -1,
2674  -1, -1, -1, -1, -1, -1, -1, -1, -1, 1072,
2675  -1, -1, -1, -1, -1, 108, -1, -1, -1, -1,
2676  -1, -1, -1, -1, -1, -1, 119, 120, -1, -1,
2677  669, -1, -1, 672, -1, 819, -1, -1, 131, 132,
2678  133, 134, 135, 136, -1, 684, -1, -1, 141, -1,
2679  689, -1, -1, -1, -1, -1, -1, -1, -1, 152,
2680  153, 154, -1, -1, 157, 158, 159, -1, -1, -1,
2681  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2682  -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
2683  5, -1, -1, 8, 9, -1, -1, -1, 13, -1,
2684  15, 16, 17, -1, 197, -1, 21, 22, 23, 24,
2685  25, 204, 27, 28, 207, 30, 31, -1, 33, 34,
2686  35, 36, 37, 216, 763, -1, -1, 220, -1, -1,
2687  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2688  -1, -1, -1, -1, -1, -1, -1, 62, 63, -1,
2689  -1, -1, -1, -1, 69, 70, 71, 72, 73, 74,
2690  75, -1, 77, 78, 79, 80, 81, 82, 83, 84,
2691  85, 86, 87, 88, 89, -1, 91, -1, -1, -1,
2692  819, -1, -1, -1, -1, 824, -1, -1, -1, 828,
2693  -1, -1, -1, 108, -1, -1, -1, -1, -1, -1,
2694  -1, -1, -1, -1, 119, 120, -1, -1, -1, -1,
2695  -1, -1, -1, -1, -1, -1, 131, 132, 133, 134,
2696  135, 136, -1, -1, -1, -1, 141, -1, -1, -1,
2697  -1, -1, -1, -1, -1, -1, -1, 152, 153, 154,
2698  -1, -1, 157, -1, 159, -1, -1, 3, 4, 5,
2699  -1, -1, 8, 9, -1, -1, -1, 13, -1, 15,
2700  16, 17, -1, -1, 903, 21, 22, 23, 24, 25,
2701  -1, 27, 28, -1, 30, 31, -1, 33, 34, 35,
2702  36, 37, 197, -1, -1, -1, -1, 202, -1, -1,
2703  -1, -1, 207, -1, -1, -1, -1, -1, -1, -1,
2704  -1, 216, -1, -1, -1, -1, 62, 63, -1, -1,
2705  -1, -1, -1, 69, 70, 71, 72, 73, 74, 75,
2706  -1, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2707  86, 87, 88, 89, -1, 91, -1, -1, -1, -1,
2708  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2709  -1, -1, 108, -1, -1, -1, -1, -1, -1, -1,
2710  -1, -1, -1, 119, 120, -1, -1, -1, -1, -1,
2711  -1, -1, -1, -1, -1, 131, 132, 133, 134, 135,
2712  136, -1, -1, -1, -1, 141, -1, -1, -1, -1,
2713  -1, -1, -1, -1, -1, -1, 152, 153, 154, -1,
2714  -1, 157, -1, 159, 4, 5, -1, -1, 8, 9,
2715  -1, -1, -1, 13, -1, 15, -1, 17, -1, -1,
2716  -1, -1, 22, 23, -1, 25, -1, 27, 28, -1,
2717  -1, 31, -1, -1, 34, 35, 36, 37, -1, -1,
2718  -1, 197, -1, -1, -1, -1, -1, -1, -1, -1,
2719  -1, 207, -1, -1, -1, -1, -1, -1, -1, -1,
2720  216, -1, 62, 63, -1, -1, -1, -1, -1, 69,
2721  70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
2722  80, 81, 82, 83, 84, 85, 86, 87, 88, -1,
2723  -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
2724  -1, -1, -1, -1, -1, -1, -1, -1, 108, -1,
2725  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2726  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2727  -1, 131, 132, 133, 134, 135, 136, -1, -1, -1,
2728  -1, 141, -1, -1, -1, -1, -1, -1, -1, -1,
2729  -1, -1, 152, 153, 154, 4, 5, 157, -1, 8,
2730  9, -1, -1, -1, 13, -1, 15, -1, 17, -1,
2731  -1, -1, -1, 22, 23, -1, 25, -1, 27, 28,
2732  -1, -1, 31, -1, -1, 34, 35, 36, 37, -1,
2733  -1, -1, -1, -1, -1, -1, -1, 197, -1, -1,
2734  200, -1, -1, -1, -1, -1, -1, 207, -1, -1,
2735  -1, -1, -1, -1, 63, -1, 216, -1, -1, -1,
2736  69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
2737  79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2738  -1, -1, 91, -1, -1, -1, -1, -1, -1, -1,
2739  -1, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2740  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2741  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2742  -1, -1, 131, 132, 133, 134, 135, 136, -1, -1,
2743  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2744  -1, -1, -1, 152, 153, 154, -1, -1, 157, -1,
2745  -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2746  12, 13, -1, 15, 16, 17, 18, 19, 20, 21,
2747  22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
2748  32, 33, 34, 35, 36, 37, -1, 39, 197, 41,
2749  42, -1, -1, 202, -1, -1, -1, 49, 207, -1,
2750  -1, -1, -1, -1, -1, -1, -1, 216, -1, -1,
2751  62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2752  72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2753  82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2754  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2755  -1, -1, -1, -1, 106, 107, 108, 109, 110, 111,
2756  112, 113, 114, 115, -1, -1, 118, 119, 120, -1,
2757  -1, -1, -1, -1, 126, 127, 128, 129, -1, 131,
2758  132, 133, 134, 135, 136, 137, -1, 139, -1, 141,
2759  -1, -1, -1, -1, -1, -1, -1, -1, 150, 151,
2760  152, 153, 154, 155, -1, 157, 158, 159, -1, -1,
2761  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2762  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2763  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2764  -1, -1, -1, -1, -1, 197, -1, -1, -1, -1,
2765  -1, -1, 204, 205, 206, 207, 208, 209, 210, 211,
2766  3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2767  13, -1, 15, 16, 17, 18, 19, 20, 21, 22,
2768  23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2769  33, 34, 35, 36, 37, -1, 39, -1, 41, 42,
2770  -1, -1, -1, -1, -1, -1, 49, -1, -1, -1,
2771  -1, -1, -1, -1, -1, -1, -1, -1, -1, 62,
2772  63, 64, 65, 66, 67, -1, 69, 70, 71, 72,
2773  73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2774  83, 84, 85, 86, 87, 88, 89, 90, 91, -1,
2775  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2776  -1, -1, -1, 106, 107, 108, 109, 110, 111, 112,
2777  113, 114, 115, -1, -1, 118, 119, 120, -1, -1,
2778  -1, -1, -1, 126, 127, 128, 129, -1, 131, 132,
2779  133, 134, 135, 136, 137, -1, 139, -1, 141, -1,
2780  -1, -1, -1, -1, -1, -1, -1, 150, 151, 152,
2781  153, 154, 155, -1, 157, 158, 159, -1, -1, -1,
2782  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2783  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2784  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2785  -1, -1, -1, -1, 197, -1, -1, -1, -1, -1,
2786  -1, 204, 205, 206, 207, 208, 209, 210, 211, 3,
2787  4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
2788  -1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2789  24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
2790  34, 35, 36, 37, -1, 39, -1, 41, 42, -1,
2791  -1, -1, -1, -1, -1, 49, -1, -1, -1, -1,
2792  -1, -1, -1, -1, -1, -1, -1, -1, 62, 63,
2793  64, 65, 66, 67, -1, 69, 70, 71, 72, 73,
2794  74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2795  84, 85, 86, 87, 88, 89, 90, 91, -1, -1,
2796  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2797  -1, -1, 106, 107, 108, 109, 110, 111, 112, 113,
2798  114, 115, -1, -1, 118, 119, 120, -1, -1, -1,
2799  -1, -1, 126, 127, 128, 129, -1, 131, 132, 133,
2800  134, 135, 136, 137, -1, 139, -1, 141, -1, -1,
2801  -1, -1, -1, -1, -1, -1, 150, 151, 152, 153,
2802  154, 155, -1, 157, 158, 159, -1, -1, -1, -1,
2803  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2804  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2805  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2806  -1, -1, -1, 197, -1, -1, -1, -1, -1, -1,
2807  204, -1, 206, 207, 208, 209, 210, 211, 3, 4,
2808  5, -1, -1, 8, 9, -1, -1, -1, 13, -1,
2809  15, 16, 17, -1, -1, -1, 21, 22, 23, 24,
2810  25, -1, 27, 28, 29, 30, 31, -1, 33, 34,
2811  35, 36, 37, -1, -1, -1, 41, 42, -1, -1,
2812  -1, -1, -1, -1, 49, -1, -1, -1, -1, -1,
2813  -1, -1, -1, -1, -1, -1, -1, 62, 63, 64,
2814  65, 66, 67, -1, 69, 70, 71, 72, 73, 74,
2815  75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2816  85, 86, 87, 88, 89, -1, 91, -1, -1, -1,
2817  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2818  -1, -1, -1, 108, 109, 110, 111, 112, 113, 114,
2819  -1, -1, -1, -1, 119, 120, -1, -1, -1, -1,
2820  -1, 126, 127, 128, 129, -1, 131, 132, 133, 134,
2821  135, 136, -1, -1, -1, -1, 141, -1, -1, -1,
2822  -1, -1, -1, -1, -1, 150, 151, 152, 153, 154,
2823  155, 3, 157, 158, 159, -1, -1, 9, -1, -1,
2824  -1, -1, -1, -1, 16, -1, -1, -1, -1, 21,
2825  -1, -1, 24, 25, -1, -1, -1, 29, 30, -1,
2826  -1, 33, -1, -1, -1, 37, -1, -1, -1, 41,
2827  42, -1, 197, -1, -1, -1, -1, 49, -1, -1,
2828  -1, 206, 207, 208, 209, 210, 211, -1, -1, -1,
2829  62, -1, 64, 65, 66, 67, -1, -1, -1, -1,
2830  -1, 73, 74, -1, -1, -1, -1, -1, -1, -1,
2831  -1, -1, -1, -1, -1, -1, -1, 89, -1, 91,
2832  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2833  -1, -1, -1, -1, -1, -1, 108, 109, 110, 111,
2834  112, 113, 114, -1, -1, -1, -1, 119, 120, -1,
2835  -1, -1, -1, -1, 126, 127, 128, 129, -1, -1,
2836  -1, -1, -1, 135, -1, -1, -1, -1, -1, 141,
2837  -1, -1, -1, -1, -1, -1, -1, -1, 150, 151,
2838  152, 153, 3, 155, -1, 157, -1, 159, 9, -1,
2839  -1, -1, -1, -1, -1, 16, -1, -1, -1, -1,
2840  21, -1, -1, 24, 25, -1, -1, -1, 29, 30,
2841  -1, -1, 33, -1, -1, -1, 37, -1, -1, -1,
2842  41, 42, -1, -1, -1, 197, -1, -1, 49, -1,
2843  -1, 203, -1, -1, 206, 207, 208, 209, 210, 211,
2844  -1, 62, -1, 64, 65, 66, 67, -1, -1, -1,
2845  -1, -1, 73, 74, -1, -1, -1, -1, -1, -1,
2846  -1, -1, -1, -1, -1, -1, -1, -1, 89, -1,
2847  91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2848  -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
2849  111, 112, 113, 114, -1, 9, -1, 9, 119, 120,
2850  -1, -1, -1, -1, -1, 126, 127, 128, 129, -1,
2851  -1, 25, -1, 25, 135, -1, -1, -1, -1, -1,
2852  141, -1, -1, 37, -1, 37, -1, 9, -1, 150,
2853  151, 152, 153, -1, 155, -1, 157, -1, 159, -1,
2854  -1, -1, -1, 25, -1, -1, -1, -1, 62, 63,
2855  62, -1, -1, -1, -1, 37, -1, -1, -1, 73,
2856  74, 73, 74, -1, -1, -1, -1, -1, -1, -1,
2857  -1, -1, -1, -1, -1, -1, 197, 91, -1, 91,
2858  62, -1, 203, -1, -1, 206, 207, 208, 209, 210,
2859  211, 73, 74, -1, 108, -1, 108, -1, -1, -1,
2860  -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
2861  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2862  -1, 135, -1, 135, -1, -1, 108, 141, -1, 141,
2863  -1, -1, -1, -1, -1, -1, -1, -1, 152, 153,
2864  152, 153, -1, 157, -1, 157, -1, -1, -1, -1,
2865  -1, -1, -1, 135, -1, -1, -1, -1, -1, 141,
2866  -1, 29, -1, -1, -1, -1, -1, -1, -1, -1,
2867  152, 153, -1, 41, 42, 157, -1, -1, -1, -1,
2868  -1, 49, -1, 197, -1, 197, -1, -1, -1, -1,
2869  202, -1, -1, 207, 62, 207, 64, 65, 66, 67,
2870  -1, -1, 216, -1, 216, -1, -1, -1, -1, -1,
2871  -1, -1, -1, -1, -1, 197, -1, -1, -1, -1,
2872  -1, -1, -1, -1, -1, 207, -1, -1, -1, -1,
2873  -1, -1, -1, -1, 216, -1, -1, -1, -1, -1,
2874  -1, 109, 110, 111, 112, 113, 114, -1, -1, -1,
2875  -1, -1, -1, -1, -1, -1, -1, -1, 126, 127,
2876  128, 129, -1, -1, 29, -1, -1, -1, -1, -1,
2877  -1, -1, -1, 141, -1, -1, 41, 42, -1, -1,
2878  -1, -1, 150, 151, 49, -1, -1, 155, -1, -1,
2879  -1, -1, -1, -1, -1, -1, -1, 62, 29, 64,
2880  65, 66, 67, -1, -1, -1, -1, -1, -1, -1,
2881  41, 42, -1, -1, -1, -1, -1, -1, 49, -1,
2882  -1, -1, -1, -1, -1, -1, -1, -1, -1, 197,
2883  -1, 62, 63, 64, 65, 66, 67, -1, 206, 207,
2884  208, 209, 210, 211, 109, 110, 111, 112, 113, 114,
2885  -1, -1, 220, -1, -1, -1, -1, -1, -1, -1,
2886  -1, 126, 127, 128, 129, -1, -1, -1, -1, -1,
2887  -1, -1, -1, -1, -1, -1, 141, -1, 109, 110,
2888  111, 112, 113, 114, -1, 150, 151, -1, -1, -1,
2889  155, -1, -1, -1, -1, 126, 127, 128, 129, -1,
2890  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2891  141, -1, -1, -1, 29, -1, -1, -1, -1, 150,
2892  151, -1, -1, -1, 155, -1, 41, 42, -1, -1,
2893  -1, -1, 197, -1, 49, -1, 201, 202, -1, 204,
2894  -1, 206, 207, 208, 209, 210, 211, 62, 63, 64,
2895  65, 66, 67, -1, 219, -1, -1, -1, -1, -1,
2896  -1, -1, -1, -1, -1, -1, 197, -1, -1, -1,
2897  201, 202, -1, 204, 205, 206, 207, 208, 209, 210,
2898  211, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2899  -1, -1, -1, -1, 109, 110, 111, 112, 113, 114,
2900  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2901  -1, 126, 127, 128, 129, -1, -1, 29, -1, -1,
2902  -1, -1, -1, -1, -1, -1, 141, -1, -1, 41,
2903  42, -1, -1, -1, -1, 150, 151, 49, -1, -1,
2904  155, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2905  62, 63, 64, 65, 66, 67, -1, -1, -1, -1,
2906  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2907  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2908  -1, -1, 197, -1, -1, -1, 201, 202, -1, 204,
2909  205, 206, 207, 208, 209, 210, 211, 109, 110, 111,
2910  112, 113, 114, -1, -1, -1, -1, -1, -1, -1,
2911  -1, -1, -1, -1, 126, 127, 128, 129, -1, -1,
2912  29, -1, -1, -1, -1, -1, -1, -1, -1, 141,
2913  -1, -1, 41, 42, -1, -1, -1, -1, 150, 151,
2914  49, -1, -1, 155, -1, -1, -1, -1, -1, -1,
2915  -1, -1, -1, 62, -1, 64, 65, 66, 67, -1,
2916  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2917  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2918  -1, -1, 91, -1, -1, 197, -1, -1, -1, 201,
2919  202, -1, 204, -1, 206, 207, 208, 209, 210, 211,
2920  109, 110, 111, 112, 113, 114, -1, -1, -1, -1,
2921  -1, -1, -1, -1, -1, -1, -1, 126, 127, 128,
2922  129, -1, -1, 29, -1, -1, -1, -1, -1, -1,
2923  -1, -1, 141, -1, -1, 41, 42, -1, -1, -1,
2924  -1, 150, 151, 49, -1, -1, 155, -1, 157, -1,
2925  -1, -1, -1, -1, -1, -1, 62, -1, 64, 65,
2926  66, 67, -1, -1, -1, -1, -1, -1, -1, -1,
2927  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2928  -1, -1, -1, -1, -1, 91, -1, -1, 197, -1,
2929  -1, -1, -1, -1, -1, 204, -1, 206, 207, 208,
2930  209, 210, 211, 109, 110, 111, 112, 113, 114, -1,
2931  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2932  126, 127, 128, 129, -1, -1, 29, -1, -1, -1,
2933  -1, -1, -1, -1, -1, 141, -1, -1, 41, 42,
2934  -1, -1, -1, -1, 150, 151, 49, -1, -1, 155,
2935  -1, 157, -1, -1, -1, -1, -1, -1, -1, 62,
2936  29, 64, 65, 66, 67, -1, -1, -1, -1, -1,
2937  -1, -1, 41, 42, -1, -1, -1, -1, -1, -1,
2938  49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2939  -1, 197, -1, 62, -1, 64, 65, 66, 67, -1,
2940  206, 207, 208, 209, 210, 211, 109, 110, 111, 112,
2941  113, 114, -1, -1, -1, -1, -1, -1, -1, -1,
2942  -1, -1, -1, 126, 127, 128, 129, -1, -1, -1,
2943  -1, -1, -1, -1, -1, -1, -1, -1, 141, -1,
2944  109, 110, 111, 112, 113, 114, -1, 150, 151, -1,
2945  -1, -1, 155, -1, -1, -1, -1, 126, 127, 128,
2946  129, -1, -1, 29, -1, -1, -1, -1, -1, -1,
2947  -1, -1, 141, -1, -1, 41, 42, -1, -1, -1,
2948  -1, 150, 151, 49, -1, -1, 155, -1, -1, -1,
2949  -1, -1, -1, -1, 197, 198, 62, -1, 64, 65,
2950  66, 67, -1, 206, 207, 208, 209, 210, 211, -1,
2951  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2952  -1, -1, -1, -1, -1, -1, -1, -1, 197, -1,
2953  -1, 200, -1, -1, -1, -1, -1, 206, 207, 208,
2954  209, 210, 211, 109, 110, 111, 112, 113, 114, -1,
2955  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2956  126, 127, 128, 129, -1, -1, 29, -1, -1, -1,
2957  -1, -1, -1, -1, -1, 141, -1, -1, 41, 42,
2958  -1, -1, -1, -1, 150, 151, 49, -1, -1, 155,
2959  -1, -1, -1, -1, -1, -1, -1, -1, -1, 62,
2960  63, 64, 65, 66, 67, -1, -1, -1, -1, -1,
2961  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2962  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2963  -1, 197, -1, -1, -1, -1, -1, -1, 204, -1,
2964  206, 207, 208, 209, 210, 211, 109, 110, 111, 112,
2965  113, 114, -1, -1, -1, -1, -1, -1, -1, -1,
2966  -1, -1, -1, 126, 127, 128, 129, -1, -1, 29,
2967  -1, -1, -1, -1, -1, -1, -1, -1, 141, -1,
2968  -1, 41, 42, -1, -1, -1, -1, 150, 151, 49,
2969  -1, -1, 155, -1, -1, -1, -1, -1, -1, -1,
2970  -1, -1, 62, 29, 64, 65, 66, 67, -1, -1,
2971  -1, -1, -1, -1, -1, 41, 42, -1, -1, -1,
2972  -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
2973  -1, -1, -1, -1, 197, -1, 62, -1, 64, 65,
2974  66, 67, -1, 206, 207, 208, 209, 210, 211, 109,
2975  110, 111, 112, 113, 114, -1, -1, -1, -1, -1,
2976  -1, -1, -1, -1, -1, -1, 126, 127, 128, 129,
2977  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2978  -1, 141, -1, 109, 110, 111, 112, 113, 114, -1,
2979  150, 151, -1, -1, -1, 155, -1, -1, -1, -1,
2980  126, 127, 128, 129, -1, -1, 29, -1, -1, -1,
2981  -1, -1, -1, -1, -1, 141, -1, -1, 41, 42,
2982  -1, -1, -1, -1, 150, 151, 49, -1, -1, 155,
2983  -1, -1, -1, -1, -1, -1, -1, 197, -1, 62,
2984  29, 64, 65, 66, 67, -1, 206, 207, 208, 209,
2985  210, 211, 41, 42, -1, -1, -1, -1, -1, -1,
2986  49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2987  -1, 197, -1, 62, -1, 64, 65, 66, 67, -1,
2988  206, 207, 208, 209, 210, 211, 109, 110, 111, 112,
2989  113, 114, -1, -1, -1, -1, -1, -1, -1, -1,
2990  -1, -1, -1, 126, 127, -1, -1, -1, -1, -1,
2991  -1, -1, -1, -1, -1, -1, -1, -1, 141, -1,
2992  109, 110, 111, 112, 113, 114, -1, 150, 151, -1,
2993  -1, -1, 155, -1, -1, -1, -1, 126, 127, -1,
2994  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2995  -1, -1, 141, -1, -1, -1, 29, -1, -1, -1,
2996  -1, 150, 151, -1, -1, -1, 155, -1, 41, 42,
2997  -1, -1, -1, -1, 197, -1, 49, -1, -1, -1,
2998  203, -1, -1, 206, 207, 208, 209, 210, 211, 62,
2999  29, 64, 65, 66, 67, -1, -1, -1, -1, -1,
3000  -1, -1, 41, 42, -1, -1, -1, -1, 197, -1,
3001  49, -1, -1, -1, 203, -1, -1, 206, 207, 208,
3002  209, 210, 211, 62, -1, 64, 65, 66, 67, -1,
3003  -1, -1, -1, -1, -1, -1, 109, 110, 111, 112,
3004  113, 114, -1, -1, -1, -1, -1, -1, -1, -1,
3005  -1, -1, -1, 126, 127, -1, -1, -1, -1, -1,
3006  -1, -1, -1, -1, -1, -1, -1, -1, 141, -1,
3007  109, 110, 111, 112, 113, 114, -1, 150, 151, -1,
3008  -1, -1, 155, -1, -1, -1, -1, 126, 127, -1,
3009  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3010  -1, -1, 141, -1, -1, -1, 29, -1, -1, -1,
3011  -1, 150, 151, -1, -1, -1, 155, -1, 41, 42,
3012  -1, -1, -1, -1, 197, -1, 49, -1, -1, -1,
3013  -1, 204, -1, 206, 207, 208, 209, 210, 211, 62,
3014  29, 64, 65, 66, 67, -1, -1, -1, -1, -1,
3015  -1, -1, 41, 42, -1, -1, -1, -1, 197, -1,
3016  49, -1, -1, -1, -1, -1, -1, 206, 207, 208,
3017  209, 210, 211, 62, -1, 64, 65, 66, 67, -1,
3018  -1, -1, -1, -1, -1, -1, 109, 110, 111, 112,
3019  113, 114, -1, -1, -1, -1, -1, -1, -1, -1,
3020  -1, -1, -1, 126, 127, -1, -1, -1, -1, -1,
3021  -1, -1, -1, -1, -1, -1, -1, -1, 141, -1,
3022  109, 110, 111, 112, 113, 114, -1, -1, -1, -1,
3023  -1, -1, 155, -1, -1, -1, -1, 126, 127, -1,
3024  -1, -1, -1, 29, -1, -1, -1, -1, -1, -1,
3025  -1, -1, 141, -1, -1, 41, 42, -1, -1, -1,
3026  -1, -1, -1, 49, -1, -1, 155, -1, -1, -1,
3027  -1, -1, -1, -1, 197, -1, 62, -1, 64, 65,
3028  66, 67, -1, 206, 207, 208, 209, 210, 211, -1,
3029  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3030  -1, -1, -1, -1, -1, -1, -1, -1, 197, -1,
3031  -1, -1, -1, -1, -1, -1, -1, 206, 207, 208,
3032  209, 210, 211, 109, 110, 111, 112, 113, 114, -1,
3033  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3034  126, 127, -1, -1, -1, -1, -1, -1, -1, -1,
3035  -1, -1, -1, -1, -1, 141, -1, -1, -1, -1,
3036  -1, -1, -1, -1, -1, -1, 3, 4, 5, 155,
3037  -1, 8, 9, -1, -1, -1, 13, -1, 15, 16,
3038  17, -1, -1, -1, 21, 22, 23, 24, 25, -1,
3039  27, 28, -1, 30, 31, -1, 33, 34, 35, 36,
3040  37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3041  -1, 197, -1, -1, -1, -1, -1, -1, -1, -1,
3042  206, 207, 208, 209, 210, 211, 63, -1, -1, -1,
3043  -1, -1, 69, 70, 71, 72, 73, 74, 75, 76,
3044  77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
3045  87, 88, 89, -1, 91, -1, -1, -1, -1, -1,
3046  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3047  -1, 108, -1, -1, -1, -1, -1, -1, -1, -1,
3048  -1, -1, 119, 120, -1, -1, -1, -1, -1, -1,
3049  -1, -1, -1, -1, 131, 132, 133, 134, 135, 136,
3050  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3051  -1, -1, -1, -1, -1, 152, 153, 154, -1, -1,
3052  157, 158, 159, 3, 4, 5, -1, -1, 8, 9,
3053  -1, -1, -1, 13, -1, 15, 16, 17, -1, -1,
3054  -1, 21, 22, 23, 24, 25, -1, 27, 28, -1,
3055  30, 31, -1, 33, 34, 35, 36, 37, -1, -1,
3056  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3057  -1, 51, -1, -1, -1, -1, -1, -1, -1, -1,
3058  -1, -1, -1, 63, -1, -1, -1, -1, -1, 69,
3059  70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
3060  80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
3061  -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
3062  -1, -1, -1, -1, -1, -1, -1, -1, 108, -1,
3063  -1, -1, -1, -1, -1, -1, -1, -1, -1, 119,
3064  120, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3065  -1, 131, 132, 133, 134, 135, 136, -1, -1, -1,
3066  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3067  -1, -1, 152, 153, 154, -1, -1, 157, -1, 159,
3068  3, 4, 5, -1, -1, 8, 9, -1, -1, -1,
3069  13, -1, 15, 16, 17, -1, -1, -1, 21, 22,
3070  23, 24, 25, -1, 27, 28, -1, 30, 31, -1,
3071  33, 34, 35, 36, 37, -1, -1, -1, -1, -1,
3072  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3073  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3074  63, -1, -1, -1, -1, -1, 69, 70, 71, 72,
3075  73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
3076  83, 84, 85, 86, 87, 88, 89, -1, 91, -1,
3077  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3078  -1, -1, -1, -1, -1, 108, -1, -1, -1, -1,
3079  -1, -1, -1, -1, -1, -1, 119, 120, -1, -1,
3080  -1, -1, -1, -1, -1, -1, -1, -1, 131, 132,
3081  133, 134, 135, 136, -1, -1, -1, -1, -1, -1,
3082  -1, -1, -1, -1, -1, -1, -1, -1, -1, 152,
3083  153, 154, -1, -1, 157, -1, 159, 3, 4, 5,
3084  -1, -1, 8, 9, -1, -1, -1, 13, -1, 15,
3085  16, 17, -1, -1, -1, 21, 22, 23, 24, 25,
3086  -1, 27, 28, -1, 30, 31, -1, 33, 34, 35,
3087  36, 37, -1, -1, -1, -1, -1, -1, -1, -1,
3088  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3089  -1, -1, -1, -1, -1, -1, -1, 63, -1, -1,
3090  -1, -1, -1, 69, 70, 71, 72, 73, 74, 75,
3091  -1, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3092  86, 87, 88, 89, -1, -1, -1, -1, -1, -1,
3093  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3094  -1, -1, 108, -1, -1, -1, -1, -1, -1, -1,
3095  -1, -1, -1, 119, 120, -1, -1, -1, -1, -1,
3096  -1, -1, -1, -1, -1, 131, 132, 133, 134, 135,
3097  136, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3098  -1, -1, -1, -1, -1, -1, 152, 153, 154, 3,
3099  4, 5, -1, 159, 8, 9, -1, -1, -1, 13,
3100  -1, 15, 16, 17, -1, -1, -1, 21, 22, 23,
3101  24, 25, -1, 27, 28, -1, 30, 31, -1, 33,
3102  34, 35, 36, 37, -1, -1, -1, -1, -1, -1,
3103  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3104  -1, -1, -1, -1, -1, -1, -1, -1, -1, 63,
3105  -1, -1, -1, -1, -1, 69, 70, 71, 72, 73,
3106  74, -1, -1, 77, 78, 79, 80, 81, 82, 83,
3107  84, 85, 86, 87, 88, 89, -1, -1, -1, -1,
3108  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3109  -1, -1, -1, -1, 108, -1, -1, -1, -1, -1,
3110  -1, -1, -1, -1, -1, 119, 120, -1, -1, -1,
3111  -1, -1, -1, -1, -1, -1, -1, -1, 132, 133,
3112  134, 135, 136, -1, -1, -1, -1, -1, -1, -1,
3113  3, 4, 5, -1, -1, 8, 9, -1, 152, 153,
3114  13, -1, -1, 16, 17, 159, -1, -1, 21, 22,
3115  23, 24, 25, -1, 27, 28, -1, 30, -1, -1,
3116  33, -1, 35, 36, 37, -1, -1, -1, -1, -1,
3117  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3118  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3119  -1, -1, -1, -1, -1, -1, 69, 70, 71, 72,
3120  73, 74, -1, -1, 77, 78, 79, 80, 81, 82,
3121  83, 84, 85, 86, 87, 88, 89, -1, -1, -1,
3122  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3123  -1, -1, -1, -1, -1, 108, -1, -1, -1, -1,
3124  -1, -1, -1, -1, -1, -1, 119, 120, -1, -1,
3125  -1, -1, -1, -1, -1, -1, -1, -1, -1, 132,
3126  133, 134, 135, 136, 4, 5, -1, -1, 8, 9,
3127  -1, -1, -1, 13, -1, 15, -1, 17, -1, 152,
3128  153, -1, 22, 23, -1, 25, 159, 27, 28, -1,
3129  -1, 31, -1, -1, 34, 35, 36, 37, -1, -1,
3130  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3131  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3132  -1, -1, -1, 63, -1, -1, -1, -1, -1, 69,
3133  70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
3134  80, 81, 82, 83, 84, 85, 86, 87, 88, -1,
3135  -1, 91, -1, -1, -1, -1, 4, 5, -1, -1,
3136  8, 9, -1, -1, -1, 13, -1, 15, 108, 17,
3137  -1, -1, -1, -1, 22, 23, -1, 25, -1, 27,
3138  28, -1, -1, 31, -1, -1, 34, 35, 36, 37,
3139  -1, 131, 132, 133, 134, 135, 136, -1, -1, -1,
3140  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3141  -1, -1, 152, 153, 154, 63, -1, 157, -1, -1,
3142  -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
3143  78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
3144  88, -1, -1, 4, 5, -1, -1, 8, 9, -1,
3145  -1, -1, 13, -1, -1, -1, 17, -1, -1, -1,
3146  108, 22, 23, -1, 25, -1, 27, 28, -1, -1,
3147  -1, -1, -1, -1, 35, 36, 37, -1, -1, -1,
3148  -1, -1, -1, 131, 132, 133, 134, 135, 136, -1,
3149  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3150  -1, -1, -1, -1, 152, 153, 154, -1, 69, 70,
3151  71, 72, 73, 74, -1, -1, 77, 78, 79, 80,
3152  81, 82, 83, 84, 85, 86, 87, 88, -1, -1,
3153  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3154  -1, -1, -1, -1, -1, -1, -1, 108, -1, -1,
3155  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3156  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3157  -1, 132, 133, 134, 135, 136, -1, -1, -1, -1,
3158  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3159  -1, 152, 153
3160 };
3161 
3162  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3163  symbol of state STATE-NUM. */
3164 static const yytype_int16 yystos[] =
3165 {
3166  0, 3, 4, 5, 8, 9, 13, 15, 16, 17,
3167  21, 22, 23, 24, 25, 27, 28, 30, 31, 33,
3168  34, 35, 36, 37, 62, 63, 69, 70, 71, 72,
3169  73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3170  83, 84, 85, 86, 87, 88, 89, 90, 91, 108,
3171  119, 120, 131, 132, 133, 134, 135, 136, 141, 152,
3172  153, 154, 157, 158, 159, 197, 204, 207, 216, 220,
3173  222, 223, 224, 268, 269, 270, 277, 281, 282, 283,
3174  284, 287, 288, 292, 293, 294, 295, 296, 297, 298,
3175  299, 300, 301, 302, 303, 307, 309, 310, 311, 312,
3176  314, 318, 322, 334, 337, 390, 391, 392, 393, 394,
3177  405, 415, 416, 417, 418, 197, 197, 207, 224, 406,
3178  407, 408, 409, 410, 411, 412, 413, 415, 197, 197,
3179  197, 197, 214, 202, 202, 202, 67, 197, 197, 197,
3180  416, 418, 68, 285, 287, 289, 322, 415, 415, 0,
3181  322, 323, 324, 220, 199, 220, 199, 220, 220, 406,
3182  220, 406, 224, 286, 287, 300, 302, 309, 310, 311,
3183  322, 415, 224, 287, 300, 302, 309, 310, 311, 322,
3184  415, 286, 310, 287, 309, 310, 286, 287, 309, 286,
3185  286, 286, 287, 309, 284, 309, 284, 309, 323, 323,
3186  323, 392, 143, 241, 197, 202, 421, 423, 425, 29,
3187  41, 42, 49, 64, 65, 66, 67, 109, 110, 111,
3188  112, 113, 114, 126, 127, 128, 129, 150, 151, 155,
3189  197, 206, 207, 208, 209, 210, 211, 223, 225, 226,
3190  227, 228, 229, 230, 231, 234, 235, 236, 237, 239,
3191  243, 244, 247, 248, 249, 250, 251, 252, 253, 254,
3192  255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
3193  265, 323, 348, 197, 207, 224, 324, 410, 412, 414,
3194  197, 285, 407, 409, 412, 421, 90, 274, 275, 276,
3195  322, 228, 197, 265, 25, 62, 63, 198, 199, 304,
3196  305, 306, 348, 265, 265, 265, 265, 348, 348, 264,
3197  198, 198, 205, 289, 415, 322, 415, 323, 276, 276,
3198  323, 323, 323, 323, 271, 323, 284, 284, 323, 272,
3199  323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
3200  323, 323, 323, 323, 307, 308, 223, 224, 335, 347,
3201  197, 144, 242, 198, 422, 424, 203, 207, 264, 266,
3202  287, 290, 291, 309, 322, 202, 197, 247, 197, 247,
3203  247, 347, 370, 197, 197, 197, 197, 197, 197, 247,
3204  360, 360, 360, 360, 248, 248, 197, 265, 348, 359,
3205  360, 248, 248, 248, 248, 248, 248, 40, 41, 42,
3206  197, 201, 202, 52, 53, 54, 55, 56, 57, 58,
3207  59, 60, 61, 219, 207, 212, 213, 208, 209, 43,
3208  44, 45, 46, 214, 215, 47, 48, 206, 216, 217,
3209  49, 147, 50, 145, 146, 218, 198, 199, 282, 284,
3210  293, 295, 299, 301, 303, 198, 414, 197, 415, 198,
3211  198, 421, 414, 197, 409, 412, 19, 37, 375, 274,
3212  219, 198, 92, 93, 94, 95, 96, 97, 98, 99,
3213  100, 101, 102, 103, 105, 319, 320, 321, 198, 197,
3214  198, 305, 215, 203, 203, 203, 198, 198, 198, 199,
3215  421, 273, 406, 278, 279, 219, 349, 349, 315, 347,
3216  204, 323, 336, 248, 262, 197, 359, 395, 282, 284,
3217  287, 293, 299, 309, 397, 398, 399, 400, 401, 402,
3218  403, 404, 223, 343, 344, 281, 282, 283, 284, 342,
3219  345, 346, 203, 203, 203, 266, 290, 207, 266, 348,
3220  348, 348, 264, 348, 264, 348, 348, 204, 204, 268,
3221  281, 282, 283, 284, 268, 264, 198, 198, 198, 204,
3222  223, 224, 245, 198, 246, 264, 245, 265, 264, 264,
3223  264, 264, 264, 264, 264, 264, 264, 264, 264, 248,
3224  248, 248, 249, 249, 250, 250, 251, 251, 251, 251,
3225  252, 252, 253, 254, 255, 256, 257, 258, 260, 260,
3226  200, 265, 264, 197, 207, 216, 419, 421, 426, 428,
3227  419, 198, 198, 421, 421, 198, 198, 414, 37, 19,
3228  197, 204, 266, 350, 220, 197, 197, 197, 197, 197,
3229  198, 199, 64, 67, 304, 202, 202, 264, 349, 276,
3230  349, 349, 350, 204, 316, 317, 338, 339, 340, 347,
3231  204, 198, 262, 406, 309, 309, 309, 398, 224, 286,
3232  310, 318, 337, 286, 310, 286, 406, 199, 220, 198,
3233  199, 197, 207, 216, 409, 415, 420, 423, 427, 429,
3234  409, 415, 420, 197, 207, 415, 420, 415, 420, 198,
3235  199, 203, 203, 203, 198, 198, 198, 199, 199, 199,
3236  199, 198, 268, 268, 262, 406, 406, 415, 415, 262,
3237  199, 204, 248, 6, 7, 10, 11, 12, 18, 19,
3238  20, 26, 32, 39, 68, 90, 91, 106, 107, 115,
3239  118, 137, 139, 205, 223, 224, 265, 267, 268, 347,
3240  355, 356, 357, 358, 359, 361, 362, 363, 365, 367,
3241  368, 371, 372, 373, 374, 198, 199, 203, 263, 200,
3242  421, 426, 428, 285, 419, 421, 198, 228, 376, 377,
3243  201, 202, 223, 245, 350, 351, 352, 353, 354, 265,
3244  265, 223, 67, 67, 198, 320, 198, 198, 219, 265,
3245  265, 198, 280, 220, 269, 323, 325, 326, 327, 328,
3246  329, 204, 323, 205, 199, 323, 338, 198, 323, 323,
3247  323, 323, 347, 347, 323, 323, 323, 406, 396, 397,
3248  344, 198, 427, 429, 285, 420, 323, 323, 285, 323,
3249  323, 396, 51, 346, 348, 348, 348, 238, 245, 265,
3250  265, 11, 232, 233, 348, 351, 352, 220, 266, 220,
3251  200, 355, 366, 224, 265, 197, 220, 265, 197, 197,
3252  205, 375, 197, 369, 370, 68, 204, 359, 220, 359,
3253  220, 200, 205, 355, 264, 263, 198, 198, 198, 419,
3254  198, 200, 378, 245, 265, 200, 199, 205, 201, 202,
3255  219, 350, 198, 198, 198, 198, 198, 304, 203, 203,
3256  349, 220, 282, 284, 205, 327, 199, 220, 199, 220,
3257  325, 323, 340, 219, 341, 205, 323, 323, 198, 198,
3258  420, 198, 198, 198, 40, 198, 201, 202, 205, 205,
3259  200, 198, 199, 200, 199, 205, 51, 200, 355, 39,
3260  197, 220, 220, 265, 220, 265, 267, 197, 204, 197,
3261  199, 220, 68, 116, 117, 138, 140, 322, 355, 421,
3262  421, 202, 228, 379, 380, 200, 381, 51, 203, 350,
3263  205, 353, 245, 265, 350, 198, 199, 200, 330, 333,
3264  406, 331, 333, 415, 323, 331, 330, 205, 266, 323,
3265  197, 423, 245, 245, 265, 264, 233, 264, 205, 266,
3266  355, 197, 356, 362, 364, 198, 198, 198, 376, 68,
3267  104, 370, 205, 359, 197, 359, 359, 220, 347, 197,
3268  199, 202, 228, 382, 383, 200, 384, 265, 51, 203,
3269  304, 266, 323, 332, 333, 323, 332, 313, 323, 203,
3270  200, 265, 267, 355, 355, 142, 240, 198, 205, 198,
3271  265, 203, 265, 379, 347, 197, 199, 228, 385, 386,
3272  200, 387, 203, 265, 219, 323, 323, 313, 355, 198,
3273  220, 14, 197, 355, 220, 198, 198, 228, 198, 203,
3274  265, 382, 199, 370, 388, 389, 203, 304, 240, 267,
3275  355, 262, 220, 359, 197, 228, 198, 385, 199, 198,
3276  220, 198, 198, 357, 265, 197, 389, 240, 198, 265,
3277  355, 198
3278 };
3279 
3280  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
3281 static const yytype_int16 yyr1[] =
3282 {
3283  0, 221, 222, 223, 223, 224, 225, 226, 227, 228,
3284  229, 229, 229, 229, 230, 230, 230, 230, 230, 230,
3285  230, 230, 230, 230, 231, 232, 232, 233, 233, 234,
3286  234, 235, 236, 237, 238, 238, 238, 238, 239, 239,
3287  240, 240, 241, 241, 242, 242, 243, 244, 244, 244,
3288  244, 244, 244, 244, 244, 244, 244, 245, 245, 246,
3289  246, 247, 247, 247, 247, 247, 247, 247, 247, 247,
3290  247, 247, 247, 247, 247, 248, 248, 248, 248, 249,
3291  249, 249, 249, 250, 250, 250, 251, 251, 251, 252,
3292  252, 252, 252, 252, 253, 253, 253, 254, 254, 255,
3293  255, 256, 256, 257, 257, 258, 258, 259, 259, 260,
3294  260, 261, 261, 262, 262, 262, 263, 263, 263, 264,
3295  264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
3296  264, 265, 265, 266, 267, 267, 268, 268, 268, 268,
3297  268, 269, 271, 270, 272, 270, 273, 270, 274, 274,
3298  275, 275, 276, 276, 278, 277, 279, 277, 277, 280,
3299  277, 281, 281, 281, 281, 281, 282, 282, 282, 282,
3300  282, 283, 283, 283, 283, 283, 284, 284, 284, 285,
3301  285, 286, 286, 287, 287, 287, 287, 287, 287, 287,
3302  287, 287, 288, 288, 289, 289, 290, 290, 290, 291,
3303  291, 292, 292, 292, 292, 293, 293, 293, 293, 294,
3304  294, 294, 295, 295, 295, 296, 296, 296, 297, 297,
3305  297, 298, 298, 298, 299, 299, 299, 300, 300, 301,
3306  301, 301, 301, 302, 303, 303, 303, 303, 304, 304,
3307  304, 305, 305, 305, 305, 305, 305, 306, 306, 307,
3308  307, 308, 308, 309, 309, 309, 309, 309, 309, 309,
3309  309, 309, 309, 310, 310, 310, 310, 310, 310, 310,
3310  310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
3311  310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
3312  310, 310, 310, 310, 311, 311, 311, 312, 313, 315,
3313  314, 316, 314, 317, 314, 318, 318, 319, 319, 319,
3314  319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
3315  319, 320, 320, 321, 321, 322, 322, 323, 323, 324,
3316  324, 325, 325, 326, 326, 327, 327, 327, 327, 328,
3317  328, 329, 329, 330, 330, 330, 331, 331, 332, 332,
3318  333, 335, 334, 336, 334, 334, 337, 338, 338, 339,
3319  339, 339, 340, 341, 341, 342, 342, 343, 343, 344,
3320  345, 345, 346, 346, 346, 346, 346, 346, 346, 346,
3321  346, 346, 346, 346, 346, 346, 347, 347, 348, 348,
3322  348, 348, 349, 349, 350, 350, 350, 351, 351, 352,
3323  352, 353, 353, 353, 353, 354, 354, 354, 354, 354,
3324  354, 355, 355, 355, 355, 355, 355, 355, 355, 355,
3325  355, 355, 355, 355, 356, 357, 357, 357, 357, 357,
3326  358, 359, 359, 359, 360, 361, 361, 362, 363, 363,
3327  363, 364, 364, 365, 365, 366, 365, 367, 367, 367,
3328  367, 367, 367, 368, 369, 369, 370, 371, 371, 372,
3329  372, 373, 373, 373, 374, 374, 374, 375, 375, 375,
3330  375, 375, 376, 376, 376, 376, 376, 377, 378, 378,
3331  379, 379, 380, 380, 381, 381, 382, 382, 383, 383,
3332  384, 384, 385, 386, 386, 387, 387, 388, 388, 389,
3333  390, 390, 391, 391, 392, 392, 392, 392, 393, 393,
3334  394, 395, 396, 396, 397, 397, 398, 399, 399, 399,
3335  400, 400, 400, 400, 401, 401, 401, 402, 402, 403,
3336  403, 403, 404, 404, 404, 405, 405, 405, 405, 405,
3337  406, 406, 406, 407, 407, 407, 408, 408, 409, 409,
3338  409, 410, 410, 410, 411, 411, 412, 412, 412, 412,
3339  412, 413, 413, 413, 414, 414, 415, 415, 416, 416,
3340  416, 416, 417, 417, 417, 418, 418, 419, 419, 419,
3341  420, 420, 421, 421, 422, 421, 423, 423, 424, 423,
3342  425, 425, 425, 425, 425, 425, 425, 426, 426, 426,
3343  426, 426, 427, 427, 427, 427, 427, 428, 428, 428,
3344  428, 428, 429, 429, 429, 429
3345 };
3346 
3347  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
3348 static const yytype_int8 yyr2[] =
3349 {
3350  0, 2, 1, 1, 2, 1, 1, 1, 1, 1,
3351  1, 1, 1, 1, 1, 1, 3, 1, 1, 1,
3352  1, 1, 1, 1, 6, 1, 3, 3, 3, 6,
3353  6, 6, 4, 6, 1, 3, 4, 3, 6, 6,
3354  0, 4, 0, 4, 0, 4, 3, 1, 4, 3,
3355  4, 3, 3, 2, 2, 6, 7, 1, 1, 1,
3356  3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
3357  2, 2, 4, 2, 4, 1, 4, 2, 2, 1,
3358  3, 3, 3, 1, 3, 3, 1, 3, 3, 1,
3359  3, 3, 3, 3, 1, 3, 3, 1, 3, 1,
3360  3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
3361  3, 1, 3, 1, 4, 4, 1, 5, 4, 1,
3362  3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3363  3, 1, 3, 1, 0, 1, 2, 2, 2, 2,
3364  2, 6, 0, 4, 0, 4, 0, 5, 5, 1,
3365  2, 1, 0, 1, 0, 5, 0, 5, 5, 0,
3366  7, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3367  1, 1, 2, 1, 2, 2, 1, 2, 2, 1,
3368  2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3369  4, 1, 4, 4, 1, 1, 1, 1, 1, 1,
3370  2, 3, 3, 3, 3, 2, 3, 2, 3, 2,
3371  3, 3, 1, 2, 3, 3, 3, 3, 3, 3,
3372  3, 3, 3, 3, 2, 3, 3, 4, 4, 1,
3373  2, 3, 2, 4, 1, 2, 3, 2, 1, 1,
3374  1, 1, 4, 4, 6, 10, 1, 1, 2, 4,
3375  3, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3376  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3377  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3378  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3379  4, 7, 7, 1, 1, 1, 1, 4, 0, 0,
3380  9, 0, 10, 0, 6, 1, 1, 1, 1, 4,
3381  1, 4, 4, 1, 1, 4, 4, 1, 1, 1,
3382  1, 0, 1, 1, 3, 6, 1, 0, 1, 1,
3383  2, 0, 1, 1, 2, 2, 2, 1, 2, 3,
3384  3, 3, 3, 3, 0, 2, 3, 2, 0, 1,
3385  2, 0, 7, 0, 8, 4, 1, 0, 1, 1,
3386  3, 2, 3, 0, 2, 1, 3, 1, 3, 1,
3387  1, 3, 1, 2, 3, 2, 1, 2, 3, 1,
3388  2, 3, 2, 1, 2, 3, 1, 1, 2, 3,
3389  2, 3, 0, 2, 1, 3, 4, 1, 3, 1,
3390  0, 1, 3, 2, 3, 2, 3, 5, 4, 6,
3391  3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3392  1, 1, 1, 1, 1, 4, 3, 4, 6, 3,
3393  8, 3, 4, 4, 0, 1, 2, 2, 5, 7,
3394  5, 1, 1, 6, 8, 0, 10, 3, 3, 2,
3395  2, 2, 3, 3, 1, 3, 1, 6, 5, 4,
3396  2, 7, 4, 1, 2, 4, 4, 0, 1, 1,
3397  2, 2, 1, 2, 3, 4, 5, 1, 2, 1,
3398  4, 7, 1, 3, 2, 1, 4, 7, 1, 3,
3399  2, 1, 1, 1, 3, 2, 1, 1, 3, 1,
3400  0, 1, 1, 2, 1, 1, 1, 1, 5, 3,
3401  4, 1, 0, 1, 1, 2, 2, 1, 2, 2,
3402  3, 3, 3, 3, 3, 3, 3, 4, 4, 1,
3403  1, 1, 2, 2, 3, 1, 2, 2, 2, 2,
3404  1, 1, 1, 4, 5, 2, 1, 1, 1, 2,
3405  1, 1, 2, 3, 3, 4, 1, 4, 5, 2,
3406  3, 3, 4, 4, 1, 3, 1, 1, 1, 2,
3407  2, 3, 2, 3, 4, 1, 3, 1, 1, 1,
3408  1, 1, 1, 3, 0, 5, 1, 2, 0, 5,
3409  2, 3, 3, 3, 4, 4, 4, 1, 2, 2,
3410  3, 1, 1, 2, 2, 3, 1, 3, 3, 3,
3411  4, 4, 3, 3, 1, 4
3412 };
3413 
3414 
3415 enum { YYENOMEM = -2 };
3416 
3417 #define yyerrok (yyerrstatus = 0)
3418 #define yyclearin (yychar = YYEMPTY)
3420 #define YYACCEPT goto yyacceptlab
3421 #define YYABORT goto yyabortlab
3422 #define YYERROR goto yyerrorlab
3424 
3425 #define YYRECOVERING() (!!yyerrstatus)
3427 #define YYBACKUP(Token, Value) \
3428  do \
3429  if (yychar == YYEMPTY) \
3430  { \
3431  yychar = (Token); \
3432  yylval = (Value); \
3433  YYPOPSTACK (yylen); \
3434  yystate = *yyssp; \
3435  goto yybackup; \
3436  } \
3437  else \
3438  { \
3439  yyerror (YY_("syntax error: cannot back up")); \
3440  YYERROR; \
3441  } \
3442  while (0)
3443 
3444 /* Backward compatibility with an undocumented macro.
3445  Use YYerror or YYUNDEF. */
3446 #define YYERRCODE YYUNDEF
3448 
3449 /* Enable debugging if requested. */
3450 #if YYDEBUG
3451 
3452 # ifndef YYFPRINTF
3453 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3454 # define YYFPRINTF fprintf
3455 # endif
3456 
3457 # define YYDPRINTF(Args) \
3458 do { \
3459  if (yydebug) \
3460  YYFPRINTF Args; \
3461 } while (0)
3462 
3463 /* This macro is provided for backward compatibility. */
3464 # ifndef YY_LOCATION_PRINT
3465 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3466 # endif
3467 
3468 
3469 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
3470 do { \
3471  if (yydebug) \
3472  { \
3473  YYFPRINTF (stderr, "%s ", Title); \
3474  yy_symbol_print (stderr, \
3475  Kind, Value); \
3476  YYFPRINTF (stderr, "\n"); \
3477  } \
3478 } while (0)
3479 
3480 
3481 /*-----------------------------------.
3482 | Print this symbol's value on YYO. |
3483 `-----------------------------------*/
3484 
3485 static void
3486 yy_symbol_value_print (FILE *yyo,
3487  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
3488 {
3489  FILE *yyoutput = yyo;
3490  YYUSE (yyoutput);
3491  if (!yyvaluep)
3492  return;
3493 # ifdef YYPRINT
3494  if (yykind < YYNTOKENS)
3495  YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
3496 # endif
3498  YYUSE (yykind);
3500 }
3501 
3502 
3503 /*---------------------------.
3504 | Print this symbol on YYO. |
3505 `---------------------------*/
3506 
3507 static void
3508 yy_symbol_print (FILE *yyo,
3509  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
3510 {
3511  YYFPRINTF (yyo, "%s %s (",
3512  yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
3513 
3514  yy_symbol_value_print (yyo, yykind, yyvaluep);
3515  YYFPRINTF (yyo, ")");
3516 }
3517 
3518 /*------------------------------------------------------------------.
3519 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3520 | TOP (included). |
3521 `------------------------------------------------------------------*/
3522 
3523 static void
3524 yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
3525 {
3526  YYFPRINTF (stderr, "Stack now");
3527  for (; yybottom <= yytop; yybottom++)
3528  {
3529  int yybot = *yybottom;
3530  YYFPRINTF (stderr, " %d", yybot);
3531  }
3532  YYFPRINTF (stderr, "\n");
3533 }
3534 
3535 # define YY_STACK_PRINT(Bottom, Top) \
3536 do { \
3537  if (yydebug) \
3538  yy_stack_print ((Bottom), (Top)); \
3539 } while (0)
3540 
3541 
3542 /*------------------------------------------------.
3543 | Report that the YYRULE is going to be reduced. |
3544 `------------------------------------------------*/
3545 
3546 static void
3547 yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
3548  int yyrule)
3549 {
3550  int yylno = yyrline[yyrule];
3551  int yynrhs = yyr2[yyrule];
3552  int yyi;
3553  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
3554  yyrule - 1, yylno);
3555  /* The symbols being reduced. */
3556  for (yyi = 0; yyi < yynrhs; yyi++)
3557  {
3558  YYFPRINTF (stderr, " $%d = ", yyi + 1);
3559  yy_symbol_print (stderr,
3560  YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
3561  &yyvsp[(yyi + 1) - (yynrhs)]);
3562  YYFPRINTF (stderr, "\n");
3563  }
3564 }
3565 
3566 # define YY_REDUCE_PRINT(Rule) \
3567 do { \
3568  if (yydebug) \
3569  yy_reduce_print (yyssp, yyvsp, Rule); \
3570 } while (0)
3571 
3572 /* Nonzero means print parse trace. It is left uninitialized so that
3573  multiple parsers can coexist. */
3574 int yydebug;
3575 #else /* !YYDEBUG */
3576 # define YYDPRINTF(Args) ((void) 0)
3577 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
3578 # define YY_STACK_PRINT(Bottom, Top)
3579 # define YY_REDUCE_PRINT(Rule)
3580 #endif /* !YYDEBUG */
3581 
3582 
3583 /* YYINITDEPTH -- initial size of the parser's stacks. */
3584 #ifndef YYINITDEPTH
3585 # define YYINITDEPTH 200
3586 #endif
3587 
3588 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3589  if the built-in stack extension method is used).
3590 
3591  Do not make this value too large; the results are undefined if
3592  YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3593  evaluated with infinite-precision integer arithmetic. */
3594 
3595 #ifndef YYMAXDEPTH
3596 # define YYMAXDEPTH 10000
3597 #endif
3598 
3599 
3600 
3601 
3602 
3603 
3604 /*-----------------------------------------------.
3605 | Release the memory associated to this symbol. |
3606 `-----------------------------------------------*/
3607 
3608 static void
3609 yydestruct (const char *yymsg,
3610  yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
3611 {
3612  YYUSE (yyvaluep);
3613  if (!yymsg)
3614  yymsg = "Deleting";
3615  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
3616 
3618  YYUSE (yykind);
3620 }
3621 
3622 
3623 /* The lookahead symbol. */
3625 
3626 /* The semantic value of the lookahead symbol. */
3628 /* Number of syntax errors so far. */
3630 
3631 
3632 
3633 
3634 /*----------.
3635 | yyparse. |
3636 `----------*/
3637 
3638 int
3639 yyparse (void)
3640 {
3641  yy_state_fast_t yystate;
3642  /* Number of tokens to shift before error messages enabled. */
3643  int yyerrstatus;
3644 
3645  /* The stacks and their tools:
3646  'yyss': related to states.
3647  'yyvs': related to semantic values.
3648 
3649  Refer to the stacks through separate pointers, to allow yyoverflow
3650  to reallocate them elsewhere. */
3651 
3652  /* Their size. */
3653  YYPTRDIFF_T yystacksize;
3654 
3655  /* The state stack. */
3656  yy_state_t yyssa[YYINITDEPTH];
3657  yy_state_t *yyss;
3658  yy_state_t *yyssp;
3659 
3660  /* The semantic value stack. */
3661  YYSTYPE yyvsa[YYINITDEPTH];
3662  YYSTYPE *yyvs;
3663  YYSTYPE *yyvsp;
3664 
3665  int yyn;
3666  /* The return value of yyparse. */
3667  int yyresult;
3668  /* Lookahead token as an internal (translated) token number. */
3670  /* The variables used to return semantic value and location from the
3671  action routines. */
3672  YYSTYPE yyval;
3673 
3674 
3675 
3676 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3677 
3678  /* The number of symbols on the RHS of the reduced rule.
3679  Keep to zero when no symbol should be popped. */
3680  int yylen = 0;
3681 
3682  yynerrs = 0;
3683  yystate = 0;
3684  yyerrstatus = 0;
3685 
3686  yystacksize = YYINITDEPTH;
3687  yyssp = yyss = yyssa;
3688  yyvsp = yyvs = yyvsa;
3689 
3690 
3691  YYDPRINTF ((stderr, "Starting parse\n"));
3692 
3693  yychar = YYEMPTY; /* Cause a token to be read. */
3694  goto yysetstate;
3695 
3696 
3697 /*------------------------------------------------------------.
3698 | yynewstate -- push a new state, which is found in yystate. |
3699 `------------------------------------------------------------*/
3700 yynewstate:
3701  /* In all cases, when you get here, the value and location stacks
3702  have just been pushed. So pushing a state here evens the stacks. */
3703  yyssp++;
3704 
3705 
3706 /*--------------------------------------------------------------------.
3707 | yysetstate -- set current state (the top of the stack) to yystate. |
3708 `--------------------------------------------------------------------*/
3709 yysetstate:
3710  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3711  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
3713  *yyssp = YY_CAST (yy_state_t, yystate);
3715  YY_STACK_PRINT (yyss, yyssp);
3716 
3717  if (yyss + yystacksize - 1 <= yyssp)
3718 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
3719  goto yyexhaustedlab;
3720 #else
3721  {
3722  /* Get the current used size of the three stacks, in elements. */
3723  YYPTRDIFF_T yysize = yyssp - yyss + 1;
3724 
3725 # if defined yyoverflow
3726  {
3727  /* Give user a chance to reallocate the stack. Use copies of
3728  these so that the &'s don't force the real ones into
3729  memory. */
3730  yy_state_t *yyss1 = yyss;
3731  YYSTYPE *yyvs1 = yyvs;
3732 
3733  /* Each stack pointer address is followed by the size of the
3734  data in use in that stack, in bytes. This used to be a
3735  conditional around just the two extra args, but that might
3736  be undefined if yyoverflow is a macro. */
3737  yyoverflow (YY_("memory exhausted"),
3738  &yyss1, yysize * YYSIZEOF (*yyssp),
3739  &yyvs1, yysize * YYSIZEOF (*yyvsp),
3740  &yystacksize);
3741  yyss = yyss1;
3742  yyvs = yyvs1;
3743  }
3744 # else /* defined YYSTACK_RELOCATE */
3745  /* Extend the stack our own way. */
3746  if (YYMAXDEPTH <= yystacksize)
3747  goto yyexhaustedlab;
3748  yystacksize *= 2;
3749  if (YYMAXDEPTH < yystacksize)
3750  yystacksize = YYMAXDEPTH;
3751 
3752  {
3753  yy_state_t *yyss1 = yyss;
3754  union yyalloc *yyptr =
3755  YY_CAST (union yyalloc *,
3756  YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
3757  if (! yyptr)
3758  goto yyexhaustedlab;
3759  YYSTACK_RELOCATE (yyss_alloc, yyss);
3760  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
3761 # undef YYSTACK_RELOCATE
3762  if (yyss1 != yyssa)
3763  YYSTACK_FREE (yyss1);
3764  }
3765 # endif
3766 
3767  yyssp = yyss + yysize - 1;
3768  yyvsp = yyvs + yysize - 1;
3769 
3771  YYDPRINTF ((stderr, "Stack size increased to %ld\n",
3772  YY_CAST (long, yystacksize)));
3774 
3775  if (yyss + yystacksize - 1 <= yyssp)
3776  YYABORT;
3777  }
3778 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
3779 
3780  if (yystate == YYFINAL)
3781  YYACCEPT;
3782 
3783  goto yybackup;
3784 
3785 
3786 /*-----------.
3787 | yybackup. |
3788 `-----------*/
3789 yybackup:
3790  /* Do appropriate processing given the current state. Read a
3791  lookahead token if we need one and don't already have one. */
3792 
3793  /* First try to decide what to do without reference to lookahead token. */
3794  yyn = yypact[yystate];
3795  if (yypact_value_is_default (yyn))
3796  goto yydefault;
3797 
3798  /* Not known => get a lookahead token if don't already have one. */
3799 
3800  /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
3801  if (yychar == YYEMPTY)
3802  {
3803  YYDPRINTF ((stderr, "Reading a token\n"));
3804  yychar = yylex ();
3805  }
3806 
3807  if (yychar <= YYEOF)
3808  {
3809  yychar = YYEOF;
3810  yytoken = YYSYMBOL_YYEOF;
3811  YYDPRINTF ((stderr, "Now at end of input.\n"));
3812  }
3813  else if (yychar == YYerror)
3814  {
3815  /* The scanner already issued an error message, process directly
3816  to error recovery. But do not keep the error token as
3817  lookahead, it is too special and may lead us to an endless
3818  loop in error recovery. */
3819  yychar = YYUNDEF;
3820  yytoken = YYSYMBOL_YYerror;
3821  goto yyerrlab1;
3822  }
3823  else
3824  {
3825  yytoken = YYTRANSLATE (yychar);
3826  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3827  }
3828 
3829  /* If the proper action on seeing token YYTOKEN is to reduce or to
3830  detect an error, take that action. */
3831  yyn += yytoken;
3832  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3833  goto yydefault;
3834  yyn = yytable[yyn];
3835  if (yyn <= 0)
3836  {
3837  if (yytable_value_is_error (yyn))
3838  goto yyerrlab;
3839  yyn = -yyn;
3840  goto yyreduce;
3841  }
3842 
3843  /* Count tokens shifted since error; after three, turn off error
3844  status. */
3845  if (yyerrstatus)
3846  yyerrstatus--;
3847 
3848  /* Shift the lookahead token. */
3849  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3850  yystate = yyn;
3852  *++yyvsp = yylval;
3854 
3855  /* Discard the shifted token. */
3856  yychar = YYEMPTY;
3857  goto yynewstate;
3858 
3859 
3860 /*-----------------------------------------------------------.
3861 | yydefault -- do the default action for the current state. |
3862 `-----------------------------------------------------------*/
3863 yydefault:
3864  yyn = yydefact[yystate];
3865  if (yyn == 0)
3866  goto yyerrlab;
3867  goto yyreduce;
3868 
3869 
3870 /*-----------------------------.
3871 | yyreduce -- do a reduction. |
3872 `-----------------------------*/
3873 yyreduce:
3874  /* yyn is the number of a rule to reduce with. */
3875  yylen = yyr2[yyn];
3876 
3877  /* If YYLEN is nonzero, implement the default value of the action:
3878  '$$ = $1'.
3879 
3880  Otherwise, the following line sets YYVAL to garbage.
3881  This behavior is undocumented and Bison
3882  users should not rely upon it. Assigning to YYVAL
3883  unconditionally makes the parser a bit smaller, and it avoids a
3884  GCC warning that YYVAL may be used uninitialized. */
3885  yyval = yyvsp[1-yylen];
3886 
3887 
3888  YY_REDUCE_PRINT (yyn);
3889  switch (yyn)
3890  {
3891  case 4:
3892 #line 290 "parser.y"
3893  {
3894  yyval=yyvsp[-1];
3895  parser_stack(yyval).id(ID_symbol);
3896  irep_idt value=parser_stack(yyvsp[0]).get(ID_value);
3897  parser_stack(yyval).set(ID_C_base_name, value);
3898  parser_stack(yyval).set(ID_identifier, value);
3899  parser_stack(yyval).set(
3900  ID_C_id_class, static_cast<int>(ansi_c_id_classt::ANSI_C_SYMBOL));
3901  }
3902 #line 3903 "ansi_c_y.tab.cpp"
3903  break;
3904 
3905  case 16:
3906 #line 335 "parser.y"
3907  { yyval = yyvsp[-1]; }
3908 #line 3909 "ansi_c_y.tab.cpp"
3909  break;
3910 
3911  case 24:
3912 #line 347 "parser.y"
3913  {
3914  yyval=yyvsp[-5];
3915  set(yyval, ID_generic_selection);
3916  mto(yyval, yyvsp[-3]);
3917  parser_stack(yyval).add(ID_generic_associations).get_sub().swap((irept::subt&)parser_stack(yyvsp[-1]).operands());
3918  }
3919 #line 3920 "ansi_c_y.tab.cpp"
3920  break;
3921 
3922  case 25:
3923 #line 357 "parser.y"
3924  {
3925  init(yyval); mto(yyval, yyvsp[0]);
3926  }
3927 #line 3928 "ansi_c_y.tab.cpp"
3928  break;
3929 
3930  case 26:
3931 #line 361 "parser.y"
3932  {
3933  yyval=yyvsp[-2]; mto(yyval, yyvsp[0]);
3934  }
3935 #line 3936 "ansi_c_y.tab.cpp"
3936  break;
3937 
3938  case 27:
3939 #line 368 "parser.y"
3940  {
3941  yyval=yyvsp[-1];
3942  parser_stack(yyval).id(ID_generic_association);
3943  parser_stack(yyval).set(ID_type_arg, parser_stack(yyvsp[-2]));
3944  parser_stack(yyval).set(ID_value, parser_stack(yyvsp[0]));
3945  }
3946 #line 3947 "ansi_c_y.tab.cpp"
3947  break;
3948 
3949  case 28:
3950 #line 375 "parser.y"
3951  {
3952  yyval=yyvsp[-1];
3953  parser_stack(yyval).id(ID_generic_association);
3954  parser_stack(yyval).set(ID_type_arg, irept(ID_default));
3955  parser_stack(yyval).set(ID_value, parser_stack(yyvsp[0]));
3956  }
3957 #line 3958 "ansi_c_y.tab.cpp"
3958  break;
3959 
3960  case 29:
3961 #line 385 "parser.y"
3962  {
3963  yyval=yyvsp[-5];
3964  parser_stack(yyval).id(ID_gcc_builtin_va_arg);
3965  mto(yyval, yyvsp[-3]);
3966  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
3967  }
3968 #line 3969 "ansi_c_y.tab.cpp"
3969  break;
3970 
3971  case 30:
3972 #line 393 "parser.y"
3973  {
3974  yyval=yyvsp[-5];
3975  parser_stack(yyval).id(ID_gcc_builtin_types_compatible_p);
3976  auto &type_arg=static_cast<type_with_subtypest &>(parser_stack(yyval).add(ID_type_arg));
3977  auto &subtypes=type_arg.subtypes();
3978  subtypes.resize(2);
3979  subtypes[0].swap(parser_stack(yyvsp[-3]));
3980  subtypes[1].swap(parser_stack(yyvsp[-1]));
3981  }
3982 #line 3983 "ansi_c_y.tab.cpp"
3983  break;
3984 
3985  case 31:
3986 #line 406 "parser.y"
3987  {
3988  yyval=yyvsp[-5];
3989  parser_stack(yyval).id(ID_clang_builtin_convertvector);
3990  mto(yyval, yyvsp[-3]);
3991  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
3992  }
3993 #line 3994 "ansi_c_y.tab.cpp"
3994  break;
3995 
3996  case 32:
3997 #line 416 "parser.y"
3998  {
3999  yyval=yyvsp[-3];
4000  parser_stack(yyval).id(ID_cw_va_arg_typeof);
4001  parser_stack(yyval).add(ID_type_arg).swap(parser_stack(yyvsp[-1]));
4002  }
4003 #line 4004 "ansi_c_y.tab.cpp"
4004  break;
4005 
4006  case 33:
4007 #line 425 "parser.y"
4008  {
4009  yyval=yyvsp[-5];
4010  parser_stack(yyval).id(ID_builtin_offsetof);
4011  parser_stack(yyval).add(ID_type_arg).swap(parser_stack(yyvsp[-3]));
4012  parser_stack(yyval).add(ID_designator).swap(parser_stack(yyvsp[-1]));
4013  }
4014 #line 4015 "ansi_c_y.tab.cpp"
4015  break;
4016 
4017  case 34:
4018 #line 435 "parser.y"
4019  {
4020  init(yyval, ID_designated_initializer);
4021  parser_stack(yyval).operands().resize(1);
4022  auto &op = to_unary_expr(parser_stack(yyval)).op();
4023  op.id(ID_member);
4024  op.add_source_location()=parser_stack(yyvsp[0]).source_location();
4025  op.set(ID_component_name, parser_stack(yyvsp[0]).get(ID_C_base_name));
4026  }
4027 #line 4028 "ansi_c_y.tab.cpp"
4028  break;
4029 
4030  case 35:
4031 #line 444 "parser.y"
4032  {
4033  yyval=yyvsp[-2];
4034  set(yyvsp[-1], ID_member);
4035  parser_stack(yyvsp[-1]).set(ID_component_name, parser_stack(yyvsp[0]).get(ID_C_base_name));
4036  mto(yyval, yyvsp[-1]);
4037  }
4038 #line 4039 "ansi_c_y.tab.cpp"
4039  break;
4040 
4041  case 36:
4042 #line 451 "parser.y"
4043  {
4044  yyval=yyvsp[-3];
4045  set(yyvsp[-2], ID_index);
4046  mto(yyvsp[-2], yyvsp[-1]);
4047  mto(yyval, yyvsp[-2]);
4048  }
4049 #line 4050 "ansi_c_y.tab.cpp"
4050  break;
4051 
4052  case 37:
4053 #line 458 "parser.y"
4054  {
4055  yyval=yyvsp[-2];
4056  set(yyvsp[-1], ID_index);
4057  parser_stack(yyvsp[-1]).add_to_operands(convert_integer_literal("0"));
4058  mto(yyval, yyvsp[-1]);
4059  set(yyvsp[-1], ID_member);
4060  parser_stack(yyvsp[-1]).set(ID_component_name, parser_stack(yyvsp[0]).get(ID_C_base_name));
4061  mto(yyval, yyvsp[-1]);
4062  }
4063 #line 4064 "ansi_c_y.tab.cpp"
4064  break;
4065 
4066  case 38:
4067 #line 471 "parser.y"
4068  {
4069  yyval=yyvsp[-5];
4070  set(yyval, ID_forall);
4071  parser_stack(yyval).add_to_operands(tuple_exprt( { std::move(parser_stack(yyvsp[-2])) } ));
4072  mto(yyval, yyvsp[-1]);
4073  PARSER.pop_scope();
4074  }
4075 #line 4076 "ansi_c_y.tab.cpp"
4076  break;
4077 
4078  case 39:
4079 #line 479 "parser.y"
4080  {
4081  yyval=yyvsp[-5];
4082  set(yyval, ID_exists);
4083  parser_stack(yyval).add_to_operands(tuple_exprt( { std::move(parser_stack(yyvsp[-2])) } ));
4084  mto(yyval, yyvsp[-1]);
4085  PARSER.pop_scope();
4086  }
4087 #line 4088 "ansi_c_y.tab.cpp"
4088  break;
4089 
4090  case 40:
4091 #line 490 "parser.y"
4092  { init(yyval); parser_stack(yyval).make_nil(); }
4093 #line 4094 "ansi_c_y.tab.cpp"
4094  break;
4095 
4096  case 41:
4097 #line 492 "parser.y"
4098  { yyval=yyvsp[-1]; }
4099 #line 4100 "ansi_c_y.tab.cpp"
4100  break;
4101 
4102  case 42:
4103 #line 497 "parser.y"
4104  { init(yyval); parser_stack(yyval).make_nil(); }
4105 #line 4106 "ansi_c_y.tab.cpp"
4106  break;
4107 
4108  case 43:
4109 #line 499 "parser.y"
4110  { yyval=yyvsp[-1]; }
4111 #line 4112 "ansi_c_y.tab.cpp"
4112  break;
4113 
4114  case 44:
4115 #line 504 "parser.y"
4116  { init(yyval); parser_stack(yyval).make_nil(); }
4117 #line 4118 "ansi_c_y.tab.cpp"
4118  break;
4119 
4120  case 45:
4121 #line 506 "parser.y"
4122  { yyval=yyvsp[-1]; }
4123 #line 4124 "ansi_c_y.tab.cpp"
4124  break;
4125 
4126  case 46:
4127 #line 510 "parser.y"
4128  {
4129  yyval=yyvsp[-2];
4130  set(yyval, ID_side_effect);
4131  parser_stack(yyval).set(ID_statement, ID_statement_expression);
4132  mto(yyval, yyvsp[-1]);
4133  }
4134 #line 4135 "ansi_c_y.tab.cpp"
4135  break;
4136 
4137  case 48:
4138 #line 521 "parser.y"
4139  { binary(yyval, yyvsp[-3], yyvsp[-2], ID_index, yyvsp[-1]); }
4140 #line 4141 "ansi_c_y.tab.cpp"
4141  break;
4142 
4143  case 49:
4144 #line 523 "parser.y"
4145  { yyval=yyvsp[-1];
4146  set(yyval, ID_side_effect);
4147  auto &side_effect = to_side_effect_expr(parser_stack(yyval));
4148  side_effect.set_statement(ID_function_call);
4149  side_effect.operands().resize(2);
4150  to_binary_expr(side_effect).op0().swap(parser_stack(yyvsp[-2]));
4151  to_binary_expr(side_effect).op1().clear();
4152  to_binary_expr(side_effect).op1().id(ID_arguments);
4153  }
4154 #line 4155 "ansi_c_y.tab.cpp"
4155  break;
4156 
4157  case 50:
4158 #line 533 "parser.y"
4159  { yyval=yyvsp[-2];
4160  set(yyval, ID_side_effect);
4161  auto &side_effect = to_side_effect_expr(parser_stack(yyval));
4162  side_effect.set_statement(ID_function_call);
4163  side_effect.operands().resize(2);
4164  to_binary_expr(side_effect).op0().swap(parser_stack(yyvsp[-3]));
4165  to_binary_expr(side_effect).op1().swap(parser_stack(yyvsp[-1]));
4166  to_binary_expr(side_effect).op1().id(ID_arguments);
4167  }
4168 #line 4169 "ansi_c_y.tab.cpp"
4169  break;
4170 
4171  case 51:
4172 #line 543 "parser.y"
4173  { yyval=yyvsp[-1];
4174  set(yyval, ID_member);
4175  mto(yyval, yyvsp[-2]);
4176  parser_stack(yyval).set(ID_component_name, parser_stack(yyvsp[0]).get(ID_C_base_name));
4177  }
4178 #line 4179 "ansi_c_y.tab.cpp"
4179  break;
4180 
4181  case 52:
4182 #line 549 "parser.y"
4183  { yyval=yyvsp[-1];
4184  set(yyval, ID_ptrmember);
4185  mto(yyval, yyvsp[-2]);
4186  parser_stack(yyval).set(ID_component_name, parser_stack(yyvsp[0]).get(ID_C_base_name));
4187  }
4188 #line 4189 "ansi_c_y.tab.cpp"
4189  break;
4190 
4191  case 53:
4192 #line 555 "parser.y"
4193  { yyval=yyvsp[0];
4194  set(yyval, ID_side_effect);
4195  parser_stack(yyval).set(ID_statement, ID_postincrement);
4196  mto(yyval, yyvsp[-1]);
4197  }
4198 #line 4199 "ansi_c_y.tab.cpp"
4199  break;
4200 
4201  case 54:
4202 #line 561 "parser.y"
4203  { yyval=yyvsp[0];
4204  set(yyval, ID_side_effect);
4205  parser_stack(yyval).set(ID_statement, ID_postdecrement);
4206  mto(yyval, yyvsp[-1]);
4207  }
4208 #line 4209 "ansi_c_y.tab.cpp"
4209  break;
4210 
4211  case 55:
4212 #line 568 "parser.y"
4213  {
4214  exprt tmp(ID_initializer_list);
4215  tmp.add_source_location()=parser_stack(yyvsp[-2]).source_location();
4216  tmp.operands().swap(parser_stack(yyvsp[-1]).operands());
4217  yyval=yyvsp[-5];
4218  set(yyval, ID_typecast);
4219  parser_stack(yyval).add_to_operands(std::move(tmp));
4220  parser_stack(yyval).type().swap(parser_stack(yyvsp[-4]));
4221  }
4222 #line 4223 "ansi_c_y.tab.cpp"
4223  break;
4224 
4225  case 56:
4226 #line 578 "parser.y"
4227  {
4228  // same as above
4229  exprt tmp(ID_initializer_list);
4230  tmp.add_source_location()=parser_stack(yyvsp[-3]).source_location();
4231  tmp.operands().swap(parser_stack(yyvsp[-2]).operands());
4232  yyval=yyvsp[-6];
4233  set(yyval, ID_typecast);
4234  parser_stack(yyval).add_to_operands(std::move(tmp));
4235  parser_stack(yyval).type().swap(parser_stack(yyvsp[-5]));
4236  }
4237 #line 4238 "ansi_c_y.tab.cpp"
4238  break;
4239 
4240  case 59:
4241 #line 597 "parser.y"
4242  {
4243  init(yyval, ID_expression_list);
4244  mto(yyval, yyvsp[0]);
4245  }
4246 #line 4247 "ansi_c_y.tab.cpp"
4247  break;
4248 
4249  case 60:
4250 #line 602 "parser.y"
4251  {
4252  yyval=yyvsp[-2];
4253  mto(yyval, yyvsp[0]);
4254  }
4255 #line 4256 "ansi_c_y.tab.cpp"
4256  break;
4257 
4258  case 62:
4259 #line 611 "parser.y"
4260  { yyval=yyvsp[-1];
4261  set(yyval, ID_side_effect);
4262  parser_stack(yyval).set(ID_statement, ID_preincrement);
4263  mto(yyval, yyvsp[0]);
4264  }
4265 #line 4266 "ansi_c_y.tab.cpp"
4266  break;
4267 
4268  case 63:
4269 #line 617 "parser.y"
4270  { yyval=yyvsp[-1];
4271  set(yyval, ID_side_effect);
4272  parser_stack(yyval).set(ID_statement, ID_predecrement);
4273  mto(yyval, yyvsp[0]);
4274  }
4275 #line 4276 "ansi_c_y.tab.cpp"
4276  break;
4277 
4278  case 64:
4279 #line 623 "parser.y"
4280  { yyval=yyvsp[-1];
4281  set(yyval, ID_address_of);
4282  mto(yyval, yyvsp[0]);
4283  }
4284 #line 4285 "ansi_c_y.tab.cpp"
4285  break;
4286 
4287  case 65:
4288 #line 628 "parser.y"
4289  { // this takes the address of a label (a gcc extension)
4290  yyval=yyvsp[-1];
4291  irep_idt identifier=PARSER.lookup_label(parser_stack(yyvsp[0]).get(ID_C_base_name));
4292  set(yyval, ID_address_of);
4293  parser_stack(yyval).operands().resize(1);
4294  auto &op = to_unary_expr(parser_stack(yyval)).op();
4295  op=parser_stack(yyvsp[0]);
4296  op.id(ID_label);
4297  op.set(ID_identifier, identifier);
4298  }
4299 #line 4300 "ansi_c_y.tab.cpp"
4300  break;
4301 
4302  case 66:
4303 #line 639 "parser.y"
4304  { yyval=yyvsp[-1];
4305  set(yyval, ID_dereference);
4306  mto(yyval, yyvsp[0]);
4307  }
4308 #line 4309 "ansi_c_y.tab.cpp"
4309  break;
4310 
4311  case 67:
4312 #line 644 "parser.y"
4313  { yyval=yyvsp[-1];
4314  set(yyval, ID_unary_plus);
4315  mto(yyval, yyvsp[0]);
4316  }
4317 #line 4318 "ansi_c_y.tab.cpp"
4318  break;
4319 
4320  case 68:
4321 #line 649 "parser.y"
4322  { yyval=yyvsp[-1];
4323  set(yyval, ID_unary_minus);
4324  mto(yyval, yyvsp[0]);
4325  }
4326 #line 4327 "ansi_c_y.tab.cpp"
4327  break;
4328 
4329  case 69:
4330 #line 654 "parser.y"
4331  { yyval=yyvsp[-1];
4332  set(yyval, ID_bitnot);
4333  mto(yyval, yyvsp[0]);
4334  }
4335 #line 4336 "ansi_c_y.tab.cpp"
4336  break;
4337 
4338  case 70:
4339 #line 659 "parser.y"
4340  { yyval=yyvsp[-1];
4341  set(yyval, ID_not);
4342  mto(yyval, yyvsp[0]);
4343  }
4344 #line 4345 "ansi_c_y.tab.cpp"
4345  break;
4346 
4347  case 71:
4348 #line 664 "parser.y"
4349  { yyval=yyvsp[-1];
4350  set(yyval, ID_sizeof);
4351  mto(yyval, yyvsp[0]);
4352  }
4353 #line 4354 "ansi_c_y.tab.cpp"
4354  break;
4355 
4356  case 72:
4357 #line 669 "parser.y"
4358  { yyval=yyvsp[-3];
4359  set(yyval, ID_sizeof);
4360  parser_stack(yyval).add(ID_type_arg).swap(parser_stack(yyvsp[-1]));
4361  }
4362 #line 4363 "ansi_c_y.tab.cpp"
4363  break;
4364 
4365  case 73:
4366 #line 674 "parser.y"
4367  { // note no parentheses for expressions, just like sizeof
4368  yyval=yyvsp[-1];
4369  set(yyval, ID_alignof);
4370  mto(yyval, yyvsp[0]);
4371  }
4372 #line 4373 "ansi_c_y.tab.cpp"
4373  break;
4374 
4375  case 74:
4376 #line 680 "parser.y"
4377  {
4378  yyval=yyvsp[-3];
4379  parser_stack(yyval).id(ID_alignof);
4380  parser_stack(yyval).add(ID_type_arg).swap(parser_stack(yyvsp[-1]));
4381  }
4382 #line 4383 "ansi_c_y.tab.cpp"
4383  break;
4384 
4385  case 76:
4386 #line 690 "parser.y"
4387  {
4388  yyval=yyvsp[-3];
4389  set(yyval, ID_typecast);
4390  mto(yyval, yyvsp[0]);
4391  parser_stack(yyval).type().swap(parser_stack(yyvsp[-2]));
4392  }
4393 #line 4394 "ansi_c_y.tab.cpp"
4394  break;
4395 
4396  case 77:
4397 #line 697 "parser.y"
4398  { yyval=yyvsp[-1];
4399  set(yyval, ID_complex_real);
4400  mto(yyval, yyvsp[0]);
4401  }
4402 #line 4403 "ansi_c_y.tab.cpp"
4403  break;
4404 
4405  case 78:
4406 #line 702 "parser.y"
4407  { yyval=yyvsp[-1];
4408  set(yyval, ID_complex_imag);
4409  mto(yyval, yyvsp[0]);
4410  }
4411 #line 4412 "ansi_c_y.tab.cpp"
4412  break;
4413 
4414  case 80:
4415 #line 711 "parser.y"
4416  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_mult, yyvsp[0]); }
4417 #line 4418 "ansi_c_y.tab.cpp"
4418  break;
4419 
4420  case 81:
4421 #line 713 "parser.y"
4422  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_div, yyvsp[0]); }
4423 #line 4424 "ansi_c_y.tab.cpp"
4424  break;
4425 
4426  case 82:
4427 #line 715 "parser.y"
4428  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_mod, yyvsp[0]); }
4429 #line 4430 "ansi_c_y.tab.cpp"
4430  break;
4431 
4432  case 84:
4433 #line 721 "parser.y"
4434  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_plus, yyvsp[0]); }
4435 #line 4436 "ansi_c_y.tab.cpp"
4436  break;
4437 
4438  case 85:
4439 #line 723 "parser.y"
4440  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_minus, yyvsp[0]); }
4441 #line 4442 "ansi_c_y.tab.cpp"
4442  break;
4443 
4444  case 87:
4445 #line 729 "parser.y"
4446  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_shl, yyvsp[0]); }
4447 #line 4448 "ansi_c_y.tab.cpp"
4448  break;
4449 
4450  case 88:
4451 #line 731 "parser.y"
4452  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_shr, yyvsp[0]); }
4453 #line 4454 "ansi_c_y.tab.cpp"
4454  break;
4455 
4456  case 90:
4457 #line 737 "parser.y"
4458  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_lt, yyvsp[0]); }
4459 #line 4460 "ansi_c_y.tab.cpp"
4460  break;
4461 
4462  case 91:
4463 #line 739 "parser.y"
4464  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_gt, yyvsp[0]); }
4465 #line 4466 "ansi_c_y.tab.cpp"
4466  break;
4467 
4468  case 92:
4469 #line 741 "parser.y"
4470  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_le, yyvsp[0]); }
4471 #line 4472 "ansi_c_y.tab.cpp"
4472  break;
4473 
4474  case 93:
4475 #line 743 "parser.y"
4476  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_ge, yyvsp[0]); }
4477 #line 4478 "ansi_c_y.tab.cpp"
4478  break;
4479 
4480  case 95:
4481 #line 749 "parser.y"
4482  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_equal, yyvsp[0]); }
4483 #line 4484 "ansi_c_y.tab.cpp"
4484  break;
4485 
4486  case 96:
4487 #line 751 "parser.y"
4488  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_notequal, yyvsp[0]); }
4489 #line 4490 "ansi_c_y.tab.cpp"
4490  break;
4491 
4492  case 98:
4493 #line 757 "parser.y"
4494  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_bitand, yyvsp[0]); }
4495 #line 4496 "ansi_c_y.tab.cpp"
4496  break;
4497 
4498  case 100:
4499 #line 763 "parser.y"
4500  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_bitxor, yyvsp[0]); }
4501 #line 4502 "ansi_c_y.tab.cpp"
4502  break;
4503 
4504  case 102:
4505 #line 769 "parser.y"
4506  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_bitor, yyvsp[0]); }
4507 #line 4508 "ansi_c_y.tab.cpp"
4508  break;
4509 
4510  case 104:
4511 #line 775 "parser.y"
4512  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_and, yyvsp[0]); }
4513 #line 4514 "ansi_c_y.tab.cpp"
4514  break;
4515 
4516  case 106:
4517 #line 781 "parser.y"
4518  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_xor, yyvsp[0]); }
4519 #line 4520 "ansi_c_y.tab.cpp"
4520  break;
4521 
4522  case 108:
4523 #line 787 "parser.y"
4524  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_or, yyvsp[0]); }
4525 #line 4526 "ansi_c_y.tab.cpp"
4526  break;
4527 
4528  case 110:
4529 #line 796 "parser.y"
4530  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_implies, yyvsp[0]); }
4531 #line 4532 "ansi_c_y.tab.cpp"
4532  break;
4533 
4534  case 112:
4535 #line 805 "parser.y"
4536  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_equal, yyvsp[0]); }
4537 #line 4538 "ansi_c_y.tab.cpp"
4538  break;
4539 
4540  case 114:
4541 #line 812 "parser.y"
4542  {
4543  yyval=yyvsp[-3];
4544  set(yyval, ID_forall);
4545  parser_stack(yyval).add_to_operands(tuple_exprt( { std::move(parser_stack(yyvsp[-1])) } ));
4546  mto(yyval, yyvsp[0]);
4547  PARSER.pop_scope();
4548  }
4549 #line 4550 "ansi_c_y.tab.cpp"
4550  break;
4551 
4552  case 115:
4553 #line 820 "parser.y"
4554  {
4555  yyval=yyvsp[-3];
4556  set(yyval, ID_exists);
4557  parser_stack(yyval).add_to_operands(tuple_exprt( { std::move(parser_stack(yyvsp[-1])) } ));
4558  mto(yyval, yyvsp[0]);
4559  PARSER.pop_scope();
4560  }
4561 #line 4562 "ansi_c_y.tab.cpp"
4562  break;
4563 
4564  case 117:
4565 #line 832 "parser.y"
4566  { yyval=yyvsp[-3];
4567  parser_stack(yyval).id(ID_if);
4568  mto(yyval, yyvsp[-4]);
4569  mto(yyval, yyvsp[-2]);
4570  mto(yyval, yyvsp[0]);
4571  }
4572 #line 4573 "ansi_c_y.tab.cpp"
4573  break;
4574 
4575  case 118:
4576 #line 839 "parser.y"
4577  { yyval=yyvsp[-2];
4578  parser_stack(yyval).id(ID_side_effect);
4579  parser_stack(yyval).set(ID_statement, ID_gcc_conditional_expression);
4580  mto(yyval, yyvsp[-3]);
4581  mto(yyval, yyvsp[0]);
4582  }
4583 #line 4584 "ansi_c_y.tab.cpp"
4584  break;
4585 
4586  case 120:
4587 #line 850 "parser.y"
4588  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign); }
4589 #line 4590 "ansi_c_y.tab.cpp"
4590  break;
4591 
4592  case 121:
4593 #line 852 "parser.y"
4594  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_mult); }
4595 #line 4596 "ansi_c_y.tab.cpp"
4596  break;
4597 
4598  case 122:
4599 #line 854 "parser.y"
4600  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_div); }
4601 #line 4602 "ansi_c_y.tab.cpp"
4602  break;
4603 
4604  case 123:
4605 #line 856 "parser.y"
4606  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_mod); }
4607 #line 4608 "ansi_c_y.tab.cpp"
4608  break;
4609 
4610  case 124:
4611 #line 858 "parser.y"
4612  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_plus); }
4613 #line 4614 "ansi_c_y.tab.cpp"
4614  break;
4615 
4616  case 125:
4617 #line 860 "parser.y"
4618  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_minus); }
4619 #line 4620 "ansi_c_y.tab.cpp"
4620  break;
4621 
4622  case 126:
4623 #line 862 "parser.y"
4624  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_shl); }
4625 #line 4626 "ansi_c_y.tab.cpp"
4626  break;
4627 
4628  case 127:
4629 #line 864 "parser.y"
4630  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_shr); }
4631 #line 4632 "ansi_c_y.tab.cpp"
4632  break;
4633 
4634  case 128:
4635 #line 866 "parser.y"
4636  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_bitand); }
4637 #line 4638 "ansi_c_y.tab.cpp"
4638  break;
4639 
4640  case 129:
4641 #line 868 "parser.y"
4642  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_bitxor); }
4643 #line 4644 "ansi_c_y.tab.cpp"
4644  break;
4645 
4646  case 130:
4647 #line 870 "parser.y"
4648  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_side_effect, yyvsp[0]); parser_stack(yyval).set(ID_statement, ID_assign_bitor); }
4649 #line 4650 "ansi_c_y.tab.cpp"
4650  break;
4651 
4652  case 132:
4653 #line 876 "parser.y"
4654  { binary(yyval, yyvsp[-2], yyvsp[-1], ID_comma, yyvsp[0]); }
4655 #line 4656 "ansi_c_y.tab.cpp"
4656  break;
4657 
4658  case 134:
4659 #line 885 "parser.y"
4660  { init(yyval); parser_stack(yyval).make_nil(); }
4661 #line 4662 "ansi_c_y.tab.cpp"
4662  break;
4663 
4664  case 136:
4665 #line 893 "parser.y"
4666  {
4667  // type only, no declarator!
4668  init(yyval, ID_declaration);
4669  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
4670  }
4671 #line 4672 "ansi_c_y.tab.cpp"
4672  break;
4673 
4674  case 137:
4675 #line 899 "parser.y"
4676  {
4677  // type only, no identifier!
4678  init(yyval, ID_declaration);
4679  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
4680  }
4681 #line 4682 "ansi_c_y.tab.cpp"
4682  break;
4683 
4684  case 141:
4685 #line 911 "parser.y"
4686  {
4687  yyval=yyvsp[-5];
4688  set(yyval, ID_declaration);
4690  mto(yyval, yyvsp[-3]);
4691  mto(yyval, yyvsp[-1]);
4692  }
4693 #line 4694 "ansi_c_y.tab.cpp"
4694  break;
4695 
4696  case 142:
4697 #line 922 "parser.y"
4698  {
4699  init(yyval, ID_declaration);
4700  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
4701  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
4702  }
4703 #line 4704 "ansi_c_y.tab.cpp"
4704  break;
4705 
4706  case 143:
4707 #line 928 "parser.y"
4708  {
4709  // patch on the initializer
4710  yyval=yyvsp[-1];
4712  }
4713 #line 4714 "ansi_c_y.tab.cpp"
4714  break;
4715 
4716  case 144:
4717 #line 934 "parser.y"
4718  {
4719  init(yyval, ID_declaration);
4720  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
4721  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
4722  }
4723 #line 4724 "ansi_c_y.tab.cpp"
4724  break;
4725 
4726  case 145:
4727 #line 940 "parser.y"
4728  {
4729  // patch on the initializer
4730  yyval=yyvsp[-1];
4732  }
4733 #line 4734 "ansi_c_y.tab.cpp"
4734  break;
4735 
4736  case 146:
4737 #line 946 "parser.y"
4738  {
4739  // just add the declarator
4740  PARSER.add_declarator(parser_stack(yyvsp[-2]), parser_stack(yyvsp[0]));
4741  // Needs to be done before initializer, as we want to see that identifier
4742  // already there!
4743  }
4744 #line 4745 "ansi_c_y.tab.cpp"
4745  break;
4746 
4747  case 147:
4748 #line 953 "parser.y"
4749  {
4750  // patch on the initializer
4751  yyval=yyvsp[-4];
4753  }
4754 #line 4755 "ansi_c_y.tab.cpp"
4755  break;
4756 
4757  case 148:
4758 #line 962 "parser.y"
4759  {
4760  yyval=yyvsp[-4];
4761  parser_stack(yyval).id(ID_asm);
4762  parser_stack(yyval).set(ID_flavor, ID_gcc);
4763  parser_stack(yyval).operands().swap(parser_stack(yyvsp[-1]).operands());
4764  }
4765 #line 4766 "ansi_c_y.tab.cpp"
4766  break;
4767 
4768  case 150:
4769 #line 973 "parser.y"
4770  {
4771  yyval=merge(yyvsp[-1], yyvsp[0]);
4772  }
4773 #line 4774 "ansi_c_y.tab.cpp"
4774  break;
4775 
4776  case 152:
4777 #line 981 "parser.y"
4778  {
4779  init(yyval);
4780  }
4781 #line 4782 "ansi_c_y.tab.cpp"
4782  break;
4783 
4784  case 154:
4785 #line 990 "parser.y"
4786  {
4787  yyvsp[-1]=merge(yyvsp[0], yyvsp[-1]); // type attribute
4788 
4789  // the symbol has to be visible during initialization
4790  init(yyval, ID_declaration);
4791  parser_stack(yyval).type().swap(parser_stack(yyvsp[-2]));
4792  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[-1]));
4793  }
4794 #line 4795 "ansi_c_y.tab.cpp"
4795  break;
4796 
4797  case 155:
4798 #line 999 "parser.y"
4799  {
4800  // add the initializer
4801  yyval=yyvsp[-1];
4803  }
4804 #line 4805 "ansi_c_y.tab.cpp"
4805  break;
4806 
4807  case 156:
4808 #line 1006 "parser.y"
4809  {
4810  yyvsp[-1]=merge(yyvsp[0], yyvsp[-1]);
4811 
4812  // the symbol has to be visible during initialization
4813  init(yyval, ID_declaration);
4814  parser_stack(yyval).type().swap(parser_stack(yyvsp[-2]));
4815  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[-1]));
4816  }
4817 #line 4818 "ansi_c_y.tab.cpp"
4818  break;
4819 
4820  case 157:
4821 #line 1015 "parser.y"
4822  {
4823  // add the initializer
4824  yyval=yyvsp[-1];
4826  }
4827 #line 4828 "ansi_c_y.tab.cpp"
4828  break;
4829 
4830  case 158:
4831 #line 1022 "parser.y"
4832  {
4833  // handled as typeof(initializer)
4834  parser_stack(yyvsp[-4]).id(ID_typeof);
4835  parser_stack(yyvsp[-4]).copy_to_operands(parser_stack(yyvsp[0]));
4836 
4837  yyvsp[-3]=merge(yyvsp[-2], yyvsp[-3]);
4838 
4839  // the symbol has to be visible during initialization
4840  init(yyval, ID_declaration);
4841  parser_stack(yyval).type().swap(parser_stack(yyvsp[-4]));
4842  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[-3]));
4843  // add the initializer
4845  }
4846 #line 4847 "ansi_c_y.tab.cpp"
4847  break;
4848 
4849  case 159:
4850 #line 1038 "parser.y"
4851  {
4852  // type attribute goes into declarator
4853  yyvsp[0]=merge(yyvsp[0], yyvsp[-2]);
4854  yyvsp[-1]=merge(yyvsp[0], yyvsp[-1]);
4855  PARSER.add_declarator(parser_stack(yyvsp[-4]), parser_stack(yyvsp[-1]));
4856  }
4857 #line 4858 "ansi_c_y.tab.cpp"
4858  break;
4859 
4860  case 160:
4861 #line 1045 "parser.y"
4862  {
4863  // add in the initializer
4864  yyval=yyvsp[-6];
4866  }
4867 #line 4868 "ansi_c_y.tab.cpp"
4868  break;
4869 
4870  case 172:
4871 #line 1071 "parser.y"
4872  {
4873  yyval=merge(yyvsp[-1], yyvsp[0]);
4874  }
4875 #line 4876 "ansi_c_y.tab.cpp"
4876  break;
4877 
4878  case 174:
4879 #line 1076 "parser.y"
4880  {
4881  yyval=merge(yyvsp[-1], yyvsp[0]);
4882  }
4883 #line 4884 "ansi_c_y.tab.cpp"
4884  break;
4885 
4886  case 175:
4887 #line 1080 "parser.y"
4888  {
4889  yyval=merge(yyvsp[-1], yyvsp[0]);
4890  }
4891 #line 4892 "ansi_c_y.tab.cpp"
4892  break;
4893 
4894  case 177:
4895 #line 1088 "parser.y"
4896  {
4897  yyval=merge(yyvsp[-1], yyvsp[0]);
4898  }
4899 #line 4900 "ansi_c_y.tab.cpp"
4900  break;
4901 
4902  case 178:
4903 #line 1095 "parser.y"
4904  {
4905  yyval=merge(yyvsp[-1], yyvsp[0]);
4906  }
4907 #line 4908 "ansi_c_y.tab.cpp"
4908  break;
4909 
4910  case 180:
4911 #line 1103 "parser.y"
4912  {
4913  yyval=merge(yyvsp[-1], yyvsp[0]);
4914  }
4915 #line 4916 "ansi_c_y.tab.cpp"
4916  break;
4917 
4918  case 183:
4919 #line 1114 "parser.y"
4920  { yyval=yyvsp[0]; set(yyval, ID_atomic); }
4921 #line 4922 "ansi_c_y.tab.cpp"
4922  break;
4923 
4924  case 184:
4925 #line 1115 "parser.y"
4926  { yyval=yyvsp[0]; set(yyval, ID_const); }
4927 #line 4928 "ansi_c_y.tab.cpp"
4928  break;
4929 
4930  case 185:
4931 #line 1116 "parser.y"
4932  { yyval=yyvsp[0]; set(yyval, ID_restrict); }
4933 #line 4934 "ansi_c_y.tab.cpp"
4934  break;
4935 
4936  case 186:
4937 #line 1117 "parser.y"
4938  { yyval=yyvsp[0]; set(yyval, ID_volatile); }
4939 #line 4940 "ansi_c_y.tab.cpp"
4940  break;
4941 
4942  case 187:
4943 #line 1118 "parser.y"
4944  { yyval=yyvsp[0]; set(yyval, ID_cprover_atomic); }
4945 #line 4946 "ansi_c_y.tab.cpp"
4946  break;
4947 
4948  case 188:
4949 #line 1119 "parser.y"
4950  { yyval=yyvsp[0]; set(yyval, ID_ptr32); }
4951 #line 4952 "ansi_c_y.tab.cpp"
4952  break;
4953 
4954  case 189:
4955 #line 1120 "parser.y"
4956  { yyval=yyvsp[0]; set(yyval, ID_ptr64); }
4957 #line 4958 "ansi_c_y.tab.cpp"
4958  break;
4959 
4960  case 190:
4961 #line 1121 "parser.y"
4962  { yyval=yyvsp[-3]; set(yyval, ID_msc_based); mto(yyval, yyvsp[-1]); }
4963 #line 4964 "ansi_c_y.tab.cpp"
4964  break;
4965 
4966  case 192:
4967 #line 1127 "parser.y"
4968  { yyval = yyvsp[-3];
4969  parser_stack(yyval).id(ID_aligned);
4970  parser_stack(yyval).set(ID_size, parser_stack(yyvsp[-1]));
4971  }
4972 #line 4973 "ansi_c_y.tab.cpp"
4973  break;
4974 
4975  case 193:
4976 #line 1132 "parser.y"
4977  { yyval = yyvsp[-3];
4978  parser_stack(yyval).id(ID_aligned);
4979  parser_stack(yyvsp[-1]).set(ID_type_arg, parser_stack(yyvsp[-1]));
4980  }
4981 #line 4982 "ansi_c_y.tab.cpp"
4982  break;
4983 
4984  case 200:
4985 #line 1152 "parser.y"
4986  {
4987  yyval=merge(yyvsp[-1], yyvsp[0]);
4988  }
4989 #line 4990 "ansi_c_y.tab.cpp"
4990  break;
4991 
4992  case 201:
4993 #line 1159 "parser.y"
4994  {
4995  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
4996  }
4997 #line 4998 "ansi_c_y.tab.cpp"
4998  break;
4999 
5000  case 202:
5001 #line 1163 "parser.y"
5002  {
5003  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5004  }
5005 #line 5006 "ansi_c_y.tab.cpp"
5006  break;
5007 
5008  case 203:
5009 #line 1167 "parser.y"
5010  {
5011  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5012  }
5013 #line 5014 "ansi_c_y.tab.cpp"
5014  break;
5015 
5016  case 204:
5017 #line 1171 "parser.y"
5018  {
5019  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5020  }
5021 #line 5022 "ansi_c_y.tab.cpp"
5022  break;
5023 
5024  case 205:
5025 #line 1178 "parser.y"
5026  {
5027  yyval=merge(yyvsp[-1], yyvsp[0]); // type attribute
5028  }
5029 #line 5030 "ansi_c_y.tab.cpp"
5030  break;
5031 
5032  case 206:
5033 #line 1182 "parser.y"
5034  {
5035  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5036  }
5037 #line 5038 "ansi_c_y.tab.cpp"
5038  break;
5039 
5040  case 207:
5041 #line 1186 "parser.y"
5042  {
5043  yyval=merge(yyvsp[-1], yyvsp[0]);
5044  }
5045 #line 5046 "ansi_c_y.tab.cpp"
5046  break;
5047 
5048  case 208:
5049 #line 1190 "parser.y"
5050  {
5051  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5052  }
5053 #line 5054 "ansi_c_y.tab.cpp"
5054  break;
5055 
5056  case 209:
5057 #line 1197 "parser.y"
5058  {
5059  yyval=merge(yyvsp[-1], yyvsp[0]);
5060  }
5061 #line 5062 "ansi_c_y.tab.cpp"
5062  break;
5063 
5064  case 210:
5065 #line 1201 "parser.y"
5066  {
5067  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5068  }
5069 #line 5070 "ansi_c_y.tab.cpp"
5070  break;
5071 
5072  case 211:
5073 #line 1205 "parser.y"
5074  {
5075  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5076  }
5077 #line 5078 "ansi_c_y.tab.cpp"
5078  break;
5079 
5080  case 213:
5081 #line 1213 "parser.y"
5082  {
5083  yyval=merge(yyvsp[-1], yyvsp[0]);
5084  }
5085 #line 5086 "ansi_c_y.tab.cpp"
5086  break;
5087 
5088  case 214:
5089 #line 1217 "parser.y"
5090  {
5091  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5092  }
5093 #line 5094 "ansi_c_y.tab.cpp"
5094  break;
5095 
5096  case 215:
5097 #line 1224 "parser.y"
5098  {
5099  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5100  }
5101 #line 5102 "ansi_c_y.tab.cpp"
5102  break;
5103 
5104  case 216:
5105 #line 1228 "parser.y"
5106  {
5107  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5108  }
5109 #line 5110 "ansi_c_y.tab.cpp"
5110  break;
5111 
5112  case 217:
5113 #line 1232 "parser.y"
5114  {
5115  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5116  }
5117 #line 5118 "ansi_c_y.tab.cpp"
5118  break;
5119 
5120  case 218:
5121 #line 1239 "parser.y"
5122  {
5123  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5124  }
5125 #line 5126 "ansi_c_y.tab.cpp"
5126  break;
5127 
5128  case 219:
5129 #line 1243 "parser.y"
5130  {
5131  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5132  }
5133 #line 5134 "ansi_c_y.tab.cpp"
5134  break;
5135 
5136  case 220:
5137 #line 1247 "parser.y"
5138  {
5139  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5140  }
5141 #line 5142 "ansi_c_y.tab.cpp"
5142  break;
5143 
5144  case 221:
5145 #line 1254 "parser.y"
5146  {
5147  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5148  }
5149 #line 5150 "ansi_c_y.tab.cpp"
5150  break;
5151 
5152  case 222:
5153 #line 1258 "parser.y"
5154  {
5155  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5156  }
5157 #line 5158 "ansi_c_y.tab.cpp"
5158  break;
5159 
5160  case 223:
5161 #line 1262 "parser.y"
5162  {
5163  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5164  }
5165 #line 5166 "ansi_c_y.tab.cpp"
5166  break;
5167 
5168  case 224:
5169 #line 1269 "parser.y"
5170  {
5171  yyval=merge(yyvsp[-1], yyvsp[0]);
5172  }
5173 #line 5174 "ansi_c_y.tab.cpp"
5174  break;
5175 
5176  case 225:
5177 #line 1273 "parser.y"
5178  {
5179  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5180  }
5181 #line 5182 "ansi_c_y.tab.cpp"
5182  break;
5183 
5184  case 226:
5185 #line 1277 "parser.y"
5186  {
5187  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5188  }
5189 #line 5190 "ansi_c_y.tab.cpp"
5190  break;
5191 
5192  case 227:
5193 #line 1284 "parser.y"
5194  { yyval = yyvsp[-3];
5195  parser_stack(yyval).id(ID_typeof);
5196  mto(yyval, yyvsp[-1]);
5197  }
5198 #line 5199 "ansi_c_y.tab.cpp"
5199  break;
5200 
5201  case 228:
5202 #line 1289 "parser.y"
5203  { yyval = yyvsp[-3];
5204  parser_stack(yyval).id(ID_typeof);
5205  parser_stack(yyval).set(ID_type_arg, parser_stack(yyvsp[-1]));
5206  }
5207 #line 5208 "ansi_c_y.tab.cpp"
5208  break;
5209 
5210  case 230:
5211 #line 1298 "parser.y"
5212  {
5213  yyval=merge(yyvsp[-1], yyvsp[0]);
5214  }
5215 #line 5216 "ansi_c_y.tab.cpp"
5216  break;
5217 
5218  case 231:
5219 #line 1302 "parser.y"
5220  {
5221  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5222  }
5223 #line 5224 "ansi_c_y.tab.cpp"
5224  break;
5225 
5226  case 232:
5227 #line 1306 "parser.y"
5228  {
5229  yyval=merge(yyvsp[-1], yyvsp[0]);
5230  }
5231 #line 5232 "ansi_c_y.tab.cpp"
5232  break;
5233 
5234  case 233:
5235 #line 1313 "parser.y"
5236  {
5237  yyval=yyvsp[-3];
5238  parser_stack(yyval).id(ID_atomic_type_specifier);
5239  stack_type(yyval).subtype()=stack_type(yyvsp[-1]);
5240  }
5241 #line 5242 "ansi_c_y.tab.cpp"
5242  break;
5243 
5244  case 235:
5245 #line 1323 "parser.y"
5246  {
5247  yyval=merge(yyvsp[-1], yyvsp[0]);
5248  }
5249 #line 5250 "ansi_c_y.tab.cpp"
5250  break;
5251 
5252  case 236:
5253 #line 1327 "parser.y"
5254  {
5255  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
5256  }
5257 #line 5258 "ansi_c_y.tab.cpp"
5258  break;
5259 
5260  case 237:
5261 #line 1331 "parser.y"
5262  {
5263  yyval=merge(yyvsp[-1], yyvsp[0]);
5264  }
5265 #line 5266 "ansi_c_y.tab.cpp"
5266  break;
5267 
5268  case 238:
5269 #line 1338 "parser.y"
5270  {
5271  parser_stack(yyval).id(parser_stack(yyval).get(ID_identifier));
5272  }
5273 #line 5274 "ansi_c_y.tab.cpp"
5274  break;
5275 
5276  case 239:
5277 #line 1342 "parser.y"
5278  {
5279  parser_stack(yyval).id(parser_stack(yyval).get(ID_identifier));
5280  }
5281 #line 5282 "ansi_c_y.tab.cpp"
5282  break;
5283 
5284  case 240:
5285 #line 1346 "parser.y"
5286  {
5287  parser_stack(yyval).id(ID_restrict);
5288  }
5289 #line 5290 "ansi_c_y.tab.cpp"
5290  break;
5291 
5292  case 242:
5293 #line 1354 "parser.y"
5294  {
5295  yyval=yyvsp[-3]; mto(yyval, yyvsp[-1]);
5296  }
5297 #line 5298 "ansi_c_y.tab.cpp"
5298  break;
5299 
5300  case 243:
5301 #line 1358 "parser.y"
5302  {
5303  yyval=yyvsp[-3]; mto(yyval, yyvsp[-1]);
5304  }
5305 #line 5306 "ansi_c_y.tab.cpp"
5306  break;
5307 
5308  case 244:
5309 #line 1362 "parser.y"
5310  {
5311  yyval=yyvsp[-5]; mto(yyval, yyvsp[-3]); mto(yyval, yyvsp[-1]);
5312  }
5313 #line 5314 "ansi_c_y.tab.cpp"
5314  break;
5315 
5316  case 245:
5317 #line 1366 "parser.y"
5318  {
5319  yyval=yyvsp[-9]; mto(yyval, yyvsp[-7]); mto(yyval, yyvsp[-5]); mto(yyval, yyvsp[-3]); mto(yyval, yyvsp[-1]);
5320  }
5321 #line 5322 "ansi_c_y.tab.cpp"
5322  break;
5323 
5324  case 246:
5325 #line 1369 "parser.y"
5326  { init(yyval, ID_nil); }
5327 #line 5328 "ansi_c_y.tab.cpp"
5328  break;
5329 
5330  case 247:
5331 #line 1374 "parser.y"
5332  {
5333  init(yyval); mto(yyval, yyvsp[0]);
5334  }
5335 #line 5336 "ansi_c_y.tab.cpp"
5336  break;
5337 
5338  case 248:
5339 #line 1378 "parser.y"
5340  {
5341  yyval=yyvsp[-1]; mto(yyval, yyvsp[0]);
5342  }
5343 #line 5344 "ansi_c_y.tab.cpp"
5344  break;
5345 
5346  case 249:
5347 #line 1385 "parser.y"
5348  {
5349  yyval=yyvsp[-3]; set(yyval, ID_msc_declspec);
5350  parser_stack(yyval).operands().swap(parser_stack(yyvsp[-1]).operands());
5351  }
5352 #line 5353 "ansi_c_y.tab.cpp"
5353  break;
5354 
5355  case 250:
5356 #line 1390 "parser.y"
5357  {
5358  yyval=yyvsp[-2]; set(yyval, ID_msc_declspec);
5359  }
5360 #line 5361 "ansi_c_y.tab.cpp"
5361  break;
5362 
5363  case 251:
5364 #line 1397 "parser.y"
5365  {
5366  init(yyval, ID_nil);
5367  }
5368 #line 5369 "ansi_c_y.tab.cpp"
5369  break;
5370 
5371  case 253:
5372 #line 1404 "parser.y"
5373  { yyval=yyvsp[0]; set(yyval, ID_typedef); }
5374 #line 5375 "ansi_c_y.tab.cpp"
5375  break;
5376 
5377  case 254:
5378 #line 1405 "parser.y"
5379  { yyval=yyvsp[0]; set(yyval, ID_extern); }
5380 #line 5381 "ansi_c_y.tab.cpp"
5381  break;
5382 
5383  case 255:
5384 #line 1406 "parser.y"
5385  { yyval=yyvsp[0]; set(yyval, ID_static); }
5386 #line 5387 "ansi_c_y.tab.cpp"
5387  break;
5388 
5389  case 256:
5390 #line 1407 "parser.y"
5391  { yyval=yyvsp[0]; set(yyval, ID_auto); }
5392 #line 5393 "ansi_c_y.tab.cpp"
5393  break;
5394 
5395  case 257:
5396 #line 1408 "parser.y"
5397  { yyval=yyvsp[0]; set(yyval, ID_register); }
5398 #line 5399 "ansi_c_y.tab.cpp"
5399  break;
5400 
5401  case 258:
5402 #line 1409 "parser.y"
5403  { yyval=yyvsp[0]; set(yyval, ID_inline); }
5404 #line 5405 "ansi_c_y.tab.cpp"
5405  break;
5406 
5407  case 259:
5408 #line 1410 "parser.y"
5409  { yyval=yyvsp[0]; set(yyval, ID_thread_local); }
5410 #line 5411 "ansi_c_y.tab.cpp"
5411  break;
5412 
5413  case 260:
5414 #line 1411 "parser.y"
5415  { yyval=yyvsp[0]; set(yyval, ID_asm); }
5416 #line 5417 "ansi_c_y.tab.cpp"
5417  break;
5418 
5419  case 261:
5420 #line 1412 "parser.y"
5421  { yyval=yyvsp[0]; }
5422 #line 5423 "ansi_c_y.tab.cpp"
5423  break;
5424 
5425  case 262:
5426 #line 1414 "parser.y"
5427  {
5428  // equivalent to always_inline, and seemingly also has the semantics
5429  // of extern inline in that multiple definitions can be provided in
5430  // the same translation unit
5431  init(yyval);
5432  set(yyval, ID_static);
5433  set(yyvsp[0], ID_inline);
5434  #if 0
5435  // enable once always_inline support is reinstantiated
5436  yyvsp[0]=merge(yyvsp[0], yyval);
5437 
5438  init(yyval);
5439  set(yyval, ID_always_inline);
5440  yyval=merge(yyvsp[0], yyval);
5441  #else
5442  yyval=merge(yyvsp[0], yyval);
5443  #endif
5444  }
5445 #line 5446 "ansi_c_y.tab.cpp"
5446  break;
5447 
5448  case 263:
5449 #line 1435 "parser.y"
5450  { yyval=yyvsp[0]; set(yyval, ID_int); }
5451 #line 5452 "ansi_c_y.tab.cpp"
5452  break;
5453 
5454  case 264:
5455 #line 1436 "parser.y"
5456  { yyval=yyvsp[0]; set(yyval, ID_int8); }
5457 #line 5458 "ansi_c_y.tab.cpp"
5458  break;
5459 
5460  case 265:
5461 #line 1437 "parser.y"
5462  { yyval=yyvsp[0]; set(yyval, ID_int16); }
5463 #line 5464 "ansi_c_y.tab.cpp"
5464  break;
5465 
5466  case 266:
5467 #line 1438 "parser.y"
5468  { yyval=yyvsp[0]; set(yyval, ID_int32); }
5469 #line 5470 "ansi_c_y.tab.cpp"
5470  break;
5471 
5472  case 267:
5473 #line 1439 "parser.y"
5474  { yyval=yyvsp[0]; set(yyval, ID_int64); }
5475 #line 5476 "ansi_c_y.tab.cpp"
5476  break;
5477 
5478  case 268:
5479 #line 1440 "parser.y"
5480  { yyval=yyvsp[0]; set(yyval, ID_char); }
5481 #line 5482 "ansi_c_y.tab.cpp"
5482  break;
5483 
5484  case 269:
5485 #line 1441 "parser.y"
5486  { yyval=yyvsp[0]; set(yyval, ID_short); }
5487 #line 5488 "ansi_c_y.tab.cpp"
5488  break;
5489 
5490  case 270:
5491 #line 1442 "parser.y"
5492  { yyval=yyvsp[0]; set(yyval, ID_long); }
5493 #line 5494 "ansi_c_y.tab.cpp"
5494  break;
5495 
5496  case 271:
5497 #line 1443 "parser.y"
5498  { yyval=yyvsp[0]; set(yyval, ID_float); }
5499 #line 5500 "ansi_c_y.tab.cpp"
5500  break;
5501 
5502  case 272:
5503 #line 1444 "parser.y"
5504  { yyval=yyvsp[0]; set(yyval, ID_gcc_float16); }
5505 #line 5506 "ansi_c_y.tab.cpp"
5506  break;
5507 
5508  case 273:
5509 #line 1445 "parser.y"
5510  { yyval=yyvsp[0]; set(yyval, ID_gcc_float32); }
5511 #line 5512 "ansi_c_y.tab.cpp"
5512  break;
5513 
5514  case 274:
5515 #line 1446 "parser.y"
5516  { yyval=yyvsp[0]; set(yyval, ID_gcc_float32x); }
5517 #line 5518 "ansi_c_y.tab.cpp"
5518  break;
5519 
5520  case 275:
5521 #line 1447 "parser.y"
5522  { yyval=yyvsp[0]; set(yyval, ID_gcc_float64); }
5523 #line 5524 "ansi_c_y.tab.cpp"
5524  break;
5525 
5526  case 276:
5527 #line 1448 "parser.y"
5528  { yyval=yyvsp[0]; set(yyval, ID_gcc_float64x); }
5529 #line 5530 "ansi_c_y.tab.cpp"
5530  break;
5531 
5532  case 277:
5533 #line 1449 "parser.y"
5534  { yyval=yyvsp[0]; set(yyval, ID_gcc_float80); }
5535 #line 5536 "ansi_c_y.tab.cpp"
5536  break;
5537 
5538  case 278:
5539 #line 1450 "parser.y"
5540  { yyval=yyvsp[0]; set(yyval, ID_gcc_float128); }
5541 #line 5542 "ansi_c_y.tab.cpp"
5542  break;
5543 
5544  case 279:
5545 #line 1451 "parser.y"
5546  { yyval=yyvsp[0]; set(yyval, ID_gcc_float128x); }
5547 #line 5548 "ansi_c_y.tab.cpp"
5548  break;
5549 
5550  case 280:
5551 #line 1452 "parser.y"
5552  { yyval=yyvsp[0]; set(yyval, ID_gcc_int128); }
5553 #line 5554 "ansi_c_y.tab.cpp"
5554  break;
5555 
5556  case 281:
5557 #line 1453 "parser.y"
5558  { yyval=yyvsp[0]; set(yyval, ID_gcc_decimal32); }
5559 #line 5560 "ansi_c_y.tab.cpp"
5560  break;
5561 
5562  case 282:
5563 #line 1454 "parser.y"
5564  { yyval=yyvsp[0]; set(yyval, ID_gcc_decimal64); }
5565 #line 5566 "ansi_c_y.tab.cpp"
5566  break;
5567 
5568  case 283:
5569 #line 1455 "parser.y"
5570  { yyval=yyvsp[0]; set(yyval, ID_gcc_decimal128); }
5571 #line 5572 "ansi_c_y.tab.cpp"
5572  break;
5573 
5574  case 284:
5575 #line 1456 "parser.y"
5576  { yyval=yyvsp[0]; set(yyval, ID_double); }
5577 #line 5578 "ansi_c_y.tab.cpp"
5578  break;
5579 
5580  case 285:
5581 #line 1457 "parser.y"
5582  { yyval=yyvsp[0]; set(yyval, ID_signed); }
5583 #line 5584 "ansi_c_y.tab.cpp"
5584  break;
5585 
5586  case 286:
5587 #line 1458 "parser.y"
5588  { yyval=yyvsp[0]; set(yyval, ID_unsigned); }
5589 #line 5590 "ansi_c_y.tab.cpp"
5590  break;
5591 
5592  case 287:
5593 #line 1459 "parser.y"
5594  { yyval=yyvsp[0]; set(yyval, ID_void); }
5595 #line 5596 "ansi_c_y.tab.cpp"
5596  break;
5597 
5598  case 288:
5599 #line 1460 "parser.y"
5600  { yyval=yyvsp[0]; set(yyval, ID_c_bool); }
5601 #line 5602 "ansi_c_y.tab.cpp"
5602  break;
5603 
5604  case 289:
5605 #line 1461 "parser.y"
5606  { yyval=yyvsp[0]; set(yyval, ID_complex); }
5607 #line 5608 "ansi_c_y.tab.cpp"
5608  break;
5609 
5610  case 290:
5611 #line 1463 "parser.y"
5612  {
5613  yyval=yyvsp[-3];
5614  set(yyval, ID_custom_bv);
5615  parser_stack(yyval).add(ID_size).swap(parser_stack(yyvsp[-1]));
5616  }
5617 #line 5618 "ansi_c_y.tab.cpp"
5618  break;
5619 
5620  case 291:
5621 #line 1469 "parser.y"
5622  {
5623  yyval=yyvsp[-6];
5624  set(yyval, ID_custom_floatbv);
5625  parser_stack(yyval).add(ID_size).swap(parser_stack(yyvsp[-4]));
5626  parser_stack(yyval).add(ID_f).swap(parser_stack(yyvsp[-1]));
5627  }
5628 #line 5629 "ansi_c_y.tab.cpp"
5629  break;
5630 
5631  case 292:
5632 #line 1476 "parser.y"
5633  {
5634  yyval=yyvsp[-6];
5635  set(yyval, ID_custom_fixedbv);
5636  parser_stack(yyval).add(ID_size).swap(parser_stack(yyvsp[-4]));
5637  parser_stack(yyval).add(ID_f).swap(parser_stack(yyvsp[-1]));
5638  }
5639 #line 5640 "ansi_c_y.tab.cpp"
5640  break;
5641 
5642  case 293:
5643 #line 1482 "parser.y"
5644  { yyval=yyvsp[0]; set(yyval, ID_proper_bool); }
5645 #line 5646 "ansi_c_y.tab.cpp"
5646  break;
5647 
5648  case 297:
5649 #line 1493 "parser.y"
5650  { yyval=yyvsp[-3]; stack_type(yyval).subtype().swap(parser_stack(yyvsp[-2])); }
5651 #line 5652 "ansi_c_y.tab.cpp"
5652  break;
5653 
5654  case 298:
5655 #line 1497 "parser.y"
5656  {
5657  init(yyval);
5658  if(!PARSER.pragma_pack.empty() &&
5659  PARSER.pragma_pack.back().is_one())
5660  set(yyval, ID_packed);
5661  }
5662 #line 5663 "ansi_c_y.tab.cpp"
5663  break;
5664 
5665  case 299:
5666 #line 1509 "parser.y"
5667  {
5668  // an anon struct/union with body
5669  }
5670 #line 5671 "ansi_c_y.tab.cpp"
5671  break;
5672 
5673  case 300:
5674 #line 1515 "parser.y"
5675  {
5676  // save the members
5677  parser_stack(yyvsp[-8]).add(ID_components).get_sub().swap(
5678  (irept::subt &)parser_stack(yyvsp[-3]).operands());
5679 
5680  // throw in the gcc attributes
5681  yyval=merge(yyvsp[-8], merge(yyvsp[-7], merge(yyvsp[-1], yyvsp[0])));
5682  }
5683 #line 5684 "ansi_c_y.tab.cpp"
5684  break;
5685 
5686  case 301:
5687 #line 1527 "parser.y"
5688  {
5689  // A struct/union with tag and body.
5690  PARSER.add_tag_with_body(parser_stack(yyvsp[0]));
5691  parser_stack(yyvsp[-3]).set(ID_tag, parser_stack(yyvsp[0]));
5692  }
5693 #line 5694 "ansi_c_y.tab.cpp"
5694  break;
5695 
5696  case 302:
5697 #line 1535 "parser.y"
5698  {
5699  // save the members
5700  parser_stack(yyvsp[-9]).add(ID_components).get_sub().swap(
5701  (irept::subt &)parser_stack(yyvsp[-3]).operands());
5702 
5703  // throw in the gcc attributes
5704  yyval=merge(yyvsp[-9], merge(yyvsp[-8], merge(yyvsp[-1], yyvsp[0])));
5705  }
5706 #line 5707 "ansi_c_y.tab.cpp"
5707  break;
5708 
5709  case 303:
5710 #line 1547 "parser.y"
5711  {
5712  // a struct/union with tag but without body
5713  parser_stack(yyvsp[-3]).set(ID_tag, parser_stack(yyvsp[0]));
5714  }
5715 #line 5716 "ansi_c_y.tab.cpp"
5716  break;
5717 
5718  case 304:
5719 #line 1552 "parser.y"
5720  {
5721  parser_stack(yyvsp[-5]).set(ID_components, ID_nil);
5722  // type attributes
5723  yyval=merge(yyvsp[-5], merge(yyvsp[-4], yyvsp[0]));
5724  }
5725 #line 5726 "ansi_c_y.tab.cpp"
5726  break;
5727 
5728  case 305:
5729 #line 1561 "parser.y"
5730  { yyval=yyvsp[0]; set(yyval, ID_struct); }
5731 #line 5732 "ansi_c_y.tab.cpp"
5732  break;
5733 
5734  case 306:
5735 #line 1563 "parser.y"
5736  { yyval=yyvsp[0]; set(yyval, ID_union); }
5737 #line 5738 "ansi_c_y.tab.cpp"
5738  break;
5739 
5740  case 307:
5741 #line 1568 "parser.y"
5742  { yyval=yyvsp[0]; set(yyval, ID_packed); }
5743 #line 5744 "ansi_c_y.tab.cpp"
5744  break;
5745 
5746  case 308:
5747 #line 1570 "parser.y"
5748  { yyval=yyvsp[0]; set(yyval, ID_transparent_union); }
5749 #line 5750 "ansi_c_y.tab.cpp"
5750  break;
5751 
5752  case 309:
5753 #line 1572 "parser.y"
5754  { yyval=yyvsp[-3]; set(yyval, ID_vector); parser_stack(yyval).add(ID_size)=parser_stack(yyvsp[-1]); }
5755 #line 5756 "ansi_c_y.tab.cpp"
5756  break;
5757 
5758  case 310:
5759 #line 1574 "parser.y"
5760  { yyval=yyvsp[0]; set(yyval, ID_aligned); }
5761 #line 5762 "ansi_c_y.tab.cpp"
5762  break;
5763 
5764  case 311:
5765 #line 1576 "parser.y"
5766  { yyval=yyvsp[-3]; set(yyval, ID_aligned); parser_stack(yyval).set(ID_size, parser_stack(yyvsp[-1])); }
5767 #line 5768 "ansi_c_y.tab.cpp"
5768  break;
5769 
5770  case 312:
5771 #line 1578 "parser.y"
5772  { yyval=yyvsp[-3]; set(yyval, ID_gcc_attribute_mode); parser_stack(yyval).set(ID_size, parser_stack(yyvsp[-1]).get(ID_identifier)); }
5773 #line 5774 "ansi_c_y.tab.cpp"
5774  break;
5775 
5776  case 313:
5777 #line 1580 "parser.y"
5778  { yyval=yyvsp[0]; set(yyval, ID_static); }
5779 #line 5780 "ansi_c_y.tab.cpp"
5780  break;
5781 
5782  case 314:
5783 #line 1582 "parser.y"
5784  { yyval=yyvsp[0]; set(yyval, ID_weak); }
5785 #line 5786 "ansi_c_y.tab.cpp"
5786  break;
5787 
5788  case 315:
5789 #line 1584 "parser.y"
5790  { yyval=yyvsp[-3]; set(yyval, ID_alias); mto(yyval, yyvsp[-1]); }
5791 #line 5792 "ansi_c_y.tab.cpp"
5792  break;
5793 
5794  case 316:
5795 #line 1586 "parser.y"
5796  { yyval=yyvsp[-3]; set(yyval, ID_section); mto(yyval, yyvsp[-1]); }
5797 #line 5798 "ansi_c_y.tab.cpp"
5798  break;
5799 
5800  case 317:
5801 #line 1588 "parser.y"
5802  { yyval=yyvsp[0]; set(yyval, ID_noreturn); }
5803 #line 5804 "ansi_c_y.tab.cpp"
5804  break;
5805 
5806  case 318:
5807 #line 1590 "parser.y"
5808  { yyval=yyvsp[0]; set(yyval, ID_constructor); }
5809 #line 5810 "ansi_c_y.tab.cpp"
5810  break;
5811 
5812  case 319:
5813 #line 1592 "parser.y"
5814  { yyval=yyvsp[0]; set(yyval, ID_destructor); }
5815 #line 5816 "ansi_c_y.tab.cpp"
5816  break;
5817 
5818  case 320:
5819 #line 1594 "parser.y"
5820  { yyval=yyvsp[0]; set(yyval, ID_used); }
5821 #line 5822 "ansi_c_y.tab.cpp"
5822  break;
5823 
5824  case 321:
5825 #line 1599 "parser.y"
5826  {
5827  init(yyval);
5828  }
5829 #line 5830 "ansi_c_y.tab.cpp"
5830  break;
5831 
5832  case 324:
5833 #line 1608 "parser.y"
5834  {
5835  yyval=merge(yyvsp[-2], yyvsp[0]);
5836  }
5837 #line 5838 "ansi_c_y.tab.cpp"
5838  break;
5839 
5840  case 325:
5841 #line 1615 "parser.y"
5842  { yyval=yyvsp[-2]; }
5843 #line 5844 "ansi_c_y.tab.cpp"
5844  break;
5845 
5846  case 326:
5847 #line 1617 "parser.y"
5848  { yyval=yyvsp[0]; set(yyval, ID_noreturn); }
5849 #line 5850 "ansi_c_y.tab.cpp"
5850  break;
5851 
5852  case 327:
5853 #line 1622 "parser.y"
5854  {
5855  init(yyval);
5856  }
5857 #line 5858 "ansi_c_y.tab.cpp"
5858  break;
5859 
5860  case 330:
5861 #line 1631 "parser.y"
5862  {
5863  yyval=merge(yyvsp[-1], yyvsp[0]);
5864  }
5865 #line 5866 "ansi_c_y.tab.cpp"
5866  break;
5867 
5868  case 331:
5869 #line 1638 "parser.y"
5870  {
5871  init(yyval, ID_declaration_list);
5872  }
5873 #line 5874 "ansi_c_y.tab.cpp"
5874  break;
5875 
5876  case 333:
5877 #line 1646 "parser.y"
5878  {
5879  init(yyval, ID_declaration_list);
5880  mto(yyval, yyvsp[0]);
5881  }
5882 #line 5883 "ansi_c_y.tab.cpp"
5883  break;
5884 
5885  case 334:
5886 #line 1651 "parser.y"
5887  {
5888  yyval=yyvsp[-1];
5889  mto(yyval, yyvsp[0]);
5890  }
5891 #line 5892 "ansi_c_y.tab.cpp"
5892  break;
5893 
5894  case 337:
5895 #line 1661 "parser.y"
5896  {
5897  yyval=yyvsp[0]; // the ';' becomes the location of the declaration
5898  parser_stack(yyval).id(ID_declaration);
5899  }
5900 #line 5901 "ansi_c_y.tab.cpp"
5901  break;
5902 
5903  case 339:
5904 #line 1675 "parser.y"
5905  {
5906  yyvsp[-1]=merge(yyvsp[-1], yyvsp[-2]);
5907 
5908  init(yyval, ID_declaration);
5910  parser_stack(yyval).add_source_location()=parser_stack(yyvsp[-1]).source_location();
5911  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
5912  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
5913  }
5914 #line 5915 "ansi_c_y.tab.cpp"
5915  break;
5916 
5917  case 340:
5918 #line 1685 "parser.y"
5919  {
5920  yyval=yyvsp[-2];
5921  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
5922  }
5923 #line 5924 "ansi_c_y.tab.cpp"
5924  break;
5925 
5926  case 341:
5927 #line 1695 "parser.y"
5928  {
5929  if(!PARSER.pragma_pack.empty() &&
5930  !PARSER.pragma_pack.back().is_zero())
5931  {
5932  // communicate #pragma pack(n) alignment constraints by
5933  // by both setting packing AND alignment; see padding.cpp
5934  // for more details
5935  init(yyval);
5936  set(yyval, ID_packed);
5937  yyvsp[-1]=merge(yyvsp[-1], yyval);
5938 
5939  init(yyval);
5940  set(yyval, ID_aligned);
5941  parser_stack(yyval).set(ID_size, PARSER.pragma_pack.back());
5942  yyvsp[-1]=merge(yyvsp[-1], yyval);
5943  }
5944 
5945  yyvsp[-1]=merge(yyvsp[-1], yyvsp[-2]);
5946 
5947  init(yyval, ID_declaration);
5949  parser_stack(yyval).add_source_location()=parser_stack(yyvsp[-1]).source_location();
5950  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
5951  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
5952  }
5953 #line 5954 "ansi_c_y.tab.cpp"
5954  break;
5955 
5956  case 342:
5957 #line 1721 "parser.y"
5958  {
5959  yyval=yyvsp[-2];
5960  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
5961  }
5962 #line 5963 "ansi_c_y.tab.cpp"
5963  break;
5964 
5965  case 343:
5966 #line 1729 "parser.y"
5967  {
5968  yyval=yyvsp[-2];
5969 
5970  if(parser_stack(yyvsp[-1]).is_not_nil())
5971  make_subtype(yyval, yyvsp[-1]);
5972 
5973  if(parser_stack(yyvsp[0]).is_not_nil()) // type attribute
5974  yyval=merge(yyvsp[0], yyval);
5975  }
5976 #line 5977 "ansi_c_y.tab.cpp"
5977  break;
5978 
5979  case 344:
5980 #line 1739 "parser.y"
5981  {
5982  init(yyval, ID_abstract);
5983  }
5984 #line 5985 "ansi_c_y.tab.cpp"
5985  break;
5986 
5987  case 345:
5988 #line 1743 "parser.y"
5989  {
5990  yyval=yyvsp[-1];
5991  stack_type(yyval).subtype()=typet(ID_abstract);
5992 
5993  if(parser_stack(yyvsp[0]).is_not_nil()) // type attribute
5994  yyval=merge(yyvsp[0], yyval);
5995  }
5996 #line 5997 "ansi_c_y.tab.cpp"
5997  break;
5998 
5999  case 346:
6000 #line 1754 "parser.y"
6001  {
6002  yyval=yyvsp[-2];
6003  if(parser_stack(yyvsp[-1]).is_not_nil())
6004  make_subtype(yyval, yyvsp[-1]);
6005 
6006  if(parser_stack(yyvsp[0]).is_not_nil()) // type attribute
6007  yyval=merge(yyvsp[0], yyval);
6008  }
6009 #line 6010 "ansi_c_y.tab.cpp"
6010  break;
6011 
6012  case 347:
6013 #line 1763 "parser.y"
6014  {
6015  yyval=yyvsp[-1];
6016  stack_type(yyval).subtype()=typet(ID_abstract);
6017 
6018  if(parser_stack(yyvsp[0]).is_not_nil()) // type attribute
6019  yyval=merge(yyvsp[0], yyval);
6020  }
6021 #line 6022 "ansi_c_y.tab.cpp"
6022  break;
6023 
6024  case 348:
6025 #line 1774 "parser.y"
6026  {
6027  init(yyval, ID_nil);
6028  }
6029 #line 6030 "ansi_c_y.tab.cpp"
6030  break;
6031 
6032  case 350:
6033 #line 1782 "parser.y"
6034  {
6035  yyval=yyvsp[-1];
6036  set(yyval, ID_c_bit_field);
6037  stack_type(yyval).set(ID_size, parser_stack(yyvsp[0]));
6038  stack_type(yyval).subtype().id(ID_abstract);
6039  }
6040 #line 6041 "ansi_c_y.tab.cpp"
6041  break;
6042 
6043  case 351:
6044 #line 1793 "parser.y"
6045  {
6046  // an anon enum
6047  }
6048 #line 6049 "ansi_c_y.tab.cpp"
6049  break;
6050 
6051  case 352:
6052 #line 1798 "parser.y"
6053  {
6054  parser_stack(yyvsp[-6]).operands().swap(parser_stack(yyvsp[-2]).operands());
6055  yyval=merge(yyvsp[-6], merge(yyvsp[-5], yyvsp[0])); // throw in the gcc attributes
6056  }
6057 #line 6058 "ansi_c_y.tab.cpp"
6058  break;
6059 
6060  case 353:
6061 #line 1805 "parser.y"
6062  {
6063  // an enum with tag
6064  parser_stack(yyvsp[-2]).set(ID_tag, parser_stack(yyvsp[0]));
6065  }
6066 #line 6067 "ansi_c_y.tab.cpp"
6067  break;
6068 
6069  case 354:
6070 #line 1811 "parser.y"
6071  {
6072  parser_stack(yyvsp[-7]).operands().swap(parser_stack(yyvsp[-2]).operands());
6073  yyval=merge(yyvsp[-7], merge(yyvsp[-6], yyvsp[0])); // throw in the gcc attributes
6074  }
6075 #line 6076 "ansi_c_y.tab.cpp"
6076  break;
6077 
6078  case 355:
6079 #line 1819 "parser.y"
6080  {
6081  parser_stack(yyvsp[-3]).id(ID_c_enum_tag); // tag only
6082  parser_stack(yyvsp[-3]).set(ID_tag, parser_stack(yyvsp[-1]));
6083  yyval=merge(yyvsp[-3], merge(yyvsp[-2], yyvsp[0])); // throw in the gcc attributes
6084  }
6085 #line 6086 "ansi_c_y.tab.cpp"
6086  break;
6087 
6088  case 356:
6089 #line 1827 "parser.y"
6090  {
6091  yyval=yyvsp[0];
6092  set(yyval, ID_c_enum);
6093  }
6094 #line 6095 "ansi_c_y.tab.cpp"
6095  break;
6096 
6097  case 357:
6098 #line 1835 "parser.y"
6099  {
6100  init(yyval, ID_declaration_list);
6101  }
6102 #line 6103 "ansi_c_y.tab.cpp"
6103  break;
6104 
6105  case 359:
6106 #line 1843 "parser.y"
6107  {
6108  init(yyval, ID_declaration_list);
6109  mto(yyval, yyvsp[0]);
6110  }
6111 #line 6112 "ansi_c_y.tab.cpp"
6112  break;
6113 
6114  case 360:
6115 #line 1848 "parser.y"
6116  {
6117  yyval=yyvsp[-2];
6118  mto(yyval, yyvsp[0]);
6119  }
6120 #line 6121 "ansi_c_y.tab.cpp"
6121  break;
6122 
6123  case 361:
6124 #line 1853 "parser.y"
6125  {
6126  yyval=yyvsp[-1];
6127  }
6128 #line 6129 "ansi_c_y.tab.cpp"
6129  break;
6130 
6131  case 362:
6132 #line 1860 "parser.y"
6133  {
6134  init(yyval, ID_declaration);
6136  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[-2]));
6138  }
6139 #line 6140 "ansi_c_y.tab.cpp"
6140  break;
6141 
6142  case 363:
6143 #line 1870 "parser.y"
6144  {
6145  init(yyval);
6146  parser_stack(yyval).make_nil();
6147  }
6148 #line 6149 "ansi_c_y.tab.cpp"
6149  break;
6150 
6151  case 364:
6152 #line 1875 "parser.y"
6153  {
6154  yyval=yyvsp[0];
6155  }
6156 #line 6157 "ansi_c_y.tab.cpp"
6157  break;
6158 
6159  case 366:
6160 #line 1883 "parser.y"
6161  {
6162  typet tmp(ID_ellipsis);
6163  yyval=yyvsp[-2];
6165  }
6166 #line 6167 "ansi_c_y.tab.cpp"
6167  break;
6168 
6169  case 367:
6170 #line 1892 "parser.y"
6171  {
6172  init(yyval, ID_parameters);
6173  mts(yyval, yyvsp[0]);
6174  }
6175 #line 6176 "ansi_c_y.tab.cpp"
6176  break;
6177 
6178  case 368:
6179 #line 1897 "parser.y"
6180  {
6181  yyval=yyvsp[-2];
6182  mts(yyval, yyvsp[0]);
6183  }
6184 #line 6185 "ansi_c_y.tab.cpp"
6185  break;
6186 
6187  case 369:
6188 #line 1904 "parser.y"
6189  {
6190  init(yyval, ID_declaration);
6191  parser_stack(yyval).type()=typet(ID_KnR);
6192  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
6193  }
6194 #line 6195 "ansi_c_y.tab.cpp"
6195  break;
6196 
6197  case 370:
6198 #line 1913 "parser.y"
6199  {
6200  init(yyval, ID_parameters);
6201  mts(yyval, yyvsp[0]);
6202  }
6203 #line 6204 "ansi_c_y.tab.cpp"
6204  break;
6205 
6206  case 371:
6207 #line 1918 "parser.y"
6208  {
6209  yyval=yyvsp[-2];
6210  mts(yyval, yyvsp[0]);
6211  }
6212 #line 6213 "ansi_c_y.tab.cpp"
6213  break;
6214 
6215  case 372:
6216 #line 1926 "parser.y"
6217  {
6218  init(yyval, ID_declaration);
6221  exprt declarator=exprt(ID_abstract);
6222  PARSER.add_declarator(parser_stack(yyval), declarator);
6223  }
6224 #line 6225 "ansi_c_y.tab.cpp"
6225  break;
6226 
6227  case 373:
6228 #line 1934 "parser.y"
6229  {
6230  init(yyval, ID_declaration);
6233  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
6234  }
6235 #line 6236 "ansi_c_y.tab.cpp"
6236  break;
6237 
6238  case 374:
6239 #line 1941 "parser.y"
6240  {
6241  yyvsp[-1]=merge(yyvsp[0], yyvsp[-1]); // type attribute to go into declarator
6242  init(yyval, ID_declaration);
6245  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[-1]));
6246  }
6247 #line 6248 "ansi_c_y.tab.cpp"
6248  break;
6249 
6250  case 375:
6251 #line 1949 "parser.y"
6252  {
6253  // the second tree is really the declarator -- not part
6254  // of the type!
6255  init(yyval, ID_declaration);
6258  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
6259  }
6260 #line 6261 "ansi_c_y.tab.cpp"
6261  break;
6262 
6263  case 376:
6264 #line 1958 "parser.y"
6265  {
6266  init(yyval, ID_declaration);
6269  exprt declarator=exprt(ID_abstract);
6270  PARSER.add_declarator(parser_stack(yyval), declarator);
6271  }
6272 #line 6273 "ansi_c_y.tab.cpp"
6273  break;
6274 
6275  case 377:
6276 #line 1966 "parser.y"
6277  {
6278  init(yyval, ID_declaration);
6281  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
6282  }
6283 #line 6284 "ansi_c_y.tab.cpp"
6284  break;
6285 
6286  case 378:
6287 #line 1973 "parser.y"
6288  {
6289  yyvsp[-1]=merge(yyvsp[0], yyvsp[-1]); // type attribute to go into declarator
6290  init(yyval, ID_declaration);
6293  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[-1]));
6294  }
6295 #line 6296 "ansi_c_y.tab.cpp"
6296  break;
6297 
6298  case 379:
6299 #line 1981 "parser.y"
6300  {
6301  init(yyval, ID_declaration);
6304  exprt declarator=exprt(ID_abstract);
6305  PARSER.add_declarator(parser_stack(yyval), declarator);
6306  }
6307 #line 6308 "ansi_c_y.tab.cpp"
6308  break;
6309 
6310  case 380:
6311 #line 1989 "parser.y"
6312  {
6313  init(yyval, ID_declaration);
6316  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
6317  }
6318 #line 6319 "ansi_c_y.tab.cpp"
6319  break;
6320 
6321  case 381:
6322 #line 1996 "parser.y"
6323  {
6324  yyvsp[-1]=merge(yyvsp[0], yyvsp[-1]); // type attribute to go into declarator
6325  init(yyval, ID_declaration);
6328  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[-1]));
6329  }
6330 #line 6331 "ansi_c_y.tab.cpp"
6331  break;
6332 
6333  case 382:
6334 #line 2004 "parser.y"
6335  {
6336  // the second tree is really the declarator -- not part of the type!
6337  init(yyval, ID_declaration);
6340  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
6341  }
6342 #line 6343 "ansi_c_y.tab.cpp"
6343  break;
6344 
6345  case 383:
6346 #line 2012 "parser.y"
6347  {
6348  init(yyval, ID_declaration);
6351  exprt declarator=exprt(ID_abstract);
6352  PARSER.add_declarator(parser_stack(yyval), declarator);
6353  }
6354 #line 6355 "ansi_c_y.tab.cpp"
6355  break;
6356 
6357  case 384:
6358 #line 2020 "parser.y"
6359  {
6360  init(yyval, ID_declaration);
6363  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
6364  }
6365 #line 6366 "ansi_c_y.tab.cpp"
6366  break;
6367 
6368  case 385:
6369 #line 2027 "parser.y"
6370  {
6371  yyvsp[-1]=merge(yyvsp[0], yyvsp[-1]); // type attribute to go into declarator
6372  init(yyval, ID_declaration);
6375  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[-1]));
6376  }
6377 #line 6378 "ansi_c_y.tab.cpp"
6378  break;
6379 
6380  case 388:
6381 #line 2043 "parser.y"
6382  {
6383  yyval=merge(yyvsp[0], yyvsp[-1]);
6384  }
6385 #line 6386 "ansi_c_y.tab.cpp"
6386  break;
6387 
6388  case 389:
6389 #line 2047 "parser.y"
6390  {
6391  yyval=merge(yyvsp[-1], yyvsp[-2]);
6392  make_subtype(yyval, yyvsp[0]);
6393  }
6394 #line 6395 "ansi_c_y.tab.cpp"
6395  break;
6396 
6397  case 390:
6398 #line 2052 "parser.y"
6399  {
6400  yyval=merge(yyvsp[0], yyvsp[-1]);
6401  }
6402 #line 6403 "ansi_c_y.tab.cpp"
6403  break;
6404 
6405  case 391:
6406 #line 2056 "parser.y"
6407  {
6408  yyval=merge(yyvsp[-1], yyvsp[-2]);
6409  make_subtype(yyval, yyvsp[0]);
6410  }
6411 #line 6412 "ansi_c_y.tab.cpp"
6412  break;
6413 
6414  case 392:
6415 #line 2064 "parser.y"
6416  {
6417  init(yyval);
6418  parser_stack(yyval).make_nil();
6419  }
6420 #line 6421 "ansi_c_y.tab.cpp"
6421  break;
6422 
6423  case 393:
6424 #line 2069 "parser.y"
6425  { yyval = yyvsp[0]; }
6426 #line 6427 "ansi_c_y.tab.cpp"
6427  break;
6428 
6429  case 395:
6430 #line 2080 "parser.y"
6431  {
6432  yyval=yyvsp[-2];
6433  set(yyval, ID_initializer_list);
6434  parser_stack(yyval).operands().swap(parser_stack(yyvsp[-1]).operands());
6435  }
6436 #line 6437 "ansi_c_y.tab.cpp"
6437  break;
6438 
6439  case 396:
6440 #line 2086 "parser.y"
6441  {
6442  yyval=yyvsp[-3];
6443  set(yyval, ID_initializer_list);
6444  parser_stack(yyval).operands().swap(parser_stack(yyvsp[-2]).operands());
6445  }
6446 #line 6447 "ansi_c_y.tab.cpp"
6447  break;
6448 
6449  case 397:
6450 #line 2095 "parser.y"
6451  {
6452  yyval=yyvsp[0];
6453  exprt tmp;
6454  tmp.swap(parser_stack(yyval));
6455  parser_stack(yyval).clear();
6456  parser_stack(yyval).add_to_operands(std::move(tmp));
6457  }
6458 #line 6459 "ansi_c_y.tab.cpp"
6459  break;
6460 
6461  case 398:
6462 #line 2103 "parser.y"
6463  {
6464  yyval=yyvsp[-2];
6465  mto(yyval, yyvsp[0]);
6466  }
6467 #line 6468 "ansi_c_y.tab.cpp"
6468  break;
6469 
6470  case 400:
6471 #line 2112 "parser.y"
6472  {
6473  init(yyval);
6474  set(yyval, ID_initializer_list);
6475  parser_stack(yyval).operands().clear();
6476  }
6477 #line 6478 "ansi_c_y.tab.cpp"
6478  break;
6479 
6480  case 402:
6481 #line 2122 "parser.y"
6482  {
6483  yyval=yyvsp[-1];
6484  parser_stack(yyval).id(ID_designated_initializer);
6485  parser_stack(yyval).add(ID_designator).swap(parser_stack(yyvsp[-2]));
6486  mto(yyval, yyvsp[0]);
6487  }
6488 #line 6489 "ansi_c_y.tab.cpp"
6489  break;
6490 
6491  case 403:
6492 #line 2130 "parser.y"
6493  {
6494  init(yyval, ID_designated_initializer);
6495  parser_stack(yyval).add(ID_designator).swap(parser_stack(yyvsp[-1]));
6496  mto(yyval, yyvsp[0]);
6497  }
6498 #line 6499 "ansi_c_y.tab.cpp"
6499  break;
6500 
6501  case 404:
6502 #line 2136 "parser.y"
6503  {
6504  // yet another GCC speciality
6505  yyval=yyvsp[-1];
6506  parser_stack(yyval).id(ID_designated_initializer);
6507  exprt designator;
6508  exprt member(ID_member);
6509  member.set(ID_component_name, parser_stack(yyvsp[-2]).get(ID_C_base_name));
6510  designator.add_to_operands(std::move(member));
6511  parser_stack(yyval).add(ID_designator).swap(designator);
6512  mto(yyval, yyvsp[0]);
6513  }
6514 #line 6515 "ansi_c_y.tab.cpp"
6515  break;
6516 
6517  case 405:
6518 #line 2151 "parser.y"
6519  {
6520  init(yyval);
6521  parser_stack(yyvsp[-1]).id(ID_member);
6522  parser_stack(yyvsp[-1]).set(ID_component_name, parser_stack(yyvsp[0]).get(ID_C_base_name));
6523  mto(yyval, yyvsp[-1]);
6524  }
6525 #line 6526 "ansi_c_y.tab.cpp"
6526  break;
6527 
6528  case 406:
6529 #line 2158 "parser.y"
6530  {
6531  init(yyval);
6532  parser_stack(yyvsp[-2]).id(ID_index);
6533  mto(yyvsp[-2], yyvsp[-1]);
6534  mto(yyval, yyvsp[-2]);
6535  }
6536 #line 6537 "ansi_c_y.tab.cpp"
6537  break;
6538 
6539  case 407:
6540 #line 2165 "parser.y"
6541  {
6542  // TODO
6543  init(yyval);
6544  parser_stack(yyvsp[-4]).id(ID_index);
6545  mto(yyvsp[-4], yyvsp[-3]);
6546  mto(yyval, yyvsp[-4]);
6547  }
6548 #line 6549 "ansi_c_y.tab.cpp"
6549  break;
6550 
6551  case 408:
6552 #line 2173 "parser.y"
6553  {
6554  yyval=yyvsp[-3];
6555  parser_stack(yyvsp[-2]).id(ID_index);
6556  mto(yyvsp[-2], yyvsp[-1]);
6557  mto(yyval, yyvsp[-2]);
6558  }
6559 #line 6560 "ansi_c_y.tab.cpp"
6560  break;
6561 
6562  case 409:
6563 #line 2180 "parser.y"
6564  {
6565  // TODO
6566  yyval=yyvsp[-5];
6567  parser_stack(yyvsp[-4]).id(ID_index);
6568  mto(yyvsp[-4], yyvsp[-3]);
6569  mto(yyval, yyvsp[-4]);
6570  }
6571 #line 6572 "ansi_c_y.tab.cpp"
6572  break;
6573 
6574  case 410:
6575 #line 2188 "parser.y"
6576  {
6577  yyval=yyvsp[-2];
6578  parser_stack(yyvsp[-1]).id(ID_member);
6579  parser_stack(yyvsp[-1]).set(ID_component_name, parser_stack(yyvsp[0]).get(ID_C_base_name));
6580  mto(yyval, yyvsp[-1]);
6581  }
6582 #line 6583 "ansi_c_y.tab.cpp"
6583  break;
6584 
6585  case 424:
6586 #line 2216 "parser.y"
6587  {
6588  init(yyval);
6589  statement(yyval, ID_decl);
6590  mto(yyval, yyvsp[0]);
6591  }
6592 #line 6593 "ansi_c_y.tab.cpp"
6593  break;
6594 
6595  case 425:
6596 #line 2225 "parser.y"
6597  {
6598  /* Only semicolons permitted after the attribute:
6599  https://gcc.gnu.org/onlinedocs/gcc/Label-Attributes.html */
6600  yyval=yyvsp[-2];
6601  statement(yyval, ID_label);
6602  irep_idt identifier=PARSER.lookup_label(parser_stack(yyvsp[-3]).get(ID_C_base_name));
6603  parser_stack(yyval).set(ID_label, identifier);
6604  // attribute ignored
6605  statement(yyvsp[-1], ID_skip);
6606  mto(yyval, yyvsp[-1]);
6607  }
6608 #line 6609 "ansi_c_y.tab.cpp"
6609  break;
6610 
6611  case 426:
6612 #line 2237 "parser.y"
6613  {
6614  yyval=yyvsp[-1];
6615  statement(yyval, ID_label);
6616  irep_idt identifier=PARSER.lookup_label(parser_stack(yyvsp[-2]).get(ID_C_base_name));
6617  parser_stack(yyval).set(ID_label, identifier);
6618  mto(yyval, yyvsp[0]);
6619  }
6620 #line 6621 "ansi_c_y.tab.cpp"
6621  break;
6622 
6623  case 427:
6624 #line 2245 "parser.y"
6625  {
6626  yyval=yyvsp[-3];
6627  statement(yyval, ID_switch_case);
6628  mto(yyval, yyvsp[-2]);
6629  mto(yyval, yyvsp[0]);
6630  }
6631 #line 6632 "ansi_c_y.tab.cpp"
6632  break;
6633 
6634  case 428:
6635 #line 2252 "parser.y"
6636  {
6637  // this is a GCC extension
6638  yyval=yyvsp[-5];
6639  statement(yyval, ID_gcc_switch_case_range);
6640  mto(yyval, yyvsp[-4]);
6641  mto(yyval, yyvsp[-2]);
6642  mto(yyval, yyvsp[0]);
6643  }
6644 #line 6645 "ansi_c_y.tab.cpp"
6645  break;
6646 
6647  case 429:
6648 #line 2261 "parser.y"
6649  {
6650  yyval=yyvsp[-2];
6651  statement(yyval, ID_switch_case);
6652  parser_stack(yyval).operands().push_back(nil_exprt());
6653  mto(yyval, yyvsp[0]);
6654  parser_stack(yyval).set(ID_default, true);
6655  }
6656 #line 6657 "ansi_c_y.tab.cpp"
6657  break;
6658 
6659  case 430:
6660 #line 2272 "parser.y"
6661  {
6662  // attribute ignored
6663  yyval=yyvsp[0];
6664  }
6665 #line 6666 "ansi_c_y.tab.cpp"
6666  break;
6667 
6668  case 431:
6669 #line 2280 "parser.y"
6670  {
6671  yyval=yyvsp[-1];
6672  statement(yyval, ID_block);
6673  parser_stack(yyval).set(ID_C_end_location, parser_stack(yyvsp[0]).source_location());
6674  PARSER.pop_scope();
6675  }
6676 #line 6677 "ansi_c_y.tab.cpp"
6677  break;
6678 
6679  case 432:
6680 #line 2287 "parser.y"
6681  {
6682  yyval=yyvsp[-2];
6683  statement(yyval, ID_block);
6684  parser_stack(yyval).set(ID_C_end_location, parser_stack(yyvsp[0]).source_location());
6685  parser_stack(yyval).operands().swap(parser_stack(yyvsp[-1]).operands());
6686  PARSER.pop_scope();
6687  }
6688 #line 6689 "ansi_c_y.tab.cpp"
6689  break;
6690 
6691  case 433:
6692 #line 2295 "parser.y"
6693  {
6694  yyval=yyvsp[-2];
6695  statement(yyval, ID_asm);
6696  parser_stack(yyval).set(ID_C_end_location, parser_stack(yyvsp[0]).source_location());
6697  mto(yyval, yyvsp[-1]);
6698  PARSER.pop_scope();
6699  }
6700 #line 6701 "ansi_c_y.tab.cpp"
6701  break;
6702 
6703  case 434:
6704 #line 2306 "parser.y"
6705  {
6706  unsigned prefix=++PARSER.current_scope().compound_counter;
6707  PARSER.new_scope(std::to_string(prefix)+"::");
6708  }
6709 #line 6710 "ansi_c_y.tab.cpp"
6710  break;
6711 
6712  case 435:
6713 #line 2314 "parser.y"
6714  {
6715  init(yyval);
6716  mto(yyval, yyvsp[0]);
6717  }
6718 #line 6719 "ansi_c_y.tab.cpp"
6719  break;
6720 
6721  case 436:
6722 #line 2319 "parser.y"
6723  {
6724  mto(yyval, yyvsp[0]);
6725  }
6726 #line 6727 "ansi_c_y.tab.cpp"
6727  break;
6728 
6729  case 437:
6730 #line 2326 "parser.y"
6731  {
6732  yyval=yyvsp[0];
6733 
6734  if(parser_stack(yyvsp[-1]).is_nil())
6735  statement(yyval, ID_skip);
6736  else
6737  {
6738  statement(yyval, ID_expression);
6739  mto(yyval, yyvsp[-1]);
6740  }
6741  }
6742 #line 6743 "ansi_c_y.tab.cpp"
6743  break;
6744 
6745  case 438:
6746 #line 2341 "parser.y"
6747  {
6748  yyval=yyvsp[-4];
6749  statement(yyval, ID_ifthenelse);
6750  parser_stack(yyval).add_to_operands(
6751  std::move(parser_stack(yyvsp[-2])), std::move(parser_stack(yyvsp[0])), nil_exprt());
6752  }
6753 #line 6754 "ansi_c_y.tab.cpp"
6754  break;
6755 
6756  case 439:
6757 #line 2348 "parser.y"
6758  {
6759  yyval=yyvsp[-6];
6760  statement(yyval, ID_ifthenelse);
6761  parser_stack(yyval).add_to_operands(
6762  std::move(parser_stack(yyvsp[-4])), std::move(parser_stack(yyvsp[-2])), std::move(parser_stack(yyvsp[0])));
6763  }
6764 #line 6765 "ansi_c_y.tab.cpp"
6765  break;
6766 
6767  case 440:
6768 #line 2355 "parser.y"
6769  {
6770  yyval=yyvsp[-4];
6771  statement(yyval, ID_switch);
6772  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-2])), std::move(parser_stack(yyvsp[0])));
6773  }
6774 #line 6775 "ansi_c_y.tab.cpp"
6775  break;
6776 
6777  case 443:
6778 #line 2370 "parser.y"
6779  {
6780  yyval=yyvsp[-5];
6781  statement(yyval, ID_while);
6782  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-3])), std::move(parser_stack(yyvsp[0])));
6783 
6784  if(parser_stack(yyvsp[-1]).is_not_nil())
6785  parser_stack(yyval).add(ID_C_spec_loop_invariant).swap(parser_stack(yyvsp[-1]));
6786  }
6787 #line 6788 "ansi_c_y.tab.cpp"
6788  break;
6789 
6790  case 444:
6791 #line 2380 "parser.y"
6792  {
6793  yyval=yyvsp[-7];
6794  statement(yyval, ID_dowhile);
6795  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-3])), std::move(parser_stack(yyvsp[-6])));
6796 
6797  if(parser_stack(yyvsp[-1]).is_not_nil())
6798  parser_stack(yyval).add(ID_C_spec_loop_invariant).swap(parser_stack(yyvsp[-1]));
6799  }
6800 #line 6801 "ansi_c_y.tab.cpp"
6801  break;
6802 
6803  case 445:
6804 #line 2389 "parser.y"
6805  {
6806  // In C99 and upwards, for(;;) has a scope
6807  if(PARSER.for_has_scope)
6808  {
6809  unsigned prefix=++PARSER.current_scope().compound_counter;
6810  PARSER.new_scope(std::to_string(prefix)+"::");
6811  }
6812  }
6813 #line 6814 "ansi_c_y.tab.cpp"
6814  break;
6815 
6816  case 446:
6817 #line 2402 "parser.y"
6818  {
6819  yyval=yyvsp[-9];
6820  statement(yyval, ID_for);
6821  parser_stack(yyval).operands().reserve(4);
6822  mto(yyval, yyvsp[-6]);
6823  mto(yyval, yyvsp[-5]);
6824  mto(yyval, yyvsp[-3]);
6825  mto(yyval, yyvsp[0]);
6826 
6827  if(parser_stack(yyvsp[-1]).is_not_nil())
6828  parser_stack(yyval).add(ID_C_spec_loop_invariant).swap(parser_stack(yyvsp[-1]));
6829 
6830  if(PARSER.for_has_scope)
6831  PARSER.pop_scope(); // remove the C99 for-scope
6832  }
6833 #line 6834 "ansi_c_y.tab.cpp"
6834  break;
6835 
6836  case 447:
6837 #line 2421 "parser.y"
6838  {
6839  yyval=yyvsp[-2];
6840  if(parser_stack(yyvsp[-1]).id()==ID_symbol)
6841  {
6842  statement(yyval, ID_goto);
6843  irep_idt identifier=PARSER.lookup_label(parser_stack(yyvsp[-1]).get(ID_C_base_name));
6844  parser_stack(yyval).set(ID_destination, identifier);
6845  }
6846  else
6847  {
6848  // this is a gcc extension.
6849  // the original grammar uses identifier_or_typedef_name
6850  statement(yyval, ID_gcc_computed_goto);
6851  mto(yyval, yyvsp[-1]);
6852  }
6853  }
6854 #line 6855 "ansi_c_y.tab.cpp"
6855  break;
6856 
6857  case 448:
6858 #line 2438 "parser.y"
6859  {
6860  yyval=yyvsp[-2];
6861  statement(yyval, ID_goto);
6862  irep_idt identifier=PARSER.lookup_label(parser_stack(yyvsp[-1]).get(ID_C_base_name));
6863  parser_stack(yyval).set(ID_destination, identifier);
6864  }
6865 #line 6866 "ansi_c_y.tab.cpp"
6866  break;
6867 
6868  case 449:
6869 #line 2445 "parser.y"
6870  { yyval=yyvsp[-1]; statement(yyval, ID_continue); }
6871 #line 6872 "ansi_c_y.tab.cpp"
6872  break;
6873 
6874  case 450:
6875 #line 2447 "parser.y"
6876  { yyval=yyvsp[-1]; statement(yyval, ID_break); }
6877 #line 6878 "ansi_c_y.tab.cpp"
6878  break;
6879 
6880  case 451:
6881 #line 2449 "parser.y"
6882  {
6883  yyval=yyvsp[-1];
6884  statement(yyval, ID_return);
6885  parser_stack(yyval).operands().push_back(nil_exprt());
6886  }
6887 #line 6888 "ansi_c_y.tab.cpp"
6888  break;
6889 
6890  case 452:
6891 #line 2455 "parser.y"
6892  { yyval=yyvsp[-2]; statement(yyval, ID_return); mto(yyval, yyvsp[-1]); }
6893 #line 6894 "ansi_c_y.tab.cpp"
6894  break;
6895 
6896  case 453:
6897 #line 2460 "parser.y"
6898  {
6899  yyval=yyvsp[-2];
6900  statement(yyval, ID_gcc_local_label);
6901 
6902  // put these into the scope
6903  forall_operands(it, parser_stack(yyvsp[-1]))
6904  {
6905  // labels have a separate name space
6906  irep_idt base_name=it->get(ID_identifier);
6907  irep_idt id="label-"+id2string(base_name);
6908  ansi_c_parsert::identifiert &i=PARSER.current_scope().name_map[id];
6910  i.prefixed_name=PARSER.current_scope().prefix+id2string(id);
6911  i.base_name=base_name;
6912  }
6913 
6914  parser_stack(yyval).add(ID_label).get_sub().swap((irept::subt&)parser_stack(yyvsp[-1]).operands());
6915  }
6916 #line 6917 "ansi_c_y.tab.cpp"
6917  break;
6918 
6919  case 454:
6920 #line 2482 "parser.y"
6921  {
6922  init(yyval);
6923  mto(yyval, yyvsp[0]);
6924  }
6925 #line 6926 "ansi_c_y.tab.cpp"
6926  break;
6927 
6928  case 455:
6929 #line 2487 "parser.y"
6930  {
6931  yyval=yyvsp[-2];
6932  mto(yyval, yyvsp[0]);
6933  }
6934 #line 6935 "ansi_c_y.tab.cpp"
6935  break;
6936 
6937  case 457:
6938 #line 2498 "parser.y"
6939  { yyval=yyvsp[-5];
6940  statement(yyval, ID_asm);
6941  parser_stack(yyval).set(ID_flavor, ID_gcc);
6942  parser_stack(yyval).operands().swap(parser_stack(yyvsp[-2]).operands());
6943  }
6944 #line 6945 "ansi_c_y.tab.cpp"
6945  break;
6946 
6947  case 458:
6948 #line 2504 "parser.y"
6949  {
6950  yyval=yyvsp[-4];
6951  statement(yyval, ID_asm);
6952  parser_stack(yyval).set(ID_flavor, ID_gcc);
6953  parser_stack(yyval).operands().resize(5);
6954  to_multi_ary_expr(parser_stack(yyval)).op0()=parser_stack(yyvsp[-1]);
6955  }
6956 #line 6957 "ansi_c_y.tab.cpp"
6957  break;
6958 
6959  case 459:
6960 #line 2515 "parser.y"
6961  { yyval=yyvsp[-3];
6962  statement(yyval, ID_asm);
6963  parser_stack(yyval).set(ID_flavor, ID_msc);
6964  mto(yyval, yyvsp[-1]);
6965  }
6966 #line 6967 "ansi_c_y.tab.cpp"
6967  break;
6968 
6969  case 460:
6970 #line 2521 "parser.y"
6971  { yyval=yyvsp[-1];
6972  statement(yyval, ID_asm);
6973  parser_stack(yyval).set(ID_flavor, ID_msc);
6974  mto(yyval, yyvsp[0]);
6975  }
6976 #line 6977 "ansi_c_y.tab.cpp"
6977  break;
6978 
6979  case 461:
6980 #line 2531 "parser.y"
6981  {
6982  yyval=yyvsp[-6];
6983  statement(yyval, ID_msc_try_except);
6984  mto(yyval, yyvsp[-5]);
6985  mto(yyval, yyvsp[-2]);
6986  mto(yyval, yyvsp[0]);
6987  }
6988 #line 6989 "ansi_c_y.tab.cpp"
6989  break;
6990 
6991  case 462:
6992 #line 2540 "parser.y"
6993  {
6994  yyval=yyvsp[-3];
6995  statement(yyval, ID_msc_try_finally);
6996  mto(yyval, yyvsp[-2]);
6997  mto(yyval, yyvsp[0]);
6998  }
6999 #line 7000 "ansi_c_y.tab.cpp"
7000  break;
7001 
7002  case 463:
7003 #line 2547 "parser.y"
7004  {
7005  yyval=yyvsp[0];
7006  statement(yyval, ID_msc_leave);
7007  }
7008 #line 7009 "ansi_c_y.tab.cpp"
7009  break;
7010 
7011  case 464:
7012 #line 2555 "parser.y"
7013  {
7014  yyval=yyvsp[-1];
7015  statement(yyval, ID_CPROVER_throw);
7016  }
7017 #line 7018 "ansi_c_y.tab.cpp"
7018  break;
7019 
7020  case 465:
7021 #line 2561 "parser.y"
7022  {
7023  yyval=yyvsp[-3];
7024  statement(yyval, ID_CPROVER_try_catch);
7025  mto(yyval, yyvsp[-2]);
7026  mto(yyval, yyvsp[0]);
7027  }
7028 #line 7029 "ansi_c_y.tab.cpp"
7029  break;
7030 
7031  case 466:
7032 #line 2569 "parser.y"
7033  {
7034  yyval=yyvsp[-3];
7035  statement(yyval, ID_CPROVER_try_finally);
7036  mto(yyval, yyvsp[-2]);
7037  mto(yyval, yyvsp[0]);
7038  }
7039 #line 7040 "ansi_c_y.tab.cpp"
7040  break;
7041 
7042  case 472:
7043 #line 2595 "parser.y"
7044  {
7045  init(yyval);
7046  parser_stack(yyval).operands().resize(5);
7047  parser_stack(yyval).operands()[0]=parser_stack(yyvsp[0]);
7048  }
7049 #line 7050 "ansi_c_y.tab.cpp"
7050  break;
7051 
7052  case 473:
7053 #line 2601 "parser.y"
7054  {
7055  init(yyval);
7056  parser_stack(yyval).operands().resize(5);
7057  parser_stack(yyval).operands()[0]=parser_stack(yyvsp[-1]);
7058  parser_stack(yyval).operands()[1]=parser_stack(yyvsp[0]);
7059  }
7060 #line 7061 "ansi_c_y.tab.cpp"
7061  break;
7062 
7063  case 474:
7064 #line 2608 "parser.y"
7065  {
7066  init(yyval);
7067  parser_stack(yyval).operands().resize(5);
7068  parser_stack(yyval).operands()[0]=parser_stack(yyvsp[-2]);
7069  parser_stack(yyval).operands()[1]=parser_stack(yyvsp[-1]);
7070  parser_stack(yyval).operands()[2]=parser_stack(yyvsp[0]);
7071  }
7072 #line 7073 "ansi_c_y.tab.cpp"
7073  break;
7074 
7075  case 475:
7076 #line 2616 "parser.y"
7077  {
7078  init(yyval);
7079  parser_stack(yyval).operands().resize(5);
7080  parser_stack(yyval).operands()[0]=parser_stack(yyvsp[-3]);
7081  parser_stack(yyval).operands()[1]=parser_stack(yyvsp[-2]);
7082  parser_stack(yyval).operands()[2]=parser_stack(yyvsp[-1]);
7083  parser_stack(yyval).operands()[3]=parser_stack(yyvsp[0]);
7084  }
7085 #line 7086 "ansi_c_y.tab.cpp"
7086  break;
7087 
7088  case 476:
7089 #line 2625 "parser.y"
7090  {
7091  init(yyval);
7092  parser_stack(yyval).operands().resize(5);
7093  parser_stack(yyval).operands()[0]=parser_stack(yyvsp[-4]);
7094  parser_stack(yyval).operands()[1]=parser_stack(yyvsp[-3]);
7095  parser_stack(yyval).operands()[2]=parser_stack(yyvsp[-2]);
7096  parser_stack(yyval).operands()[3]=parser_stack(yyvsp[-1]);
7097  parser_stack(yyval).operands()[4]=parser_stack(yyvsp[0]);
7098  }
7099 #line 7100 "ansi_c_y.tab.cpp"
7100  break;
7101 
7102  case 478:
7103 #line 2641 "parser.y"
7104  {
7105  yyval=yyvsp[0];
7106  }
7107 #line 7108 "ansi_c_y.tab.cpp"
7108  break;
7109 
7110  case 480:
7111 #line 2649 "parser.y"
7112  {
7113  yyval=yyvsp[-2];
7114  parser_stack(yyval).id(ID_gcc_asm_output);
7115  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-3])), std::move(parser_stack(yyvsp[-1])));
7116  }
7117 #line 7118 "ansi_c_y.tab.cpp"
7118  break;
7119 
7120  case 481:
7121 #line 2656 "parser.y"
7122  {
7123  yyval=yyvsp[-2];
7124  parser_stack(yyval).id(ID_gcc_asm_output);
7125  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-3])), std::move(parser_stack(yyvsp[-1])));
7126  }
7127 #line 7128 "ansi_c_y.tab.cpp"
7128  break;
7129 
7130  case 482:
7131 #line 2665 "parser.y"
7132  {
7133  init(yyval, irep_idt());
7134  mto(yyval, yyvsp[0]);
7135  }
7136 #line 7137 "ansi_c_y.tab.cpp"
7137  break;
7138 
7139  case 483:
7140 #line 2670 "parser.y"
7141  {
7142  yyval=yyvsp[-2];
7143  mto(yyval, yyvsp[0]);
7144  }
7145 #line 7146 "ansi_c_y.tab.cpp"
7146  break;
7147 
7148  case 484:
7149 #line 2678 "parser.y"
7150  {
7151  yyval=yyvsp[0];
7152  }
7153 #line 7154 "ansi_c_y.tab.cpp"
7154  break;
7155 
7156  case 486:
7157 #line 2686 "parser.y"
7158  {
7159  yyval=yyvsp[-2];
7160  parser_stack(yyval).id(ID_gcc_asm_input);
7161  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-3])), std::move(parser_stack(yyvsp[-1])));
7162  }
7163 #line 7164 "ansi_c_y.tab.cpp"
7164  break;
7165 
7166  case 487:
7167 #line 2693 "parser.y"
7168  {
7169  yyval=yyvsp[-2];
7170  parser_stack(yyval).id(ID_gcc_asm_input);
7171  parser_stack(yyval).add_to_operands(std::move(parser_stack(yyvsp[-3])), std::move(parser_stack(yyvsp[-1])));
7172  }
7173 #line 7174 "ansi_c_y.tab.cpp"
7174  break;
7175 
7176  case 488:
7177 #line 2702 "parser.y"
7178  {
7179  init(yyval, irep_idt());
7180  mto(yyval, yyvsp[0]);
7181  }
7182 #line 7183 "ansi_c_y.tab.cpp"
7183  break;
7184 
7185  case 489:
7186 #line 2707 "parser.y"
7187  {
7188  yyval=yyvsp[-2];
7189  mto(yyval, yyvsp[0]);
7190  }
7191 #line 7192 "ansi_c_y.tab.cpp"
7192  break;
7193 
7194  case 490:
7195 #line 2715 "parser.y"
7196  {
7197  yyval=yyvsp[0];
7198  }
7199 #line 7200 "ansi_c_y.tab.cpp"
7200  break;
7201 
7202  case 492:
7203 #line 2723 "parser.y"
7204  {
7205  init(yyval, ID_gcc_asm_clobbered_register);
7206  mto(yyval, yyvsp[0]);
7207  }
7208 #line 7209 "ansi_c_y.tab.cpp"
7209  break;
7210 
7211  case 493:
7212 #line 2731 "parser.y"
7213  {
7214  init(yyval, irep_idt());
7215  mto(yyval, yyvsp[0]);
7216  }
7217 #line 7218 "ansi_c_y.tab.cpp"
7218  break;
7219 
7220  case 494:
7221 #line 2736 "parser.y"
7222  {
7223  yyval=yyvsp[-2];
7224  mto(yyval, yyvsp[0]);
7225  }
7226 #line 7227 "ansi_c_y.tab.cpp"
7227  break;
7228 
7229  case 495:
7230 #line 2744 "parser.y"
7231  {
7232  yyval=yyvsp[0];
7233  }
7234 #line 7235 "ansi_c_y.tab.cpp"
7235  break;
7236 
7237  case 497:
7238 #line 2752 "parser.y"
7239  {
7240  init(yyval);
7241  mto(yyval, yyvsp[0]);
7242  }
7243 #line 7244 "ansi_c_y.tab.cpp"
7244  break;
7245 
7246  case 498:
7247 #line 2757 "parser.y"
7248  {
7249  yyval=yyvsp[-2];
7250  mto(yyval, yyvsp[0]);
7251  }
7252 #line 7253 "ansi_c_y.tab.cpp"
7253  break;
7254 
7255  case 499:
7256 #line 2765 "parser.y"
7257  {
7258  yyval=yyvsp[0];
7259  irep_idt identifier=PARSER.lookup_label(parser_stack(yyval).get(ID_C_base_name));
7260  parser_stack(yyval).id(ID_label);
7261  parser_stack(yyval).set(ID_identifier, identifier);
7262  }
7263 #line 7264 "ansi_c_y.tab.cpp"
7264  break;
7265 
7266  case 504:
7267 #line 2784 "parser.y"
7268  {
7269  // put into global list of items
7270  PARSER.copy_item(to_ansi_c_declaration(parser_stack(yyvsp[0])));
7271  }
7272 #line 7273 "ansi_c_y.tab.cpp"
7273  break;
7274 
7275  case 505:
7276 #line 2789 "parser.y"
7277  {
7278  PARSER.copy_item(to_ansi_c_declaration(parser_stack(yyvsp[0])));
7279  }
7280 #line 7281 "ansi_c_y.tab.cpp"
7281  break;
7282 
7283  case 508:
7284 #line 2798 "parser.y"
7285  {
7286  // Not obvious what to do with this.
7287  }
7288 #line 7289 "ansi_c_y.tab.cpp"
7289  break;
7290 
7291  case 509:
7292 #line 2802 "parser.y"
7293  {
7294  // Not obvious what to do with this.
7295  }
7296 #line 7297 "ansi_c_y.tab.cpp"
7297  break;
7298 
7299  case 510:
7300 #line 2812 "parser.y"
7301  {
7302  if(parser_stack(yyvsp[-2]).is_not_nil())
7303  parser_stack(yyvsp[-3]).add(ID_C_spec_requires).swap(parser_stack(yyvsp[-2]));
7304  if(parser_stack(yyvsp[-1]).is_not_nil())
7305  parser_stack(yyvsp[-3]).add(ID_C_spec_ensures).swap(parser_stack(yyvsp[-1]));
7306  // The head is a declaration with one declarator,
7307  // and the body becomes the 'value'.
7308  yyval=yyvsp[-3];
7309  ansi_c_declarationt &ansi_c_declaration=
7311 
7312  assert(ansi_c_declaration.declarators().size()==1);
7313  ansi_c_declaration.add_initializer(parser_stack(yyvsp[0]));
7314 
7315  // Kill the scope that 'function_head' creates.
7316  PARSER.pop_scope();
7317 
7318  // We are no longer in any function.
7319  PARSER.set_function(irep_idt());
7320  }
7321 #line 7322 "ansi_c_y.tab.cpp"
7322  break;
7323 
7324  case 512:
7325 #line 2840 "parser.y"
7326  {
7327  init(yyval);
7328  }
7329 #line 7330 "ansi_c_y.tab.cpp"
7330  break;
7331 
7332  case 514:
7333 #line 2848 "parser.y"
7334  {
7335  init(yyval, ID_decl_block);
7336  mto(yyval, yyvsp[0]);
7337  }
7338 #line 7339 "ansi_c_y.tab.cpp"
7339  break;
7340 
7341  case 515:
7342 #line 2853 "parser.y"
7343  {
7344  yyval=yyvsp[-1];
7345  mto(yyval, yyvsp[0]);
7346  }
7347 #line 7348 "ansi_c_y.tab.cpp"
7348  break;
7349 
7350  case 518:
7351 #line 2867 "parser.y"
7352  {
7353  yyval=merge(yyvsp[0], yyvsp[-1]);
7354  }
7355 #line 7356 "ansi_c_y.tab.cpp"
7356  break;
7357 
7358  case 519:
7359 #line 2871 "parser.y"
7360  {
7361  yyval=merge(yyvsp[0], yyvsp[-1]);
7362  }
7363 #line 7364 "ansi_c_y.tab.cpp"
7364  break;
7365 
7366  case 520:
7367 #line 2878 "parser.y"
7368  {
7369  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
7370  }
7371 #line 7372 "ansi_c_y.tab.cpp"
7372  break;
7373 
7374  case 521:
7375 #line 2882 "parser.y"
7376  {
7377  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
7378  }
7379 #line 7380 "ansi_c_y.tab.cpp"
7380  break;
7381 
7382  case 522:
7383 #line 2886 "parser.y"
7384  {
7385  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
7386  }
7387 #line 7388 "ansi_c_y.tab.cpp"
7388  break;
7389 
7390  case 523:
7391 #line 2890 "parser.y"
7392  {
7393  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
7394  }
7395 #line 7396 "ansi_c_y.tab.cpp"
7396  break;
7397 
7398  case 524:
7399 #line 2898 "parser.y"
7400  {
7401  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
7402  }
7403 #line 7404 "ansi_c_y.tab.cpp"
7404  break;
7405 
7406  case 525:
7407 #line 2902 "parser.y"
7408  {
7409  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
7410  }
7411 #line 7412 "ansi_c_y.tab.cpp"
7412  break;
7413 
7414  case 526:
7415 #line 2906 "parser.y"
7416  {
7417  yyval=merge(yyvsp[-2], merge(yyvsp[-1], yyvsp[0]));
7418  }
7419 #line 7420 "ansi_c_y.tab.cpp"
7420  break;
7421 
7422  case 527:
7423 #line 2914 "parser.y"
7424  {
7425  parser_stack(yyvsp[-2]).set(ID_tag, parser_stack(yyvsp[-1]));
7426  yyval=merge(yyvsp[-3], merge(yyvsp[-2], yyvsp[0]));
7427  }
7428 #line 7429 "ansi_c_y.tab.cpp"
7429  break;
7430 
7431  case 528:
7432 #line 2919 "parser.y"
7433  {
7434  parser_stack(yyvsp[-2]).id(ID_c_enum_tag);
7435  parser_stack(yyvsp[-2]).set(ID_tag, parser_stack(yyvsp[-1]));
7436  yyval=merge(yyvsp[-3], merge(yyvsp[-2], yyvsp[0]));
7437  }
7438 #line 7439 "ansi_c_y.tab.cpp"
7439  break;
7440 
7441  case 532:
7442 #line 2935 "parser.y"
7443  {
7444  init(yyval, ID_declaration);
7445  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
7446  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
7447  }
7448 #line 7449 "ansi_c_y.tab.cpp"
7449  break;
7450 
7451  case 533:
7452 #line 2941 "parser.y"
7453  {
7454  init(yyval, ID_declaration);
7455  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
7456  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
7457  }
7458 #line 7459 "ansi_c_y.tab.cpp"
7459  break;
7460 
7461  case 534:
7462 #line 2947 "parser.y"
7463  {
7464  yyval=yyvsp[-2];
7465  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
7466  }
7467 #line 7468 "ansi_c_y.tab.cpp"
7468  break;
7469 
7470  case 535:
7471 #line 2955 "parser.y"
7472  {
7473  init(yyval, ID_declaration);
7474  irept return_type(ID_int);
7475  parser_stack(yyval).type().swap(return_type);
7476  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
7477  create_function_scope(yyval);
7478  }
7479 #line 7480 "ansi_c_y.tab.cpp"
7480  break;
7481 
7482  case 536:
7483 #line 2963 "parser.y"
7484  {
7485  init(yyval, ID_declaration);
7486  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
7487  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
7488  create_function_scope(yyval);
7489  }
7490 #line 7491 "ansi_c_y.tab.cpp"
7491  break;
7492 
7493  case 537:
7494 #line 2970 "parser.y"
7495  {
7496  init(yyval, ID_declaration);
7497  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
7498  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
7499  create_function_scope(yyval);
7500  }
7501 #line 7502 "ansi_c_y.tab.cpp"
7502  break;
7503 
7504  case 538:
7505 #line 2977 "parser.y"
7506  {
7507  init(yyval, ID_declaration);
7508  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
7509  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
7510  create_function_scope(yyval);
7511  }
7512 #line 7513 "ansi_c_y.tab.cpp"
7513  break;
7514 
7515  case 539:
7516 #line 2984 "parser.y"
7517  {
7518  init(yyval, ID_declaration);
7519  parser_stack(yyval).type().swap(parser_stack(yyvsp[-1]));
7520  PARSER.add_declarator(parser_stack(yyval), parser_stack(yyvsp[0]));
7521  create_function_scope(yyval);
7522  }
7523 #line 7524 "ansi_c_y.tab.cpp"
7524  break;
7525 
7526  case 543:
7527 #line 3000 "parser.y"
7528  {
7529  stack_type(yyvsp[-3])=typet(ID_abstract);
7530  yyvsp[-2]=merge(yyvsp[-2], yyvsp[-3]); // dest=$2
7531  make_subtype(yyvsp[-1], yyvsp[-2]); // dest=$3
7532  yyval=yyvsp[-1];
7533  }
7534 #line 7535 "ansi_c_y.tab.cpp"
7535  break;
7536 
7537  case 544:
7538 #line 3007 "parser.y"
7539  {
7540  stack_type(yyvsp[-4])=typet(ID_abstract);
7541  yyvsp[-3]=merge(yyvsp[-3], yyvsp[-4]); // dest=$2
7542  make_subtype(yyvsp[-2], yyvsp[-3]); // dest=$3
7543  /* note: this is (a pointer to) a function ($5) */
7544  /* or an array ($5) with name ($3) */
7545  yyval=yyvsp[-2];
7546  make_subtype(yyval, yyvsp[0]);
7547  }
7548 #line 7549 "ansi_c_y.tab.cpp"
7549  break;
7550 
7551  case 545:
7552 #line 3017 "parser.y"
7553  {
7554  yyval=yyvsp[0];
7555  do_pointer(yyvsp[-1], yyvsp[0]);
7556  }
7557 #line 7558 "ansi_c_y.tab.cpp"
7558  break;
7559 
7560  case 549:
7561 #line 3031 "parser.y"
7562  {
7563  yyval=yyvsp[-1];
7564  make_subtype(yyval, yyvsp[0]);
7565  }
7566 #line 7567 "ansi_c_y.tab.cpp"
7567  break;
7568 
7569  case 552:
7570 #line 3041 "parser.y"
7571  {
7572  yyval=yyvsp[0];
7573  do_pointer(yyvsp[-1], yyvsp[0]);
7574  }
7575 #line 7576 "ansi_c_y.tab.cpp"
7576  break;
7577 
7578  case 553:
7579 #line 3046 "parser.y"
7580  {
7581  yyval=merge(yyvsp[-1], yyvsp[0]);
7582  do_pointer(yyvsp[-2], yyvsp[-1]);
7583  }
7584 #line 7585 "ansi_c_y.tab.cpp"
7585  break;
7586 
7587  case 554:
7588 #line 3054 "parser.y"
7589  { yyval = yyvsp[-1]; }
7590 #line 7591 "ansi_c_y.tab.cpp"
7591  break;
7592 
7593  case 555:
7594 #line 3056 "parser.y"
7595  {
7596  /* note: this is a pointer ($2) to a function ($4) */
7597  /* or an array ($4)! */
7598  yyval=yyvsp[-2];
7599  make_subtype(yyval, yyvsp[0]);
7600  }
7601 #line 7602 "ansi_c_y.tab.cpp"
7602  break;
7603 
7604  case 557:
7605 #line 3067 "parser.y"
7606  {
7607  yyval=yyvsp[-1];
7608  do_pointer(yyvsp[-3], yyvsp[-1]);
7609  }
7610 #line 7611 "ansi_c_y.tab.cpp"
7611  break;
7612 
7613  case 558:
7614 #line 3072 "parser.y"
7615  {
7616  // not sure where the type qualifiers belong
7617  yyval=merge(yyvsp[-3], yyvsp[-1]);
7618  do_pointer(yyvsp[-4], yyvsp[-3]);
7619  }
7620 #line 7621 "ansi_c_y.tab.cpp"
7621  break;
7622 
7623  case 559:
7624 #line 3078 "parser.y"
7625  {
7626  yyval=yyvsp[0];
7627  do_pointer(yyvsp[-1], yyvsp[0]);
7628  }
7629 #line 7630 "ansi_c_y.tab.cpp"
7630  break;
7631 
7632  case 560:
7633 #line 3083 "parser.y"
7634  {
7635  yyval=merge(yyvsp[-1], yyvsp[0]);
7636  do_pointer(yyvsp[-2], yyvsp[-1]);
7637  }
7638 #line 7639 "ansi_c_y.tab.cpp"
7639  break;
7640 
7641  case 561:
7642 #line 3091 "parser.y"
7643  { yyval = yyvsp[-1]; }
7644 #line 7645 "ansi_c_y.tab.cpp"
7645  break;
7646 
7647  case 562:
7648 #line 3093 "parser.y"
7649  { /* note: this is a function ($3) with a typedef name ($2) */
7650  yyval=yyvsp[-2];
7651  make_subtype(yyval, yyvsp[-1]);
7652  }
7653 #line 7654 "ansi_c_y.tab.cpp"
7654  break;
7655 
7656  case 563:
7657 #line 3098 "parser.y"
7658  {
7659  /* note: this is a pointer ($2) to a function ($4) */
7660  /* or an array ($4)! */
7661  yyval=yyvsp[-2];
7662  make_subtype(yyval, yyvsp[0]);
7663  }
7664 #line 7665 "ansi_c_y.tab.cpp"
7665  break;
7666 
7667  case 565:
7668 #line 3109 "parser.y"
7669  { yyval=yyvsp[-1]; }
7670 #line 7671 "ansi_c_y.tab.cpp"
7671  break;
7672 
7673  case 569:
7674 #line 3120 "parser.y"
7675  {
7676  yyval=yyvsp[0];
7677  do_pointer(yyvsp[-1], yyvsp[0]);
7678  }
7679 #line 7680 "ansi_c_y.tab.cpp"
7680  break;
7681 
7682  case 570:
7683 #line 3125 "parser.y"
7684  {
7685  // This is an Apple extension to C/C++/Objective C.
7686  // http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
7687  yyval=yyvsp[0];
7688  do_pointer(yyvsp[-1], yyvsp[0]);
7689  }
7690 #line 7691 "ansi_c_y.tab.cpp"
7691  break;
7692 
7693  case 571:
7694 #line 3132 "parser.y"
7695  {
7696  // the type_qualifier_list is for the pointer,
7697  // and not the identifier_declarator
7698  // The below is deliberately not using pointer_type();
7699  // the width is added during conversion.
7700  stack_type(yyvsp[-2]).id(ID_frontend_pointer);
7701  stack_type(yyvsp[-2]).subtype()=typet(ID_abstract);
7702  yyvsp[-1]=merge(yyvsp[-1], yyvsp[-2]); // dest=$2
7703  make_subtype(yyvsp[0], yyvsp[-1]); // dest=$3
7704  yyval=yyvsp[0];
7705  }
7706 #line 7707 "ansi_c_y.tab.cpp"
7707  break;
7708 
7709  case 572:
7710 #line 3147 "parser.y"
7711  {
7712  /* note: this is a function or array ($2) with name ($1) */
7713  yyval=yyvsp[-1];
7714  make_subtype(yyval, yyvsp[0]);
7715  }
7716 #line 7717 "ansi_c_y.tab.cpp"
7717  break;
7718 
7719  case 573:
7720 #line 3153 "parser.y"
7721  { yyval = yyvsp[-1]; }
7722 #line 7723 "ansi_c_y.tab.cpp"
7723  break;
7724 
7725  case 574:
7726 #line 3155 "parser.y"
7727  {
7728  /* note: this is a pointer ($2) to a function ($4) */
7729  /* or an array ($4)! */
7730  yyval=yyvsp[-2];
7731  make_subtype(yyval, yyvsp[0]);
7732  }
7733 #line 7734 "ansi_c_y.tab.cpp"
7734  break;
7735 
7736  case 575:
7737 #line 3165 "parser.y"
7738  {
7739  // We remember the last declarator for the benefit
7740  // of function argument scoping.
7741  PARSER.current_scope().last_declarator=
7742  parser_stack(yyvsp[0]).get(ID_identifier);
7743  }
7744 #line 7745 "ansi_c_y.tab.cpp"
7745  break;
7746 
7747  case 576:
7748 #line 3172 "parser.y"
7749  { yyval=yyvsp[-1]; }
7750 #line 7751 "ansi_c_y.tab.cpp"
7751  break;
7752 
7753  case 583:
7754 #line 3192 "parser.y"
7755  {
7756  yyval=yyvsp[-2];
7757  set(yyval, ID_code);
7758  stack_type(yyval).subtype()=typet(ID_abstract);
7759  stack_type(yyval).add(ID_parameters);
7760  stack_type(yyval).set(ID_C_KnR, true);
7761  }
7762 #line 7763 "ansi_c_y.tab.cpp"
7763  break;
7764 
7765  case 584:
7766 #line 3200 "parser.y"
7767  {
7768  // Use last declarator (i.e., function name) to name
7769  // the scope.
7770  PARSER.new_scope(
7771  id2string(PARSER.current_scope().last_declarator)+"::");
7772  }
7773 #line 7774 "ansi_c_y.tab.cpp"
7774  break;
7775 
7776  case 585:
7777 #line 3209 "parser.y"
7778  {
7779  yyval=yyvsp[-4];
7780  set(yyval, ID_code);
7781  stack_type(yyval).subtype()=typet(ID_abstract);
7782  stack_type(yyval).add(ID_parameters).get_sub().
7783  swap((irept::subt &)(to_type_with_subtypes(stack_type(yyvsp[-2])).subtypes()));
7784  PARSER.pop_scope();
7785  adjust_KnR_parameters(parser_stack(yyval).add(ID_parameters), parser_stack(yyvsp[0]));
7786  parser_stack(yyval).set(ID_C_KnR, true);
7787  }
7788 #line 7789 "ansi_c_y.tab.cpp"
7789  break;
7790 
7791  case 587:
7792 #line 3224 "parser.y"
7793  {
7794  yyval=yyvsp[-1];
7795  set(yyval, ID_code);
7796  stack_type(yyval).add(ID_parameters);
7797  stack_type(yyval).subtype()=typet(ID_abstract);
7798  }
7799 #line 7800 "ansi_c_y.tab.cpp"
7800  break;
7801 
7802  case 588:
7803 #line 3231 "parser.y"
7804  {
7805  // Use last declarator (i.e., function name) to name
7806  // the scope.
7807  PARSER.new_scope(
7808  id2string(PARSER.current_scope().last_declarator)+"::");
7809  }
7810 #line 7811 "ansi_c_y.tab.cpp"
7811  break;
7812 
7813  case 589:
7814 #line 3239 "parser.y"
7815  {
7816  yyval=yyvsp[-4];
7817  set(yyval, ID_code);
7818  stack_type(yyval).subtype()=typet(ID_abstract);
7819  stack_type(yyval).add(ID_parameters).get_sub().
7820  swap((irept::subt &)(to_type_with_subtypes(stack_type(yyvsp[-2])).subtypes()));
7821  PARSER.pop_scope();
7822 
7823  if(parser_stack(yyvsp[0]).is_not_nil())
7824  {
7825  adjust_KnR_parameters(parser_stack(yyval).add(ID_parameters), parser_stack(yyvsp[0]));
7826  parser_stack(yyval).set(ID_C_KnR, true);
7827  }
7828  }
7829 #line 7830 "ansi_c_y.tab.cpp"
7830  break;
7831 
7832  case 590:
7833 #line 3257 "parser.y"
7834  {
7835  yyval=yyvsp[-1];
7836  set(yyval, ID_array);
7837  stack_type(yyval).subtype()=typet(ID_abstract);
7838  stack_type(yyval).add(ID_size).make_nil();
7839  }
7840 #line 7841 "ansi_c_y.tab.cpp"
7841  break;
7842 
7843  case 591:
7844 #line 3264 "parser.y"
7845  {
7846  // this is C99: e.g., restrict, const, etc
7847  // The type qualifier belongs to the array, not the
7848  // contents of the array, nor the size.
7849  set(yyvsp[-2], ID_array);
7850  stack_type(yyvsp[-2]).subtype()=typet(ID_abstract);
7851  stack_type(yyvsp[-2]).add(ID_size).make_nil();
7852  yyval=merge(yyvsp[-1], yyvsp[-2]);
7853  }
7854 #line 7855 "ansi_c_y.tab.cpp"
7855  break;
7856 
7857  case 592:
7858 #line 3274 "parser.y"
7859  {
7860  // these should be allowed in prototypes only
7861  yyval=yyvsp[-2];
7862  set(yyval, ID_array);
7863  stack_type(yyval).subtype()=typet(ID_abstract);
7864  stack_type(yyval).add(ID_size).make_nil();
7865  }
7866 #line 7867 "ansi_c_y.tab.cpp"
7867  break;
7868 
7869  case 593:
7870 #line 3282 "parser.y"
7871  {
7872  yyval=yyvsp[-2];
7873  set(yyval, ID_array);
7874  stack_type(yyval).add(ID_size).swap(parser_stack(yyvsp[-1]));
7875  stack_type(yyval).subtype()=typet(ID_abstract);
7876  }
7877 #line 7878 "ansi_c_y.tab.cpp"
7878  break;
7879 
7880  case 594:
7881 #line 3289 "parser.y"
7882  {
7883  // The type qualifier belongs to the array, not the
7884  // contents of the array, nor the size.
7885  set(yyvsp[-3], ID_array);
7886  stack_type(yyvsp[-3]).add(ID_size).swap(parser_stack(yyvsp[-1]));
7887  stack_type(yyvsp[-3]).subtype()=typet(ID_abstract);
7888  yyval=merge(yyvsp[-2], yyvsp[-3]); // dest=$2
7889  }
7890 #line 7891 "ansi_c_y.tab.cpp"
7891  break;
7892 
7893  case 595:
7894 #line 3298 "parser.y"
7895  {
7896  // we need to push this down
7897  yyval=yyvsp[-3];
7898  set(yyvsp[-2], ID_array);
7899  stack_type(yyvsp[-2]).add(ID_size).swap(parser_stack(yyvsp[-1]));
7900  stack_type(yyvsp[-2]).subtype()=typet(ID_abstract);
7901  make_subtype(yyvsp[-3], yyvsp[-2]);
7902  }
7903 #line 7904 "ansi_c_y.tab.cpp"
7904  break;
7905 
7906  case 596:
7907 #line 3307 "parser.y"
7908  {
7909  // these should be allowed in prototypes only
7910  // we need to push this down
7911  yyval=yyvsp[-3];
7912  set(yyvsp[-2], ID_array);
7913  stack_type(yyvsp[-2]).add(ID_size).make_nil();
7914  stack_type(yyvsp[-2]).subtype()=typet(ID_abstract);
7915  make_subtype(yyvsp[-3], yyvsp[-2]);
7916  }
7917 #line 7918 "ansi_c_y.tab.cpp"
7918  break;
7919 
7920  case 597:
7921 #line 3320 "parser.y"
7922  {
7923  yyval=yyvsp[0];
7924  // The below is deliberately not using pointer_type();
7925  // the width is added during conversion.
7926  stack_type(yyval).id(ID_frontend_pointer);
7927  stack_type(yyval).subtype()=typet(ID_abstract);
7928  }
7929 #line 7930 "ansi_c_y.tab.cpp"
7930  break;
7931 
7932  case 598:
7933 #line 3328 "parser.y"
7934  {
7935  // The type_qualifier_list belongs to the pointer,
7936  // not to the (missing) abstract declarator.
7937  // The below is deliberately not using pointer_type();
7938  // the width is added during conversion.
7939  stack_type(yyvsp[-1]).id(ID_frontend_pointer);
7940  stack_type(yyvsp[-1]).subtype()=typet(ID_abstract);
7941  yyval=merge(yyvsp[0], yyvsp[-1]);
7942  }
7943 #line 7944 "ansi_c_y.tab.cpp"
7944  break;
7945 
7946  case 599:
7947 #line 3338 "parser.y"
7948  {
7949  yyval=yyvsp[0];
7950  do_pointer(yyvsp[-1], yyvsp[0]);
7951  }
7952 #line 7953 "ansi_c_y.tab.cpp"
7953  break;
7954 
7955  case 600:
7956 #line 3343 "parser.y"
7957  {
7958  // The type_qualifier_list belongs to the pointer,
7959  // not to the abstract declarator.
7960  // The below is deliberately not using pointer_type();
7961  // the width is added during conversion.
7962  stack_type(yyvsp[-2]).id(ID_frontend_pointer);
7963  stack_type(yyvsp[-2]).subtype()=typet(ID_abstract);
7964  yyvsp[-1]=merge(yyvsp[-1], yyvsp[-2]); // dest=$2
7965  make_subtype(yyvsp[0], yyvsp[-1]); // dest=$3
7966  yyval=yyvsp[0];
7967  }
7968 #line 7969 "ansi_c_y.tab.cpp"
7969  break;
7970 
7971  case 601:
7972 #line 3355 "parser.y"
7973  {
7974  // This is an Apple extension to C/C++/Objective C.
7975  // http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
7976  yyval=yyvsp[0];
7977  set(yyval, ID_block_pointer);
7978  stack_type(yyval).subtype()=typet(ID_abstract);
7979  }
7980 #line 7981 "ansi_c_y.tab.cpp"
7981  break;
7982 
7983  case 602:
7984 #line 3366 "parser.y"
7985  {
7986  yyval=yyvsp[0];
7987  // The below is deliberately not using pointer_type();
7988  // the width is added during conversion.
7989  stack_type(yyval).id(ID_frontend_pointer);
7990  stack_type(yyval).subtype()=typet(ID_abstract);
7991  }
7992 #line 7993 "ansi_c_y.tab.cpp"
7993  break;
7994 
7995  case 603:
7996 #line 3374 "parser.y"
7997  {
7998  // The type_qualifier_list belongs to the pointer,
7999  // not to the (missing) abstract declarator.
8000  // The below is deliberately not using pointer_type();
8001  // the width is added during conversion.
8002  stack_type(yyvsp[-1]).id(ID_frontend_pointer);
8003  stack_type(yyvsp[-1]).subtype()=typet(ID_abstract);
8004  yyval=merge(yyvsp[0], yyvsp[-1]);
8005  }
8006 #line 8007 "ansi_c_y.tab.cpp"
8007  break;
8008 
8009  case 604:
8010 #line 3384 "parser.y"
8011  {
8012  yyval=yyvsp[0];
8013  do_pointer(yyvsp[-1], yyvsp[0]);
8014  }
8015 #line 8016 "ansi_c_y.tab.cpp"
8016  break;
8017 
8018  case 605:
8019 #line 3389 "parser.y"
8020  {
8021  // The type_qualifier_list belongs to the pointer,
8022  // not to the (missing) abstract declarator.
8023  // The below is deliberately not using pointer_type();
8024  // the width is added during conversion.
8025  stack_type(yyvsp[-2]).id(ID_frontend_pointer);
8026  stack_type(yyvsp[-2]).subtype()=typet(ID_abstract);
8027  yyvsp[-1]=merge(yyvsp[-1], yyvsp[-2]); // dest=$2
8028  make_subtype(yyvsp[0], yyvsp[-1]); // dest=$3
8029  yyval=yyvsp[0];
8030  }
8031 #line 8032 "ansi_c_y.tab.cpp"
8032  break;
8033 
8034  case 606:
8035 #line 3401 "parser.y"
8036  {
8037  // This is an Apple extension to C/C++/Objective C.
8038  // http://en.wikipedia.org/wiki/Blocks_(C_language_extension)
8039  yyval=yyvsp[0];
8040  set(yyval, ID_block_pointer);
8041  stack_type(yyval).subtype()=typet(ID_abstract);
8042  }
8043 #line 8044 "ansi_c_y.tab.cpp"
8044  break;
8045 
8046  case 607:
8047 #line 3412 "parser.y"
8048  { yyval = yyvsp[-1]; }
8049 #line 8050 "ansi_c_y.tab.cpp"
8050  break;
8051 
8052  case 608:
8053 #line 3414 "parser.y"
8054  { yyval = yyvsp[-1]; }
8055 #line 8056 "ansi_c_y.tab.cpp"
8056  break;
8057 
8058  case 609:
8059 #line 3416 "parser.y"
8060  { yyval = yyvsp[-1]; }
8061 #line 8062 "ansi_c_y.tab.cpp"
8062  break;
8063 
8064  case 610:
8065 #line 3418 "parser.y"
8066  {
8067  /* note: this is a pointer ($2) to a function or array ($4) */
8068  yyval=yyvsp[-2];
8069  make_subtype(yyval, yyvsp[0]);
8070  }
8071 #line 8072 "ansi_c_y.tab.cpp"
8072  break;
8073 
8074  case 611:
8075 #line 3424 "parser.y"
8076  {
8077  /* note: this is a pointer ($2) to a function or array ($4) */
8078  yyval=yyvsp[-2];
8079  make_subtype(yyval, yyvsp[0]);
8080  }
8081 #line 8082 "ansi_c_y.tab.cpp"
8082  break;
8083 
8084  case 612:
8085 #line 3433 "parser.y"
8086  { yyval = yyvsp[-1]; }
8087 #line 8088 "ansi_c_y.tab.cpp"
8088  break;
8089 
8090  case 613:
8091 #line 3435 "parser.y"
8092  { yyval = yyvsp[-1]; }
8093 #line 8094 "ansi_c_y.tab.cpp"
8094  break;
8095 
8096  case 615:
8097 #line 3438 "parser.y"
8098  {
8099  /* note: this is a pointer ($2) to a function ($4) */
8100  yyval=yyvsp[-2];
8101  make_subtype(yyval, yyvsp[0]);
8102  }
8103 #line 8104 "ansi_c_y.tab.cpp"
8104  break;
8105 
8106 
8107 #line 8108 "ansi_c_y.tab.cpp"
8108 
8109  default: break;
8110  }
8111  /* User semantic actions sometimes alter yychar, and that requires
8112  that yytoken be updated with the new translation. We take the
8113  approach of translating immediately before every use of yytoken.
8114  One alternative is translating here after every semantic action,
8115  but that translation would be missed if the semantic action invokes
8116  YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
8117  if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
8118  incorrect destructor might then be invoked immediately. In the
8119  case of YYERROR or YYBACKUP, subsequent parser actions might lead
8120  to an incorrect destructor call or verbose syntax error message
8121  before the lookahead is translated. */
8122  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
8123 
8124  YYPOPSTACK (yylen);
8125  yylen = 0;
8126 
8127  *++yyvsp = yyval;
8128 
8129  /* Now 'shift' the result of the reduction. Determine what state
8130  that goes to, based on the state we popped back to and the rule
8131  number reduced by. */
8132  {
8133  const int yylhs = yyr1[yyn] - YYNTOKENS;
8134  const int yyi = yypgoto[yylhs] + *yyssp;
8135  yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
8136  ? yytable[yyi]
8137  : yydefgoto[yylhs]);
8138  }
8139 
8140  goto yynewstate;
8141 
8142 
8143 /*--------------------------------------.
8144 | yyerrlab -- here on detecting error. |
8145 `--------------------------------------*/
8146 yyerrlab:
8147  /* Make sure we have latest lookahead translation. See comments at
8148  user semantic actions for why this is necessary. */
8149  yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
8150  /* If not already recovering from an error, report this error. */
8151  if (!yyerrstatus)
8152  {
8153  ++yynerrs;
8154  yyerror (YY_("syntax error"));
8155  }
8156 
8157  if (yyerrstatus == 3)
8158  {
8159  /* If just tried and failed to reuse lookahead token after an
8160  error, discard it. */
8161 
8162  if (yychar <= YYEOF)
8163  {
8164  /* Return failure if at end of input. */
8165  if (yychar == YYEOF)
8166  YYABORT;
8167  }
8168  else
8169  {
8170  yydestruct ("Error: discarding",
8171  yytoken, &yylval);
8172  yychar = YYEMPTY;
8173  }
8174  }
8175 
8176  /* Else will try to reuse lookahead token after shifting the error
8177  token. */
8178  goto yyerrlab1;
8179 
8180 
8181 /*---------------------------------------------------.
8182 | yyerrorlab -- error raised explicitly by YYERROR. |
8183 `---------------------------------------------------*/
8184 yyerrorlab:
8185  /* Pacify compilers when the user code never invokes YYERROR and the
8186  label yyerrorlab therefore never appears in user code. */
8187  if (0)
8188  YYERROR;
8189 
8190  /* Do not reclaim the symbols of the rule whose action triggered
8191  this YYERROR. */
8192  YYPOPSTACK (yylen);
8193  yylen = 0;
8194  YY_STACK_PRINT (yyss, yyssp);
8195  yystate = *yyssp;
8196  goto yyerrlab1;
8197 
8198 
8199 /*-------------------------------------------------------------.
8200 | yyerrlab1 -- common code for both syntax error and YYERROR. |
8201 `-------------------------------------------------------------*/
8202 yyerrlab1:
8203  yyerrstatus = 3; /* Each real token shifted decrements this. */
8204 
8205  /* Pop stack until we find a state that shifts the error token. */
8206  for (;;)
8207  {
8208  yyn = yypact[yystate];
8209  if (!yypact_value_is_default (yyn))
8210  {
8211  yyn += YYSYMBOL_YYerror;
8212  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
8213  {
8214  yyn = yytable[yyn];
8215  if (0 < yyn)
8216  break;
8217  }
8218  }
8219 
8220  /* Pop the current state because it cannot handle the error token. */
8221  if (yyssp == yyss)
8222  YYABORT;
8223 
8224 
8225  yydestruct ("Error: popping",
8226  YY_ACCESSING_SYMBOL (yystate), yyvsp);
8227  YYPOPSTACK (1);
8228  yystate = *yyssp;
8229  YY_STACK_PRINT (yyss, yyssp);
8230  }
8231 
8233  *++yyvsp = yylval;
8235 
8236 
8237  /* Shift the error token. */
8238  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
8239 
8240  yystate = yyn;
8241  goto yynewstate;
8242 
8243 
8244 /*-------------------------------------.
8245 | yyacceptlab -- YYACCEPT comes here. |
8246 `-------------------------------------*/
8247 yyacceptlab:
8248  yyresult = 0;
8249  goto yyreturn;
8250 
8251 
8252 /*-----------------------------------.
8253 | yyabortlab -- YYABORT comes here. |
8254 `-----------------------------------*/
8255 yyabortlab:
8256  yyresult = 1;
8257  goto yyreturn;
8258 
8259 
8260 #if !defined yyoverflow
8261 /*-------------------------------------------------.
8262 | yyexhaustedlab -- memory exhaustion comes here. |
8263 `-------------------------------------------------*/
8264 yyexhaustedlab:
8265  yyerror (YY_("memory exhausted"));
8266  yyresult = 2;
8267  /* Fall through. */
8268 #endif
8269 
8270 
8271 /*-----------------------------------------------------.
8272 | yyreturn -- parsing is finished, return the result. |
8273 `-----------------------------------------------------*/
8274 yyreturn:
8275  if (yychar != YYEMPTY)
8276  {
8277  /* Make sure we have latest lookahead translation. See comments at
8278  user semantic actions for why this is necessary. */
8279  yytoken = YYTRANSLATE (yychar);
8280  yydestruct ("Cleanup: discarding lookahead",
8281  yytoken, &yylval);
8282  }
8283  /* Do not reclaim the symbols of the rule whose action triggered
8284  this YYABORT or YYACCEPT. */
8285  YYPOPSTACK (yylen);
8286  YY_STACK_PRINT (yyss, yyssp);
8287  while (yyssp != yyss)
8288  {
8289  yydestruct ("Cleanup: popping",
8290  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
8291  YYPOPSTACK (1);
8292  }
8293 #ifndef yyoverflow
8294  if (yyss != yyssa)
8295  YYSTACK_FREE (yyss);
8296 #endif
8297 
8298  return yyresult;
8299 }
8300 
8301 #line 3445 "parser.y"
8302 
YYSYMBOL_TOK_MSC_EXCEPT
@ YYSYMBOL_TOK_MSC_EXCEPT
Definition: ansi_c_y.tab.cpp:508
YYSYMBOL_gcc_asm_output
@ YYSYMBOL_gcc_asm_output
Definition: ansi_c_y.tab.cpp:770
yydefact
static const yytype_int16 yydefact[]
Definition: ansi_c_y.tab.cpp:1583
YYDPRINTF
#define YYDPRINTF(Args)
Definition: ansi_c_y.tab.cpp:3576
YYSYMBOL_TOK_CHAR32_T
@ YYSYMBOL_TOK_CHAR32_T
Definition: ansi_c_y.tab.cpp:557
TOK_GCC_LABEL
@ TOK_GCC_LABEL
Definition: ansi_c_y.tab.h:160
TOK_BUILTIN_VA_ARG
@ TOK_BUILTIN_VA_ARG
Definition: ansi_c_y.tab.h:164
YYSYMBOL_TOK_UNDERLYING_TYPE
@ YYSYMBOL_TOK_UNDERLYING_TYPE
Definition: ansi_c_y.tab.cpp:587
dstringt
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:37
YYSYMBOL_TOK_WCHAR_T
@ YYSYMBOL_TOK_WCHAR_T
Definition: ansi_c_y.tab.cpp:429
YYSYMBOL_gcc_asm_input_list
@ YYSYMBOL_gcc_asm_input_list
Definition: ansi_c_y.tab.cpp:774
YYSYMBOL_TOK_STRING
@ YYSYMBOL_TOK_STRING
Definition: ansi_c_y.tab.cpp:458
TOK_WCHAR_T
@ TOK_WCHAR_T
Definition: ansi_c_y.tab.h:92
YYSYMBOL_TOK_INT16
@ YYSYMBOL_TOK_INT16
Definition: ansi_c_y.tab.cpp:461
YYSYMBOL_asm_definition
@ YYSYMBOL_asm_definition
Definition: ansi_c_y.tab.cpp:784
YYSYMBOL_TOK_CLANG_BUILTIN_CONVERTVECTOR
@ YYSYMBOL_TOK_CLANG_BUILTIN_CONVERTVECTOR
Definition: ansi_c_y.tab.cpp:503
YYSYMBOL_gcc_asm_label
@ YYSYMBOL_gcc_asm_label
Definition: ansi_c_y.tab.cpp:780
YYSYMBOL_TOK_FLOAT
@ YYSYMBOL_TOK_FLOAT
Definition: ansi_c_y.tab.cpp:408
YYSYMBOL_TOK_GENERIC
@ YYSYMBOL_TOK_GENERIC
Definition: ansi_c_y.tab.cpp:546
YYSYMBOL_TOK_MSC_FORCEINLINE
@ YYSYMBOL_TOK_MSC_FORCEINLINE
Definition: ansi_c_y.tab.cpp:511
YYSYMBOL_KnR_parameter
@ YYSYMBOL_KnR_parameter
Definition: ansi_c_y.tab.cpp:735
YY_IGNORE_USELESS_CAST_END
#define YY_IGNORE_USELESS_CAST_END
Definition: ansi_c_y.tab.cpp:994
to_unary_expr
const unary_exprt & to_unary_expr(const exprt &expr)
Cast an exprt to a unary_exprt.
Definition: std_expr.h:316
stack_type
#define stack_type(x)
Definition: parser.h:146
TOK_CPROVER_FINALLY
@ TOK_CPROVER_FINALLY
Definition: ansi_c_y.tab.h:194
TOK_FLOATING
@ TOK_FLOATING
Definition: ansi_c_y.tab.h:119
TOK_MSC_EXCEPT
@ TOK_MSC_EXCEPT
Definition: ansi_c_y.tab.h:171
YYSTACK_RELOCATE
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Definition: ansi_c_y.tab.cpp:1094
YYSYMBOL_member_default_declaring_list
@ YYSYMBOL_member_default_declaring_list
Definition: ansi_c_y.tab.cpp:719
YYSTACK_ALLOC
#define YYSTACK_ALLOC
Definition: ansi_c_y.tab.cpp:1039
YYSYMBOL_typeof_specifier
@ YYSYMBOL_typeof_specifier
Definition: ansi_c_y.tab.cpp:691
YYSYMBOL_typedef_type_specifier
@ YYSYMBOL_typedef_type_specifier
Definition: ansi_c_y.tab.cpp:690
YYSYMBOL_279_5
@ YYSYMBOL_279_5
Definition: ansi_c_y.tab.cpp:670
TOK_CPROVER_LOOP_INVARIANT
@ TOK_CPROVER_LOOP_INVARIANT
Definition: ansi_c_y.tab.h:196
YYSYMBOL_exclusive_or_expression
@ YYSYMBOL_exclusive_or_expression
Definition: ansi_c_y.tab.cpp:646
YYSYMBOL_TOK_INT64
@ YYSYMBOL_TOK_INT64
Definition: ansi_c_y.tab.cpp:463
TOK_DEFAULT
@ TOK_DEFAULT
Definition: ansi_c_y.tab.h:65
type_with_subtypest
Type with multiple subtypes.
Definition: type.h:176
YYSYMBOL_quantifier_expression
@ YYSYMBOL_quantifier_expression
Definition: ansi_c_y.tab.cpp:630
YYSYMBOL_initializer_list_opt
@ YYSYMBOL_initializer_list_opt
Definition: ansi_c_y.tab.cpp:743
ansi_c_declarationt::declarators
const declaratorst & declarators() const
Definition: ansi_c_declaration.h:217
YYSYMBOL_parameter_list
@ YYSYMBOL_parameter_list
Definition: ansi_c_y.tab.cpp:736
YYSYMBOL_TOK_GOTO
@ YYSYMBOL_TOK_GOTO
Definition: ansi_c_y.tab.cpp:410
YY_CAST
#define YY_CAST(Type, Val)
Definition: ansi_c_y.tab.cpp:139
YYSYMBOL_member_declaring_list
@ YYSYMBOL_member_declaring_list
Definition: ansi_c_y.tab.cpp:720
ansi_c_declarationt::set_is_parameter
void set_is_parameter(bool is_parameter)
Definition: ansi_c_declaration.h:114
YYSYMBOL_TOK_PTR64
@ YYSYMBOL_TOK_PTR64
Definition: ansi_c_y.tab.cpp:465
YYSYMBOL_paren_identifier_declarator
@ YYSYMBOL_paren_identifier_declarator
Definition: ansi_c_y.tab.cpp:809
YYSYMBOL_declaration_qualifier
@ YYSYMBOL_declaration_qualifier
Definition: ansi_c_y.tab.cpp:677
YYSYMBOL_gcc_asm_outputs
@ YYSYMBOL_gcc_asm_outputs
Definition: ansi_c_y.tab.cpp:769
YYSYMBOL_storage_class
@ YYSYMBOL_storage_class
Definition: ansi_c_y.tab.cpp:700
YYSYMBOL_TOK_FORALL
@ YYSYMBOL_TOK_FORALL
Definition: ansi_c_y.tab.cpp:517
TOK_SWITCH
@ TOK_SWITCH
Definition: ansi_c_y.tab.h:86
TOK_ATOMIC_TYPE_QUALIFIER
@ TOK_ATOMIC_TYPE_QUALIFIER
Definition: ansi_c_y.tab.h:207
YYSYMBOL_TOK_USING
@ YYSYMBOL_TOK_USING
Definition: ansi_c_y.tab.cpp:577
TOK_GCC_ATTRIBUTE_CONSTRUCTOR
@ TOK_GCC_ATTRIBUTE_CONSTRUCTOR
Definition: ansi_c_y.tab.h:156
TOK_GCC_ASM_PAREN
@ TOK_GCC_ASM_PAREN
Definition: ansi_c_y.tab.h:144
YYSYMBOL_selection_statement
@ YYSYMBOL_selection_statement
Definition: ansi_c_y.tab.cpp:754
TOK_PTR64
@ TOK_PTR64
Definition: ansi_c_y.tab.h:128
TOK_CPROVER_FLOATBV
@ TOK_CPROVER_FLOATBV
Definition: ansi_c_y.tab.h:187
irept::clear
void clear()
Definition: irep.h:473
TOK_BINARY_TYPE_PREDICATE
@ TOK_BINARY_TYPE_PREDICATE
Definition: ansi_c_y.tab.h:246
YYSYMBOL_declaration_specifier
@ YYSYMBOL_declaration_specifier
Definition: ansi_c_y.tab.cpp:672
YYSYMBOL_YYEMPTY
@ YYSYMBOL_YYEMPTY
Definition: ansi_c_y.tab.cpp:390
YYSYMBOL_declaration_or_expression_statement
@ YYSYMBOL_declaration_or_expression_statement
Definition: ansi_c_y.tab.cpp:755
YYSYMBOL_YYEOF
@ YYSYMBOL_YYEOF
Definition: ansi_c_y.tab.cpp:391
YYSYMBOL_273_3
@ YYSYMBOL_273_3
Definition: ansi_c_y.tab.cpp:664
YYSYMBOL_identifier_declarator
@ YYSYMBOL_identifier_declarator
Definition: ansi_c_y.tab.cpp:806
TOK_ENUM
@ TOK_ENUM
Definition: ansi_c_y.tab.h:69
yysymbol_kind_t
yysymbol_kind_t
Definition: ansi_c_y.tab.cpp:389
YYSYMBOL_TOK_LONG
@ YYSYMBOL_TOK_LONG
Definition: ansi_c_y.tab.cpp:414
TOK_CPROVER_ATOMIC
@ TOK_CPROVER_ATOMIC
Definition: ansi_c_y.tab.h:189
TOK_ASM_STRING
@ TOK_ASM_STRING
Definition: ansi_c_y.tab.h:122
YYSYMBOL_basic_type_name
@ YYSYMBOL_basic_type_name
Definition: ansi_c_y.tab.cpp:701
YYSYMBOL_TOK_MSC_BASED
@ YYSYMBOL_TOK_MSC_BASED
Definition: ansi_c_y.tab.cpp:499
YYSYMBOL_TOK_INCR
@ YYSYMBOL_TOK_INCR
Definition: ansi_c_y.tab.cpp:432
TOK_GCC_ATTRIBUTE
@ TOK_GCC_ATTRIBUTE
Definition: ansi_c_y.tab.h:145
YYSYMBOL_TOK_CLASS
@ YYSYMBOL_TOK_CLASS
Definition: ansi_c_y.tab.cpp:558
YYSYMBOL_TOK_ANDAND
@ YYSYMBOL_TOK_ANDAND
Definition: ansi_c_y.tab.cpp:440
TOK_PROTECTED
@ TOK_PROTECTED
Definition: ansi_c_y.tab.h:232
YYSYMBOL_declaration_statement
@ YYSYMBOL_declaration_statement
Definition: ansi_c_y.tab.cpp:747
TOK_CPROVER_THROW
@ TOK_CPROVER_THROW
Definition: ansi_c_y.tab.h:191
YYSYMBOL_213_
@ YYSYMBOL_213_
Definition: ansi_c_y.tab.cpp:604
YYSYMBOL_280_6
@ YYSYMBOL_280_6
Definition: ansi_c_y.tab.cpp:671
YYSYMBOL_basic_declaration_specifier
@ YYSYMBOL_basic_declaration_specifier
Definition: ansi_c_y.tab.cpp:683
TOK_CPROVER_FIXEDBV
@ TOK_CPROVER_FIXEDBV
Definition: ansi_c_y.tab.h:188
YYSYMBOL_206_
@ YYSYMBOL_206_
Definition: ansi_c_y.tab.cpp:597
TOK_IMPLIES
@ TOK_IMPLIES
Definition: ansi_c_y.tab.h:199
YYSYMBOL_TOK_STDCALL
@ YYSYMBOL_TOK_STDCALL
Definition: ansi_c_y.tab.cpp:514
YYSYMBOL_TOK_REAL
@ YYSYMBOL_TOK_REAL
Definition: ansi_c_y.tab.cpp:541
yycheck
static const yytype_int16 yycheck[]
Definition: ansi_c_y.tab.cpp:2458
YYSYMBOL_TOK_CPROVER_ID
@ YYSYMBOL_TOK_CPROVER_ID
Definition: ansi_c_y.tab.cpp:532
YYSYMBOL_TOK_CONSTEXPR
@ YYSYMBOL_TOK_CONSTEXPR
Definition: ansi_c_y.tab.cpp:552
TOK_GCC_AUTO_TYPE
@ TOK_GCC_AUTO_TYPE
Definition: ansi_c_y.tab.h:130
TOK_USING
@ TOK_USING
Definition: ansi_c_y.tab.h:240
typet
The type of an expression, extends irept.
Definition: type.h:29
YYSYMBOL_202_
@ YYSYMBOL_202_
Definition: ansi_c_y.tab.cpp:593
YYSYMBOL_TOK_FLOATING
@ YYSYMBOL_TOK_FLOATING
Definition: ansi_c_y.tab.cpp:456
TOK_GE
@ TOK_GE
Definition: ansi_c_y.tab.h:100
TOK_SHLASSIGN
@ TOK_SHLASSIGN
Definition: ansi_c_y.tab.h:111
YYSYMBOL_TOK_AUTO
@ YYSYMBOL_TOK_AUTO
Definition: ansi_c_y.tab.cpp:394
TOK_UNDERLYING_TYPE
@ TOK_UNDERLYING_TYPE
Definition: ansi_c_y.tab.h:250
YYSYMBOL_TOK_THREAD_LOCAL
@ YYSYMBOL_TOK_THREAD_LOCAL
Definition: ansi_c_y.tab.cpp:550
YYSYMBOL_gcc_asm_input
@ YYSYMBOL_gcc_asm_input
Definition: ansi_c_y.tab.cpp:773
TOK_GCC_DECIMAL128
@ TOK_GCC_DECIMAL128
Definition: ansi_c_y.tab.h:142
TOK_BREAK
@ TOK_BREAK
Definition: ansi_c_y.tab.h:60
ansi_c_declarationt::add_initializer
void add_initializer(exprt &value)
Definition: ansi_c_declaration.h:242
YYSTACK_FREE
#define YYSTACK_FREE
Definition: ansi_c_y.tab.cpp:1040
yyansi_ctext
char * yyansi_ctext
Definition: ansi_c_lex.yy.cpp:4632
YYSYMBOL_enum_name
@ YYSYMBOL_enum_name
Definition: ansi_c_y.tab.cpp:725
TOK_GCC_ATTRIBUTE_NORETURN
@ TOK_GCC_ATTRIBUTE_NORETURN
Definition: ansi_c_y.tab.h:155
YYSYMBOL_203_
@ YYSYMBOL_203_
Definition: ansi_c_y.tab.cpp:594
TOK_SHIFTLEFT
@ TOK_SHIFTLEFT
Definition: ansi_c_y.tab.h:97
YYSYMBOL_TOK_DOUBLE
@ YYSYMBOL_TOK_DOUBLE
Definition: ansi_c_y.tab.cpp:404
TOK_TYPENAME
@ TOK_TYPENAME
Definition: ansi_c_y.tab.h:238
TOK_DECR
@ TOK_DECR
Definition: ansi_c_y.tab.h:96
YYSYMBOL_TOK_TYPENAME
@ YYSYMBOL_TOK_TYPENAME
Definition: ansi_c_y.tab.cpp:575
YYSYMBOL_TOK_CATCH
@ YYSYMBOL_TOK_CATCH
Definition: ansi_c_y.tab.cpp:555
YYSYMBOL_TOK_RESTRICT
@ YYSYMBOL_TOK_RESTRICT
Definition: ansi_c_y.tab.cpp:416
YYSYMBOL_220_
@ YYSYMBOL_220_
Definition: ansi_c_y.tab.cpp:611
TOK_GCC_FLOAT32
@ TOK_GCC_FLOAT32
Definition: ansi_c_y.tab.h:132
YYSYMBOL_comma_expression_opt
@ YYSYMBOL_comma_expression_opt
Definition: ansi_c_y.tab.cpp:658
YYSYMBOL_declarator
@ YYSYMBOL_declarator
Definition: ansi_c_y.tab.cpp:797
YYSYMBOL_TOK_SCOPE
@ YYSYMBOL_TOK_SCOPE
Definition: ansi_c_y.tab.cpp:579
YYSYMBOL_KnR_typedef_declaration_specifier
@ YYSYMBOL_KnR_typedef_declaration_specifier
Definition: ansi_c_y.tab.cpp:792
YYSYMBOL_labeled_statement
@ YYSYMBOL_labeled_statement
Definition: ansi_c_y.tab.cpp:748
YYSYMBOL_unary_abstract_declarator
@ YYSYMBOL_unary_abstract_declarator
Definition: ansi_c_y.tab.cpp:817
YYSYMBOL_gcc_type_attribute
@ YYSYMBOL_gcc_type_attribute
Definition: ansi_c_y.tab.cpp:710
YYSYMBOL_atomic_declaration_specifier
@ YYSYMBOL_atomic_declaration_specifier
Definition: ansi_c_y.tab.cpp:689
YYSYMBOL_gcc_asm_labels_list
@ YYSYMBOL_gcc_asm_labels_list
Definition: ansi_c_y.tab.cpp:779
TOK_IF
@ TOK_IF
Definition: ansi_c_y.tab.h:74
YYSYMBOL_shift_expression
@ YYSYMBOL_shift_expression
Definition: ansi_c_y.tab.cpp:642
YYSYMBOL_TOK_TYPEID
@ YYSYMBOL_TOK_TYPEID
Definition: ansi_c_y.tab.cpp:574
TOK_ELSE
@ TOK_ELSE
Definition: ansi_c_y.tab.h:68
YYPOPSTACK
#define YYPOPSTACK(N)
TOK_TYPEDEFNAME
@ TOK_TYPEDEFNAME
Definition: ansi_c_y.tab.h:117
YYSYMBOL_TOK_CPROVER_CATCH
@ YYSYMBOL_TOK_CPROVER_CATCH
Definition: ansi_c_y.tab.cpp:529
YYUSE
#define YYUSE(E)
Definition: ansi_c_y.tab.cpp:961
YYSYMBOL_TOK_NEW
@ YYSYMBOL_TOK_NEW
Definition: ansi_c_y.tab.cpp:565
TOK_CHAR16_T
@ TOK_CHAR16_T
Definition: ansi_c_y.tab.h:219
ansi_c_declarationt::set_is_enum_constant
void set_is_enum_constant(bool is_enum_constant)
Definition: ansi_c_declaration.h:94
YYSYMBOL_TOK_ALIGNAS
@ YYSYMBOL_TOK_ALIGNAS
Definition: ansi_c_y.tab.cpp:543
YYSYMBOL_TOK_BOOL
@ YYSYMBOL_TOK_BOOL
Definition: ansi_c_y.tab.cpp:395
YYSYMBOL_TOK_GCC_ATTRIBUTE_NORETURN
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_NORETURN
Definition: ansi_c_y.tab.cpp:492
TOK_NEW
@ TOK_NEW
Definition: ansi_c_y.tab.h:228
TOK_CHAR32_T
@ TOK_CHAR32_T
Definition: ansi_c_y.tab.h:220
YYSYMBOL_parameter_unary_abstract_declarator
@ YYSYMBOL_parameter_unary_abstract_declarator
Definition: ansi_c_y.tab.cpp:818
TOK_IDENTIFIER
@ TOK_IDENTIFIER
Definition: ansi_c_y.tab.h:116
YYSYMBOL_TOK_EXPLICIT
@ YYSYMBOL_TOK_EXPLICIT
Definition: ansi_c_y.tab.cpp:561
YYSYMBOL_statement_expression
@ YYSYMBOL_statement_expression
Definition: ansi_c_y.tab.cpp:634
YYSYMBOL_member_declaration_list_opt
@ YYSYMBOL_member_declaration_list_opt
Definition: ansi_c_y.tab.cpp:716
TOK_FRIEND
@ TOK_FRIEND
Definition: ansi_c_y.tab.h:225
to_type_with_subtypes
const type_with_subtypest & to_type_with_subtypes(const typet &type)
Definition: type.h:206
YYSYMBOL_214_
@ YYSYMBOL_214_
Definition: ansi_c_y.tab.cpp:605
convert_integer_literal.h
YYSYMBOL_TOK_BREAK
@ YYSYMBOL_TOK_BREAK
Definition: ansi_c_y.tab.cpp:397
yypact
static const yytype_int16 yypact[]
Definition: ansi_c_y.tab.cpp:1464
TOK_CATCH
@ TOK_CATCH
Definition: ansi_c_y.tab.h:218
TOK_DECLTYPE
@ TOK_DECLTYPE
Definition: ansi_c_y.tab.h:223
YYSYMBOL_YYUNDEF
@ YYSYMBOL_YYUNDEF
Definition: ansi_c_y.tab.cpp:393
YYSYMBOL_TOK_INTEGER
@ YYSYMBOL_TOK_INTEGER
Definition: ansi_c_y.tab.cpp:455
TOK_SCANNER_ERROR
@ TOK_SCANNER_ERROR
Definition: ansi_c_y.tab.h:216
YYSYMBOL_KnR_parameter_header_opt
@ YYSYMBOL_KnR_parameter_header_opt
Definition: ansi_c_y.tab.cpp:787
YYSYMBOL_TOK_IMAGINARY
@ YYSYMBOL_TOK_IMAGINARY
Definition: ansi_c_y.tab.cpp:547
exprt
Base class for all expressions.
Definition: expr.h:53
YYSYMBOL_TOK_TYPEDEFNAME
@ YYSYMBOL_TOK_TYPEDEFNAME
Definition: ansi_c_y.tab.cpp:454
YYSYMBOL_TOK_NULLPTR
@ YYSYMBOL_TOK_NULLPTR
Definition: ansi_c_y.tab.cpp:551
YYSYMBOL_TOK_MSC_IF_EXISTS
@ YYSYMBOL_TOK_MSC_IF_EXISTS
Definition: ansi_c_y.tab.cpp:585
TOK_TYPEID
@ TOK_TYPEID
Definition: ansi_c_y.tab.h:237
YYSYMBOL_constant
@ YYSYMBOL_constant
Definition: ansi_c_y.tab.cpp:620
TOK_MSC_LEAVE
@ TOK_MSC_LEAVE
Definition: ansi_c_y.tab.h:172
yyalloc::yyss_alloc
yy_state_t yyss_alloc
Definition: ansi_c_y.tab.cpp:1074
yy_state_t
yytype_int16 yy_state_t
Definition: ansi_c_y.tab.cpp:925
YYSYMBOL_TOK_SHRASSIGN
@ YYSYMBOL_TOK_SHRASSIGN
Definition: ansi_c_y.tab.cpp:449
YYSYMBOL_TOK_GCC_ATTRIBUTE_CONSTRUCTOR
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_CONSTRUCTOR
Definition: ansi_c_y.tab.cpp:493
YYSYMBOL_TOK_NE
@ YYSYMBOL_TOK_NE
Definition: ansi_c_y.tab.cpp:439
YYSYMBOL_requires_opt
@ YYSYMBOL_requires_opt
Definition: ansi_c_y.tab.cpp:632
YYSYMBOL_external_definition
@ YYSYMBOL_external_definition
Definition: ansi_c_y.tab.cpp:783
YYSYMBOL_parameter_declaration
@ YYSYMBOL_parameter_declaration
Definition: ansi_c_y.tab.cpp:737
TOK_EXISTS
@ TOK_EXISTS
Definition: ansi_c_y.tab.h:181
TOK_GCC_ATTRIBUTE_VECTOR_SIZE
@ TOK_GCC_ATTRIBUTE_VECTOR_SIZE
Definition: ansi_c_y.tab.h:149
TOK_GCC_FLOAT80
@ TOK_GCC_FLOAT80
Definition: ansi_c_y.tab.h:134
YYSYMBOL_278_4
@ YYSYMBOL_278_4
Definition: ansi_c_y.tab.cpp:669
YYSYMBOL_335_10
@ YYSYMBOL_335_10
Definition: ansi_c_y.tab.cpp:726
YYSYMBOL_TOK_GCC_ATTRIBUTE_PACKED
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_PACKED
Definition: ansi_c_y.tab.cpp:485
YYSYMBOL_TOK_GCC_FLOAT64X
@ YYSYMBOL_TOK_GCC_FLOAT64X
Definition: ansi_c_y.tab.cpp:473
TOK_COMPLEX
@ TOK_COMPLEX
Definition: ansi_c_y.tab.h:59
YYSYMBOL_TOK_ACSL_EXISTS
@ YYSYMBOL_TOK_ACSL_EXISTS
Definition: ansi_c_y.tab.cpp:520
irep_idt
dstringt irep_idt
Definition: irep.h:32
YYSYMBOL_TOK_GCC_ATTRIBUTE
@ YYSYMBOL_TOK_GCC_ATTRIBUTE
Definition: ansi_c_y.tab.cpp:482
YYSYMBOL_KnR_sue_declaration_specifier
@ YYSYMBOL_KnR_sue_declaration_specifier
Definition: ansi_c_y.tab.cpp:793
TOK_ANDASSIGN
@ TOK_ANDASSIGN
Definition: ansi_c_y.tab.h:113
to_string
std::string to_string(const string_not_contains_constraintt &expr)
Used for debug printing.
Definition: string_constraint.cpp:55
YYSYMBOL_TOK_VOLATILE
@ YYSYMBOL_TOK_VOLATILE
Definition: ansi_c_y.tab.cpp:428
YYSYMBOL_TOK_INT32
@ YYSYMBOL_TOK_INT32
Definition: ansi_c_y.tab.cpp:462
TOK_GOTO
@ TOK_GOTO
Definition: ansi_c_y.tab.h:73
YYSYMBOL_TOK_CHAR16_T
@ YYSYMBOL_TOK_CHAR16_T
Definition: ansi_c_y.tab.cpp:556
YYSYMBOL_compound_statement
@ YYSYMBOL_compound_statement
Definition: ansi_c_y.tab.cpp:750
YYSYMBOL_201_
@ YYSYMBOL_201_
Definition: ansi_c_y.tab.cpp:592
YYSTYPE
#define YYSTYPE
Definition: ansi_c_lex.yy.cpp:4674
YYSYMBOL_TOK_MUTABLE
@ YYSYMBOL_TOK_MUTABLE
Definition: ansi_c_y.tab.cpp:563
to_side_effect_expr
side_effect_exprt & to_side_effect_expr(exprt &expr)
Definition: std_code.h:1941
TOK_GCC_FLOAT16
@ TOK_GCC_FLOAT16
Definition: ansi_c_y.tab.h:131
YYSYMBOL_type_name
@ YYSYMBOL_type_name
Definition: ansi_c_y.tab.cpp:739
TOK_INTEGER
@ TOK_INTEGER
Definition: ansi_c_y.tab.h:118
YYSYMBOL_generic_association
@ YYSYMBOL_generic_association
Definition: ansi_c_y.tab.cpp:624
YYSYMBOL_TOK_VIRTUAL
@ YYSYMBOL_TOK_VIRTUAL
Definition: ansi_c_y.tab.cpp:578
YYSYMBOL_TOK_ELSE
@ YYSYMBOL_TOK_ELSE
Definition: ansi_c_y.tab.cpp:405
YYSYMBOL_TOK_INT
@ YYSYMBOL_TOK_INT
Definition: ansi_c_y.tab.cpp:413
type_with_subtypest::subtypes
subtypest & subtypes()
Definition: type.h:191
TOK_ORASSIGN
@ TOK_ORASSIGN
Definition: ansi_c_y.tab.h:115
YYABORT
#define YYABORT
Definition: ansi_c_y.tab.cpp:3421
YYSYMBOL_TOK_STATIC
@ YYSYMBOL_TOK_STATIC
Definition: ansi_c_y.tab.cpp:421
TOK_FASTCALL
@ TOK_FASTCALL
Definition: ansi_c_y.tab.h:178
YYSYMBOL_msc_asm_statement
@ YYSYMBOL_msc_asm_statement
Definition: ansi_c_y.tab.cpp:763
YYSYMBOL_TOK_GCC_ATTRIBUTE_FALLTHROUGH
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_FALLTHROUGH
Definition: ansi_c_y.tab.cpp:495
YYSYMBOL_member_declaration
@ YYSYMBOL_member_declaration
Definition: ansi_c_y.tab.cpp:718
YYSYMBOL_TOK_IMPLIES
@ YYSYMBOL_TOK_IMPLIES
Definition: ansi_c_y.tab.cpp:536
TOK_FALSE
@ TOK_FALSE
Definition: ansi_c_y.tab.h:203
YYSYMBOL_212_
@ YYSYMBOL_212_
Definition: ansi_c_y.tab.cpp:603
TOK_NE
@ TOK_NE
Definition: ansi_c_y.tab.h:102
TOK_TEMPLATE
@ TOK_TEMPLATE
Definition: ansi_c_y.tab.h:234
YYSYMBOL_TOK_SIGNED
@ YYSYMBOL_TOK_SIGNED
Definition: ansi_c_y.tab.cpp:419
YYSYMBOL_logical_or_expression
@ YYSYMBOL_logical_or_expression
Definition: ansi_c_y.tab.cpp:650
YYSYMBOL_TOK_ORASSIGN
@ YYSYMBOL_TOK_ORASSIGN
Definition: ansi_c_y.tab.cpp:452
YYSYMBOL_TOK_CPROVER_THROW
@ YYSYMBOL_TOK_CPROVER_THROW
Definition: ansi_c_y.tab.cpp:528
YYSYMBOL_bit_field_size_opt
@ YYSYMBOL_bit_field_size_opt
Definition: ansi_c_y.tab.cpp:723
YYEMPTY
@ YYEMPTY
Definition: ansi_c_y.tab.h:53
YYSYMBOL_unary_identifier_declarator
@ YYSYMBOL_unary_identifier_declarator
Definition: ansi_c_y.tab.cpp:807
YYSYMBOL_TOK_INTERFACE
@ YYSYMBOL_TOK_INTERFACE
Definition: ansi_c_y.tab.cpp:512
YYSYMBOL_TOK_RETURN
@ YYSYMBOL_TOK_RETURN
Definition: ansi_c_y.tab.cpp:417
YYSYMBOL_TOK_MSC_LEAVE
@ YYSYMBOL_TOK_MSC_LEAVE
Definition: ansi_c_y.tab.cpp:509
TOK_GCC_ATTRIBUTE_ALIGNED
@ TOK_GCC_ATTRIBUTE_ALIGNED
Definition: ansi_c_y.tab.h:146
YYSYMBOL_TOK_GCC_LABEL
@ YYSYMBOL_TOK_GCC_LABEL
Definition: ansi_c_y.tab.cpp:497
TOK_STDCALL
@ TOK_STDCALL
Definition: ansi_c_y.tab.h:177
YYSYMBOL_typeof_type_specifier
@ YYSYMBOL_typeof_type_specifier
Definition: ansi_c_y.tab.cpp:692
TOK_MSC_TRY
@ TOK_MSC_TRY
Definition: ansi_c_y.tab.h:169
YYSYMBOL_TOK_COMPLEX
@ YYSYMBOL_TOK_COMPLEX
Definition: ansi_c_y.tab.cpp:396
YYSYMBOL_logical_xor_expression
@ YYSYMBOL_logical_xor_expression
Definition: ansi_c_y.tab.cpp:649
YYSYMBOL_TOK_NORETURN
@ YYSYMBOL_TOK_NORETURN
Definition: ansi_c_y.tab.cpp:548
merge
void merge(string_constraintst &result, string_constraintst other)
Merge two sets of constraints by appending to the first one.
Definition: string_constraint_generator_main.cpp:100
TOK_LONG
@ TOK_LONG
Definition: ansi_c_y.tab.h:77
YYSYMBOL_gcc_asm_statement
@ YYSYMBOL_gcc_asm_statement
Definition: ansi_c_y.tab.cpp:762
TOK_STATIC_ASSERT
@ TOK_STATIC_ASSERT
Definition: ansi_c_y.tab.h:212
TOK_PLUSASSIGN
@ TOK_PLUSASSIGN
Definition: ansi_c_y.tab.h:109
YYSYMBOL_external_definition_list
@ YYSYMBOL_external_definition_list
Definition: ansi_c_y.tab.cpp:782
YYSYMBOL_TOK_PRIVATE
@ YYSYMBOL_TOK_PRIVATE
Definition: ansi_c_y.tab.cpp:568
YYSYMBOL_sue_declaration_specifier
@ YYSYMBOL_sue_declaration_specifier
Definition: ansi_c_y.tab.cpp:685
YYSYMBOL_TOK_DIVASSIGN
@ YYSYMBOL_TOK_DIVASSIGN
Definition: ansi_c_y.tab.cpp:444
to_binary_expr
const binary_exprt & to_binary_expr(const exprt &expr)
Cast an exprt to a binary_exprt.
Definition: std_expr.h:678
TOK_CASE
@ TOK_CASE
Definition: ansi_c_y.tab.h:61
TOK_WHILE
@ TOK_WHILE
Definition: ansi_c_y.tab.h:93
YYSYMBOL_TOK_ASM_STRING
@ YYSYMBOL_TOK_ASM_STRING
Definition: ansi_c_y.tab.cpp:459
YYSYMBOL_type_qualifier_list
@ YYSYMBOL_type_qualifier_list
Definition: ansi_c_y.tab.cpp:675
TOK_MSC_BASED
@ TOK_MSC_BASED
Definition: ansi_c_y.tab.h:162
YYSYMBOL_gcc_local_label_statement
@ YYSYMBOL_gcc_local_label_statement
Definition: ansi_c_y.tab.cpp:759
TOK_MSC_FINALLY
@ TOK_MSC_FINALLY
Definition: ansi_c_y.tab.h:170
YYSTYPE
Definition: xml_y.tab.cpp:170
YYSYMBOL_TOK_CPROVER_ATOMIC
@ YYSYMBOL_TOK_CPROVER_ATOMIC
Definition: ansi_c_y.tab.cpp:526
YYSYMBOL_TOK_DO
@ YYSYMBOL_TOK_DO
Definition: ansi_c_y.tab.cpp:403
YYSYMBOL_209_
@ YYSYMBOL_209_
Definition: ansi_c_y.tab.cpp:600
YYSYMBOL_TOK_TRUE
@ YYSYMBOL_TOK_TRUE
Definition: ansi_c_y.tab.cpp:539
TOK_THROW
@ TOK_THROW
Definition: ansi_c_y.tab.h:236
YYSYMBOL_parameter_postfixing_abstract_declarator
@ YYSYMBOL_parameter_postfixing_abstract_declarator
Definition: ansi_c_y.tab.cpp:814
YYSYMBOL_msc_declspec_opt
@ YYSYMBOL_msc_declspec_opt
Definition: ansi_c_y.tab.cpp:699
TOK_CW_VAR_ARG_TYPEOF
@ TOK_CW_VAR_ARG_TYPEOF
Definition: ansi_c_y.tab.h:163
yychar
#define yychar
Definition: ansi_c_y.tab.cpp:74
TOK_GCC_ATTRIBUTE_WEAK
@ TOK_GCC_ATTRIBUTE_WEAK
Definition: ansi_c_y.tab.h:152
TOK_UNSIGNED
@ TOK_UNSIGNED
Definition: ansi_c_y.tab.h:89
YYSYMBOL_KnR_basic_declaration_specifier
@ YYSYMBOL_KnR_basic_declaration_specifier
Definition: ansi_c_y.tab.cpp:791
YYSYMBOL_YYACCEPT
@ YYSYMBOL_YYACCEPT
Definition: ansi_c_y.tab.cpp:612
YYSYMBOL_200_
@ YYSYMBOL_200_
Definition: ansi_c_y.tab.cpp:591
YYSYMBOL_TOK_BINARY_TYPE_PREDICATE
@ YYSYMBOL_TOK_BINARY_TYPE_PREDICATE
Definition: ansi_c_y.tab.cpp:583
YYSTACK_BYTES
#define YYSTACK_BYTES(N)
Definition: ansi_c_y.tab.cpp:1083
YYSYMBOL_declaring_list
@ YYSYMBOL_declaring_list
Definition: ansi_c_y.tab.cpp:668
exprt::type
typet & type()
Return the type of the expression.
Definition: expr.h:81
TOK_MULTASSIGN
@ TOK_MULTASSIGN
Definition: ansi_c_y.tab.h:106
YYSYMBOL_TOK_DECLTYPE
@ YYSYMBOL_TOK_DECLTYPE
Definition: ansi_c_y.tab.cpp:560
YYSYMBOL_typedef_declaration_specifier
@ YYSYMBOL_typedef_declaration_specifier
Definition: ansi_c_y.tab.cpp:687
YYSYMBOL_TOK_CHAR
@ YYSYMBOL_TOK_CHAR
Definition: ansi_c_y.tab.cpp:399
YYSYMBOL_type_specifier
@ YYSYMBOL_type_specifier
Definition: ansi_c_y.tab.cpp:673
YYSYMBOL_217_
@ YYSYMBOL_217_
Definition: ansi_c_y.tab.cpp:608
TOK_NORETURN
@ TOK_NORETURN
Definition: ansi_c_y.tab.h:211
TOK_INTERFACE
@ TOK_INTERFACE
Definition: ansi_c_y.tab.h:175
TOK_SCOPE
@ TOK_SCOPE
Definition: ansi_c_y.tab.h:242
TOK_INT
@ TOK_INT
Definition: ansi_c_y.tab.h:76
TOK_UNARY_TYPE_PREDICATE
@ TOK_UNARY_TYPE_PREDICATE
Definition: ansi_c_y.tab.h:245
YYSYMBOL_TOK_MODASSIGN
@ YYSYMBOL_TOK_MODASSIGN
Definition: ansi_c_y.tab.cpp:445
YYSYMBOL_204_
@ YYSYMBOL_204_
Definition: ansi_c_y.tab.cpp:595
YYSYMBOL_msc_declspec
@ YYSYMBOL_msc_declspec
Definition: ansi_c_y.tab.cpp:698
TOK_CDECL
@ TOK_CDECL
Definition: ansi_c_y.tab.h:176
YYSYMBOL_271_1
@ YYSYMBOL_271_1
Definition: ansi_c_y.tab.cpp:662
YYSYMBOL_TOK_OFFSETOF
@ YYSYMBOL_TOK_OFFSETOF
Definition: ansi_c_y.tab.cpp:504
TOK_GCC_FLOAT64
@ TOK_GCC_FLOAT64
Definition: ansi_c_y.tab.h:135
YYSYMBOL_TOK_GE
@ YYSYMBOL_TOK_GE
Definition: ansi_c_y.tab.cpp:437
YYSYMBOL_TOK_OROR
@ YYSYMBOL_TOK_OROR
Definition: ansi_c_y.tab.cpp:441
YYSYMBOL_default_declaring_list
@ YYSYMBOL_default_declaring_list
Definition: ansi_c_y.tab.cpp:661
TOK_EQ
@ TOK_EQ
Definition: ansi_c_y.tab.h:101
yytype_uint8
unsigned char yytype_uint8
Definition: ansi_c_y.tab.cpp:870
YY_IGNORE_USELESS_CAST_BEGIN
#define YY_IGNORE_USELESS_CAST_BEGIN
Definition: ansi_c_y.tab.cpp:993
YYSYMBOL_paren_typedef_declarator
@ YYSYMBOL_paren_typedef_declarator
Definition: ansi_c_y.tab.cpp:803
YYSYMBOL_TOK_CPROVER_FINALLY
@ YYSYMBOL_TOK_CPROVER_FINALLY
Definition: ansi_c_y.tab.cpp:531
YYSYMBOL_designated_initializer
@ YYSYMBOL_designated_initializer
Definition: ansi_c_y.tab.cpp:744
YYSYMBOL_parameter_postfix_abstract_declarator
@ YYSYMBOL_parameter_postfix_abstract_declarator
Definition: ansi_c_y.tab.cpp:820
YYSYMBOL_TOK_ANDASSIGN
@ YYSYMBOL_TOK_ANDASSIGN
Definition: ansi_c_y.tab.cpp:450
YYSYMBOL_function_definition
@ YYSYMBOL_function_definition
Definition: ansi_c_y.tab.cpp:785
TOK_ALIGNAS
@ TOK_ALIGNAS
Definition: ansi_c_y.tab.h:206
YYSYMBOL_TOK_FASTCALL
@ YYSYMBOL_TOK_FASTCALL
Definition: ansi_c_y.tab.cpp:515
YYSYMBOL_offsetof
@ YYSYMBOL_offsetof
Definition: ansi_c_y.tab.cpp:628
YYSYMBOL_TOK_IDENTIFIER
@ YYSYMBOL_TOK_IDENTIFIER
Definition: ansi_c_y.tab.cpp:453
YYSYMBOL_integer
@ YYSYMBOL_integer
Definition: ansi_c_y.tab.cpp:616
YYSYMBOL_atomic_specifier
@ YYSYMBOL_atomic_specifier
Definition: ansi_c_y.tab.cpp:693
YYSYMBOL_TOK_XORASSIGN
@ YYSYMBOL_TOK_XORASSIGN
Definition: ansi_c_y.tab.cpp:451
TOK_TYPEDEF
@ TOK_TYPEDEF
Definition: ansi_c_y.tab.h:87
yytokentype
yytokentype
Definition: ansi_c_y.tab.h:52
YYSYMBOL_msc_seh_statement
@ YYSYMBOL_msc_seh_statement
Definition: ansi_c_y.tab.cpp:764
TOK_GCC_BUILTIN_TYPES_COMPATIBLE_P
@ TOK_GCC_BUILTIN_TYPES_COMPATIBLE_P
Definition: ansi_c_y.tab.h:165
YYSYMBOL_post_declarator_attributes
@ YYSYMBOL_post_declarator_attributes
Definition: ansi_c_y.tab.cpp:666
YYSYMBOL_gcc_asm_assembler_template
@ YYSYMBOL_gcc_asm_assembler_template
Definition: ansi_c_y.tab.cpp:768
YYSYMBOL_multiplicative_expression
@ YYSYMBOL_multiplicative_expression
Definition: ansi_c_y.tab.cpp:640
YYSYMBOL_logical_implication_expression
@ YYSYMBOL_logical_implication_expression
Definition: ansi_c_y.tab.cpp:651
YYSYMBOL_TOK_EXISTS
@ YYSYMBOL_TOK_EXISTS
Definition: ansi_c_y.tab.cpp:518
YYSYMBOL_TOK_TEMPLATE
@ YYSYMBOL_TOK_TEMPLATE
Definition: ansi_c_y.tab.cpp:571
YYSYMBOL_TOK_MSC_IF_NOT_EXISTS
@ YYSYMBOL_TOK_MSC_IF_NOT_EXISTS
Definition: ansi_c_y.tab.cpp:586
YYSYMBOL_TOK_DEFAULT
@ YYSYMBOL_TOK_DEFAULT
Definition: ansi_c_y.tab.cpp:402
YYSYMBOL_parameter_type_list
@ YYSYMBOL_parameter_type_list
Definition: ansi_c_y.tab.cpp:733
YYSYMBOL_volatile_or_goto_opt
@ YYSYMBOL_volatile_or_goto_opt
Definition: ansi_c_y.tab.cpp:766
id2string
const std::string & id2string(const irep_idt &d)
Definition: irep.h:44
YYSYMBOL_TOK_TYPEDEF
@ YYSYMBOL_TOK_TYPEDEF
Definition: ansi_c_y.tab.cpp:424
YYSYMBOL_TOK_UNARY_TYPE_PREDICATE
@ YYSYMBOL_TOK_UNARY_TYPE_PREDICATE
Definition: ansi_c_y.tab.cpp:582
TOK_ALIGNOF
@ TOK_ALIGNOF
Definition: ansi_c_y.tab.h:168
YYSYMBOL_TOK_GCC_ATTRIBUTE_ALIAS
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_ALIAS
Definition: ansi_c_y.tab.cpp:490
YYLAST
#define YYLAST
Definition: ansi_c_y.tab.cpp:1130
YYNTOKENS
#define YYNTOKENS
Definition: ansi_c_y.tab.cpp:1133
TOK_CPROVER_BOOL
@ TOK_CPROVER_BOOL
Definition: ansi_c_y.tab.h:190
YYSYMBOL_KnR_parameter_declaration
@ YYSYMBOL_KnR_parameter_declaration
Definition: ansi_c_y.tab.cpp:789
ansi_c_identifiert::prefixed_name
irep_idt prefixed_name
Definition: ansi_c_scope.h:32
YYSYMBOL_equality_expression
@ YYSYMBOL_equality_expression
Definition: ansi_c_y.tab.cpp:644
YYSYMBOL_aggregate_key
@ YYSYMBOL_aggregate_key
Definition: ansi_c_y.tab.cpp:709
YYFINAL
#define YYFINAL
Definition: ansi_c_y.tab.cpp:1128
YYSYMBOL_gcc_asm_clobbered_registers_list
@ YYSYMBOL_gcc_asm_clobbered_registers_list
Definition: ansi_c_y.tab.cpp:777
forall_operands
#define forall_operands(it, expr)
Definition: expr.h:18
YYSIZE_T
#define YYSIZE_T
Definition: ansi_c_y.tab.cpp:911
TOK_LE
@ TOK_LE
Definition: ansi_c_y.tab.h:99
TOK_FLOAT
@ TOK_FLOAT
Definition: ansi_c_y.tab.h:71
YYSYMBOL_simple_paren_typedef_declarator
@ YYSYMBOL_simple_paren_typedef_declarator
Definition: ansi_c_y.tab.cpp:805
YYSYMBOL_TOK_ARROW
@ YYSYMBOL_TOK_ARROW
Definition: ansi_c_y.tab.cpp:431
YYSYMBOL_TOK_GCC_FLOAT64
@ YYSYMBOL_TOK_GCC_FLOAT64
Definition: ansi_c_y.tab.cpp:472
YY_SYMBOL_PRINT
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
Definition: ansi_c_y.tab.cpp:3577
YYSYMBOL_TOK_GCC_ATTRIBUTE_MODE
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_MODE
Definition: ansi_c_y.tab.cpp:487
YYSYMBOL_TOK_ATOMIC_TYPE_QUALIFIER
@ YYSYMBOL_TOK_ATOMIC_TYPE_QUALIFIER
Definition: ansi_c_y.tab.cpp:544
yytable_value_is_error
#define yytable_value_is_error(Yyn)
Definition: ansi_c_y.tab.cpp:1459
TOK_DOTPM
@ TOK_DOTPM
Definition: ansi_c_y.tab.h:243
YYSYMBOL_array_abstract_declarator
@ YYSYMBOL_array_abstract_declarator
Definition: ansi_c_y.tab.cpp:816
YYSYMBOL_TOK_GCC_ATTRIBUTE_GNU_INLINE
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_GNU_INLINE
Definition: ansi_c_y.tab.cpp:488
YYSYMBOL_TOK_GCC_ASM
@ YYSYMBOL_TOK_GCC_ASM
Definition: ansi_c_y.tab.cpp:480
YYSYMBOL_bit_field_size
@ YYSYMBOL_bit_field_size
Definition: ansi_c_y.tab.cpp:724
TOK_EXPLICIT
@ TOK_EXPLICIT
Definition: ansi_c_y.tab.h:224
yytable
static const yytype_int16 yytable[]
Definition: ansi_c_y.tab.cpp:1754
TOK_THIS
@ TOK_THIS
Definition: ansi_c_y.tab.h:235
YYSYMBOL_TOK_MSC_TRY
@ YYSYMBOL_TOK_MSC_TRY
Definition: ansi_c_y.tab.cpp:506
TOK_MINUSASSIGN
@ TOK_MINUSASSIGN
Definition: ansi_c_y.tab.h:110
nil_exprt
The NIL expression.
Definition: std_expr.h:4002
YYSYMBOL_inclusive_or_expression
@ YYSYMBOL_inclusive_or_expression
Definition: ansi_c_y.tab.cpp:647
YYSYMBOL_TOK_MSC_UUIDOF
@ YYSYMBOL_TOK_MSC_UUIDOF
Definition: ansi_c_y.tab.cpp:584
TOK_TRY
@ TOK_TRY
Definition: ansi_c_y.tab.h:239
YYSYMBOL_TOK_MSC_ASM
@ YYSYMBOL_TOK_MSC_ASM
Definition: ansi_c_y.tab.cpp:498
TOK_GCC_ATTRIBUTE_PACKED
@ TOK_GCC_ATTRIBUTE_PACKED
Definition: ansi_c_y.tab.h:148
YYSYMBOL_TOK_BUILTIN_VA_ARG
@ YYSYMBOL_TOK_BUILTIN_VA_ARG
Definition: ansi_c_y.tab.cpp:501
YYSYMBOL_abstract_declarator
@ YYSYMBOL_abstract_declarator
Definition: ansi_c_y.tab.cpp:810
TOK_GCC_FLOAT128
@ TOK_GCC_FLOAT128
Definition: ansi_c_y.tab.h:137
yystos
static const yytype_int16 yystos[]
Definition: ansi_c_y.tab.cpp:3164
YYSYMBOL_TOK_DOTPM
@ YYSYMBOL_TOK_DOTPM
Definition: ansi_c_y.tab.cpp:580
YYSYMBOL_TOK_IF
@ YYSYMBOL_TOK_IF
Definition: ansi_c_y.tab.cpp:411
YYSYMBOL_272_2
@ YYSYMBOL_272_2
Definition: ansi_c_y.tab.cpp:663
YYSYMBOL_TOK_STRUCT
@ YYSYMBOL_TOK_STRUCT
Definition: ansi_c_y.tab.cpp:422
YYSYMBOL_member_name
@ YYSYMBOL_member_name
Definition: ansi_c_y.tab.cpp:636
YYSYMBOL_attribute_type_qualifier_list
@ YYSYMBOL_attribute_type_qualifier_list
Definition: ansi_c_y.tab.cpp:676
YYSYMBOL_336_11
@ YYSYMBOL_336_11
Definition: ansi_c_y.tab.cpp:727
YYSYMBOL_additive_expression
@ YYSYMBOL_additive_expression
Definition: ansi_c_y.tab.cpp:641
TOK_ELLIPSIS
@ TOK_ELLIPSIS
Definition: ansi_c_y.tab.h:105
YYSYMBOL_210_
@ YYSYMBOL_210_
Definition: ansi_c_y.tab.cpp:601
YYSYMBOL_TOK_CPROVER_BOOL
@ YYSYMBOL_TOK_CPROVER_BOOL
Definition: ansi_c_y.tab.cpp:527
YYSYMBOL_TOK_CPROVER_ENSURES
@ YYSYMBOL_TOK_CPROVER_ENSURES
Definition: ansi_c_y.tab.cpp:535
TOK_MODASSIGN
@ TOK_MODASSIGN
Definition: ansi_c_y.tab.h:108
YYSYMBOL_TOK_GCC_DECIMAL128
@ YYSYMBOL_TOK_GCC_DECIMAL128
Definition: ansi_c_y.tab.cpp:479
YYSYMBOL_TOK_ARROWPM
@ YYSYMBOL_TOK_ARROWPM
Definition: ansi_c_y.tab.cpp:581
YYSYMBOL_TOK_GCC_FLOAT32
@ YYSYMBOL_TOK_GCC_FLOAT32
Definition: ansi_c_y.tab.cpp:469
YYSYMBOL_TOK_EQ
@ YYSYMBOL_TOK_EQ
Definition: ansi_c_y.tab.cpp:438
YYSYMBOL_initializer
@ YYSYMBOL_initializer
Definition: ansi_c_y.tab.cpp:741
TOK_STRING
@ TOK_STRING
Definition: ansi_c_y.tab.h:121
YY_STACK_PRINT
#define YY_STACK_PRINT(Bottom, Top)
Definition: ansi_c_y.tab.cpp:3578
type_with_subtypest::move_to_subtypes
void move_to_subtypes(typet &type)
Move the provided type to the subtypes of this type.
Definition: type.cpp:25
YYSYMBOL_paren_attribute_declarator
@ YYSYMBOL_paren_attribute_declarator
Definition: ansi_c_y.tab.cpp:798
YYSYMBOL_TOK_GCC_DECIMAL64
@ YYSYMBOL_TOK_GCC_DECIMAL64
Definition: ansi_c_y.tab.cpp:478
YYSYMBOL_TOK_IMAG
@ YYSYMBOL_TOK_IMAG
Definition: ansi_c_y.tab.cpp:542
TOK_SIGNED
@ TOK_SIGNED
Definition: ansi_c_y.tab.h:82
YYSYMBOL_424_14
@ YYSYMBOL_424_14
Definition: ansi_c_y.tab.cpp:815
yytranslate
static const yytype_uint8 yytranslate[]
Definition: ansi_c_y.tab.cpp:1153
TOK_ATOMIC_TYPE_SPECIFIER
@ TOK_ATOMIC_TYPE_SPECIFIER
Definition: ansi_c_y.tab.h:208
TOK_CONST
@ TOK_CONST
Definition: ansi_c_y.tab.h:63
PARSER
#define PARSER
Definition: ansi_c_y.tab.cpp:93
TOK_XORXOR
@ TOK_XORXOR
Definition: ansi_c_y.tab.h:201
YYSYMBOL_205_
@ YYSYMBOL_205_
Definition: ansi_c_y.tab.cpp:596
TOK_CONTINUE
@ TOK_CONTINUE
Definition: ansi_c_y.tab.h:64
YYSYMBOL_designator
@ YYSYMBOL_designator
Definition: ansi_c_y.tab.cpp:745
YYSYMBOL_statement_attribute
@ YYSYMBOL_statement_attribute
Definition: ansi_c_y.tab.cpp:749
yynerrs
#define yynerrs
Definition: ansi_c_y.tab.cpp:72
YYSYMBOL_TOK_SHIFTRIGHT
@ YYSYMBOL_TOK_SHIFTRIGHT
Definition: ansi_c_y.tab.cpp:435
TOK_GCC_DECIMAL32
@ TOK_GCC_DECIMAL32
Definition: ansi_c_y.tab.h:140
YYSYMBOL_jump_statement
@ YYSYMBOL_jump_statement
Definition: ansi_c_y.tab.cpp:758
YYSYMBOL_215_
@ YYSYMBOL_215_
Definition: ansi_c_y.tab.cpp:606
yyr1
static const yytype_int16 yyr1[]
Definition: ansi_c_y.tab.cpp:3281
irept::swap
void swap(irept &irep)
Definition: irep.h:463
YYSYMBOL_TOK_CPROVER_FIXEDBV
@ YYSYMBOL_TOK_CPROVER_FIXEDBV
Definition: ansi_c_y.tab.cpp:525
YYSYMBOL_TOK_TYPEOF
@ YYSYMBOL_TOK_TYPEOF
Definition: ansi_c_y.tab.cpp:466
YYSYMBOL_TOK_FRIEND
@ YYSYMBOL_TOK_FRIEND
Definition: ansi_c_y.tab.cpp:562
YYSYMBOL_TOK_GCC_DECIMAL32
@ YYSYMBOL_TOK_GCC_DECIMAL32
Definition: ansi_c_y.tab.cpp:477
YYSYMBOL_comma_expression
@ YYSYMBOL_comma_expression
Definition: ansi_c_y.tab.cpp:656
YYSYMBOL_TOK_CPROVER_LOOP_INVARIANT
@ YYSYMBOL_TOK_CPROVER_LOOP_INVARIANT
Definition: ansi_c_y.tab.cpp:533
TOK_INLINE
@ TOK_INLINE
Definition: ansi_c_y.tab.h:75
YYSYMBOL_TOK_EQUIVALENT
@ YYSYMBOL_TOK_EQUIVALENT
Definition: ansi_c_y.tab.cpp:537
TOK_GCC_ATTRIBUTE_ALIAS
@ TOK_GCC_ATTRIBUTE_ALIAS
Definition: ansi_c_y.tab.h:153
irept::id
const irep_idt & id() const
Definition: irep.h:418
TOK_FORALL
@ TOK_FORALL
Definition: ansi_c_y.tab.h:180
ansi_c_identifiert
Definition: ansi_c_scope.h:29
YYSYMBOL_generic_selection
@ YYSYMBOL_generic_selection
Definition: ansi_c_y.tab.cpp:622
TOK_ACSL_LET
@ TOK_ACSL_LET
Definition: ansi_c_y.tab.h:184
YYSYMBOL_logical_and_expression
@ YYSYMBOL_logical_and_expression
Definition: ansi_c_y.tab.cpp:648
YYSYMBOL_atomic_type_specifier
@ YYSYMBOL_atomic_type_specifier
Definition: ansi_c_y.tab.cpp:694
YYSYMBOL_gcc_builtin_expressions
@ YYSYMBOL_gcc_builtin_expressions
Definition: ansi_c_y.tab.cpp:625
YYSYMBOL_TOK_ENUM
@ YYSYMBOL_TOK_ENUM
Definition: ansi_c_y.tab.cpp:406
YYSYMBOL_gcc_type_attribute_opt
@ YYSYMBOL_gcc_type_attribute_opt
Definition: ansi_c_y.tab.cpp:714
TOK_GENERIC
@ TOK_GENERIC
Definition: ansi_c_y.tab.h:209
TOK_RESTRICT
@ TOK_RESTRICT
Definition: ansi_c_y.tab.h:79
unary_exprt::op
const exprt & op() const
Definition: std_expr.h:281
yyalloc::yyvs_alloc
unsigned yyvs_alloc
Definition: ansi_c_y.tab.cpp:1075
YYSYMBOL_assignment_expression
@ YYSYMBOL_assignment_expression
Definition: ansi_c_y.tab.cpp:655
TOK_NAMESPACE
@ TOK_NAMESPACE
Definition: ansi_c_y.tab.h:227
to_ansi_c_declaration
ansi_c_declarationt & to_ansi_c_declaration(exprt &expr)
Definition: ansi_c_declaration.h:249
yypact_value_is_default
#define yypact_value_is_default(Yyn)
Definition: ansi_c_y.tab.cpp:1454
YYSYMBOL_TOK_FOR
@ YYSYMBOL_TOK_FOR
Definition: ansi_c_y.tab.cpp:409
TOK_SHRASSIGN
@ TOK_SHRASSIGN
Definition: ansi_c_y.tab.h:112
YYSYMBOL_TOK_GCC_FLOAT128
@ YYSYMBOL_TOK_GCC_FLOAT128
Definition: ansi_c_y.tab.cpp:474
TOK_DELETE
@ TOK_DELETE
Definition: ansi_c_y.tab.h:222
YYSYMBOL_TOK_GCC_AUTO_TYPE
@ YYSYMBOL_TOK_GCC_AUTO_TYPE
Definition: ansi_c_y.tab.cpp:467
YYSYMBOL_postfix_abstract_declarator
@ YYSYMBOL_postfix_abstract_declarator
Definition: ansi_c_y.tab.cpp:819
TOK_UNION
@ TOK_UNION
Definition: ansi_c_y.tab.h:88
YY_REDUCE_PRINT
#define YY_REDUCE_PRINT(Rule)
Definition: ansi_c_y.tab.cpp:3579
YYSYMBOL_string
@ YYSYMBOL_string
Definition: ansi_c_y.tab.cpp:619
TOK_GCC_ASM
@ TOK_GCC_ASM
Definition: ansi_c_y.tab.h:143
TOK_SCANNER_EOF
@ TOK_SCANNER_EOF
Definition: ansi_c_y.tab.h:217
yypgoto
static const yytype_int16 yypgoto[]
Definition: ansi_c_y.tab.cpp:1700
YYSYMBOL_TOK_DELETE
@ YYSYMBOL_TOK_DELETE
Definition: ansi_c_y.tab.cpp:559
YYSYMBOL_initializer_list
@ YYSYMBOL_initializer_list
Definition: ansi_c_y.tab.cpp:742
YYSYMBOL_TOK_DECR
@ YYSYMBOL_TOK_DECR
Definition: ansi_c_y.tab.cpp:433
TOK_MUTABLE
@ TOK_MUTABLE
Definition: ansi_c_y.tab.h:226
YYSYMBOL_pragma_packed
@ YYSYMBOL_pragma_packed
Definition: ansi_c_y.tab.cpp:704
YYSYMBOL_TOK_GCC_ATTRIBUTE_VECTOR_SIZE
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_VECTOR_SIZE
Definition: ansi_c_y.tab.cpp:486
TOK_ARRAY_OF
@ TOK_ARRAY_OF
Definition: ansi_c_y.tab.h:185
YYSYMBOL_TOK_ACSL_LET
@ YYSYMBOL_TOK_ACSL_LET
Definition: ansi_c_y.tab.cpp:521
YYPTRDIFF_T
#define YYPTRDIFF_T
Definition: ansi_c_y.tab.cpp:897
TOK_INT64
@ TOK_INT64
Definition: ansi_c_y.tab.h:126
YYSYMBOL_statement
@ YYSYMBOL_statement
Definition: ansi_c_y.tab.cpp:746
TOK_GCC_ATTRIBUTE_USED
@ TOK_GCC_ATTRIBUTE_USED
Definition: ansi_c_y.tab.h:159
YYSYMBOL_enumerator_list_opt
@ YYSYMBOL_enumerator_list_opt
Definition: ansi_c_y.tab.cpp:729
YYSYMBOL_208_
@ YYSYMBOL_208_
Definition: ansi_c_y.tab.cpp:599
TOK_MSC_ASM
@ TOK_MSC_ASM
Definition: ansi_c_y.tab.h:161
YYSYMBOL_function_head
@ YYSYMBOL_function_head
Definition: ansi_c_y.tab.cpp:796
YYSYMBOL_enumerator_value_opt
@ YYSYMBOL_enumerator_value_opt
Definition: ansi_c_y.tab.cpp:732
YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition: ansi_c_y.tab.cpp:979
YYSYMBOL_identifier
@ YYSYMBOL_identifier
Definition: ansi_c_y.tab.cpp:614
YYSYMBOL_TOK_NOEXCEPT
@ YYSYMBOL_TOK_NOEXCEPT
Definition: ansi_c_y.tab.cpp:566
YYSYMBOL_TOK_CDECL
@ YYSYMBOL_TOK_CDECL
Definition: ansi_c_y.tab.cpp:513
TOK_GCC_ATTRIBUTE_TRANSPARENT_UNION
@ TOK_GCC_ATTRIBUTE_TRANSPARENT_UNION
Definition: ansi_c_y.tab.h:147
YYSYMBOL_TOK_ALIGNOF
@ YYSYMBOL_TOK_ALIGNOF
Definition: ansi_c_y.tab.cpp:505
YYSYMBOL_gcc_local_label_list
@ YYSYMBOL_gcc_local_label_list
Definition: ansi_c_y.tab.cpp:760
TOK_CONSTEXPR
@ TOK_CONSTEXPR
Definition: ansi_c_y.tab.h:215
sharing_treet< irept, std::map< irep_namet, irept > >::subt
typename dt::subt subt
Definition: irep.h:182
TOK_CPROVER_CATCH
@ TOK_CPROVER_CATCH
Definition: ansi_c_y.tab.h:192
YYSYMBOL_198_
@ YYSYMBOL_198_
Definition: ansi_c_y.tab.cpp:589
YYSYMBOL_317_9
@ YYSYMBOL_317_9
Definition: ansi_c_y.tab.cpp:708
YYSYMBOL_cast_expression
@ YYSYMBOL_cast_expression
Definition: ansi_c_y.tab.cpp:639
TOK_OPERATOR
@ TOK_OPERATOR
Definition: ansi_c_y.tab.h:230
YYSYMBOL_function_body
@ YYSYMBOL_function_body
Definition: ansi_c_y.tab.cpp:786
YYSYMBOL_YYerror
@ YYSYMBOL_YYerror
Definition: ansi_c_y.tab.cpp:392
TOK_TRUE
@ TOK_TRUE
Definition: ansi_c_y.tab.h:202
YYSYMBOL_316_8
@ YYSYMBOL_316_8
Definition: ansi_c_y.tab.cpp:707
YYSYMBOL_TOK_MULTASSIGN
@ YYSYMBOL_TOK_MULTASSIGN
Definition: ansi_c_y.tab.cpp:443
YYSYMBOL_TOK_GCC_ATTRIBUTE_WEAK
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_WEAK
Definition: ansi_c_y.tab.cpp:489
YYSYMBOL_cw_builtin_expressions
@ YYSYMBOL_cw_builtin_expressions
Definition: ansi_c_y.tab.cpp:627
TOK_DOUBLE
@ TOK_DOUBLE
Definition: ansi_c_y.tab.h:67
YYSYMBOL_207_
@ YYSYMBOL_207_
Definition: ansi_c_y.tab.cpp:598
YYSYMBOL_TOK_GCC_FLOAT80
@ YYSYMBOL_TOK_GCC_FLOAT80
Definition: ansi_c_y.tab.cpp:471
YYSYMBOL_TOK_SHIFTLEFT
@ YYSYMBOL_TOK_SHIFTLEFT
Definition: ansi_c_y.tab.cpp:434
TOK_MSC_IF_NOT_EXISTS
@ TOK_MSC_IF_NOT_EXISTS
Definition: ansi_c_y.tab.h:249
TOK_CLRCALL
@ TOK_CLRCALL
Definition: ansi_c_y.tab.h:179
YYSYMBOL_TOK_MSC_DECLSPEC
@ YYSYMBOL_TOK_MSC_DECLSPEC
Definition: ansi_c_y.tab.cpp:510
YYSYMBOL_TOK_CHARACTER
@ YYSYMBOL_TOK_CHARACTER
Definition: ansi_c_y.tab.cpp:457
TOK_GCC_INT128
@ TOK_GCC_INT128
Definition: ansi_c_y.tab.h:139
YYSYMBOL_gcc_asm_clobbered_register
@ YYSYMBOL_gcc_asm_clobbered_register
Definition: ansi_c_y.tab.cpp:776
YYSYMBOL_initializer_opt
@ YYSYMBOL_initializer_opt
Definition: ansi_c_y.tab.cpp:740
YYSYMBOL_219_
@ YYSYMBOL_219_
Definition: ansi_c_y.tab.cpp:610
TOK_XORASSIGN
@ TOK_XORASSIGN
Definition: ansi_c_y.tab.h:114
TOK_GCC_ATTRIBUTE_MODE
@ TOK_GCC_ATTRIBUTE_MODE
Definition: ansi_c_y.tab.h:150
YYSYMBOL_loop_invariant_opt
@ YYSYMBOL_loop_invariant_opt
Definition: ansi_c_y.tab.cpp:631
YYSYMBOL_enumerator_list
@ YYSYMBOL_enumerator_list
Definition: ansi_c_y.tab.cpp:730
YYSYMBOL_TOK_SCANNER_ERROR
@ YYSYMBOL_TOK_SCANNER_ERROR
Definition: ansi_c_y.tab.cpp:553
YYSYMBOL_199_
@ YYSYMBOL_199_
Definition: ansi_c_y.tab.cpp:590
YYSYMBOL_attribute_type_qualifier_storage_class_list
@ YYSYMBOL_attribute_type_qualifier_storage_class_list
Definition: ansi_c_y.tab.cpp:682
TOK_ARROWPM
@ TOK_ARROWPM
Definition: ansi_c_y.tab.h:244
TOK_GCC_ATTRIBUTE_DESTRUCTOR
@ TOK_GCC_ATTRIBUTE_DESTRUCTOR
Definition: ansi_c_y.tab.h:157
YYSYMBOL_parameter_typedef_declarator
@ YYSYMBOL_parameter_typedef_declarator
Definition: ansi_c_y.tab.cpp:800
YYSYMBOL_TOK_STATIC_ASSERT
@ YYSYMBOL_TOK_STATIC_ASSERT
Definition: ansi_c_y.tab.cpp:549
ansi_c_identifiert::base_name
irep_idt base_name
Definition: ansi_c_scope.h:32
YYSYMBOL_aggregate_name
@ YYSYMBOL_aggregate_name
Definition: ansi_c_y.tab.cpp:705
TOK_BOOL
@ TOK_BOOL
Definition: ansi_c_y.tab.h:58
YYSYMBOL_generic_assoc_list
@ YYSYMBOL_generic_assoc_list
Definition: ansi_c_y.tab.cpp:623
YYSYMBOL_TOK_SIZEOF
@ YYSYMBOL_TOK_SIZEOF
Definition: ansi_c_y.tab.cpp:420
YYSYMBOL_TOK_MSC_FINALLY
@ YYSYMBOL_TOK_MSC_FINALLY
Definition: ansi_c_y.tab.cpp:507
YYSYMBOL_TOK_THROW
@ YYSYMBOL_TOK_THROW
Definition: ansi_c_y.tab.cpp:573
YYSYMBOL_gcc_asm_commands
@ YYSYMBOL_gcc_asm_commands
Definition: ansi_c_y.tab.cpp:767
YYSYMBOL_TOK_PTR32
@ YYSYMBOL_TOK_PTR32
Definition: ansi_c_y.tab.cpp:464
TOK_VIRTUAL
@ TOK_VIRTUAL
Definition: ansi_c_y.tab.h:241
YYSYMBOL_TOK_CW_VAR_ARG_TYPEOF
@ YYSYMBOL_TOK_CW_VAR_ARG_TYPEOF
Definition: ansi_c_y.tab.cpp:500
YYSYMBOL_post_declarator_attribute
@ YYSYMBOL_post_declarator_attribute
Definition: ansi_c_y.tab.cpp:665
TOK_NOEXCEPT
@ TOK_NOEXCEPT
Definition: ansi_c_y.tab.h:229
YYSYMBOL_unary_expression
@ YYSYMBOL_unary_expression
Definition: ansi_c_y.tab.cpp:638
ansi_c_declarationt
Definition: ansi_c_declaration.h:73
YYSYMBOL_primary_expression
@ YYSYMBOL_primary_expression
Definition: ansi_c_y.tab.cpp:621
YYSYMBOL_msc_decl_identifier
@ YYSYMBOL_msc_decl_identifier
Definition: ansi_c_y.tab.cpp:695
YYSYMBOL_TOK_CONST
@ YYSYMBOL_TOK_CONST
Definition: ansi_c_y.tab.cpp:400
YYSYMBOL_clang_builtin_expressions
@ YYSYMBOL_clang_builtin_expressions
Definition: ansi_c_y.tab.cpp:626
TOK_STRUCT
@ TOK_STRUCT
Definition: ansi_c_y.tab.h:85
YYSYMBOL_TOK_GCC_BUILTIN_TYPES_COMPATIBLE_P
@ YYSYMBOL_TOK_GCC_BUILTIN_TYPES_COMPATIBLE_P
Definition: ansi_c_y.tab.cpp:502
yytype_int8
signed char yytype_int8
Definition: ansi_c_y.tab.cpp:853
TOK_REGISTER
@ TOK_REGISTER
Definition: ansi_c_y.tab.h:78
yyansi_clval
unsigned yyansi_clval
Definition: ansi_c_y.tab.cpp:3627
YYSYMBOL_sue_type_specifier
@ YYSYMBOL_sue_type_specifier
Definition: ansi_c_y.tab.cpp:686
YYSYMBOL_ACSL_binding_expression
@ YYSYMBOL_ACSL_binding_expression
Definition: ansi_c_y.tab.cpp:653
YYSYMBOL_type_qualifier
@ YYSYMBOL_type_qualifier
Definition: ansi_c_y.tab.cpp:678
YYENOMEM
@ YYENOMEM
Definition: ansi_c_y.tab.cpp:3415
TOK_ANDAND
@ TOK_ANDAND
Definition: ansi_c_y.tab.h:103
YYSYMBOL_TOK_GCC_ATTRIBUTE_DESTRUCTOR
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_DESTRUCTOR
Definition: ansi_c_y.tab.cpp:494
TOK_GCC_DECIMAL64
@ TOK_GCC_DECIMAL64
Definition: ansi_c_y.tab.h:141
TOK_STATIC
@ TOK_STATIC
Definition: ansi_c_y.tab.h:84
TOK_REAL
@ TOK_REAL
Definition: ansi_c_y.tab.h:204
YYSYMBOL_enumerator_declaration
@ YYSYMBOL_enumerator_declaration
Definition: ansi_c_y.tab.cpp:731
YYSYMBOL_and_expression
@ YYSYMBOL_and_expression
Definition: ansi_c_y.tab.cpp:645
YYSYMBOL_gcc_attribute_specifier
@ YYSYMBOL_gcc_attribute_specifier
Definition: ansi_c_y.tab.cpp:713
YYSYMBOL_typedef_name
@ YYSYMBOL_typedef_name
Definition: ansi_c_y.tab.cpp:615
YYSYMBOL_gcc_asm_inputs
@ YYSYMBOL_gcc_asm_inputs
Definition: ansi_c_y.tab.cpp:772
TOK_ACSL_EXISTS
@ TOK_ACSL_EXISTS
Definition: ansi_c_y.tab.h:183
TOK_GCC_ATTRIBUTE_SECTION
@ TOK_GCC_ATTRIBUTE_SECTION
Definition: ansi_c_y.tab.h:154
YYSYMBOL_KnR_parameter_declaring_list
@ YYSYMBOL_KnR_parameter_declaring_list
Definition: ansi_c_y.tab.cpp:795
YYSYMBOL_msc_declspec_seq
@ YYSYMBOL_msc_declspec_seq
Definition: ansi_c_y.tab.cpp:697
YYSYMBOL_member_declarator
@ YYSYMBOL_member_declarator
Definition: ansi_c_y.tab.cpp:721
YYSYMBOL_array_of_construct
@ YYSYMBOL_array_of_construct
Definition: ansi_c_y.tab.cpp:703
yydebug
#define yydebug
Definition: ansi_c_y.tab.cpp:71
YYSYMBOL_TOK_PUBLIC
@ YYSYMBOL_TOK_PUBLIC
Definition: ansi_c_y.tab.cpp:570
YYSYMBOL_TOK_GCC_FLOAT32X
@ YYSYMBOL_TOK_GCC_FLOAT32X
Definition: ansi_c_y.tab.cpp:470
YYSYMBOL_clean_typedef_declarator
@ YYSYMBOL_clean_typedef_declarator
Definition: ansi_c_y.tab.cpp:801
irept::set
void set(const irep_namet &name, const irep_idt &value)
Definition: irep.h:442
TOK_CPROVER_BITVECTOR
@ TOK_CPROVER_BITVECTOR
Definition: ansi_c_y.tab.h:186
YYSYMBOL_315_7
@ YYSYMBOL_315_7
Definition: ansi_c_y.tab.cpp:706
yylval
#define yylval
Definition: ansi_c_y.tab.cpp:73
malloc
void * malloc(unsigned)
TOK_PRIVATE
@ TOK_PRIVATE
Definition: ansi_c_y.tab.h:231
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition: ansi_c_y.tab.cpp:978
ansi_c_declarationt::set_is_static_assert
void set_is_static_assert(bool is_static_assert)
Definition: ansi_c_declaration.h:184
YYSYMBOL_TOK_CPROVER_BITVECTOR
@ YYSYMBOL_TOK_CPROVER_BITVECTOR
Definition: ansi_c_y.tab.cpp:523
yyerror
#define yyerror
Definition: ansi_c_y.tab.cpp:70
YYSYMBOL_member_identifier_declarator
@ YYSYMBOL_member_identifier_declarator
Definition: ansi_c_y.tab.cpp:722
YYSYMBOL_gcc_attribute
@ YYSYMBOL_gcc_attribute
Definition: ansi_c_y.tab.cpp:711
YYSYMBOL_TOK_MINUSASSIGN
@ YYSYMBOL_TOK_MINUSASSIGN
Definition: ansi_c_y.tab.cpp:447
TOK_IMAG
@ TOK_IMAG
Definition: ansi_c_y.tab.h:205
YYSYMBOL_TOK_VOID
@ YYSYMBOL_TOK_VOID
Definition: ansi_c_y.tab.cpp:427
TOK_ARROW
@ TOK_ARROW
Definition: ansi_c_y.tab.h:94
YYSYMBOL_constant_expression
@ YYSYMBOL_constant_expression
Definition: ansi_c_y.tab.cpp:657
TOK_TYPEOF
@ TOK_TYPEOF
Definition: ansi_c_y.tab.h:129
YYSYMBOL_TOK_UNSIGNED
@ YYSYMBOL_TOK_UNSIGNED
Definition: ansi_c_y.tab.cpp:426
TOK_FOR
@ TOK_FOR
Definition: ansi_c_y.tab.h:72
yyansi_clex
int yyansi_clex()
The main scanner function which does all the work.
Definition: ansi_c_lex.yy.cpp:5041
YYSYMBOL_gcc_attribute_list
@ YYSYMBOL_gcc_attribute_list
Definition: ansi_c_y.tab.cpp:712
YYSYMBOL_KnR_declaration_specifier
@ YYSYMBOL_KnR_declaration_specifier
Definition: ansi_c_y.tab.cpp:794
TOK_EQUIVALENT
@ TOK_EQUIVALENT
Definition: ansi_c_y.tab.h:200
TOK_DIVASSIGN
@ TOK_DIVASSIGN
Definition: ansi_c_y.tab.h:107
YYACCEPT
#define YYACCEPT
Definition: ansi_c_y.tab.cpp:3420
yydestruct
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, unsigned *yyvaluep)
Definition: ansi_c_y.tab.cpp:3609
YYSYMBOL_typedef_declarator
@ YYSYMBOL_typedef_declarator
Definition: ansi_c_y.tab.cpp:799
TOK_INCR
@ TOK_INCR
Definition: ansi_c_y.tab.h:95
YYSYMBOL_declaration_qualifier_list
@ YYSYMBOL_declaration_qualifier_list
Definition: ansi_c_y.tab.cpp:674
YYSYMBOL_TOK_FALSE
@ YYSYMBOL_TOK_FALSE
Definition: ansi_c_y.tab.cpp:540
YYSYMBOL_statement_list
@ YYSYMBOL_statement_list
Definition: ansi_c_y.tab.cpp:752
YYSYMBOL_TOK_GCC_ATTRIBUTE_USED
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_USED
Definition: ansi_c_y.tab.cpp:496
binary
static std::string binary(const constant_exprt &src)
Definition: json_expr.cpp:204
YYSYMBOL_TOK_TRY
@ YYSYMBOL_TOK_TRY
Definition: ansi_c_y.tab.cpp:576
YYSYMBOL_basic_type_specifier
@ YYSYMBOL_basic_type_specifier
Definition: ansi_c_y.tab.cpp:684
YYSYMBOL_relational_expression
@ YYSYMBOL_relational_expression
Definition: ansi_c_y.tab.cpp:643
YYSYMBOL_attribute_or_type_qualifier_or_storage_class
@ YYSYMBOL_attribute_or_type_qualifier_or_storage_class
Definition: ansi_c_y.tab.cpp:681
TOK_MSC_IF_EXISTS
@ TOK_MSC_IF_EXISTS
Definition: ansi_c_y.tab.h:248
exprt::add_to_operands
void add_to_operands(const exprt &expr)
Add the given argument to the end of exprt's operands.
Definition: expr.h:155
YYSYMBOL_TOK_SHORT
@ YYSYMBOL_TOK_SHORT
Definition: ansi_c_y.tab.cpp:418
yyalloc
Definition: ansi_c_y.tab.cpp:1073
ansi_c_declarationt::set_is_member
void set_is_member(bool is_member)
Definition: ansi_c_declaration.h:124
YYSYMBOL_TOK_XORXOR
@ YYSYMBOL_TOK_XORXOR
Definition: ansi_c_y.tab.cpp:538
YYSYMBOL_character
@ YYSYMBOL_character
Definition: ansi_c_y.tab.cpp:618
YYEOF
@ YYEOF
Definition: ansi_c_y.tab.h:54
YYSYMBOL_offsetof_member_designator
@ YYSYMBOL_offsetof_member_designator
Definition: ansi_c_y.tab.cpp:629
YYSYMBOL_TOK_CASE
@ YYSYMBOL_TOK_CASE
Definition: ansi_c_y.tab.cpp:398
YYSYMBOL_ensures_opt
@ YYSYMBOL_ensures_opt
Definition: ansi_c_y.tab.cpp:633
YYSYMBOL_gcc_asm_output_list
@ YYSYMBOL_gcc_asm_output_list
Definition: ansi_c_y.tab.cpp:771
YYSYMBOL_TOK_SCANNER_EOF
@ YYSYMBOL_TOK_SCANNER_EOF
Definition: ansi_c_y.tab.cpp:554
YYerror
@ YYerror
Definition: ansi_c_y.tab.h:55
YYSYMBOL_TOK_THIS
@ YYSYMBOL_TOK_THIS
Definition: ansi_c_y.tab.cpp:572
ansi_c_id_classt::ANSI_C_LOCAL_LABEL
@ ANSI_C_LOCAL_LABEL
YYSYMBOL_gcc_type_attribute_list
@ YYSYMBOL_gcc_type_attribute_list
Definition: ansi_c_y.tab.cpp:715
YYSYMBOL_TOK_SHLASSIGN
@ YYSYMBOL_TOK_SHLASSIGN
Definition: ansi_c_y.tab.cpp:448
YYSYMBOL_TOK_OPERATOR
@ YYSYMBOL_TOK_OPERATOR
Definition: ansi_c_y.tab.cpp:567
convert_integer_literal
exprt convert_integer_literal(const std::string &src)
Definition: convert_integer_literal.cpp:23
YYSYMBOL_TOK_GCC_ATTRIBUTE_SECTION
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_SECTION
Definition: ansi_c_y.tab.cpp:491
YYSYMBOL_TOK_INLINE
@ YYSYMBOL_TOK_INLINE
Definition: ansi_c_y.tab.cpp:412
YYSYMBOL_paren_postfix_typedef_declarator
@ YYSYMBOL_paren_postfix_typedef_declarator
Definition: ansi_c_y.tab.cpp:804
TOK_VOLATILE
@ TOK_VOLATILE
Definition: ansi_c_y.tab.h:91
TOK_MSC_DECLSPEC
@ TOK_MSC_DECLSPEC
Definition: ansi_c_y.tab.h:173
YYSYMBOL_post_declarator_attributes_opt
@ YYSYMBOL_post_declarator_attributes_opt
Definition: ansi_c_y.tab.cpp:667
ansi_c_id_classt::ANSI_C_SYMBOL
@ ANSI_C_SYMBOL
ansi_c_identifiert::id_class
ansi_c_id_classt id_class
Definition: ansi_c_scope.h:31
irept
There are a large number of kinds of tree structured or tree-like data in CPROVER.
Definition: irep.h:394
YYSYMBOL_typeof_declaration_specifier
@ YYSYMBOL_typeof_declaration_specifier
Definition: ansi_c_y.tab.cpp:688
YYSYMBOL_declaration
@ YYSYMBOL_declaration
Definition: ansi_c_y.tab.cpp:659
YYSYMBOL_grammar
@ YYSYMBOL_grammar
Definition: ansi_c_y.tab.cpp:613
TOK_MSC_FORCEINLINE
@ TOK_MSC_FORCEINLINE
Definition: ansi_c_y.tab.h:174
YYSYMBOL_postfixing_abstract_declarator
@ YYSYMBOL_postfixing_abstract_declarator
Definition: ansi_c_y.tab.cpp:812
YYSYMBOL_msc_decl_modifier
@ YYSYMBOL_msc_decl_modifier
Definition: ansi_c_y.tab.cpp:696
YYSYMBOL_compound_scope
@ YYSYMBOL_compound_scope
Definition: ansi_c_y.tab.cpp:751
YYSYMBOL_identifier_or_typedef_name
@ YYSYMBOL_identifier_or_typedef_name
Definition: ansi_c_y.tab.cpp:738
tuple_exprt
Definition: mathematical_expr.h:181
TOK_GCC_ATTRIBUTE_FALLTHROUGH
@ TOK_GCC_ATTRIBUTE_FALLTHROUGH
Definition: ansi_c_y.tab.h:158
YYSYMBOL_TOK_ARRAY_OF
@ YYSYMBOL_TOK_ARRAY_OF
Definition: ansi_c_y.tab.cpp:522
YYSYMBOL_postfix_identifier_declarator
@ YYSYMBOL_postfix_identifier_declarator
Definition: ansi_c_y.tab.cpp:808
YYSYMBOL_TOK_GCC_ATTRIBUTE_ALIGNED
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_ALIGNED
Definition: ansi_c_y.tab.cpp:483
exprt::operands
operandst & operands()
Definition: expr.h:95
TOK_ACSL_FORALL
@ TOK_ACSL_FORALL
Definition: ansi_c_y.tab.h:182
YYSIZEOF
#define YYSIZEOF(X)
Definition: ansi_c_y.tab.cpp:921
yyr2
static const yytype_int8 yyr2[]
Definition: ansi_c_y.tab.cpp:3348
YY_ATTRIBUTE_UNUSED
#define YY_ATTRIBUTE_UNUSED
Definition: ansi_c_y.tab.cpp:955
TOK_CPROVER_ID
@ TOK_CPROVER_ID
Definition: ansi_c_y.tab.h:195
TOK_CPROVER_TRY
@ TOK_CPROVER_TRY
Definition: ansi_c_y.tab.h:193
YYSYMBOL_TOK_INT8
@ YYSYMBOL_TOK_INT8
Definition: ansi_c_y.tab.cpp:460
YYSYMBOL_422_13
@ YYSYMBOL_422_13
Definition: ansi_c_y.tab.cpp:813
YYSYMBOL_KnR_declaration_qualifier_list
@ YYSYMBOL_KnR_declaration_qualifier_list
Definition: ansi_c_y.tab.cpp:790
YYSYMBOL_KnR_parameter_list
@ YYSYMBOL_KnR_parameter_list
Definition: ansi_c_y.tab.cpp:734
TOK_VOID
@ TOK_VOID
Definition: ansi_c_y.tab.h:90
TOK_MSC_UUIDOF
@ TOK_MSC_UUIDOF
Definition: ansi_c_y.tab.h:247
YYSYMBOL_197_
@ YYSYMBOL_197_
Definition: ansi_c_y.tab.cpp:588
TOK_CPROVER_ENSURES
@ TOK_CPROVER_ENSURES
Definition: ansi_c_y.tab.h:198
YYSYMBOL_TOK_CLRCALL
@ YYSYMBOL_TOK_CLRCALL
Definition: ansi_c_y.tab.cpp:516
yyansi_cparse
int yyansi_cparse(void)
Definition: ansi_c_y.tab.cpp:3639
TOK_DO
@ TOK_DO
Definition: ansi_c_y.tab.h:66
exprt::add_source_location
source_locationt & add_source_location()
Definition: expr.h:257
YYSYMBOL_TOK_ELLIPSIS
@ YYSYMBOL_TOK_ELLIPSIS
Definition: ansi_c_y.tab.cpp:442
TOK_GCC_FLOAT64X
@ TOK_GCC_FLOAT64X
Definition: ansi_c_y.tab.h:136
YYMAXDEPTH
#define YYMAXDEPTH
Definition: ansi_c_y.tab.cpp:123
TOK_SHORT
@ TOK_SHORT
Definition: ansi_c_y.tab.h:81
TOK_GCC_FLOAT32X
@ TOK_GCC_FLOAT32X
Definition: ansi_c_y.tab.h:133
TOK_GCC_ATTRIBUTE_GNU_INLINE
@ TOK_GCC_ATTRIBUTE_GNU_INLINE
Definition: ansi_c_y.tab.h:151
ansi_c_y.tab.h
ansi_c_parser.h
TOK_SHIFTRIGHT
@ TOK_SHIFTRIGHT
Definition: ansi_c_y.tab.h:98
YYSYMBOL_gcc_asm_clobbered_registers
@ YYSYMBOL_gcc_asm_clobbered_registers
Definition: ansi_c_y.tab.cpp:775
TOK_INT32
@ TOK_INT32
Definition: ansi_c_y.tab.h:125
YYSYMBOL_conditional_expression
@ YYSYMBOL_conditional_expression
Definition: ansi_c_y.tab.cpp:654
YY_ASSERT
#define YY_ASSERT(E)
Definition: ansi_c_y.tab.cpp:998
YYSYMBOL_static_assert_declaration
@ YYSYMBOL_static_assert_declaration
Definition: ansi_c_y.tab.cpp:660
TOK_IMAGINARY
@ TOK_IMAGINARY
Definition: ansi_c_y.tab.h:210
YYSYMBOL_218_
@ YYSYMBOL_218_
Definition: ansi_c_y.tab.cpp:609
TOK_SIZEOF
@ TOK_SIZEOF
Definition: ansi_c_y.tab.h:83
YYSYMBOL_TOK_WHILE
@ YYSYMBOL_TOK_WHILE
Definition: ansi_c_y.tab.cpp:430
multi_ary_exprt::op0
exprt & op0()
Definition: std_expr.h:817
YYSYMBOL_alignas_specifier
@ YYSYMBOL_alignas_specifier
Definition: ansi_c_y.tab.cpp:679
TOK_CPROVER_REQUIRES
@ TOK_CPROVER_REQUIRES
Definition: ansi_c_y.tab.h:197
YYSYMBOL_TOK_CPROVER_REQUIRES
@ YYSYMBOL_TOK_CPROVER_REQUIRES
Definition: ansi_c_y.tab.cpp:534
binary_exprt::op1
exprt & op1()
Definition: expr.h:104
YYSYMBOL_iteration_statement
@ YYSYMBOL_iteration_statement
Definition: ansi_c_y.tab.cpp:756
YYSYMBOL_TOK_GCC_FLOAT16
@ YYSYMBOL_TOK_GCC_FLOAT16
Definition: ansi_c_y.tab.cpp:468
to_multi_ary_expr
const multi_ary_exprt & to_multi_ary_expr(const exprt &expr)
Cast an exprt to a multi_ary_exprt.
Definition: std_expr.h:872
YYSYMBOL_gcc_local_label
@ YYSYMBOL_gcc_local_label
Definition: ansi_c_y.tab.cpp:761
YYSYMBOL_postfix_expression
@ YYSYMBOL_postfix_expression
Definition: ansi_c_y.tab.cpp:635
YYSYMBOL_KnR_parameter_header
@ YYSYMBOL_KnR_parameter_header
Definition: ansi_c_y.tab.cpp:788
YYSYMBOL_211_
@ YYSYMBOL_211_
Definition: ansi_c_y.tab.cpp:602
YYNSTATES
#define YYNSTATES
Definition: ansi_c_y.tab.cpp:1139
TOK_INT16
@ TOK_INT16
Definition: ansi_c_y.tab.h:124
YYSYMBOL_attribute_or_type_qualifier
@ YYSYMBOL_attribute_or_type_qualifier
Definition: ansi_c_y.tab.cpp:680
YYSYMBOL_TOK_GCC_ATTRIBUTE_TRANSPARENT_UNION
@ YYSYMBOL_TOK_GCC_ATTRIBUTE_TRANSPARENT_UNION
Definition: ansi_c_y.tab.cpp:484
TOK_OROR
@ TOK_OROR
Definition: ansi_c_y.tab.h:104
parser_stack
#define parser_stack(x)
Definition: parser.h:144
YYSYMBOL_216_
@ YYSYMBOL_216_
Definition: ansi_c_y.tab.cpp:607
yyparse
#define yyparse
Definition: ansi_c_y.tab.cpp:68
YYSYMBOL_TOK_EXTERN
@ YYSYMBOL_TOK_EXTERN
Definition: ansi_c_y.tab.cpp:407
YYSYMBOL_TOK_PROTECTED
@ YYSYMBOL_TOK_PROTECTED
Definition: ansi_c_y.tab.cpp:569
YYSYMBOL_TOK_GCC_ASM_PAREN
@ YYSYMBOL_TOK_GCC_ASM_PAREN
Definition: ansi_c_y.tab.cpp:481
YYSYMBOL_TOK_ATOMIC_TYPE_SPECIFIER
@ YYSYMBOL_TOK_ATOMIC_TYPE_SPECIFIER
Definition: ansi_c_y.tab.cpp:545
YYSYMBOL_TOK_SWITCH
@ YYSYMBOL_TOK_SWITCH
Definition: ansi_c_y.tab.cpp:423
YYSYMBOL_TOK_LE
@ YYSYMBOL_TOK_LE
Definition: ansi_c_y.tab.cpp:436
TOK_INT8
@ TOK_INT8
Definition: ansi_c_y.tab.h:123
TOK_OFFSETOF
@ TOK_OFFSETOF
Definition: ansi_c_y.tab.h:167
YYSYMBOL_TOK_GCC_FLOAT128X
@ YYSYMBOL_TOK_GCC_FLOAT128X
Definition: ansi_c_y.tab.cpp:475
free
void free(void *)
YYSYMBOL_elaborated_type_name
@ YYSYMBOL_elaborated_type_name
Definition: ansi_c_y.tab.cpp:702
TOK_PUBLIC
@ TOK_PUBLIC
Definition: ansi_c_y.tab.h:233
YYSYMBOL_TOK_CPROVER_FLOATBV
@ YYSYMBOL_TOK_CPROVER_FLOATBV
Definition: ansi_c_y.tab.cpp:524
TOK_GCC_FLOAT128X
@ TOK_GCC_FLOAT128X
Definition: ansi_c_y.tab.h:138
YYSYMBOL_expression_statement
@ YYSYMBOL_expression_statement
Definition: ansi_c_y.tab.cpp:753
yytype_uint16
unsigned short yytype_uint16
Definition: ansi_c_y.tab.cpp:881
TOK_THREAD_LOCAL
@ TOK_THREAD_LOCAL
Definition: ansi_c_y.tab.h:213
YYSYMBOL_floating
@ YYSYMBOL_floating
Definition: ansi_c_y.tab.cpp:617
YYSYMBOL_enum_key
@ YYSYMBOL_enum_key
Definition: ansi_c_y.tab.cpp:728
TOK_NULLPTR
@ TOK_NULLPTR
Definition: ansi_c_y.tab.h:214
TOK_CHARACTER
@ TOK_CHARACTER
Definition: ansi_c_y.tab.h:120
YYINITDEPTH
#define YYINITDEPTH
Definition: ansi_c_y.tab.cpp:3585
YY_NULLPTR
#define YY_NULLPTR
Definition: ansi_c_y.tab.cpp:151
YYSYMBOL_TOK_GCC_INT128
@ YYSYMBOL_TOK_GCC_INT128
Definition: ansi_c_y.tab.cpp:476
YYSYMBOL_TOK_PLUSASSIGN
@ YYSYMBOL_TOK_PLUSASSIGN
Definition: ansi_c_y.tab.cpp:446
YYERROR
#define YYERROR
Definition: ansi_c_y.tab.cpp:3422
YYSYMBOL_TOK_REGISTER
@ YYSYMBOL_TOK_REGISTER
Definition: ansi_c_y.tab.cpp:415
YYSYMBOL_logical_equivalence_expression
@ YYSYMBOL_logical_equivalence_expression
Definition: ansi_c_y.tab.cpp:652
YYSYMBOL_366_12
@ YYSYMBOL_366_12
Definition: ansi_c_y.tab.cpp:757
binary_exprt::op0
exprt & op0()
Definition: expr.h:101
yytype_int16
short yytype_int16
Definition: ansi_c_y.tab.cpp:861
TOK_RETURN
@ TOK_RETURN
Definition: ansi_c_y.tab.h:80
YYSYMBOL_translation_unit
@ YYSYMBOL_translation_unit
Definition: ansi_c_y.tab.cpp:781
YYSYMBOL_cprover_exception_statement
@ YYSYMBOL_cprover_exception_statement
Definition: ansi_c_y.tab.cpp:765
YYSYMBOL_parameter_abstract_declarator
@ YYSYMBOL_parameter_abstract_declarator
Definition: ansi_c_y.tab.cpp:811
TOK_AUTO
@ TOK_AUTO
Definition: ansi_c_y.tab.h:57
YYSYMBOL_member_declaration_list
@ YYSYMBOL_member_declaration_list
Definition: ansi_c_y.tab.cpp:717
yydefgoto
static const yytype_int16 yydefgoto[]
Definition: ansi_c_y.tab.cpp:1726
TOK_CHAR
@ TOK_CHAR
Definition: ansi_c_y.tab.h:62
yy_state_fast_t
int yy_state_fast_t
Definition: ansi_c_y.tab.cpp:928
YY_
#define YY_(Msgid)
Definition: ansi_c_y.tab.cpp:938
TOK_CLASS
@ TOK_CLASS
Definition: ansi_c_y.tab.h:221
YYSYMBOL_clean_postfix_typedef_declarator
@ YYSYMBOL_clean_postfix_typedef_declarator
Definition: ansi_c_y.tab.cpp:802
yytoken_kind_t
enum yytokentype yytoken_kind_t
Definition: ansi_c_y.tab.h:252
TOK_PTR32
@ TOK_PTR32
Definition: ansi_c_y.tab.h:127
YYSYMBOL_TOK_ACSL_FORALL
@ YYSYMBOL_TOK_ACSL_FORALL
Definition: ansi_c_y.tab.cpp:519
TOK_CLANG_BUILTIN_CONVERTVECTOR
@ TOK_CLANG_BUILTIN_CONVERTVECTOR
Definition: ansi_c_y.tab.h:166
YYSYMBOL_TOK_CONTINUE
@ YYSYMBOL_TOK_CONTINUE
Definition: ansi_c_y.tab.cpp:401
YYSYMBOL_gcc_asm_labels
@ YYSYMBOL_gcc_asm_labels
Definition: ansi_c_y.tab.cpp:778
YYSYMBOL_TOK_NAMESPACE
@ YYSYMBOL_TOK_NAMESPACE
Definition: ansi_c_y.tab.cpp:564
TOK_EXTERN
@ TOK_EXTERN
Definition: ansi_c_y.tab.h:70
YYUNDEF
@ YYUNDEF
Definition: ansi_c_y.tab.h:56
YYSYMBOL_argument_expression_list
@ YYSYMBOL_argument_expression_list
Definition: ansi_c_y.tab.cpp:637
YYTRANSLATE
#define YYTRANSLATE(YYX)
Definition: ansi_c_y.tab.cpp:1146
YYSYMBOL_TOK_UNION
@ YYSYMBOL_TOK_UNION
Definition: ansi_c_y.tab.cpp:425
mathematical_expr.h
yylex
#define yylex
Definition: ansi_c_y.tab.cpp:69
YY_ACCESSING_SYMBOL
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
Definition: ansi_c_y.tab.cpp:1273
YYSYMBOL_TOK_CPROVER_TRY
@ YYSYMBOL_TOK_CPROVER_TRY
Definition: ansi_c_y.tab.cpp:530