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