PIPS
|
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "genC.h"
#include "parser_private.h"
#include "linear.h"
#include "ri.h"
#include "ri-util.h"
#include "misc.h"
#include "properties.h"
#include "syntax.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) syn_parse |
------—. More... | |
#define | yylex syn_lex |
#define | yyerror syn_error |
#define | yydebug syn_debug |
#define | yynerrs syn_nerrs |
#define | yylval syn_lval |
#define | yychar syn_char |
#define | YYERROR_VERBOSE 1 /**much clearer error messages with 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_SYN_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 | TK_ASSIGN 258 |
#define | TK_BACKSPACE 259 |
#define | TK_BLANK 260 |
#define | TK_BLOCKDATA 261 |
#define | TK_BUFFERIN 262 |
#define | TK_BUFFEROUT 263 |
#define | TK_CALL 264 |
#define | TK_CHARACTER 265 |
#define | TK_CLOSE 266 |
#define | TK_COMMON 267 |
#define | TK_COMPLEX 268 |
#define | TK_CONTINUE 269 |
#define | TK_CYCLE 270 |
#define | TK_DATA 271 |
#define | TK_DIMENSION 272 |
#define | TK_DOUBLEPRECISION 273 |
#define | TK_DOUBLECOMPLEX 274 |
#define | TK_DO 275 |
#define | TK_ELSEIF 276 |
#define | TK_ELSE 277 |
#define | TK_ENDFILE 278 |
#define | TK_ENDDO 279 |
#define | TK_ENDIF 280 |
#define | TK_END 281 |
#define | TK_ENTRY 282 |
#define | TK_EQUIVALENCE 283 |
#define | TK_EXIT 284 |
#define | TK_EXTERNAL 285 |
#define | TK_FORMAT 286 |
#define | TK_FUNCTION 287 |
#define | TK_GOTO 288 |
#define | TK_IF 289 |
#define | TK_IMPLICIT 290 |
#define | TK_INCLUDE 291 |
#define | TK_INQUIRE 292 |
#define | TK_INTEGER 293 |
#define | TK_INTRINSIC 294 |
#define | TK_IOSTAT 295 |
#define | TK_LOGICAL 296 |
#define | TK_OPEN 297 |
#define | TK_PARAMETER 298 |
#define | TK_PAUSE 299 |
#define | TK_POINTER 300 |
#define | TK_PRINT 301 |
#define | TK_PROGRAM 302 |
#define | TK_READ 303 |
#define | TK_REAL 304 |
#define | TK_RETURN 305 |
#define | TK_REWIND 306 |
#define | TK_SAVE 307 |
#define | TK_STATIC 308 |
#define | TK_STOP 309 |
#define | TK_SUBROUTINE 310 |
#define | TK_THEN 311 |
#define | TK_TO 312 |
#define | TK_WHILE 313 |
#define | TK_WRITE 314 |
#define | TK_INOUT 315 |
#define | TK_IN 316 |
#define | TK_OUT 317 |
#define | TK_AND 318 |
#define | TK_EQ 319 |
#define | TK_EQV 320 |
#define | TK_GE 321 |
#define | TK_GT 322 |
#define | TK_LE 323 |
#define | TK_LT 324 |
#define | TK_NE 325 |
#define | TK_NEQV 326 |
#define | TK_NOT 327 |
#define | TK_OR 328 |
#define | TK_TRUE 329 |
#define | TK_FALSE 330 |
#define | TK_NAME 331 |
#define | TK_ICON 332 |
#define | TK_SCON 333 |
#define | TK_RCON 334 |
#define | TK_DCON 335 |
#define | TK_MINUS 336 |
#define | TK_PLUS 337 |
#define | TK_SLASH 338 |
#define | TK_STAR 339 |
#define | TK_POWER 340 |
#define | TK_LPAR 341 |
#define | TK_RPAR 342 |
#define | TK_COMMA 343 |
#define | TK_COLON 344 |
#define | TK_EQUALS 345 |
#define | TK_CURRENCY 346 |
#define | TK_CONCAT 347 |
#define | TK_EOS 348 |
#define | TK_IOLPAR 349 |
#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 14 |
!YYCOPY_NEEDED More... | |
#define | YYLAST 1222 |
YYLAST – Last index in YYTABLE. More... | |
#define | YYNTOKENS 95 |
YYNTOKENS – Number of terminals. More... | |
#define | YYNNTS 113 |
YYNNTS – Number of nonterminals. More... | |
#define | YYNRULES 271 |
YYNRULES – Number of rules. More... | |
#define | YYNSTATES 465 |
YYNSTATES – Number of states. More... | |
#define | YYMAXUTOK 349 |
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 (-310) |
#define | yypact_value_is_default(Yyn) ((Yyn) == YYPACT_NINF) |
#define | YYTABLE_NINF (-271) |
#define | yytable_value_is_error(Yyn) ((Yyn) == YYTABLE_NINF) |
#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_int16 | yy_state_t |
Stored state numbers (used for stacks). More... | |
typedef int | yy_state_fast_t |
State numbers in computations. More... | |
Functions | |
static expression | MakeDataValueSet (expression n, expression c) |
number of bytes to store a value of that type More... | |
int | syn_parse (void) |
void * | malloc (YYSIZE_T) |
void | free (void *) |
static void | yydestruct (const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep) |
-------------------------------------------—. More... | |
Variables | |
int | ici |
local variables More... | |
type | CurrentType = type_undefined |
to count control specifications in IO statements More... | |
intptr_t | CurrentTypeSize |
the type in a type or dimension or common statement More... | |
YYSTYPE | syn_lval |
static const yytype_int8 | yytranslate [] |
YYTRANSLATE[TOKEN-NUM] – Symbol number corresponding to TOKEN-NUM as returned by yylex. More... | |
static const yytype_int16 | yypact [] |
YYPACT[STATE-NUM] – Index in YYTABLE of the portion describing STATE-NUM. More... | |
static const yytype_int16 | yydefact [] |
YYDEFACT[STATE-NUM] – Default reduction number in state STATE-NUM. More... | |
static const yytype_int16 | yypgoto [] |
YYPGOTO[NTERM-NUM]. More... | |
static const yytype_int16 | yydefgoto [] |
YYDEFGOTO[NTERM-NUM]. More... | |
static const yytype_int16 | yytable [] |
YYTABLE[YYPACT[STATE-NUM]] – What to do in state STATE-NUM. More... | |
static const yytype_int16 | yycheck [] |
static const yytype_uint8 | yystos [] |
YYSTOS[STATE-NUM] – The symbol kind of the accessing symbol of state STATE-NUM. More... | |
static const yytype_uint8 | 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 TK_AND 318 |
Definition at line 341 of file syn_yacc.c.
#define TK_ASSIGN 258 |
Definition at line 281 of file syn_yacc.c.
#define TK_BACKSPACE 259 |
Definition at line 282 of file syn_yacc.c.
#define TK_BLANK 260 |
Definition at line 283 of file syn_yacc.c.
#define TK_BLOCKDATA 261 |
Definition at line 284 of file syn_yacc.c.
#define TK_BUFFERIN 262 |
Definition at line 285 of file syn_yacc.c.
#define TK_BUFFEROUT 263 |
Definition at line 286 of file syn_yacc.c.
#define TK_CALL 264 |
Definition at line 287 of file syn_yacc.c.
#define TK_CHARACTER 265 |
Definition at line 288 of file syn_yacc.c.
#define TK_CLOSE 266 |
Definition at line 289 of file syn_yacc.c.
#define TK_COLON 344 |
Definition at line 367 of file syn_yacc.c.
#define TK_COMMA 343 |
Definition at line 366 of file syn_yacc.c.
#define TK_COMMON 267 |
Definition at line 290 of file syn_yacc.c.
#define TK_COMPLEX 268 |
Definition at line 291 of file syn_yacc.c.
#define TK_CONCAT 347 |
Definition at line 370 of file syn_yacc.c.
#define TK_CONTINUE 269 |
Definition at line 292 of file syn_yacc.c.
#define TK_CURRENCY 346 |
Definition at line 369 of file syn_yacc.c.
#define TK_CYCLE 270 |
Definition at line 293 of file syn_yacc.c.
#define TK_DATA 271 |
Definition at line 294 of file syn_yacc.c.
#define TK_DCON 335 |
Definition at line 358 of file syn_yacc.c.
#define TK_DIMENSION 272 |
Definition at line 295 of file syn_yacc.c.
#define TK_DO 275 |
Definition at line 298 of file syn_yacc.c.
#define TK_DOUBLECOMPLEX 274 |
Definition at line 297 of file syn_yacc.c.
#define TK_DOUBLEPRECISION 273 |
Definition at line 296 of file syn_yacc.c.
#define TK_ELSE 277 |
Definition at line 300 of file syn_yacc.c.
#define TK_ELSEIF 276 |
Definition at line 299 of file syn_yacc.c.
#define TK_END 281 |
Definition at line 304 of file syn_yacc.c.
#define TK_ENDDO 279 |
Definition at line 302 of file syn_yacc.c.
#define TK_ENDFILE 278 |
Definition at line 301 of file syn_yacc.c.
#define TK_ENDIF 280 |
Definition at line 303 of file syn_yacc.c.
#define TK_ENTRY 282 |
Definition at line 305 of file syn_yacc.c.
#define TK_EOS 348 |
Definition at line 371 of file syn_yacc.c.
#define TK_EQ 319 |
Definition at line 342 of file syn_yacc.c.
#define TK_EQUALS 345 |
Definition at line 368 of file syn_yacc.c.
#define TK_EQUIVALENCE 283 |
Definition at line 306 of file syn_yacc.c.
#define TK_EQV 320 |
Definition at line 343 of file syn_yacc.c.
#define TK_EXIT 284 |
Definition at line 307 of file syn_yacc.c.
#define TK_EXTERNAL 285 |
Definition at line 308 of file syn_yacc.c.
#define TK_FALSE 330 |
Definition at line 353 of file syn_yacc.c.
#define TK_FORMAT 286 |
Definition at line 309 of file syn_yacc.c.
#define TK_FUNCTION 287 |
Definition at line 310 of file syn_yacc.c.
#define TK_GE 321 |
Definition at line 344 of file syn_yacc.c.
#define TK_GOTO 288 |
Definition at line 311 of file syn_yacc.c.
#define TK_GT 322 |
Definition at line 345 of file syn_yacc.c.
#define TK_ICON 332 |
Definition at line 355 of file syn_yacc.c.
#define TK_IF 289 |
Definition at line 312 of file syn_yacc.c.
#define TK_IMPLICIT 290 |
Definition at line 313 of file syn_yacc.c.
#define TK_IN 316 |
Definition at line 339 of file syn_yacc.c.
#define TK_INCLUDE 291 |
Definition at line 314 of file syn_yacc.c.
#define TK_INOUT 315 |
Definition at line 338 of file syn_yacc.c.
#define TK_INQUIRE 292 |
Definition at line 315 of file syn_yacc.c.
#define TK_INTEGER 293 |
Definition at line 316 of file syn_yacc.c.
#define TK_INTRINSIC 294 |
Definition at line 317 of file syn_yacc.c.
#define TK_IOLPAR 349 |
Definition at line 372 of file syn_yacc.c.
#define TK_IOSTAT 295 |
Definition at line 318 of file syn_yacc.c.
#define TK_LE 323 |
Definition at line 346 of file syn_yacc.c.
#define TK_LOGICAL 296 |
Definition at line 319 of file syn_yacc.c.
#define TK_LPAR 341 |
Definition at line 364 of file syn_yacc.c.
#define TK_LT 324 |
Definition at line 347 of file syn_yacc.c.
#define TK_MINUS 336 |
Definition at line 359 of file syn_yacc.c.
#define TK_NAME 331 |
Definition at line 354 of file syn_yacc.c.
#define TK_NE 325 |
Definition at line 348 of file syn_yacc.c.
#define TK_NEQV 326 |
Definition at line 349 of file syn_yacc.c.
#define TK_NOT 327 |
Definition at line 350 of file syn_yacc.c.
#define TK_OPEN 297 |
Definition at line 320 of file syn_yacc.c.
#define TK_OR 328 |
Definition at line 351 of file syn_yacc.c.
#define TK_OUT 317 |
Definition at line 340 of file syn_yacc.c.
#define TK_PARAMETER 298 |
Definition at line 321 of file syn_yacc.c.
#define TK_PAUSE 299 |
Definition at line 322 of file syn_yacc.c.
#define TK_PLUS 337 |
Definition at line 360 of file syn_yacc.c.
#define TK_POINTER 300 |
Definition at line 323 of file syn_yacc.c.
#define TK_POWER 340 |
Definition at line 363 of file syn_yacc.c.
#define TK_PRINT 301 |
Definition at line 324 of file syn_yacc.c.
#define TK_PROGRAM 302 |
Definition at line 325 of file syn_yacc.c.
#define TK_RCON 334 |
Definition at line 357 of file syn_yacc.c.
#define TK_READ 303 |
Definition at line 326 of file syn_yacc.c.
#define TK_REAL 304 |
Definition at line 327 of file syn_yacc.c.
#define TK_RETURN 305 |
Definition at line 328 of file syn_yacc.c.
#define TK_REWIND 306 |
Definition at line 329 of file syn_yacc.c.
#define TK_RPAR 342 |
Definition at line 365 of file syn_yacc.c.
#define TK_SAVE 307 |
Definition at line 330 of file syn_yacc.c.
#define TK_SCON 333 |
Definition at line 356 of file syn_yacc.c.
#define TK_SLASH 338 |
Definition at line 361 of file syn_yacc.c.
#define TK_STAR 339 |
Definition at line 362 of file syn_yacc.c.
#define TK_STATIC 308 |
Definition at line 331 of file syn_yacc.c.
#define TK_STOP 309 |
Definition at line 332 of file syn_yacc.c.
#define TK_SUBROUTINE 310 |
Definition at line 333 of file syn_yacc.c.
#define TK_THEN 311 |
Definition at line 334 of file syn_yacc.c.
#define TK_TO 312 |
Definition at line 335 of file syn_yacc.c.
#define TK_TRUE 329 |
Definition at line 352 of file syn_yacc.c.
#define TK_WHILE 313 |
Definition at line 336 of file syn_yacc.c.
#define TK_WRITE 314 |
Definition at line 337 of file syn_yacc.c.
#define YY_ | ( | Msgid | ) | Msgid |
Definition at line 755 of file syn_yacc.c.
#define YY_ACCESSING_SYMBOL | ( | State | ) | YY_CAST (yysymbol_kind_t, yystos[State]) |
Definition at line 821 of file syn_yacc.c.
#define YY_ATTRIBUTE_PURE |
Definition at line 764 of file syn_yacc.c.
#define YY_ATTRIBUTE_UNUSED |
Definition at line 772 of file syn_yacc.c.
Definition at line 144 of file syn_yacc.c.
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
Definition at line 801 of file syn_yacc.c.
#define YY_IGNORE_MAYBE_UNINITIALIZED_END |
Definition at line 802 of file syn_yacc.c.
#define YY_IGNORE_USELESS_CAST_BEGIN |
Definition at line 816 of file syn_yacc.c.
#define YY_IGNORE_USELESS_CAST_END |
Definition at line 817 of file syn_yacc.c.
Suppress an incorrect diagnostic about yylval being uninitialized.
Definition at line 798 of file syn_yacc.c.
#define YY_NULLPTR ((void*)0) |
Definition at line 156 of file syn_yacc.c.
#define YY_REDUCE_PRINT | ( | Rule | ) |
Definition at line 1800 of file syn_yacc.c.
Definition at line 145 of file syn_yacc.c.
#define YY_STACK_PRINT | ( | Bottom, | |
Top | |||
) |
Definition at line 1799 of file syn_yacc.c.
#define YY_SYMBOL_PRINT | ( | Title, | |
Kind, | |||
Value, | |||
Location | |||
) |
Definition at line 1798 of file syn_yacc.c.
#define YY_SYN_Y_TAB_H_INCLUDED |
Use api.header.include to include this header instead of duplicating it here.
Definition at line 163 of file syn_yacc.c.
#define YYABORT goto yyabortlab |
Definition at line 1648 of file syn_yacc.c.
#define YYACCEPT goto yyacceptlab |
Definition at line 1647 of file syn_yacc.c.
#define YYBACKUP | ( | Token, | |
Value | |||
) |
Definition at line 1655 of file syn_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 syn_yacc.c.
#define YYBISON_VERSION "3.8.2" |
#define yychar syn_char |
Definition at line 74 of file syn_yacc.c.
Definition at line 1645 of file syn_yacc.c.
#define YYCOPY | ( | Dst, | |
Src, | |||
Count | |||
) |
Copy COUNT objects from SRC to DST.
The source and destination do not overlap.
Definition at line 938 of file syn_yacc.c.
#define YYCOPY_NEEDED 1 |
Definition at line 910 of file syn_yacc.c.
#define yydebug syn_debug |
Definition at line 71 of file syn_yacc.c.
#define YYDEBUG 0 |
#define YYDPRINTF | ( | Args | ) | ((void) 0) |
#define YYEMPTY -2 |
#define YYEOF 0 |
Definition at line 278 of file syn_yacc.c.
#define YYERRCODE YYUNDEF |
Backward compatibility with an undocumented macro.
Use YYerror or YYUNDEF.
Definition at line 1674 of file syn_yacc.c.
#define yyerrok (yyerrstatus = 0) |
Definition at line 1644 of file syn_yacc.c.
#define yyerror syn_error |
Definition at line 70 of file syn_yacc.c.
#define YYerror 256 |
Definition at line 279 of file syn_yacc.c.
#define YYERROR goto yyerrorlab |
Definition at line 1649 of file syn_yacc.c.
#define YYERROR_VERBOSE 1 /**much clearer error messages with bison */ |
#define YYFINAL 14 |
!YYCOPY_NEEDED
YYFINAL – State number of the termination state.
Definition at line 951 of file syn_yacc.c.
#define YYFREE free |
INFRINGES ON USER NAME SPACE.
Definition at line 882 of file syn_yacc.c.
#define YYINITDEPTH 200 |
!YYDEBUG
YYINITDEPTH – initial size of the parser's stacks.
Definition at line 1806 of file syn_yacc.c.
#define YYLAST 1222 |
#define yylex | ( | void | ) | syn_lex |
Definition at line 69 of file syn_yacc.c.
#define yylval syn_lval |
Definition at line 73 of file syn_yacc.c.
#define YYMALLOC malloc |
Definition at line 876 of file syn_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 1817 of file syn_yacc.c.
#define YYMAXUTOK 349 |
#define yynerrs syn_nerrs |
Definition at line 72 of file syn_yacc.c.
#define YYNNTS 113 |
#define YYNOMEM goto yyexhaustedlab |
Definition at line 1650 of file syn_yacc.c.
#define YYNRULES 271 |
#define YYNSTATES 465 |
#define YYNTOKENS 95 |
#define YYPACT_NINF (-310) |
Definition at line 1114 of file syn_yacc.c.
#define yypact_value_is_default | ( | Yyn | ) | ((Yyn) == YYPACT_NINF) |
Definition at line 1116 of file syn_yacc.c.
#define yyparse | ( | void | ) | syn_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.
lprg_exec: lprg_exec prg_exec
$@1: empty
$@2: empty
$@3: empty
begin_inst: opt_fortran_type psf_keyword module_name opt_lformalparameter TK_EOS
entry_inst: TK_ENTRY entity_name opt_lformalparameter
In case the entry is a FUNCTION, you want to recover its type. You cannot use entity_functional_name as second rule element.
end_inst: TK_END TK_EOS
instruction: data_inst
can appear anywhere in specs and execs!
the DATA string to be added to declarations... however, the information is not really available. as a hack, I'll try to append the Stmt buffer, but it has already been processed, thus it is quite far from the initial statement, and may be incorrect. I think that this parser is a mess;-) FC.
See if we could save the DATA statements somewhere
$@4: empty
$@5: empty
instruction: $@5 inst_exec
instruction: format_inst
inst_spec: common_inst
inst_exec: assignment_inst
inst_exec: goto_inst
inst_exec: arithmif_inst
inst_exec: logicalif_inst
inst_exec: blockif_inst
inst_exec: elseif_inst
inst_exec: else_inst
inst_exec: endif_inst
inst_exec: enddo_inst
inst_exec: do_inst
inst_exec: bdo_inst
inst_exec: wdo_inst
inst_exec: continue_inst
inst_exec: stop_inst
inst_exec: pause_inst
inst_exec: call_inst
inst_exec: return_inst
inst_exec: io_inst
inst_exec: entry_inst
return_inst: TK_RETURN opt_expression
call_inst: tk_call functional_entity_name
call_inst: tk_call functional_entity_name parameters
tk_call: TK_CALL
parameters: TK_LPAR TK_RPAR
parameters: TK_LPAR arguments TK_RPAR
arguments: expression
arguments: arguments TK_COMMA expression
arguments: TK_STAR TK_ICON
arguments: arguments TK_COMMA TK_STAR TK_ICON
io_inst: io_keyword io_f_u_id
io_inst: io_keyword io_f_u_id TK_COMMA opt_lio_elem
io_inst: io_keyword TK_LPAR lci TK_RPAR opt_virgule opt_lio_elem
io_inst: iobuf_keyword TK_LPAR io_f_u_id TK_COMMA io_f_u_id TK_RPAR TK_LPAR unpar_io_expr TK_COMMA unpar_io_expr TK_RPAR
io_f_u_id: TK_STAR
lci: ci
lci: lci TK_COMMA ci
ci: name TK_EQUALS unpar_io_expr
ci: name TK_EQUALS TK_STAR
ci: io_f_u_id
opt_lio_elem: empty
opt_lio_elem: lio_elem
lio_elem: io_elem
lio_elem: lio_elem TK_COMMA io_elem
io_elem: expression
pause_inst: TK_PAUSE opt_expression
stop_inst: TK_STOP opt_expression
continue_inst: TK_CONTINUE
do_inst: TK_DO label opt_virgule atom do_plage
bdo_inst: TK_DO atom do_plage
wdo_inst: TK_DO TK_WHILE TK_LPAR expression TK_RPAR
wdo_inst: TK_DO label TK_WHILE TK_LPAR expression TK_RPAR
do_plage: TK_EQUALS expression TK_COMMA expression
do_plage: TK_EQUALS expression TK_COMMA expression TK_COMMA expression
endif_inst: TK_ENDIF
enddo_inst: TK_ENDDO
else_inst: TK_ELSE
elseif_inst: TK_ELSEIF TK_LPAR expression TK_RPAR TK_THEN
blockif_inst: TK_IF TK_LPAR expression TK_RPAR TK_THEN
logicalif_inst: TK_IF TK_LPAR expression TK_RPAR inst_exec
arithmif_inst: TK_IF TK_LPAR expression TK_RPAR label TK_COMMA label TK_COMMA label
goto_inst: TK_GOTO label
goto_inst: TK_GOTO TK_LPAR licon TK_RPAR opt_virgule expression
goto_inst: TK_GOTO entity_name opt_virgule TK_LPAR licon TK_RPAR
goto_inst: TK_GOTO entity_name
licon: label
licon: licon TK_COMMA label
assignment_inst: TK_ASSIGN icon TK_TO atom
assignment_inst: atom TK_EQUALS expression
format_inst: TK_FORMAT
save_inst: TK_SAVE
savename: entity_name
savename: common_name
intrinsic_inst: TK_INTRINSIC global_entity_name
intrinsic_inst: intrinsic_inst TK_COMMA global_entity_name
external_inst: TK_EXTERNAL functional_entity_name
external_inst: external_inst TK_COMMA functional_entity_name
type_inst: fortran_type declaration
declaration: entity_name decl_tableau lg_fortran_type
the size returned by lg_fortran_type should be consistent with CurrentType unless it is of type string or undefined
character [*len1] foo [*len2]: if len2 is "default" then len1
??? default
decl_tableau: empty
decl_tableau: TK_LPAR ldim_tableau TK_RPAR
ldim_tableau: dim_tableau
ldim_tableau: dim_tableau TK_COMMA ldim_tableau
dim_tableau: expression
dim_tableau: TK_STAR
dim_tableau: expression TK_COLON TK_STAR
dim_tableau: expression TK_COLON expression
common_inst: common declaration
common_inst: common common_name declaration
common_inst: common_inst TK_COMMA declaration
common_inst: common_inst opt_virgule common_name declaration
common: TK_COMMON
common_name: TK_CONCAT
common_name: TK_SLASH global_name TK_SLASH
pointer_inst: TK_POINTER TK_LPAR entity_name TK_COMMA entity_name decl_tableau TK_RPAR
equivchain: TK_LPAR latom TK_RPAR
latom: atom
latom: latom TK_COMMA atom
dimension_inst: dimension declaration
dimension_inst: dimension_inst TK_COMMA declaration
dimension: TK_DIMENSION
data_inst: TK_DATA ldatavar TK_SLASH ldataval TK_SLASH
AnalyzeData($2, $4);
data_inst: data_inst opt_virgule ldatavar TK_SLASH ldataval TK_SLASH
AnalyzeData($3, $5);
ldatavar: datavar
ldatavar: ldatavar TK_COMMA datavar
ldataval: dataval
ldataval: ldataval TK_COMMA dataval
dataval: dataconst
dataval: dataconst TK_STAR dataconst
dataconst: const_simple
dataconst: TK_LPAR const_simple TK_COMMA const_simple TK_RPAR
dataconst: entity_name
Cachan bug 4: there should be a check about the entity returned as $1 because MakeDatVal() is going to try to evaluate that expression. The entity must be a parameter.
datavar: atom
datavar: dataidl
dataidl: TK_LPAR ldatavar TK_COMMA entity_name do_plage TK_RPAR
$$ = MakeDataVar($2, $5);
implicit_inst: TK_IMPLICIT limplicit
Formal parameters have inherited default implicit types
limplicit: implicit
limplicit: limplicit TK_COMMA implicit
implicit: fortran_type TK_LPAR l_letter_letter TK_RPAR
l_letter_letter: letter_letter
l_letter_letter: l_letter_letter TK_COMMA letter_letter
letter_letter: letter
letter_letter: letter TK_MINUS letter
letter: TK_NAME
parametre: entity_name TK_EQUALS expression
entity_name: name
malloc_verify();
if SafeFind were always used, intrinsic would mask local variables, either when the module declarations are not available or when a new entity still has to be declared. See Validation/capture01.f
Let's try not to search intrinsics in SafeFindOrCreateEntity().
Do not declare undeclared variables, because it generates a problem when processing entries.
$$ = SafeFindOrCreateEntity(CurrentPackage, $1);
AddEntityToDeclarations($$, get_current_module_entity());
name: TK_NAME
module_name: global_name
$$ = FindOrCreateEntity(CurrentPackage, $1);
$$ = FindOrCreateEntity(TOP_LEVEL_MODULE_NAME, $1);
global_entity_name: global_name
$$ = FindOrCreateEntity(CurrentPackage, $1);
functional_entity_name: name
This includes BLOCKDATA modules because of EXTERNAL
global_name: TK_NAME
opt_lformalparameter: empty
opt_lformalparameter: TK_LPAR TK_RPAR
opt_lformalparameter: TK_LPAR lformalparameter TK_RPAR
Too early: the current module is still unknown
$$ = add_formal_return_code($2);
lformalparameter: entity_name
lformalparameter: TK_STAR
lformalparameter: lformalparameter TK_COMMA entity_name
lformalparameter: lformalparameter TK_COMMA TK_STAR
opt_fortran_type: fortran_type
opt_fortran_type: empty
fortran_type: fortran_basic_type lg_fortran_type
??? default!
fortran_basic_type: TK_INTEGER
fortran_basic_type: TK_REAL
fortran_basic_type: TK_DOUBLEPRECISION
fortran_basic_type: TK_LOGICAL
fortran_basic_type: TK_COMPLEX
fortran_basic_type: TK_DOUBLECOMPLEX
fortran_basic_type: TK_CHARACTER
lg_fortran_type: empty
??? default!
was: $$ = make_value(is_value_constant, make_constant(is_constant_int, CurrentTypeSize)); then how to differentiate character*len1 foo[*len2] if len2 is 1 or whatever... the issue is that there should be two lg_..., one for the default that would change CurrentTypeSize at ival, and the other not... FC, 13/06/96
lg_fortran_type: TK_STAR TK_LPAR TK_STAR TK_RPAR
lg_fortran_type: TK_STAR TK_LPAR expression TK_RPAR
lg_fortran_type: TK_STAR ival
atom: entity_name
atom: entity_name indices
atom: entity_name TK_LPAR opt_expression TK_COLON opt_expression TK_RPAR
atom: entity_name indices TK_LPAR opt_expression TK_COLON opt_expression TK_RPAR
indices: TK_LPAR TK_RPAR
indices: TK_LPAR lexpression TK_RPAR
lexpression: expression
lexpression: lexpression TK_COMMA expression
opt_expression: expression
opt_expression: empty
expression: sous_expression
expression: TK_LPAR expression TK_RPAR
expression: TK_LPAR expression TK_COMMA expression TK_RPAR
expression: TK_LPAR expression TK_COMMA atom do_plage TK_RPAR
expression: TK_LPAR expression TK_COMMA lexpression TK_COMMA atom do_plage TK_RPAR
sous_expression: atom
sous_expression: unsigned_const_simple
sous_expression: signe expression
sous_expression: expression TK_PLUS expression
sous_expression: expression TK_MINUS expression
sous_expression: expression TK_STAR expression
sous_expression: expression TK_SLASH expression
sous_expression: expression TK_POWER expression
sous_expression: expression oper_rela expression
sous_expression: expression TK_EQV expression
sous_expression: expression TK_NEQV expression
sous_expression: expression TK_OR expression
sous_expression: expression TK_AND expression
sous_expression: TK_NOT expression
sous_expression: expression TK_CONCAT expression
io_expr: TK_LPAR io_expr TK_RPAR
unpar_io_expr: atom
unpar_io_expr: unsigned_const_simple
unpar_io_expr: signe io_expr
unpar_io_expr: io_expr TK_PLUS io_expr
unpar_io_expr: io_expr TK_MINUS io_expr
unpar_io_expr: io_expr TK_STAR io_expr
unpar_io_expr: io_expr TK_SLASH io_expr
unpar_io_expr: io_expr TK_POWER io_expr
unpar_io_expr: io_expr TK_CONCAT io_expr
const_simple: opt_signe unsigned_const_simple
unsigned_const_simple: TK_TRUE
unsigned_const_simple: TK_FALSE
unsigned_const_simple: icon
unsigned_const_simple: TK_DCON
unsigned_const_simple: TK_SCON
unsigned_const_simple: TK_RCON
icon: TK_ICON
label: TK_ICON
ival: TK_ICON
opt_signe: empty
opt_signe: signe
signe: TK_PLUS
signe: TK_MINUS
oper_rela: TK_EQ
oper_rela: TK_NE
oper_rela: TK_LT
oper_rela: TK_LE
oper_rela: TK_GE
oper_rela: TK_GT
io_keyword: TK_PRINT
io_keyword: TK_WRITE
io_keyword: TK_READ
io_keyword: TK_CLOSE
io_keyword: TK_OPEN
io_keyword: TK_ENDFILE
io_keyword: TK_BACKSPACE
io_keyword: TK_REWIND
io_keyword: TK_INQUIRE
iobuf_keyword: TK_BUFFERIN
iobuf_keyword: TK_BUFFEROUT
psf_keyword: TK_PROGRAM
psf_keyword: TK_SUBROUTINE
psf_keyword: TK_FUNCTION
psf_keyword: TK_BLOCKDATA
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 syn_yacc.c.
#define YYPOPSTACK | ( | N | ) | (yyvsp -= (N), yyssp -= (N)) |
#define YYPTRDIFF_MAXIMUM LONG_MAX |
Definition at line 715 of file syn_yacc.c.
#define YYPTRDIFF_T long |
Definition at line 714 of file syn_yacc.c.
#define YYPULL 1 |
#define YYPURE 0 |
#define YYPUSH 0 |
#define YYRECOVERING | ( | ) | (!!yyerrstatus) |
Definition at line 1653 of file syn_yacc.c.
#define YYSIZE_MAXIMUM |
Definition at line 732 of file syn_yacc.c.
#define YYSIZE_T unsigned |
Definition at line 728 of file syn_yacc.c.
#define YYSIZEOF | ( | X | ) | YY_CAST (YYPTRDIFF_T, sizeof (X)) |
Definition at line 738 of file syn_yacc.c.
#define YYSKELETON_NAME "yacc.c" |
#define YYSTACK_ALLOC YYMALLOC |
The parser invokes alloca or malloc; define the necessary symbols.
Definition at line 862 of file syn_yacc.c.
#define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
Definition at line 865 of file syn_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 906 of file syn_yacc.c.
#define YYSTACK_FREE YYFREE |
Definition at line 863 of file syn_yacc.c.
The size of the maximum gap between one aligned stack and the next.
Definition at line 902 of file syn_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 917 of file syn_yacc.c.
#define YYSTYPE_IS_DECLARED 1 |
Definition at line 403 of file syn_yacc.c.
#define YYSTYPE_IS_TRIVIAL 1 |
Definition at line 402 of file syn_yacc.c.
#define YYTABLE_NINF (-271) |
Definition at line 1119 of file syn_yacc.c.
#define yytable_value_is_error | ( | Yyn | ) | ((Yyn) == YYTABLE_NINF) |
Definition at line 1121 of file syn_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 970 of file syn_yacc.c.
#define YYUNDEF 257 |
Definition at line 280 of file syn_yacc.c.
typedef int yy_state_fast_t |
typedef yytype_int16 yy_state_t |
Stored state numbers (used for stacks).
Definition at line 742 of file syn_yacc.c.
Definition at line 107 of file syn_yacc.c.
typedef enum yysymbol_kind_t yysymbol_kind_t |
Definition at line 410 of file syn_yacc.c.
typedef enum yytokentype yytoken_kind_t |
Definition at line 107 of file syn_yacc.c.
typedef short yytype_int16 |
Definition at line 666 of file syn_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 658 of file syn_yacc.c.
typedef unsigned short yytype_uint16 |
Definition at line 698 of file syn_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 687 of file syn_yacc.c.
anonymous enum |
enum yysymbol_kind_t |
!YY_SYN_Y_TAB_H_INCLUDED
Symbol kind.
Definition at line 415 of file syn_yacc.c.
enum yytokentype |
Definition at line 175 of file syn_yacc.c.
void free | ( | void * | ) |
|
static |
number of bytes to store a value of that type
functions for DATA
Definition at line 107 of file syn_yacc.c.
References complex_constant_expression_p(), CONS, entity_undefined_p, EvalExpression(), EXPRESSION, expression_undefined, expression_undefined_p, FindEntity(), int_to_expression(), make_call_expression(), NIL, ParserError(), pips_assert, REPEAT_VALUE_NAME, TOP_LEVEL_MODULE_NAME, value_constant_p, and value_undefined.
void* malloc | ( | YYSIZE_T | ) |
int syn_parse | ( | void | ) |
|
static |
-------------------------------------------—.
| Release the memory associated to this symbol. | `--------------------------------------------—
Definition at line 1830 of file syn_yacc.c.
References YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN, YY_IGNORE_MAYBE_UNINITIALIZED_END, YY_SYMBOL_PRINT, and YY_USE.
type CurrentType = type_undefined |
to count control specifications in IO statements
Definition at line 101 of file syn_yacc.c.
intptr_t CurrentTypeSize |
the type in a type or dimension or common statement
Definition at line 103 of file syn_yacc.c.
int ici |
|
extern |
int yychar |
|
static |
Definition at line 1395 of file syn_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 1180 of file syn_yacc.c.
|
static |
YYDEFGOTO[NTERM-NUM].
Definition at line 1249 of file syn_yacc.c.
YYSTYPE yylval |
int yynerrs |
|
static |
YYPACT[STATE-NUM] – Index in YYTABLE of the portion describing STATE-NUM.
Definition at line 1126 of file syn_yacc.c.
|
static |
YYPGOTO[NTERM-NUM].
Definition at line 1232 of file syn_yacc.c.
|
static |
YYR1[RULE-NUM] – Symbol kind of the left-hand side of rule RULE-NUM.
Definition at line 1576 of file syn_yacc.c.
|
static |
YYR2[RULE-NUM] – Number of symbols on the right-hand side of rule RULE-NUM.
Definition at line 1609 of file syn_yacc.c.
|
static |
YYSTOS[STATE-NUM] – The symbol kind of the accessing symbol of state STATE-NUM.
Definition at line 1524 of file syn_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 1268 of file syn_yacc.c.
|
static |
YYTRANSLATE[TOKEN-NUM] – Symbol number corresponding to TOKEN-NUM as returned by yylex.
Definition at line 977 of file syn_yacc.c.