-/* A Bison parser, made by GNU Bison 3.0.4. */
+/* A Bison parser, made by GNU Bison 3.1. */
/* Skeleton interface for Bison GLR parsers in C
- Copyright (C) 2002-2015 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015, 2018 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
extern int psi_parser_proc_debug;
#endif
/* "%code requires" blocks. */
-#line 82 "src/parser_proc_grammar.y" /* glr.c:197 */
+#line 90 "src/parser_proc_grammar.y" /* glr.c:197 */
#include "plist.h"
#include "types/layout.h"
+#define yytokentype psi_token_type
+
+#define PSI_T_CAST PSI_T_EQUALS
+#define PSI_T_POINTER PSI_T_ASTERISK
+
struct psi_parser;
-#line 52 "src/parser_proc.h" /* glr.c:197 */
+#line 57 "src/parser_proc.h" /* glr.c:197 */
/* Token type. */
#ifndef YYTOKENTYPE
PSI_T_TEMP = 349,
PSI_T_FREE = 350,
PSI_T_RETURN = 351,
- PSI_T_PRE_ASSERT = 352,
- PSI_T_POST_ASSERT = 353,
- PSI_T_BOOLVAL = 354,
- PSI_T_INTVAL = 355,
- PSI_T_STRVAL = 356,
- PSI_T_PATHVAL = 357,
- PSI_T_STRLEN = 358,
- PSI_T_FLOATVAL = 359,
- PSI_T_ARRVAL = 360,
- PSI_T_OBJVAL = 361,
- PSI_T_COUNT = 362,
- PSI_T_CALLOC = 363,
- PSI_T_TO_BOOL = 364,
- PSI_T_TO_INT = 365,
- PSI_T_TO_STRING = 366,
- PSI_T_TO_FLOAT = 367,
- PSI_T_TO_ARRAY = 368,
- PSI_T_TO_OBJECT = 369,
- PSI_T_COMMENT = 370,
- PSI_T_WHITESPACE = 371,
- PSI_T_NO_WHITESPACE = 372,
- PSI_T_CPP_HEADER = 373,
- PSI_T_CPP_ATTRIBUTE = 374,
- PSI_T_CPP_EXTENSION = 375,
- PSI_T_CPP_PASTE = 376,
- PSI_T_CPP_INLINE = 377,
- PSI_T_CPP_RESTRICT = 378,
- PSI_T_CPP_ASM = 379,
- PSI_T_BINARY = 380,
- PSI_T_UNARY = 381
+ PSI_T_AS = 352,
+ PSI_T_PRE_ASSERT = 353,
+ PSI_T_POST_ASSERT = 354,
+ PSI_T_BOOLVAL = 355,
+ PSI_T_INTVAL = 356,
+ PSI_T_STRVAL = 357,
+ PSI_T_PATHVAL = 358,
+ PSI_T_STRLEN = 359,
+ PSI_T_FLOATVAL = 360,
+ PSI_T_ARRVAL = 361,
+ PSI_T_OBJVAL = 362,
+ PSI_T_COUNT = 363,
+ PSI_T_CALLOC = 364,
+ PSI_T_TO_BOOL = 365,
+ PSI_T_TO_INT = 366,
+ PSI_T_TO_STRING = 367,
+ PSI_T_TO_FLOAT = 368,
+ PSI_T_TO_ARRAY = 369,
+ PSI_T_TO_OBJECT = 370,
+ PSI_T_COMMENT = 371,
+ PSI_T_WHITESPACE = 372,
+ PSI_T_NO_WHITESPACE = 373,
+ PSI_T_CPP_HEADER = 374,
+ PSI_T_CPP_ATTRIBUTE = 375,
+ PSI_T_CPP_EXTENSION = 376,
+ PSI_T_CPP_PASTE = 377,
+ PSI_T_CPP_INLINE = 378,
+ PSI_T_CPP_RESTRICT = 379,
+ PSI_T_CPP_ASM = 380,
+ PSI_T_BSLASH = 381,
+ PSI_T_LONG_DOUBLE = 382,
+ PSI_T_INT8 = 383,
+ PSI_T_UINT8 = 384,
+ PSI_T_INT16 = 385,
+ PSI_T_UINT16 = 386,
+ PSI_T_INT32 = 387,
+ PSI_T_UINT32 = 388,
+ PSI_T_INT64 = 389,
+ PSI_T_UINT64 = 390,
+ PSI_T_INT128 = 391,
+ PSI_T_UINT128 = 392,
+ PSI_T_BINARY = 393,
+ PSI_T_UNARY = 394
};
#endif
struct psi_assert_stmt * PSI_T_assert_stmt;
/* constant */
struct psi_const * PSI_T_constant;
- /* constant_type */
- struct psi_const_type * PSI_T_constant_type;
/* cpp */
struct psi_cpp_exp * PSI_T_cpp;
/* cpp_exp */
struct psi_cpp_macro_decl * PSI_T_cpp_macro_decl;
/* decl_stmt */
struct psi_decl * PSI_T_decl_stmt;
+ /* ignored_decl */
+ struct psi_decl * PSI_T_ignored_decl;
/* decl */
struct psi_decl * PSI_T_decl;
/* decl_body */
struct psi_decl * PSI_T_decl_func_body;
/* decl_functor_body */
struct psi_decl * PSI_T_decl_functor_body;
+ /* decl_anon_functor_body */
+ struct psi_decl * PSI_T_decl_anon_functor_body;
/* decl_typedef */
struct psi_decl_arg * PSI_T_decl_typedef;
/* typedef */
struct psi_decl_arg * PSI_T_typedef_anon_decl;
/* decl_functor */
struct psi_decl_arg * PSI_T_decl_functor;
+ /* decl_anon_functor */
+ struct psi_decl_arg * PSI_T_decl_anon_functor;
/* decl_func */
struct psi_decl_arg * PSI_T_decl_func;
/* decl_anon_arg */
struct psi_impl_func * PSI_T_impl_func;
/* impl_type */
struct psi_impl_type * PSI_T_impl_type;
+ /* impl_type_restricted */
+ struct psi_impl_type * PSI_T_impl_type_restricted;
/* impl_var */
struct psi_impl_var * PSI_T_impl_var;
/* align_and_size */
struct psi_plist * PSI_T_cpp_macro_call_args;
/* cpp_macro_call_arg_list */
struct psi_plist * PSI_T_cpp_macro_call_arg_list;
+ /* decl_extvar_stmt */
+ struct psi_plist * PSI_T_decl_extvar_stmt;
+ /* decl_extvar_list */
+ struct psi_plist * PSI_T_decl_extvar_list;
/* decl_vars */
struct psi_plist * PSI_T_decl_vars;
/* decl_args */
struct psi_plist * PSI_T_decl_args;
+ /* decl_arg_list */
+ struct psi_plist * PSI_T_decl_arg_list;
/* decl_struct_args */
struct psi_plist * PSI_T_decl_struct_args;
/* struct_args_block */
struct psi_plist * PSI_T_callback_arg_list;
/* callback_args */
struct psi_plist * PSI_T_callback_args;
+ /* call_decl_vars */
+ struct psi_plist * PSI_T_call_decl_vars;
/* set_func_exps */
struct psi_plist * PSI_T_set_func_exps;
/* set_exps */
struct psi_plist * PSI_T_set_exps;
/* free_exps */
struct psi_plist * PSI_T_free_exps;
+ /* return_exp */
+ struct psi_return_exp * PSI_T_return_exp;
/* return_stmt */
struct psi_return_stmt * PSI_T_return_stmt;
/* set_exp */
struct psi_token * PSI_T_FREE;
/* RETURN */
struct psi_token * PSI_T_RETURN;
+ /* AS */
+ struct psi_token * PSI_T_AS;
/* PRE_ASSERT */
struct psi_token * PSI_T_PRE_ASSERT;
/* POST_ASSERT */
struct psi_token * PSI_T_CPP_RESTRICT;
/* CPP_ASM */
struct psi_token * PSI_T_CPP_ASM;
+ /* BSLASH */
+ struct psi_token * PSI_T_BSLASH;
+ /* LONG_DOUBLE */
+ struct psi_token * PSI_T_LONG_DOUBLE;
+ /* INT8 */
+ struct psi_token * PSI_T_INT8;
+ /* UINT8 */
+ struct psi_token * PSI_T_UINT8;
+ /* INT16 */
+ struct psi_token * PSI_T_INT16;
+ /* UINT16 */
+ struct psi_token * PSI_T_UINT16;
+ /* INT32 */
+ struct psi_token * PSI_T_INT32;
+ /* UINT32 */
+ struct psi_token * PSI_T_UINT32;
+ /* INT64 */
+ struct psi_token * PSI_T_INT64;
+ /* UINT64 */
+ struct psi_token * PSI_T_UINT64;
+ /* INT128 */
+ struct psi_token * PSI_T_INT128;
+ /* UINT128 */
+ struct psi_token * PSI_T_UINT128;
/* binary_op_token */
struct psi_token * PSI_T_binary_op_token;
/* unary_op_token */
struct psi_token * PSI_T_cpp_name_arg_token;
/* cpp_exp_arg_token */
struct psi_token * PSI_T_cpp_exp_arg_token;
- /* cpp_special_name_token */
- struct psi_token * PSI_T_cpp_special_name_token;
- /* constant_type_token */
- struct psi_token * PSI_T_constant_type_token;
/* impl_def_val_token */
struct psi_token * PSI_T_impl_def_val_token;
/* decl_type_simple */
struct psi_token * PSI_T_signed_long_types;
/* int_width_types */
struct psi_token * PSI_T_int_width_types;
+ /* decl_asm */
+ struct psi_token * PSI_T_decl_asm;
+ /* quoted_strings */
+ struct psi_token * PSI_T_quoted_strings;
/* enum_name */
struct psi_token * PSI_T_enum_name;
/* union_name */
struct psi_token * PSI_T_optional_name;
/* impl_type_token */
struct psi_token * PSI_T_impl_type_token;
+ /* impl_type_restricted_token */
+ struct psi_token * PSI_T_impl_type_restricted_token;
+ /* impl_type_extended_token */
+ struct psi_token * PSI_T_impl_type_extended_token;
/* let_func_token */
struct psi_token * PSI_T_let_func_token;
/* callback_rval */
struct psi_token * PSI_T_assert_stmt_token;
/* impl_stmt */
struct psi_token ** PSI_T_impl_stmt;
-#line 671 "src/parser_proc.h" /* glr.c:197 */
+#line 735 "src/parser_proc.h" /* glr.c:197 */
};
typedef union YYSTYPE YYSTYPE;