set_stmt/set_func: fix validation
[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 82 "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_NULL = 274,
76 PSI_T_TRUE = 275,
77 PSI_T_FALSE = 276,
78 PSI_T_NAME = 277,
79 PSI_T_NSNAME = 278,
80 PSI_T_DOLLAR_NAME = 279,
81 PSI_T_NUMBER = 280,
82 PSI_T_QUOTED_STRING = 281,
83 PSI_T_QUOTED_CHAR = 282,
84 PSI_T_SIZEOF = 283,
85 PSI_T_VOLATILE = 284,
86 PSI_T_EOL = 285,
87 PSI_T_EOS = 286,
88 PSI_T_LPAREN = 287,
89 PSI_T_RPAREN = 288,
90 PSI_T_COMMA = 289,
91 PSI_T_COLON = 290,
92 PSI_T_LBRACE = 291,
93 PSI_T_RBRACE = 292,
94 PSI_T_LBRACKET = 293,
95 PSI_T_RBRACKET = 294,
96 PSI_T_EQUALS = 295,
97 PSI_T_HASH = 296,
98 PSI_T_PIPE = 297,
99 PSI_T_CARET = 298,
100 PSI_T_AMPERSAND = 299,
101 PSI_T_LSHIFT = 300,
102 PSI_T_RSHIFT = 301,
103 PSI_T_PLUS = 302,
104 PSI_T_MINUS = 303,
105 PSI_T_ASTERISK = 304,
106 PSI_T_SLASH = 305,
107 PSI_T_MODULO = 306,
108 PSI_T_LCHEVR = 307,
109 PSI_T_RCHEVR = 308,
110 PSI_T_CMP_GE = 309,
111 PSI_T_CMP_LE = 310,
112 PSI_T_OR = 311,
113 PSI_T_AND = 312,
114 PSI_T_CMP_EQ = 313,
115 PSI_T_CMP_NE = 314,
116 PSI_T_TILDE = 315,
117 PSI_T_NOT = 316,
118 PSI_T_PERIOD = 317,
119 PSI_T_BACKSLASH = 318,
120 PSI_T_ELLIPSIS = 319,
121 PSI_T_IIF = 320,
122 PSI_T_PRAGMA = 321,
123 PSI_T_PRAGMA_ONCE = 322,
124 PSI_T_LINE = 323,
125 PSI_T_ERROR = 324,
126 PSI_T_WARNING = 325,
127 PSI_T_IF = 326,
128 PSI_T_IFDEF = 327,
129 PSI_T_IFNDEF = 328,
130 PSI_T_ELSE = 329,
131 PSI_T_ELIF = 330,
132 PSI_T_ENDIF = 331,
133 PSI_T_DEFINE = 332,
134 PSI_T_DEFINED = 333,
135 PSI_T_UNDEF = 334,
136 PSI_T_IMPORT = 335,
137 PSI_T_INCLUDE = 336,
138 PSI_T_INCLUDE_NEXT = 337,
139 PSI_T_TYPEDEF = 338,
140 PSI_T_STRUCT = 339,
141 PSI_T_UNION = 340,
142 PSI_T_ENUM = 341,
143 PSI_T_CONST = 342,
144 PSI_T_LIB = 343,
145 PSI_T_STATIC = 344,
146 PSI_T_CALLBACK = 345,
147 PSI_T_FUNCTION = 346,
148 PSI_T_LET = 347,
149 PSI_T_SET = 348,
150 PSI_T_TEMP = 349,
151 PSI_T_FREE = 350,
152 PSI_T_RETURN = 351,
153 PSI_T_AS = 352,
154 PSI_T_PRE_ASSERT = 353,
155 PSI_T_POST_ASSERT = 354,
156 PSI_T_BOOLVAL = 355,
157 PSI_T_INTVAL = 356,
158 PSI_T_STRVAL = 357,
159 PSI_T_PATHVAL = 358,
160 PSI_T_STRLEN = 359,
161 PSI_T_FLOATVAL = 360,
162 PSI_T_ARRVAL = 361,
163 PSI_T_OBJVAL = 362,
164 PSI_T_COUNT = 363,
165 PSI_T_CALLOC = 364,
166 PSI_T_TO_BOOL = 365,
167 PSI_T_TO_INT = 366,
168 PSI_T_TO_STRING = 367,
169 PSI_T_TO_FLOAT = 368,
170 PSI_T_TO_ARRAY = 369,
171 PSI_T_TO_OBJECT = 370,
172 PSI_T_COMMENT = 371,
173 PSI_T_WHITESPACE = 372,
174 PSI_T_NO_WHITESPACE = 373,
175 PSI_T_CPP_HEADER = 374,
176 PSI_T_CPP_ATTRIBUTE = 375,
177 PSI_T_CPP_EXTENSION = 376,
178 PSI_T_CPP_PASTE = 377,
179 PSI_T_CPP_INLINE = 378,
180 PSI_T_CPP_RESTRICT = 379,
181 PSI_T_CPP_ASM = 380,
182 PSI_T_BINARY = 381,
183 PSI_T_UNARY = 382
184 };
185 #endif
186
187 /* Value type. */
188 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
189
190 union YYSTYPE
191 {
192
193 /* reference */
194 bool PSI_T_reference;
195 /* array_size */
196 size_t PSI_T_array_size;
197 /* indirection */
198 size_t PSI_T_indirection;
199 /* pointers */
200 size_t PSI_T_pointers;
201 /* asterisks */
202 size_t PSI_T_asterisks;
203 /* assert_stmt */
204 struct psi_assert_stmt * PSI_T_assert_stmt;
205 /* constant */
206 struct psi_const * PSI_T_constant;
207 /* constant_type */
208 struct psi_const_type * PSI_T_constant_type;
209 /* cpp */
210 struct psi_cpp_exp * PSI_T_cpp;
211 /* cpp_exp */
212 struct psi_cpp_exp * PSI_T_cpp_exp;
213 /* cpp_macro_decl */
214 struct psi_cpp_macro_decl * PSI_T_cpp_macro_decl;
215 /* decl_stmt */
216 struct psi_decl * PSI_T_decl_stmt;
217 /* decl */
218 struct psi_decl * PSI_T_decl;
219 /* decl_body */
220 struct psi_decl * PSI_T_decl_body;
221 /* decl_func_body */
222 struct psi_decl * PSI_T_decl_func_body;
223 /* decl_functor_body */
224 struct psi_decl * PSI_T_decl_functor_body;
225 /* decl_typedef */
226 struct psi_decl_arg * PSI_T_decl_typedef;
227 /* typedef */
228 struct psi_decl_arg * PSI_T_typedef;
229 /* typedef_anon */
230 struct psi_decl_arg * PSI_T_typedef_anon;
231 /* typedef_decl */
232 struct psi_decl_arg * PSI_T_typedef_decl;
233 /* typedef_anon_decl */
234 struct psi_decl_arg * PSI_T_typedef_anon_decl;
235 /* decl_functor */
236 struct psi_decl_arg * PSI_T_decl_functor;
237 /* decl_func */
238 struct psi_decl_arg * PSI_T_decl_func;
239 /* decl_anon_arg */
240 struct psi_decl_arg * PSI_T_decl_anon_arg;
241 /* decl_arg */
242 struct psi_decl_arg * PSI_T_decl_arg;
243 /* decl_enum */
244 struct psi_decl_enum * PSI_T_decl_enum;
245 /* decl_enum_item */
246 struct psi_decl_enum_item * PSI_T_decl_enum_item;
247 /* decl_struct */
248 struct psi_decl_struct * PSI_T_decl_struct;
249 /* qualified_decl_type */
250 struct psi_decl_type * PSI_T_qualified_decl_type;
251 /* decl_type */
252 struct psi_decl_type * PSI_T_decl_type;
253 /* decl_type_complex */
254 struct psi_decl_type * PSI_T_decl_type_complex;
255 /* decl_union */
256 struct psi_decl_union * PSI_T_decl_union;
257 /* decl_var */
258 struct psi_decl_var * PSI_T_decl_var;
259 /* free_exp */
260 struct psi_free_exp * PSI_T_free_exp;
261 /* free_stmt */
262 struct psi_free_stmt * PSI_T_free_stmt;
263 /* impl */
264 struct psi_impl * PSI_T_impl;
265 /* impl_arg */
266 struct psi_impl_arg * PSI_T_impl_arg;
267 /* impl_def_val */
268 struct psi_impl_def_val * PSI_T_impl_def_val;
269 /* impl_func */
270 struct psi_impl_func * PSI_T_impl_func;
271 /* impl_type */
272 struct psi_impl_type * PSI_T_impl_type;
273 /* impl_var */
274 struct psi_impl_var * PSI_T_impl_var;
275 /* align_and_size */
276 struct psi_layout PSI_T_align_and_size;
277 /* decl_layout */
278 struct psi_layout * PSI_T_decl_layout;
279 /* let_callback */
280 struct psi_let_callback * PSI_T_let_callback;
281 /* let_calloc */
282 struct psi_let_calloc * PSI_T_let_calloc;
283 /* let_exp */
284 struct psi_let_exp * PSI_T_let_exp;
285 /* let_exp_byref */
286 struct psi_let_exp * PSI_T_let_exp_byref;
287 /* let_exp_assign */
288 struct psi_let_exp * PSI_T_let_exp_assign;
289 /* let_func */
290 struct psi_let_func * PSI_T_let_func;
291 /* let_stmt */
292 struct psi_let_stmt * PSI_T_let_stmt;
293 /* cpp_macro_exp */
294 struct psi_num_exp * PSI_T_cpp_macro_exp;
295 /* num_exp */
296 struct psi_num_exp * PSI_T_num_exp;
297 /* number */
298 struct psi_number * PSI_T_number;
299 /* sizeof */
300 struct psi_number * PSI_T_sizeof;
301 /* sizeof_body */
302 struct psi_number * PSI_T_sizeof_body;
303 /* sizeof_body_notypes */
304 struct psi_number * PSI_T_sizeof_body_notypes;
305 /* cpp_macro_sig */
306 struct psi_plist * PSI_T_cpp_macro_sig;
307 /* cpp_macro_sig_args */
308 struct psi_plist * PSI_T_cpp_macro_sig_args;
309 /* cpp_macro_decl_tokens */
310 struct psi_plist * PSI_T_cpp_macro_decl_tokens;
311 /* cpp_macro_decl_token_list */
312 struct psi_plist * PSI_T_cpp_macro_decl_token_list;
313 /* cpp_macro_call_args */
314 struct psi_plist * PSI_T_cpp_macro_call_args;
315 /* cpp_macro_call_arg_list */
316 struct psi_plist * PSI_T_cpp_macro_call_arg_list;
317 /* decl_vars */
318 struct psi_plist * PSI_T_decl_vars;
319 /* decl_args */
320 struct psi_plist * PSI_T_decl_args;
321 /* decl_struct_args */
322 struct psi_plist * PSI_T_decl_struct_args;
323 /* struct_args_block */
324 struct psi_plist * PSI_T_struct_args_block;
325 /* struct_args */
326 struct psi_plist * PSI_T_struct_args;
327 /* struct_arg_var_list */
328 struct psi_plist * PSI_T_struct_arg_var_list;
329 /* decl_vars_with_layout */
330 struct psi_plist * PSI_T_decl_vars_with_layout;
331 /* decl_enum_items */
332 struct psi_plist * PSI_T_decl_enum_items;
333 /* impl_args */
334 struct psi_plist * PSI_T_impl_args;
335 /* impl_stmts */
336 struct psi_plist * PSI_T_impl_stmts;
337 /* let_func_exps */
338 struct psi_plist * PSI_T_let_func_exps;
339 /* let_exps */
340 struct psi_plist * PSI_T_let_exps;
341 /* callback_arg_list */
342 struct psi_plist * PSI_T_callback_arg_list;
343 /* callback_args */
344 struct psi_plist * PSI_T_callback_args;
345 /* call_decl_vars */
346 struct psi_plist * PSI_T_call_decl_vars;
347 /* set_func_exps */
348 struct psi_plist * PSI_T_set_func_exps;
349 /* set_exps */
350 struct psi_plist * PSI_T_set_exps;
351 /* free_exps */
352 struct psi_plist * PSI_T_free_exps;
353 /* return_exp */
354 struct psi_return_exp * PSI_T_return_exp;
355 /* return_stmt */
356 struct psi_return_stmt * PSI_T_return_stmt;
357 /* set_exp */
358 struct psi_set_exp * PSI_T_set_exp;
359 /* set_func */
360 struct psi_set_func * PSI_T_set_func;
361 /* set_stmt */
362 struct psi_set_stmt * PSI_T_set_stmt;
363 /* "end of file" */
364 struct psi_token * PSI_T_EOF;
365 /* BOOL */
366 struct psi_token * PSI_T_BOOL;
367 /* CHAR */
368 struct psi_token * PSI_T_CHAR;
369 /* SHORT */
370 struct psi_token * PSI_T_SHORT;
371 /* INT */
372 struct psi_token * PSI_T_INT;
373 /* SIGNED */
374 struct psi_token * PSI_T_SIGNED;
375 /* UNSIGNED */
376 struct psi_token * PSI_T_UNSIGNED;
377 /* LONG */
378 struct psi_token * PSI_T_LONG;
379 /* FLOAT */
380 struct psi_token * PSI_T_FLOAT;
381 /* DOUBLE */
382 struct psi_token * PSI_T_DOUBLE;
383 /* STRING */
384 struct psi_token * PSI_T_STRING;
385 /* MIXED */
386 struct psi_token * PSI_T_MIXED;
387 /* ARRAY */
388 struct psi_token * PSI_T_ARRAY;
389 /* OBJECT */
390 struct psi_token * PSI_T_OBJECT;
391 /* CALLABLE */
392 struct psi_token * PSI_T_CALLABLE;
393 /* VOID */
394 struct psi_token * PSI_T_VOID;
395 /* ZVAL */
396 struct psi_token * PSI_T_ZVAL;
397 /* NULL */
398 struct psi_token * PSI_T_NULL;
399 /* TRUE */
400 struct psi_token * PSI_T_TRUE;
401 /* FALSE */
402 struct psi_token * PSI_T_FALSE;
403 /* NAME */
404 struct psi_token * PSI_T_NAME;
405 /* NSNAME */
406 struct psi_token * PSI_T_NSNAME;
407 /* DOLLAR_NAME */
408 struct psi_token * PSI_T_DOLLAR_NAME;
409 /* NUMBER */
410 struct psi_token * PSI_T_NUMBER;
411 /* QUOTED_STRING */
412 struct psi_token * PSI_T_QUOTED_STRING;
413 /* QUOTED_CHAR */
414 struct psi_token * PSI_T_QUOTED_CHAR;
415 /* SIZEOF */
416 struct psi_token * PSI_T_SIZEOF;
417 /* VOLATILE */
418 struct psi_token * PSI_T_VOLATILE;
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 /* AS */
554 struct psi_token * PSI_T_AS;
555 /* PRE_ASSERT */
556 struct psi_token * PSI_T_PRE_ASSERT;
557 /* POST_ASSERT */
558 struct psi_token * PSI_T_POST_ASSERT;
559 /* BOOLVAL */
560 struct psi_token * PSI_T_BOOLVAL;
561 /* INTVAL */
562 struct psi_token * PSI_T_INTVAL;
563 /* STRVAL */
564 struct psi_token * PSI_T_STRVAL;
565 /* PATHVAL */
566 struct psi_token * PSI_T_PATHVAL;
567 /* STRLEN */
568 struct psi_token * PSI_T_STRLEN;
569 /* FLOATVAL */
570 struct psi_token * PSI_T_FLOATVAL;
571 /* ARRVAL */
572 struct psi_token * PSI_T_ARRVAL;
573 /* OBJVAL */
574 struct psi_token * PSI_T_OBJVAL;
575 /* COUNT */
576 struct psi_token * PSI_T_COUNT;
577 /* CALLOC */
578 struct psi_token * PSI_T_CALLOC;
579 /* TO_BOOL */
580 struct psi_token * PSI_T_TO_BOOL;
581 /* TO_INT */
582 struct psi_token * PSI_T_TO_INT;
583 /* TO_STRING */
584 struct psi_token * PSI_T_TO_STRING;
585 /* TO_FLOAT */
586 struct psi_token * PSI_T_TO_FLOAT;
587 /* TO_ARRAY */
588 struct psi_token * PSI_T_TO_ARRAY;
589 /* TO_OBJECT */
590 struct psi_token * PSI_T_TO_OBJECT;
591 /* COMMENT */
592 struct psi_token * PSI_T_COMMENT;
593 /* WHITESPACE */
594 struct psi_token * PSI_T_WHITESPACE;
595 /* NO_WHITESPACE */
596 struct psi_token * PSI_T_NO_WHITESPACE;
597 /* CPP_HEADER */
598 struct psi_token * PSI_T_CPP_HEADER;
599 /* CPP_ATTRIBUTE */
600 struct psi_token * PSI_T_CPP_ATTRIBUTE;
601 /* CPP_EXTENSION */
602 struct psi_token * PSI_T_CPP_EXTENSION;
603 /* CPP_PASTE */
604 struct psi_token * PSI_T_CPP_PASTE;
605 /* CPP_INLINE */
606 struct psi_token * PSI_T_CPP_INLINE;
607 /* CPP_RESTRICT */
608 struct psi_token * PSI_T_CPP_RESTRICT;
609 /* CPP_ASM */
610 struct psi_token * PSI_T_CPP_ASM;
611 /* binary_op_token */
612 struct psi_token * PSI_T_binary_op_token;
613 /* unary_op_token */
614 struct psi_token * PSI_T_unary_op_token;
615 /* name_token */
616 struct psi_token * PSI_T_name_token;
617 /* any_noeol_token */
618 struct psi_token * PSI_T_any_noeol_token;
619 /* lib */
620 struct psi_token * PSI_T_lib;
621 /* cpp_message_token */
622 struct psi_token * PSI_T_cpp_message_token;
623 /* cpp_include_token */
624 struct psi_token * PSI_T_cpp_include_token;
625 /* cpp_header_token */
626 struct psi_token * PSI_T_cpp_header_token;
627 /* cpp_no_arg_token */
628 struct psi_token * PSI_T_cpp_no_arg_token;
629 /* cpp_name_arg_token */
630 struct psi_token * PSI_T_cpp_name_arg_token;
631 /* cpp_exp_arg_token */
632 struct psi_token * PSI_T_cpp_exp_arg_token;
633 /* cpp_special_name_token */
634 struct psi_token * PSI_T_cpp_special_name_token;
635 /* constant_type_token */
636 struct psi_token * PSI_T_constant_type_token;
637 /* impl_def_val_token */
638 struct psi_token * PSI_T_impl_def_val_token;
639 /* decl_type_simple */
640 struct psi_token * PSI_T_decl_type_simple;
641 /* decl_real_type */
642 struct psi_token * PSI_T_decl_real_type;
643 /* int_signed */
644 struct psi_token * PSI_T_int_signed;
645 /* int_width */
646 struct psi_token * PSI_T_int_width;
647 /* decl_int_type */
648 struct psi_token * PSI_T_decl_int_type;
649 /* int_signed_types */
650 struct psi_token * PSI_T_int_signed_types;
651 /* signed_short_types */
652 struct psi_token * PSI_T_signed_short_types;
653 /* signed_long_types */
654 struct psi_token * PSI_T_signed_long_types;
655 /* int_width_types */
656 struct psi_token * PSI_T_int_width_types;
657 /* enum_name */
658 struct psi_token * PSI_T_enum_name;
659 /* union_name */
660 struct psi_token * PSI_T_union_name;
661 /* struct_name */
662 struct psi_token * PSI_T_struct_name;
663 /* optional_name */
664 struct psi_token * PSI_T_optional_name;
665 /* impl_type_token */
666 struct psi_token * PSI_T_impl_type_token;
667 /* let_func_token */
668 struct psi_token * PSI_T_let_func_token;
669 /* callback_rval */
670 struct psi_token * PSI_T_callback_rval;
671 /* set_func_token */
672 struct psi_token * PSI_T_set_func_token;
673 /* assert_stmt_token */
674 struct psi_token * PSI_T_assert_stmt_token;
675 /* impl_stmt */
676 struct psi_token ** PSI_T_impl_stmt;
677 #line 678 "src/parser_proc.h" /* glr.c:197 */
678 };
679
680 typedef union YYSTYPE YYSTYPE;
681 # define YYSTYPE_IS_TRIVIAL 1
682 # define YYSTYPE_IS_DECLARED 1
683 #endif
684
685
686
687 int psi_parser_proc_parse (struct psi_parser *P, struct psi_plist *tokens, size_t *index);
688
689 #endif /* !YY_PSI_PARSER_PROC_SRC_PARSER_PROC_H_INCLUDED */