PIPS
|
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "genC.h"
#include "newgen_include.h"
#include <limits.h>
Go to the source code of this file.
Data Structures | |
union | YYSTYPE |
Value type. More... | |
union | yyalloc |
INFRINGES ON USER NAME SPACE. More... | |
Macros | |
#define | YYBISON 30802 |
A Bison parser, made by GNU Bison 3.8.2. More... | |
#define | YYBISON_VERSION "3.8.2" |
Bison version string. More... | |
#define | YYSKELETON_NAME "yacc.c" |
Skeleton name. More... | |
#define | YYPURE 0 |
Pure parsers. More... | |
#define | YYPUSH 0 |
Push parsers. More... | |
#define | YYPULL 1 |
Pull parsers. More... | |
#define | yyparse(void) genspec_parse |
------—. More... | |
#define | yylex genspec_lex |
#define | yyerror genspec_error |
#define | yydebug genspec_debug |
#define | yynerrs genspec_nerrs |
#define | yylval genspec_lval |
#define | yychar genspec_char |
#define | YYERROR_VERBOSE 1 /**better error messages by bison */ |
First part of user prologue. More... | |
#define | YY_CAST(Type, Val) ((Type) (Val)) |
#define | YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) |
#define | YY_NULLPTR ((void*)0) |
#define | YY_GENSPEC_Y_TAB_H_INCLUDED |
Use api.header.include to include this header instead of duplicating it here. More... | |
#define | YYDEBUG 0 |
Debug traces. More... | |
#define | YYTOKENTYPE |
Token kinds. More... | |
#define | YYEMPTY -2 |
Token kinds. More... | |
#define | YYEOF 0 |
#define | YYerror 256 |
#define | YYUNDEF 257 |
#define | COMMA 258 |
#define | COLUMN 259 |
#define | SEMI_COLUMN 260 |
#define | AND 261 |
#define | OR 262 |
#define | ARROW 263 |
#define | STAR 264 |
#define | LB 265 |
#define | RB 266 |
#define | LR 267 |
#define | RR 268 |
#define | EQUAL 269 |
#define | FROM 270 |
#define | GRAM_EXTERNAL 271 |
#define | GRAM_IMPORT 272 |
#define | TABULATED 273 |
#define | PERSISTANT 274 |
#define | IDENT 275 |
#define | GRAM_FILE 276 |
#define | GRAM_INT 277 |
#define | YYSTYPE_IS_TRIVIAL 1 |
#define | YYSTYPE_IS_DECLARED 1 |
#define | YYPTRDIFF_T long |
#define | YYPTRDIFF_MAXIMUM LONG_MAX |
#define | YYSIZE_T unsigned |
#define | YYSIZE_MAXIMUM |
#define | YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) |
#define | YY_(Msgid) Msgid |
#define | YY_ATTRIBUTE_PURE |
#define | YY_ATTRIBUTE_UNUSED |
#define | YY_USE(E) ((void) (E)) |
Suppress unused-variable warnings by "using" E. More... | |
#define | YY_INITIAL_VALUE(Value) Value |
Suppress an incorrect diagnostic about yylval being uninitialized. More... | |
#define | YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
#define | YY_IGNORE_MAYBE_UNINITIALIZED_END |
#define | YY_IGNORE_USELESS_CAST_BEGIN |
#define | YY_IGNORE_USELESS_CAST_END |
#define | YY_ASSERT(E) ((void) (0 && (E))) |
#define | YYSTACK_ALLOC YYMALLOC |
The parser invokes alloca or malloc; define the necessary symbols. More... | |
#define | YYSTACK_FREE YYFREE |
#define | YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
#define | YYMALLOC malloc |
#define | YYFREE free |
INFRINGES ON USER NAME SPACE. More... | |
#define | YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) |
The size of the maximum gap between one aligned stack and the next. More... | |
#define | YYSTACK_BYTES(N) |
The size of an array large to enough to hold all stacks, each with N elements. More... | |
#define | YYCOPY_NEEDED 1 |
#define | YYSTACK_RELOCATE(Stack_alloc, Stack) |
Relocate STACK from its old location to the new one. More... | |
#define | YYCOPY(Dst, Src, Count) |
Copy COUNT objects from SRC to DST. More... | |
#define | YYFINAL 3 |
!YYCOPY_NEEDED More... | |
#define | YYLAST 40 |
YYLAST – Last index in YYTABLE. More... | |
#define | YYNTOKENS 23 |
YYNTOKENS – Number of terminals. More... | |
#define | YYNNTS 18 |
YYNNTS – Number of nonterminals. More... | |
#define | YYNRULES 33 |
YYNRULES – Number of rules. More... | |
#define | YYNSTATES 55 |
YYNSTATES – Number of states. More... | |
#define | YYMAXUTOK 277 |
YYMAXUTOK – Last valid token kind. More... | |
#define | YYTRANSLATE(YYX) |
YYTRANSLATE(TOKEN-NUM) – Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking. More... | |
#define | YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) |
Accessing symbol of state STATE. More... | |
#define | YYPACT_NINF (-33) |
#define | yypact_value_is_default(Yyn) ((Yyn) == YYPACT_NINF) |
#define | YYTABLE_NINF (-14) |
#define | yytable_value_is_error(Yyn) 0 |
#define | yyerrok (yyerrstatus = 0) |
#define | yyclearin (yychar = YYEMPTY) |
#define | YYACCEPT goto yyacceptlab |
#define | YYABORT goto yyabortlab |
#define | YYERROR goto yyerrorlab |
#define | YYNOMEM goto yyexhaustedlab |
#define | YYRECOVERING() (!!yyerrstatus) |
#define | YYBACKUP(Token, Value) |
#define | YYERRCODE YYUNDEF |
Backward compatibility with an undocumented macro. More... | |
#define | YYDPRINTF(Args) ((void) 0) |
Enable debugging if requested. More... | |
#define | YY_SYMBOL_PRINT(Title, Kind, Value, Location) |
#define | YY_STACK_PRINT(Bottom, Top) |
#define | YY_REDUCE_PRINT(Rule) |
#define | YYINITDEPTH 200 |
!YYDEBUG More... | |
#define | YYMAXDEPTH 10000 |
YYMAXDEPTH – maximum size the stacks can grow to (effective only if the built-in stack extension method is used). More... | |
#define | YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
Typedefs | |
typedef enum yytokentype | yytoken_kind_t |
typedef union YYSTYPE | YYSTYPE |
typedef enum yysymbol_kind_t | yysymbol_kind_t |
typedef signed char | yytype_int8 |
On compilers that do not define PTRDIFF_MAX etc., make sure <limits.h> and (if available) <stdint.h> are included so that the code can choose integer types of a good width. More... | |
typedef short | yytype_int16 |
typedef unsigned char | yytype_uint8 |
Work around bug in HP-UX 11.23, which defines these macros incorrectly for preprocessor constants. More... | |
typedef unsigned short | yytype_uint16 |
typedef yytype_int8 | yy_state_t |
Stored state numbers (used for stacks). More... | |
typedef int | yy_state_fast_t |
State numbers in computations. More... | |
Functions | |
int | genspec_input (void) |
void | genspec_error (const char *s) |
Syntax error routines called by yacc. More... | |
int | check_not_keyword (char *) |
CHECK_NOT_KEYWORD checks if S isn't a reserved word. More... | |
void | update_op (int op, char *error_msg) |
UPDATE_OP checks whether the just read OPerator is compatible with the current one. More... | |
int | genspec_parse (void) |
void * | malloc (YYSIZE_T) |
void | free (void *) |
static void | yydestruct (const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep) |
-------------------------------------------—. More... | |
Variables | |
struct gen_binding | Domains [MAX_DOMAIN] |
in build.c More... | |
int | Number_imports |
To manage imported domains: More... | |
YYSTYPE | genspec_lval |
static const yytype_int8 | yytranslate [] |
YYTRANSLATE[TOKEN-NUM] – Symbol number corresponding to TOKEN-NUM as returned by yylex. More... | |
static const yytype_int8 | yypact [] |
YYPACT[STATE-NUM] – Index in YYTABLE of the portion describing STATE-NUM. More... | |
static const yytype_int8 | yydefact [] |
YYDEFACT[STATE-NUM] – Default reduction number in state STATE-NUM. More... | |
static const yytype_int8 | yypgoto [] |
YYPGOTO[NTERM-NUM]. More... | |
static const yytype_int8 | yydefgoto [] |
YYDEFGOTO[NTERM-NUM]. More... | |
static const yytype_int8 | yytable [] |
YYTABLE[YYPACT[STATE-NUM]] – What to do in state STATE-NUM. More... | |
static const yytype_int8 | yycheck [] |
static const yytype_int8 | yystos [] |
YYSTOS[STATE-NUM] – The symbol kind of the accessing symbol of state STATE-NUM. More... | |
static const yytype_int8 | yyr1 [] |
YYR1[RULE-NUM] – Symbol kind of the left-hand side of rule RULE-NUM. More... | |
static const yytype_int8 | yyr2 [] |
YYR2[RULE-NUM] – Number of symbols on the right-hand side of rule RULE-NUM. More... | |
int | yychar |
Lookahead token kind. More... | |
YYSTYPE | yylval |
The semantic value of the lookahead symbol. More... | |
int | yynerrs |
Number of syntax errors so far. More... | |
#define AND 261 |
Definition at line 210 of file genspec_yacc.c.
#define ARROW 263 |
Definition at line 212 of file genspec_yacc.c.
#define COLUMN 259 |
Definition at line 208 of file genspec_yacc.c.
#define COMMA 258 |
Definition at line 207 of file genspec_yacc.c.
#define EQUAL 269 |
Definition at line 218 of file genspec_yacc.c.
#define FROM 270 |
Definition at line 219 of file genspec_yacc.c.
#define GRAM_EXTERNAL 271 |
Definition at line 220 of file genspec_yacc.c.
#define GRAM_FILE 276 |
Definition at line 225 of file genspec_yacc.c.
#define GRAM_IMPORT 272 |
Definition at line 221 of file genspec_yacc.c.
#define GRAM_INT 277 |
Definition at line 226 of file genspec_yacc.c.
#define IDENT 275 |
Definition at line 224 of file genspec_yacc.c.
#define LB 265 |
Definition at line 214 of file genspec_yacc.c.
#define LR 267 |
Definition at line 216 of file genspec_yacc.c.
#define OR 262 |
Definition at line 211 of file genspec_yacc.c.
#define PERSISTANT 274 |
Definition at line 223 of file genspec_yacc.c.
#define RB 266 |
Definition at line 215 of file genspec_yacc.c.
#define RR 268 |
Definition at line 217 of file genspec_yacc.c.
#define SEMI_COLUMN 260 |
Definition at line 209 of file genspec_yacc.c.
#define STAR 264 |
Definition at line 213 of file genspec_yacc.c.
#define TABULATED 273 |
Definition at line 222 of file genspec_yacc.c.
#define YY_ | ( | Msgid | ) | Msgid |
Definition at line 431 of file genspec_yacc.c.
#define YY_ACCESSING_SYMBOL | ( | State | ) | YY_CAST (yysymbol_kind_t, yystos[State]) |
Definition at line 497 of file genspec_yacc.c.
#define YY_ATTRIBUTE_PURE |
Definition at line 440 of file genspec_yacc.c.
#define YY_ATTRIBUTE_UNUSED |
Definition at line 448 of file genspec_yacc.c.
Definition at line 142 of file genspec_yacc.c.
#define YY_GENSPEC_Y_TAB_H_INCLUDED |
Use api.header.include to include this header instead of duplicating it here.
Definition at line 161 of file genspec_yacc.c.
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
Definition at line 477 of file genspec_yacc.c.
#define YY_IGNORE_MAYBE_UNINITIALIZED_END |
Definition at line 478 of file genspec_yacc.c.
#define YY_IGNORE_USELESS_CAST_BEGIN |
Definition at line 492 of file genspec_yacc.c.
#define YY_IGNORE_USELESS_CAST_END |
Definition at line 493 of file genspec_yacc.c.
Suppress an incorrect diagnostic about yylval being uninitialized.
Definition at line 474 of file genspec_yacc.c.
#define YY_NULLPTR ((void*)0) |
Definition at line 154 of file genspec_yacc.c.
#define YY_REDUCE_PRINT | ( | Rule | ) |
Definition at line 983 of file genspec_yacc.c.
Definition at line 143 of file genspec_yacc.c.
#define YY_STACK_PRINT | ( | Bottom, | |
Top | |||
) |
Definition at line 982 of file genspec_yacc.c.
#define YY_SYMBOL_PRINT | ( | Title, | |
Kind, | |||
Value, | |||
Location | |||
) |
Definition at line 981 of file genspec_yacc.c.
#define YYABORT goto yyabortlab |
Definition at line 831 of file genspec_yacc.c.
#define YYACCEPT goto yyacceptlab |
Definition at line 830 of file genspec_yacc.c.
#define YYBACKUP | ( | Token, | |
Value | |||
) |
Definition at line 838 of file genspec_yacc.c.
#define YYBISON 30802 |
A Bison parser, made by GNU Bison 3.8.2.
Bison implementation for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 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 the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception.
This special exception was added by the Free Software Foundation in version 2.2 of Bison.
C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser.
DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, especially those whose name start with YY_ or yy_. They are private implementation details that can be changed or removed.
All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below.
Identify Bison output, and Bison version.
Definition at line 49 of file genspec_yacc.c.
#define YYBISON_VERSION "3.8.2" |
#define yychar genspec_char |
Definition at line 74 of file genspec_yacc.c.
Definition at line 828 of file genspec_yacc.c.
#define YYCOPY | ( | Dst, | |
Src, | |||
Count | |||
) |
Copy COUNT objects from SRC to DST.
The source and destination do not overlap.
Definition at line 614 of file genspec_yacc.c.
#define YYCOPY_NEEDED 1 |
Definition at line 586 of file genspec_yacc.c.
#define yydebug genspec_debug |
Definition at line 71 of file genspec_yacc.c.
#define YYDEBUG 0 |
#define YYDPRINTF | ( | Args | ) | ((void) 0) |
#define YYEMPTY -2 |
#define YYEOF 0 |
Definition at line 204 of file genspec_yacc.c.
#define YYERRCODE YYUNDEF |
Backward compatibility with an undocumented macro.
Use YYerror or YYUNDEF.
Definition at line 857 of file genspec_yacc.c.
#define yyerrok (yyerrstatus = 0) |
Definition at line 827 of file genspec_yacc.c.
#define yyerror genspec_error |
Definition at line 70 of file genspec_yacc.c.
#define YYerror 256 |
Definition at line 205 of file genspec_yacc.c.
#define YYERROR goto yyerrorlab |
Definition at line 832 of file genspec_yacc.c.
#define YYERROR_VERBOSE 1 /**better error messages by bison */ |
#define YYFINAL 3 |
!YYCOPY_NEEDED
YYFINAL – State number of the termination state.
Definition at line 627 of file genspec_yacc.c.
#define YYFREE free |
INFRINGES ON USER NAME SPACE.
Definition at line 558 of file genspec_yacc.c.
#define YYINITDEPTH 200 |
!YYDEBUG
YYINITDEPTH – initial size of the parser's stacks.
Definition at line 989 of file genspec_yacc.c.
#define YYLAST 40 |
#define yylex | ( | void | ) | genspec_lex |
Definition at line 69 of file genspec_yacc.c.
#define yylval genspec_lval |
Definition at line 73 of file genspec_yacc.c.
#define YYMALLOC malloc |
Definition at line 552 of file genspec_yacc.c.
#define YYMAXDEPTH 10000 |
YYMAXDEPTH – maximum size the stacks can grow to (effective only if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic.
Definition at line 1000 of file genspec_yacc.c.
#define YYMAXUTOK 277 |
#define yynerrs genspec_nerrs |
Definition at line 72 of file genspec_yacc.c.
#define YYNNTS 18 |
#define YYNOMEM goto yyexhaustedlab |
Definition at line 833 of file genspec_yacc.c.
#define YYNRULES 33 |
#define YYNSTATES 55 |
#define YYNTOKENS 23 |
#define YYPACT_NINF (-33) |
Definition at line 724 of file genspec_yacc.c.
#define yypact_value_is_default | ( | Yyn | ) | ((Yyn) == YYPACT_NINF) |
Definition at line 726 of file genspec_yacc.c.
#define yyparse | ( | void | ) | genspec_parse |
------—.
Substitute the variable and function names.
| yyparse. | `-------—
Number of tokens to shift before error messages enabled.
Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere.
Their size.
The state stack: array, bottom, top.
The semantic value stack: array, bottom, top.
The return value of yyparse.
Lookahead symbol kind.
The variables used to return semantic value and location from the action routines.
The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped.
Cause a token to be read.
--------------------------------------------------------—. | yynewstate – push a new state, which is found in yystate. | `---------------------------------------------------------—
In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks.
----------------------------------------------------------------—. | yysetstate – set current state (the top of the stack) to yystate. | `-----------------------------------------------------------------—
Get the current used size of the three stacks, in elements.
defined YYSTACK_RELOCATE
Extend the stack our own way.
!defined yyoverflow && !defined YYSTACK_RELOCATE
-------—. | yybackup. | `--------—
Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one.
First try to decide what to do without reference to lookahead token.
Not known => get a lookahead token if don't already have one.
YYCHAR is either empty, or end-of-input, or a valid lookahead.
The scanner already issued an error message, process directly to error recovery. But do not keep the error token as lookahead, it is too special and may lead us to an endless loop in error recovery.
If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action.
Count tokens shifted since error; after three, turn off error status.
Shift the lookahead token.
Discard the shifted token.
-------------------------------------------------------—. | yydefault – do the default action for the current state. | `--------------------------------------------------------—
-------------------------—. | yyreduce – do a reduction. | `--------------------------—
yyn is the number of a rule to reduce with.
If YYLEN is nonzero, implement the default value of the action: '$$ = $1'.
Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized.
$@1: empty
Specification: $@1 Imports Externals Definitions
OTREACHED
Externals: Externals GRAM_EXTERNAL Name SEMI_COLUMN
OSTRICT
Imports: Imports GRAM_IMPORT Name FROM File SEMI_COLUMN
OSTRICT
File: GRAM_FILE
Definition: Tabulated Name EQUAL Domain SEMI_COLUMN
Tabulated: TABULATED
Tabulated: empty
Domain: Simple Constructed
A BASIS type with just one field is considered as an AND_OP.
OSTRICT
OSTRICT
Domain: LR Namelist RR
This is sugar for an OR node with domains of type unit.
OSTRICT
OSTRICT
OSTRICT
OSTRICT
Simple: Persistant Basis
Simple: Persistant Basis STAR
Simple: Persistant Basis Dimensions
Simple: Persistant Basis LR RR
Persistant: PERSISTANT
Persistant: empty
Basis: Name
OSTRICT
OSTRICT
Basis: Name COLUMN Name
OSTRICT
OSTRICT
Constructed: AND Simple Constructed
OSTRICT
Constructed: OR Simple Constructed
OSTRICT
Constructed: ARROW Simple
Constructed: empty
Namelist: Name COMMA Namelist
OSTRICT
Namelist: Name
OSTRICT
Dimensions: LB Int RB Dimensions
OSTRICT
Dimensions: LB Int RB
OSTRICT
Int: GRAM_INT
Name: IDENT
User semantic actions sometimes alter yychar, and that requires that yytoken be updated with the new translation. We take the approach of translating immediately before every use of yytoken. One alternative is translating here after every semantic action, but that translation would be missed if the semantic action invokes YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an incorrect destructor might then be invoked immediately. In the case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated.
Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by.
----------------------------------—. | yyerrlab – here on detecting error. | `-----------------------------------—
Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary.
If not already recovering from an error, report this error.
If just tried and failed to reuse lookahead token after an error, discard it.
Return failure if at end of input.
Else will try to reuse lookahead token after shifting the error token.
-----------------------------------------------—. | yyerrorlab – error raised explicitly by YYERROR. | `------------------------------------------------—
Pacify compilers when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code.
Do not reclaim the symbols of the rule whose action triggered this YYERROR.
---------------------------------------------------------—. | yyerrlab1 – common code for both syntax error and YYERROR. | `----------------------------------------------------------—
Each real token shifted decrements this.
Pop stack until we find a state that shifts the error token.
Pop the current state because it cannot handle the error token.
Shift the error token.
---------------------------------—. | yyacceptlab – YYACCEPT comes here. | `----------------------------------—
-------------------------------—. | yyabortlab – YYABORT comes here. | `--------------------------------—
-------------------------------------------------------—. | yyexhaustedlab – YYNOMEM (memory exhaustion) comes here. | `--------------------------------------------------------—
------------------------------------------------------—. | yyreturnlab – parsing is finished, clean up and return. | `-------------------------------------------------------—
Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary.
Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT.
Definition at line 68 of file genspec_yacc.c.
#define YYPOPSTACK | ( | N | ) | (yyvsp -= (N), yyssp -= (N)) |
#define YYPTRDIFF_MAXIMUM LONG_MAX |
Definition at line 391 of file genspec_yacc.c.
#define YYPTRDIFF_T long |
Definition at line 390 of file genspec_yacc.c.
#define YYPULL 1 |
#define YYPURE 0 |
#define YYPUSH 0 |
#define YYRECOVERING | ( | ) | (!!yyerrstatus) |
Definition at line 836 of file genspec_yacc.c.
#define YYSIZE_MAXIMUM |
Definition at line 408 of file genspec_yacc.c.
#define YYSIZE_T unsigned |
Definition at line 404 of file genspec_yacc.c.
#define YYSIZEOF | ( | X | ) | YY_CAST (YYPTRDIFF_T, sizeof (X)) |
Definition at line 414 of file genspec_yacc.c.
#define YYSKELETON_NAME "yacc.c" |
#define YYSTACK_ALLOC YYMALLOC |
The parser invokes alloca or malloc; define the necessary symbols.
Definition at line 538 of file genspec_yacc.c.
#define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
Definition at line 541 of file genspec_yacc.c.
#define YYSTACK_BYTES | ( | N | ) |
The size of an array large to enough to hold all stacks, each with N elements.
Definition at line 582 of file genspec_yacc.c.
#define YYSTACK_FREE YYFREE |
Definition at line 539 of file genspec_yacc.c.
The size of the maximum gap between one aligned stack and the next.
Definition at line 578 of file genspec_yacc.c.
#define YYSTACK_RELOCATE | ( | Stack_alloc, | |
Stack | |||
) |
Relocate STACK from its old location to the new one.
The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack.
Definition at line 593 of file genspec_yacc.c.
#define YYSTYPE_IS_DECLARED 1 |
Definition at line 246 of file genspec_yacc.c.
#define YYSTYPE_IS_TRIVIAL 1 |
Definition at line 245 of file genspec_yacc.c.
#define YYTABLE_NINF (-14) |
Definition at line 729 of file genspec_yacc.c.
#define yytable_value_is_error | ( | Yyn | ) | 0 |
Definition at line 731 of file genspec_yacc.c.
#define YYTOKENTYPE |
#define YYTRANSLATE | ( | YYX | ) |
YYTRANSLATE(TOKEN-NUM) – Symbol number corresponding to TOKEN-NUM as returned by yylex, with out-of-bounds checking.
Definition at line 646 of file genspec_yacc.c.
#define YYUNDEF 257 |
Definition at line 206 of file genspec_yacc.c.
typedef int yy_state_fast_t |
typedef yytype_int8 yy_state_t |
Stored state numbers (used for stacks).
Definition at line 418 of file genspec_yacc.c.
Definition at line 120 of file genspec_yacc.c.
typedef enum yysymbol_kind_t yysymbol_kind_t |
Definition at line 253 of file genspec_yacc.c.
typedef enum yytokentype yytoken_kind_t |
Definition at line 120 of file genspec_yacc.c.
typedef short yytype_int16 |
Definition at line 342 of file genspec_yacc.c.
typedef signed char yytype_int8 |
On compilers that do not define PTRDIFF_MAX etc., make sure <limits.h> and (if available) <stdint.h> are included so that the code can choose integer types of a good width.
INFRINGES ON USER NAME SPACE Narrow types that promote to a signed type and that can represent a signed or unsigned integer of at least N bits. In tables they can save space and decrease cache pressure. Promoting to a signed type helps avoid bugs in integer arithmetic.
Definition at line 334 of file genspec_yacc.c.
typedef unsigned short yytype_uint16 |
Definition at line 374 of file genspec_yacc.c.
typedef unsigned char yytype_uint8 |
Work around bug in HP-UX 11.23, which defines these macros incorrectly for preprocessor constants.
This workaround can likely be removed in 2023, as HPE has promised support for HP-UX 11.23 (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf.
Definition at line 363 of file genspec_yacc.c.
anonymous enum |
enum yysymbol_kind_t |
!YY_GENSPEC_Y_TAB_H_INCLUDED
Symbol kind.
Definition at line 258 of file genspec_yacc.c.
enum yytokentype |
Definition at line 173 of file genspec_yacc.c.
int check_not_keyword | ( | char * | s | ) |
void free | ( | void * | ) |
void genspec_error | ( | const char * | s | ) |
Syntax error routines called by yacc.
Definition at line 1815 of file genspec_yacc.c.
References exit, fprintf(), genspec_input(), and user().
int genspec_input | ( | void | ) |
int genspec_parse | ( | void | ) |
void* malloc | ( | YYSIZE_T | ) |
void update_op | ( | int | op, |
char * | error_msg | ||
) |
UPDATE_OP checks whether the just read OPerator is compatible with the current one.
If not, an ERROR_MSG is signaled.
Definition at line 120 of file genspec_yacc.c.
References ARROW_OP, Current_op, UNDEF_OP, and user().
Referenced by call_proper_reduction_p().
|
static |
-------------------------------------------—.
| Release the memory associated to this symbol. | `--------------------------------------------—
Definition at line 1013 of file genspec_yacc.c.
References YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN, YY_IGNORE_MAYBE_UNINITIALIZED_END, YY_SYMBOL_PRINT, and YY_USE.
struct gen_binding Domains |
in build.c
The implementation of tabulated domains.
Domains is the symbol table for user defined types.
COMPILED refers to inlined data types. INDEX is used whenever the type is used with refs and defs (ALLOC is the next place to allocate tabulated values).
Definition at line 112 of file genspec_yacc.c.
Referenced by allocated_memory_obj_in(), chunk_for_domain(), compile(), copy_obj_in(), free_obj_in(), gen_alloc(), gen_check(), gen_domain_name(), gen_init_external(), gen_read_spec(), gen_size(), gen_tabulated_fake_object_hack(), gen_trav_leaf(), gen_trav_obj(), gen_write_tabulated(), gencode(), generate_make(), get_domain_number(), get_tabulated_from_domain(), gtt_read(), gtt_write(), init(), init_gen_quick_recurse_tables(), initialize_DirectDomainsTable(), initialize_domain_DecisionTables(), initialize_domain_DirectDomainsTable(), lookup(), make_ref(), new_binding(), print_decision_table(), print_domain(), print_domains(), quick_multi_recurse_obj_in(), quick_multi_recurse_simple_in(), read_external(), sharing_obj_in(), write_leaf_in(), and write_obj_in().
|
extern |
int Number_imports |
To manage imported domains:
Definition at line 115 of file genspec_yacc.c.
int yychar |
|
static |
Definition at line 785 of file genspec_yacc.c.
|
static |
YYDEFACT[STATE-NUM] – Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero means the default is an error.
Definition at line 749 of file genspec_yacc.c.
|
static |
YYDEFGOTO[NTERM-NUM].
Definition at line 767 of file genspec_yacc.c.
YYSTYPE yylval |
int yynerrs |
|
static |
YYPACT[STATE-NUM] – Index in YYTABLE of the portion describing STATE-NUM.
Definition at line 736 of file genspec_yacc.c.
|
static |
YYPGOTO[NTERM-NUM].
Definition at line 760 of file genspec_yacc.c.
|
static |
YYR1[RULE-NUM] – Symbol kind of the left-hand side of rule RULE-NUM.
Definition at line 807 of file genspec_yacc.c.
|
static |
YYR2[RULE-NUM] – Number of symbols on the right-hand side of rule RULE-NUM.
Definition at line 816 of file genspec_yacc.c.
|
static |
YYSTOS[STATE-NUM] – The symbol kind of the accessing symbol of state STATE-NUM.
Definition at line 796 of file genspec_yacc.c.
|
static |
YYTABLE[YYPACT[STATE-NUM]] – What to do in state STATE-NUM.
If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error.
Definition at line 776 of file genspec_yacc.c.
|
static |
YYTRANSLATE[TOKEN-NUM] – Symbol number corresponding to TOKEN-NUM as returned by yylex.
Definition at line 653 of file genspec_yacc.c.