build: PHP-7.2 compat
[m6w6/ext-psi] / src / parser_proc.h
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2
3 /* Skeleton interface for Bison GLR parsers in C
4
5 Copyright (C) 2002-2015 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 #ifndef YY_PSI_PARSER_PROC_SRC_PARSER_PROC_H_INCLUDED
34 # define YY_PSI_PARSER_PROC_SRC_PARSER_PROC_H_INCLUDED
35 /* Debug traces. */
36 #ifndef YYDEBUG
37 # define YYDEBUG 1
38 #endif
39 #if YYDEBUG
40 extern int psi_parser_proc_debug;
41 #endif
42 /* "%code requires" blocks. */
43 #line 74 "src/parser_proc_grammar.y" /* glr.c:197 */
44
45 #include "plist.h"
46 #include "types/layout.h"
47
48 struct psi_parser;
49
50
51 #line 52 "src/parser_proc.h" /* glr.c:197 */
52
53 /* Token type. */
54 #ifndef YYTOKENTYPE
55 # define YYTOKENTYPE
56 enum yytokentype
57 {
58 PSI_T_EOF = 0,
59 PSI_T_BOOL = 258,
60 PSI_T_CHAR = 259,
61 PSI_T_SHORT = 260,
62 PSI_T_INT = 261,
63 PSI_T_SIGNED = 262,
64 PSI_T_UNSIGNED = 263,
65 PSI_T_LONG = 264,
66 PSI_T_FLOAT = 265,
67 PSI_T_DOUBLE = 266,
68 PSI_T_STRING = 267,
69 PSI_T_MIXED = 268,
70 PSI_T_ARRAY = 269,
71 PSI_T_OBJECT = 270,
72 PSI_T_CALLABLE = 271,
73 PSI_T_VOID = 272,
74 PSI_T_ZVAL = 273,
75 PSI_T_INT8 = 274,
76 PSI_T_UINT8 = 275,
77 PSI_T_INT16 = 276,
78 PSI_T_UINT16 = 277,
79 PSI_T_INT32 = 278,
80 PSI_T_UINT32 = 279,
81 PSI_T_INT64 = 280,
82 PSI_T_UINT64 = 281,
83 PSI_T_NULL = 282,
84 PSI_T_TRUE = 283,
85 PSI_T_FALSE = 284,
86 PSI_T_NAME = 285,
87 PSI_T_NSNAME = 286,
88 PSI_T_DOLLAR_NAME = 287,
89 PSI_T_NUMBER = 288,
90 PSI_T_QUOTED_STRING = 289,
91 PSI_T_QUOTED_CHAR = 290,
92 PSI_T_EOL = 291,
93 PSI_T_EOS = 292,
94 PSI_T_LPAREN = 293,
95 PSI_T_RPAREN = 294,
96 PSI_T_COMMA = 295,
97 PSI_T_COLON = 296,
98 PSI_T_LBRACE = 297,
99 PSI_T_RBRACE = 298,
100 PSI_T_LBRACKET = 299,
101 PSI_T_RBRACKET = 300,
102 PSI_T_EQUALS = 301,
103 PSI_T_HASH = 302,
104 PSI_T_PIPE = 303,
105 PSI_T_CARET = 304,
106 PSI_T_AMPERSAND = 305,
107 PSI_T_LSHIFT = 306,
108 PSI_T_RSHIFT = 307,
109 PSI_T_PLUS = 308,
110 PSI_T_MINUS = 309,
111 PSI_T_ASTERISK = 310,
112 PSI_T_SLASH = 311,
113 PSI_T_MODULO = 312,
114 PSI_T_LCHEVR = 313,
115 PSI_T_RCHEVR = 314,
116 PSI_T_CMP_GE = 315,
117 PSI_T_CMP_LE = 316,
118 PSI_T_OR = 317,
119 PSI_T_AND = 318,
120 PSI_T_CMP_EQ = 319,
121 PSI_T_CMP_NE = 320,
122 PSI_T_TILDE = 321,
123 PSI_T_NOT = 322,
124 PSI_T_PERIOD = 323,
125 PSI_T_BACKSLASH = 324,
126 PSI_T_ELLIPSIS = 325,
127 PSI_T_IIF = 326,
128 PSI_T_PRAGMA = 327,
129 PSI_T_PRAGMA_ONCE = 328,
130 PSI_T_LINE = 329,
131 PSI_T_ERROR = 330,
132 PSI_T_WARNING = 331,
133 PSI_T_IF = 332,
134 PSI_T_IFDEF = 333,
135 PSI_T_IFNDEF = 334,
136 PSI_T_ELSE = 335,
137 PSI_T_ELIF = 336,
138 PSI_T_ENDIF = 337,
139 PSI_T_DEFINE = 338,
140 PSI_T_DEFINED = 339,
141 PSI_T_UNDEF = 340,
142 PSI_T_IMPORT = 341,
143 PSI_T_INCLUDE = 342,
144 PSI_T_INCLUDE_NEXT = 343,
145 PSI_T_TYPEDEF = 344,
146 PSI_T_STRUCT = 345,
147 PSI_T_UNION = 346,
148 PSI_T_ENUM = 347,
149 PSI_T_CONST = 348,
150 PSI_T_LIB = 349,
151 PSI_T_STATIC = 350,
152 PSI_T_CALLBACK = 351,
153 PSI_T_FUNCTION = 352,
154 PSI_T_LET = 353,
155 PSI_T_SET = 354,
156 PSI_T_TEMP = 355,
157 PSI_T_FREE = 356,
158 PSI_T_RETURN = 357,
159 PSI_T_PRE_ASSERT = 358,
160 PSI_T_POST_ASSERT = 359,
161 PSI_T_BOOLVAL = 360,
162 PSI_T_INTVAL = 361,
163 PSI_T_STRVAL = 362,
164 PSI_T_PATHVAL = 363,
165 PSI_T_STRLEN = 364,
166 PSI_T_FLOATVAL = 365,
167 PSI_T_ARRVAL = 366,
168 PSI_T_OBJVAL = 367,
169 PSI_T_COUNT = 368,
170 PSI_T_CALLOC = 369,
171 PSI_T_TO_BOOL = 370,
172 PSI_T_TO_INT = 371,
173 PSI_T_TO_STRING = 372,
174 PSI_T_TO_FLOAT = 373,
175 PSI_T_TO_ARRAY = 374,
176 PSI_T_TO_OBJECT = 375,
177 PSI_T_COMMENT = 376,
178 PSI_T_WHITESPACE = 377,
179 PSI_T_NO_WHITESPACE = 378,
180 PSI_T_CPP_HEADER = 379,
181 PSI_T_CPP_ATTRIBUTE = 380,
182 PSI_T_CPP_EXTENSION = 381,
183 PSI_T_CPP_PASTE = 382,
184 PSI_T_CPP_RESTRICT = 383,
185 PSI_T_CPP_ASM = 384,
186 PSI_T_BINARY = 385,
187 PSI_T_UNARY = 386
188 };
189 #endif
190
191 /* Value type. */
192 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
193
194 union YYSTYPE
195 {
196
197 /* reference */
198 bool PSI_T_reference;
199 /* array_size */
200 size_t PSI_T_array_size;
201 /* indirection */
202 size_t PSI_T_indirection;
203 /* pointers */
204 size_t PSI_T_pointers;
205 /* asterisks */
206 size_t PSI_T_asterisks;
207 /* assert_stmt */
208 struct psi_assert_stmt * PSI_T_assert_stmt;
209 /* constant */
210 struct psi_const * PSI_T_constant;
211 /* constant_type */
212 struct psi_const_type * PSI_T_constant_type;
213 /* cpp */
214 struct psi_cpp_exp * PSI_T_cpp;
215 /* cpp_exp */
216 struct psi_cpp_exp * PSI_T_cpp_exp;
217 /* cpp_macro_decl */
218 struct psi_cpp_macro_decl * PSI_T_cpp_macro_decl;
219 /* decl_stmt */
220 struct psi_decl * PSI_T_decl_stmt;
221 /* decl */
222 struct psi_decl * PSI_T_decl;
223 /* decl_body */
224 struct psi_decl * PSI_T_decl_body;
225 /* decl_func_body */
226 struct psi_decl * PSI_T_decl_func_body;
227 /* decl_functor_body */
228 struct psi_decl * PSI_T_decl_functor_body;
229 /* decl_typedef */
230 struct psi_decl_arg * PSI_T_decl_typedef;
231 /* typedef */
232 struct psi_decl_arg * PSI_T_typedef;
233 /* decl_functor */
234 struct psi_decl_arg * PSI_T_decl_functor;
235 /* decl_func */
236 struct psi_decl_arg * PSI_T_decl_func;
237 /* decl_anon_arg */
238 struct psi_decl_arg * PSI_T_decl_anon_arg;
239 /* decl_arg */
240 struct psi_decl_arg * PSI_T_decl_arg;
241 /* decl_enum */
242 struct psi_decl_enum * PSI_T_decl_enum;
243 /* decl_enum_item */
244 struct psi_decl_enum_item * PSI_T_decl_enum_item;
245 /* decl_struct */
246 struct psi_decl_struct * PSI_T_decl_struct;
247 /* const_decl_type */
248 struct psi_decl_type * PSI_T_const_decl_type;
249 /* decl_type */
250 struct psi_decl_type * PSI_T_decl_type;
251 /* decl_type_complex */
252 struct psi_decl_type * PSI_T_decl_type_complex;
253 /* decl_union */
254 struct psi_decl_union * PSI_T_decl_union;
255 /* decl_var */
256 struct psi_decl_var * PSI_T_decl_var;
257 /* free_exp */
258 struct psi_free_exp * PSI_T_free_exp;
259 /* free_stmt */
260 struct psi_free_stmt * PSI_T_free_stmt;
261 /* impl */
262 struct psi_impl * PSI_T_impl;
263 /* impl_arg */
264 struct psi_impl_arg * PSI_T_impl_arg;
265 /* impl_def_val */
266 struct psi_impl_def_val * PSI_T_impl_def_val;
267 /* impl_func */
268 struct psi_impl_func * PSI_T_impl_func;
269 /* impl_type */
270 struct psi_impl_type * PSI_T_impl_type;
271 /* impl_var */
272 struct psi_impl_var * PSI_T_impl_var;
273 /* align_and_size */
274 struct psi_layout PSI_T_align_and_size;
275 /* decl_layout */
276 struct psi_layout * PSI_T_decl_layout;
277 /* let_callback */
278 struct psi_let_callback * PSI_T_let_callback;
279 /* let_calloc */
280 struct psi_let_calloc * PSI_T_let_calloc;
281 /* let_exp */
282 struct psi_let_exp * PSI_T_let_exp;
283 /* let_exp_byref */
284 struct psi_let_exp * PSI_T_let_exp_byref;
285 /* let_exp_assign */
286 struct psi_let_exp * PSI_T_let_exp_assign;
287 /* let_func */
288 struct psi_let_func * PSI_T_let_func;
289 /* let_stmt */
290 struct psi_let_stmt * PSI_T_let_stmt;
291 /* cpp_macro_exp */
292 struct psi_num_exp * PSI_T_cpp_macro_exp;
293 /* num_exp */
294 struct psi_num_exp * PSI_T_num_exp;
295 /* number */
296 struct psi_number * PSI_T_number;
297 /* cpp_macro_sig */
298 struct psi_plist * PSI_T_cpp_macro_sig;
299 /* cpp_macro_sig_args */
300 struct psi_plist * PSI_T_cpp_macro_sig_args;
301 /* cpp_macro_decl_tokens */
302 struct psi_plist * PSI_T_cpp_macro_decl_tokens;
303 /* cpp_macro_decl_token_list */
304 struct psi_plist * PSI_T_cpp_macro_decl_token_list;
305 /* cpp_macro_call_args */
306 struct psi_plist * PSI_T_cpp_macro_call_args;
307 /* cpp_macro_call_arg_list */
308 struct psi_plist * PSI_T_cpp_macro_call_arg_list;
309 /* decl_vars */
310 struct psi_plist * PSI_T_decl_vars;
311 /* decl_args */
312 struct psi_plist * PSI_T_decl_args;
313 /* decl_struct_args */
314 struct psi_plist * PSI_T_decl_struct_args;
315 /* struct_args_block */
316 struct psi_plist * PSI_T_struct_args_block;
317 /* struct_args */
318 struct psi_plist * PSI_T_struct_args;
319 /* struct_arg_var_list */
320 struct psi_plist * PSI_T_struct_arg_var_list;
321 /* decl_vars_with_layout */
322 struct psi_plist * PSI_T_decl_vars_with_layout;
323 /* decl_enum_items */
324 struct psi_plist * PSI_T_decl_enum_items;
325 /* impl_args */
326 struct psi_plist * PSI_T_impl_args;
327 /* impl_stmts */
328 struct psi_plist * PSI_T_impl_stmts;
329 /* let_func_exps */
330 struct psi_plist * PSI_T_let_func_exps;
331 /* let_exps */
332 struct psi_plist * PSI_T_let_exps;
333 /* callback_arg_list */
334 struct psi_plist * PSI_T_callback_arg_list;
335 /* callback_args */
336 struct psi_plist * PSI_T_callback_args;
337 /* set_func_exps */
338 struct psi_plist * PSI_T_set_func_exps;
339 /* set_exps */
340 struct psi_plist * PSI_T_set_exps;
341 /* free_exps */
342 struct psi_plist * PSI_T_free_exps;
343 /* return_stmt */
344 struct psi_return_stmt * PSI_T_return_stmt;
345 /* set_exp */
346 struct psi_set_exp * PSI_T_set_exp;
347 /* set_func */
348 struct psi_set_func * PSI_T_set_func;
349 /* set_stmt */
350 struct psi_set_stmt * PSI_T_set_stmt;
351 /* "end of file" */
352 struct psi_token * PSI_T_EOF;
353 /* BOOL */
354 struct psi_token * PSI_T_BOOL;
355 /* CHAR */
356 struct psi_token * PSI_T_CHAR;
357 /* SHORT */
358 struct psi_token * PSI_T_SHORT;
359 /* INT */
360 struct psi_token * PSI_T_INT;
361 /* SIGNED */
362 struct psi_token * PSI_T_SIGNED;
363 /* UNSIGNED */
364 struct psi_token * PSI_T_UNSIGNED;
365 /* LONG */
366 struct psi_token * PSI_T_LONG;
367 /* FLOAT */
368 struct psi_token * PSI_T_FLOAT;
369 /* DOUBLE */
370 struct psi_token * PSI_T_DOUBLE;
371 /* STRING */
372 struct psi_token * PSI_T_STRING;
373 /* MIXED */
374 struct psi_token * PSI_T_MIXED;
375 /* ARRAY */
376 struct psi_token * PSI_T_ARRAY;
377 /* OBJECT */
378 struct psi_token * PSI_T_OBJECT;
379 /* CALLABLE */
380 struct psi_token * PSI_T_CALLABLE;
381 /* VOID */
382 struct psi_token * PSI_T_VOID;
383 /* ZVAL */
384 struct psi_token * PSI_T_ZVAL;
385 /* INT8 */
386 struct psi_token * PSI_T_INT8;
387 /* UINT8 */
388 struct psi_token * PSI_T_UINT8;
389 /* INT16 */
390 struct psi_token * PSI_T_INT16;
391 /* UINT16 */
392 struct psi_token * PSI_T_UINT16;
393 /* INT32 */
394 struct psi_token * PSI_T_INT32;
395 /* UINT32 */
396 struct psi_token * PSI_T_UINT32;
397 /* INT64 */
398 struct psi_token * PSI_T_INT64;
399 /* UINT64 */
400 struct psi_token * PSI_T_UINT64;
401 /* NULL */
402 struct psi_token * PSI_T_NULL;
403 /* TRUE */
404 struct psi_token * PSI_T_TRUE;
405 /* FALSE */
406 struct psi_token * PSI_T_FALSE;
407 /* NAME */
408 struct psi_token * PSI_T_NAME;
409 /* NSNAME */
410 struct psi_token * PSI_T_NSNAME;
411 /* DOLLAR_NAME */
412 struct psi_token * PSI_T_DOLLAR_NAME;
413 /* NUMBER */
414 struct psi_token * PSI_T_NUMBER;
415 /* QUOTED_STRING */
416 struct psi_token * PSI_T_QUOTED_STRING;
417 /* QUOTED_CHAR */
418 struct psi_token * PSI_T_QUOTED_CHAR;
419 /* "end of line" */
420 struct psi_token * PSI_T_EOL;
421 /* ";" */
422 struct psi_token * PSI_T_EOS;
423 /* "(" */
424 struct psi_token * PSI_T_LPAREN;
425 /* ")" */
426 struct psi_token * PSI_T_RPAREN;
427 /* "," */
428 struct psi_token * PSI_T_COMMA;
429 /* ":" */
430 struct psi_token * PSI_T_COLON;
431 /* "{" */
432 struct psi_token * PSI_T_LBRACE;
433 /* "}" */
434 struct psi_token * PSI_T_RBRACE;
435 /* "[" */
436 struct psi_token * PSI_T_LBRACKET;
437 /* "]" */
438 struct psi_token * PSI_T_RBRACKET;
439 /* "=" */
440 struct psi_token * PSI_T_EQUALS;
441 /* "#" */
442 struct psi_token * PSI_T_HASH;
443 /* "|" */
444 struct psi_token * PSI_T_PIPE;
445 /* "^" */
446 struct psi_token * PSI_T_CARET;
447 /* "&" */
448 struct psi_token * PSI_T_AMPERSAND;
449 /* "<<" */
450 struct psi_token * PSI_T_LSHIFT;
451 /* ">>" */
452 struct psi_token * PSI_T_RSHIFT;
453 /* "+" */
454 struct psi_token * PSI_T_PLUS;
455 /* "-" */
456 struct psi_token * PSI_T_MINUS;
457 /* "*" */
458 struct psi_token * PSI_T_ASTERISK;
459 /* "/" */
460 struct psi_token * PSI_T_SLASH;
461 /* "%" */
462 struct psi_token * PSI_T_MODULO;
463 /* "<" */
464 struct psi_token * PSI_T_LCHEVR;
465 /* ">" */
466 struct psi_token * PSI_T_RCHEVR;
467 /* ">=" */
468 struct psi_token * PSI_T_CMP_GE;
469 /* "<=" */
470 struct psi_token * PSI_T_CMP_LE;
471 /* "||" */
472 struct psi_token * PSI_T_OR;
473 /* "&&" */
474 struct psi_token * PSI_T_AND;
475 /* "==" */
476 struct psi_token * PSI_T_CMP_EQ;
477 /* "!=" */
478 struct psi_token * PSI_T_CMP_NE;
479 /* "~" */
480 struct psi_token * PSI_T_TILDE;
481 /* "!" */
482 struct psi_token * PSI_T_NOT;
483 /* "." */
484 struct psi_token * PSI_T_PERIOD;
485 /* "\\" */
486 struct psi_token * PSI_T_BACKSLASH;
487 /* "..." */
488 struct psi_token * PSI_T_ELLIPSIS;
489 /* "?" */
490 struct psi_token * PSI_T_IIF;
491 /* PRAGMA */
492 struct psi_token * PSI_T_PRAGMA;
493 /* PRAGMA_ONCE */
494 struct psi_token * PSI_T_PRAGMA_ONCE;
495 /* LINE */
496 struct psi_token * PSI_T_LINE;
497 /* ERROR */
498 struct psi_token * PSI_T_ERROR;
499 /* WARNING */
500 struct psi_token * PSI_T_WARNING;
501 /* IF */
502 struct psi_token * PSI_T_IF;
503 /* IFDEF */
504 struct psi_token * PSI_T_IFDEF;
505 /* IFNDEF */
506 struct psi_token * PSI_T_IFNDEF;
507 /* ELSE */
508 struct psi_token * PSI_T_ELSE;
509 /* ELIF */
510 struct psi_token * PSI_T_ELIF;
511 /* ENDIF */
512 struct psi_token * PSI_T_ENDIF;
513 /* DEFINE */
514 struct psi_token * PSI_T_DEFINE;
515 /* DEFINED */
516 struct psi_token * PSI_T_DEFINED;
517 /* UNDEF */
518 struct psi_token * PSI_T_UNDEF;
519 /* IMPORT */
520 struct psi_token * PSI_T_IMPORT;
521 /* INCLUDE */
522 struct psi_token * PSI_T_INCLUDE;
523 /* INCLUDE_NEXT */
524 struct psi_token * PSI_T_INCLUDE_NEXT;
525 /* TYPEDEF */
526 struct psi_token * PSI_T_TYPEDEF;
527 /* STRUCT */
528 struct psi_token * PSI_T_STRUCT;
529 /* UNION */
530 struct psi_token * PSI_T_UNION;
531 /* ENUM */
532 struct psi_token * PSI_T_ENUM;
533 /* CONST */
534 struct psi_token * PSI_T_CONST;
535 /* LIB */
536 struct psi_token * PSI_T_LIB;
537 /* STATIC */
538 struct psi_token * PSI_T_STATIC;
539 /* CALLBACK */
540 struct psi_token * PSI_T_CALLBACK;
541 /* FUNCTION */
542 struct psi_token * PSI_T_FUNCTION;
543 /* LET */
544 struct psi_token * PSI_T_LET;
545 /* SET */
546 struct psi_token * PSI_T_SET;
547 /* TEMP */
548 struct psi_token * PSI_T_TEMP;
549 /* FREE */
550 struct psi_token * PSI_T_FREE;
551 /* RETURN */
552 struct psi_token * PSI_T_RETURN;
553 /* PRE_ASSERT */
554 struct psi_token * PSI_T_PRE_ASSERT;
555 /* POST_ASSERT */
556 struct psi_token * PSI_T_POST_ASSERT;
557 /* BOOLVAL */
558 struct psi_token * PSI_T_BOOLVAL;
559 /* INTVAL */
560 struct psi_token * PSI_T_INTVAL;
561 /* STRVAL */
562 struct psi_token * PSI_T_STRVAL;
563 /* PATHVAL */
564 struct psi_token * PSI_T_PATHVAL;
565 /* STRLEN */
566 struct psi_token * PSI_T_STRLEN;
567 /* FLOATVAL */
568 struct psi_token * PSI_T_FLOATVAL;
569 /* ARRVAL */
570 struct psi_token * PSI_T_ARRVAL;
571 /* OBJVAL */
572 struct psi_token * PSI_T_OBJVAL;
573 /* COUNT */
574 struct psi_token * PSI_T_COUNT;
575 /* CALLOC */
576 struct psi_token * PSI_T_CALLOC;
577 /* TO_BOOL */
578 struct psi_token * PSI_T_TO_BOOL;
579 /* TO_INT */
580 struct psi_token * PSI_T_TO_INT;
581 /* TO_STRING */
582 struct psi_token * PSI_T_TO_STRING;
583 /* TO_FLOAT */
584 struct psi_token * PSI_T_TO_FLOAT;
585 /* TO_ARRAY */
586 struct psi_token * PSI_T_TO_ARRAY;
587 /* TO_OBJECT */
588 struct psi_token * PSI_T_TO_OBJECT;
589 /* COMMENT */
590 struct psi_token * PSI_T_COMMENT;
591 /* WHITESPACE */
592 struct psi_token * PSI_T_WHITESPACE;
593 /* NO_WHITESPACE */
594 struct psi_token * PSI_T_NO_WHITESPACE;
595 /* CPP_HEADER */
596 struct psi_token * PSI_T_CPP_HEADER;
597 /* CPP_ATTRIBUTE */
598 struct psi_token * PSI_T_CPP_ATTRIBUTE;
599 /* CPP_EXTENSION */
600 struct psi_token * PSI_T_CPP_EXTENSION;
601 /* CPP_PASTE */
602 struct psi_token * PSI_T_CPP_PASTE;
603 /* CPP_RESTRICT */
604 struct psi_token * PSI_T_CPP_RESTRICT;
605 /* CPP_ASM */
606 struct psi_token * PSI_T_CPP_ASM;
607 /* binary_op_token */
608 struct psi_token * PSI_T_binary_op_token;
609 /* unary_op_token */
610 struct psi_token * PSI_T_unary_op_token;
611 /* name_token */
612 struct psi_token * PSI_T_name_token;
613 /* any_noeol_token */
614 struct psi_token * PSI_T_any_noeol_token;
615 /* lib */
616 struct psi_token * PSI_T_lib;
617 /* cpp_message_token */
618 struct psi_token * PSI_T_cpp_message_token;
619 /* cpp_include_token */
620 struct psi_token * PSI_T_cpp_include_token;
621 /* cpp_header_token */
622 struct psi_token * PSI_T_cpp_header_token;
623 /* cpp_no_arg_token */
624 struct psi_token * PSI_T_cpp_no_arg_token;
625 /* cpp_name_arg_token */
626 struct psi_token * PSI_T_cpp_name_arg_token;
627 /* cpp_exp_arg_token */
628 struct psi_token * PSI_T_cpp_exp_arg_token;
629 /* cpp_special_name_token */
630 struct psi_token * PSI_T_cpp_special_name_token;
631 /* constant_type_token */
632 struct psi_token * PSI_T_constant_type_token;
633 /* impl_def_val_token */
634 struct psi_token * PSI_T_impl_def_val_token;
635 /* decl_type_simple */
636 struct psi_token * PSI_T_decl_type_simple;
637 /* decl_real_type */
638 struct psi_token * PSI_T_decl_real_type;
639 /* decl_stdint_type */
640 struct psi_token * PSI_T_decl_stdint_type;
641 /* int_signed */
642 struct psi_token * PSI_T_int_signed;
643 /* int_width */
644 struct psi_token * PSI_T_int_width;
645 /* decl_int_type */
646 struct psi_token * PSI_T_decl_int_type;
647 /* int_signed_types */
648 struct psi_token * PSI_T_int_signed_types;
649 /* signed_short_types */
650 struct psi_token * PSI_T_signed_short_types;
651 /* signed_long_types */
652 struct psi_token * PSI_T_signed_long_types;
653 /* int_width_types */
654 struct psi_token * PSI_T_int_width_types;
655 /* enum_name */
656 struct psi_token * PSI_T_enum_name;
657 /* union_name */
658 struct psi_token * PSI_T_union_name;
659 /* struct_name */
660 struct psi_token * PSI_T_struct_name;
661 /* optional_name */
662 struct psi_token * PSI_T_optional_name;
663 /* impl_type_token */
664 struct psi_token * PSI_T_impl_type_token;
665 /* let_func_token */
666 struct psi_token * PSI_T_let_func_token;
667 /* callback_rval */
668 struct psi_token * PSI_T_callback_rval;
669 /* set_func_token */
670 struct psi_token * PSI_T_set_func_token;
671 /* assert_stmt_token */
672 struct psi_token * PSI_T_assert_stmt_token;
673 /* impl_stmt */
674 struct psi_token ** PSI_T_impl_stmt;
675 #line 676 "src/parser_proc.h" /* glr.c:197 */
676 };
677
678 typedef union YYSTYPE YYSTYPE;
679 # define YYSTYPE_IS_TRIVIAL 1
680 # define YYSTYPE_IS_DECLARED 1
681 #endif
682
683
684
685 int psi_parser_proc_parse (struct psi_parser *P, struct psi_plist *tokens, size_t *index);
686
687 #endif /* !YY_PSI_PARSER_PROC_SRC_PARSER_PROC_H_INCLUDED */