#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <clan/macros.h>
#include <clan/vector.h>
#include <clan/matrix.h>
#include <clan/scop.h>
#include <clan/symbol.h>
#include <clan/statement.h>
#include <clan/options.h>
Classes | |
union | YYSTYPE |
union | yyalloc |
Defines | |
#define | YYBISON 1 |
#define | YYBISON_VERSION "2.4.1" |
#define | YYSKELETON_NAME "yacc.c" |
#define | YYPURE 0 |
#define | YYPUSH 0 |
#define | YYPULL 1 |
#define | YYLSP_NEEDED 0 |
#define | YYDEBUG 0 |
#define | YYERROR_VERBOSE 0 |
#define | YYTOKEN_TABLE 0 |
#define | YYTOKENTYPE |
#define | IGNORE 258 |
#define | IF 259 |
#define | ELSE 260 |
#define | FOR 261 |
#define | PRAGMALOCALVARS 262 |
#define | PRAGMALIVEOUT 263 |
#define | MIN 264 |
#define | MAX 265 |
#define | CEILD 266 |
#define | FLOORD 267 |
#define | REAL 268 |
#define | ID 269 |
#define | INTEGER 270 |
#define | syRPARENTHESIS 271 |
#define | syLPARENTHESIS 272 |
#define | syRBRACKET 273 |
#define | syLBRACKET 274 |
#define | syRBRACE 275 |
#define | syLBRACE 276 |
#define | sySEMICOLON 277 |
#define | syCOMMA 278 |
#define | syPOINT 279 |
#define | syARROW 280 |
#define | opEQUAL 281 |
#define | opLEQ 282 |
#define | opGEQ 283 |
#define | opLOWER 284 |
#define | opGREATER 285 |
#define | opPLUS 286 |
#define | opMINUS 287 |
#define | opINCREMENTATION 288 |
#define | opDECREMENTATION 289 |
#define | opNOT 290 |
#define | opMULTIPLY 291 |
#define | opDIVIDE 292 |
#define | opMOD 293 |
#define | opAND 294 |
#define | opOR 295 |
#define | opCOMP 296 |
#define | opASSIGNMENT 297 |
#define | opPLUSEQUAL 298 |
#define | opMINUSEQUAL 299 |
#define | opMULTIPLYEQUAL 300 |
#define | opDIVIDEEQUAL 301 |
#define | opMODEQUAL 302 |
#define | opANDEQUAL 303 |
#define | opOREQUAL 304 |
#define | opCOMPEQUAL 305 |
#define | opLAND 306 |
#define | opLOR 307 |
#define | opQMARK 308 |
#define | opCOLON 309 |
#define | MAXPRIORITY 310 |
#define | YYSTYPE_IS_TRIVIAL 1 |
#define | yystype YYSTYPE |
#define | YYSTYPE_IS_DECLARED 1 |
#define | YYSIZE_T unsigned int |
#define | YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
#define | YY_(msgid) msgid |
#define | YYUSE(e) ((void) (e)) |
#define | YYID(n) (n) |
#define | YYSTACK_ALLOC YYMALLOC |
#define | YYSTACK_FREE YYFREE |
#define | YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
#define | YYMALLOC malloc |
#define | YYFREE free |
#define | YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
#define | YYSTACK_BYTES(N) |
#define | YYCOPY(To, From, Count) |
#define | YYSTACK_RELOCATE(Stack_alloc, Stack) |
#define | YYFINAL 32 |
#define | YYLAST 543 |
#define | YYNTOKENS 56 |
#define | YYNNTS 29 |
#define | YYNRULES 116 |
#define | YYNSTATES 220 |
#define | YYUNDEFTOK 2 |
#define | YYMAXUTOK 310 |
#define | YYTRANSLATE(YYX) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
#define | YYPACT_NINF -80 |
#define | YYTABLE_NINF -4 |
#define | yyerrok (yyerrstatus = 0) |
#define | yyclearin (yychar = YYEMPTY) |
#define | YYEMPTY (-2) |
#define | YYEOF 0 |
#define | YYACCEPT goto yyacceptlab |
#define | YYABORT goto yyabortlab |
#define | YYERROR goto yyerrorlab |
#define | YYFAIL goto yyerrlab |
#define | YYRECOVERING() (!!yyerrstatus) |
#define | YYBACKUP(Token, Value) |
#define | YYTERROR 1 |
#define | YYERRCODE 256 |
#define | YYRHSLOC(Rhs, K) ((Rhs)[K]) |
#define | YYLLOC_DEFAULT(Current, Rhs, N) |
#define | YY_LOCATION_PRINT(File, Loc) ((void) 0) |
#define | YYLEX yylex () |
#define | YYDPRINTF(Args) |
#define | YY_SYMBOL_PRINT(Title, Type, Value, Location) |
#define | YY_STACK_PRINT(Bottom, Top) |
#define | YY_REDUCE_PRINT(Rule) |
#define | YYINITDEPTH 200 |
#define | YYMAXDEPTH 10000 |
#define | YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
Typedefs | |
typedef union YYSTYPE | YYSTYPE |
typedef unsigned char | yytype_uint8 |
typedef short int | yytype_int8 |
typedef unsigned short int | yytype_uint16 |
typedef short int | yytype_int16 |
Enumerations | |
enum | yytokentype { IGNORE = 258, IF = 259, ELSE = 260, FOR = 261, PRAGMALOCALVARS = 262, PRAGMALIVEOUT = 263, MIN = 264, MAX = 265, CEILD = 266, FLOORD = 267, REAL = 268, ID = 269, INTEGER = 270, syRPARENTHESIS = 271, syLPARENTHESIS = 272, syRBRACKET = 273, syLBRACKET = 274, syRBRACE = 275, syLBRACE = 276, sySEMICOLON = 277, syCOMMA = 278, syPOINT = 279, syARROW = 280, opEQUAL = 281, opLEQ = 282, opGEQ = 283, opLOWER = 284, opGREATER = 285, opPLUS = 286, opMINUS = 287, opINCREMENTATION = 288, opDECREMENTATION = 289, opNOT = 290, opMULTIPLY = 291, opDIVIDE = 292, opMOD = 293, opAND = 294, opOR = 295, opCOMP = 296, opASSIGNMENT = 297, opPLUSEQUAL = 298, opMINUSEQUAL = 299, opMULTIPLYEQUAL = 300, opDIVIDEEQUAL = 301, opMODEQUAL = 302, opANDEQUAL = 303, opOREQUAL = 304, opCOMPEQUAL = 305, opLAND = 306, opLOR = 307, opQMARK = 308, opCOLON = 309, MAXPRIORITY = 310, IGNORE = 258, IF = 259, ELSE = 260, FOR = 261, PRAGMALOCALVARS = 262, PRAGMALIVEOUT = 263, MIN = 264, MAX = 265, CEILD = 266, FLOORD = 267, REAL = 268, ID = 269, INTEGER = 270, syRPARENTHESIS = 271, syLPARENTHESIS = 272, syRBRACKET = 273, syLBRACKET = 274, syRBRACE = 275, syLBRACE = 276, sySEMICOLON = 277, syCOMMA = 278, syPOINT = 279, syARROW = 280, opEQUAL = 281, opLEQ = 282, opGEQ = 283, opLOWER = 284, opGREATER = 285, opPLUS = 286, opMINUS = 287, opINCREMENTATION = 288, opDECREMENTATION = 289, opNOT = 290, opMULTIPLY = 291, opDIVIDE = 292, opMOD = 293, opAND = 294, opOR = 295, opCOMP = 296, opASSIGNMENT = 297, opPLUSEQUAL = 298, opMINUSEQUAL = 299, opMULTIPLYEQUAL = 300, opDIVIDEEQUAL = 301, opMODEQUAL = 302, opANDEQUAL = 303, opOREQUAL = 304, opCOMPEQUAL = 305, opLAND = 306, opLOR = 307, opQMARK = 308, opCOLON = 309, MAXPRIORITY = 310 } |
Functions | |
int | yylex (void) |
void | yyerror (char *) |
void | clan_parser_log (char *) |
scoplib_scop_p | clan_parse (FILE *, clan_options_p) |
static void | yydestruct (char *yymsg, int yytype, YYSTYPE *yyvaluep) const |
int | yyparse () |
void | clan_parser_initialize_state (clan_options_p options) |
void | clan_parser_free_state () |
Variables | |
int | clan_parse_error = 0 |
FILE * | yyin = (FILE *) 0 |
char * | scanner_latest_text |
scoplib_scop_p | parser_scop |
scoplib_statement_p | parser_statement |
clan_symbol_p | parser_symbol |
int | parser_recording |
char * | parser_record |
int | parser_depth = 0 |
int * | parser_scheduling |
clan_symbol_p * | parser_iterators |
scoplib_matrix_p | parser_domain |
int | parser_nb_cons = 0 |
int * | parser_consperdim |
int * | parser_variables_localvars |
int * | parser_variables_liveout |
clan_options_p | parser_options = NULL |
static const yytype_uint8 | yytranslate [] |
static const yytype_uint8 | yyr1 [] |
static const yytype_uint8 | yyr2 [] |
static const yytype_uint8 | yydefact [] |
static const yytype_int16 | yydefgoto [] |
static const yytype_int16 | yypact [] |
static const yytype_int16 | yypgoto [] |
static const yytype_int16 | yytable [] |
static const yytype_int16 | yycheck [] |
static const yytype_uint8 | yystos [] |
int | yychar |
YYSTYPE | yylval |
int | yynerrs |
#define CEILD 266 |
#define ELSE 260 |
#define FLOORD 267 |
#define FOR 261 |
#define ID 269 |
#define IF 259 |
#define IGNORE 258 |
#define INTEGER 270 |
#define MAX 265 |
#define MAXPRIORITY 310 |
#define MIN 264 |
#define opAND 294 |
#define opANDEQUAL 303 |
#define opASSIGNMENT 297 |
#define opCOLON 309 |
#define opCOMP 296 |
#define opCOMPEQUAL 305 |
#define opDECREMENTATION 289 |
#define opDIVIDE 292 |
#define opDIVIDEEQUAL 301 |
#define opEQUAL 281 |
#define opGEQ 283 |
#define opGREATER 285 |
#define opINCREMENTATION 288 |
#define opLAND 306 |
#define opLEQ 282 |
#define opLOR 307 |
#define opLOWER 284 |
#define opMINUS 287 |
#define opMINUSEQUAL 299 |
#define opMOD 293 |
#define opMODEQUAL 302 |
#define opMULTIPLY 291 |
#define opMULTIPLYEQUAL 300 |
#define opNOT 290 |
#define opOR 295 |
#define opOREQUAL 304 |
#define opPLUS 286 |
#define opPLUSEQUAL 298 |
#define opQMARK 308 |
#define PRAGMALIVEOUT 263 |
#define PRAGMALOCALVARS 262 |
#define REAL 268 |
#define syARROW 280 |
#define syCOMMA 278 |
#define syLBRACE 276 |
#define syLBRACKET 274 |
#define syLPARENTHESIS 272 |
#define syPOINT 279 |
#define syRBRACE 275 |
#define syRBRACKET 273 |
#define syRPARENTHESIS 271 |
#define sySEMICOLON 277 |
#define YY_ | ( | msgid | ) | msgid |
Referenced by yyparse().
#define YY_LOCATION_PRINT | ( | File, | ||
Loc | ||||
) | ((void) 0) |
#define YY_REDUCE_PRINT | ( | Rule | ) |
Referenced by yyparse().
#define YY_STACK_PRINT | ( | Bottom, | ||
Top | ||||
) |
Referenced by yyparse().
#define YY_SYMBOL_PRINT | ( | Title, | ||
Type, | ||||
Value, | ||||
Location | ||||
) |
Referenced by yydestruct(), and yyparse().
#define YYABORT goto yyabortlab |
#define YYACCEPT goto yyacceptlab |
#define YYBACKUP | ( | Token, | ||
Value | ||||
) |
do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0))
#define YYBISON 1 |
#define YYBISON_VERSION "2.4.1" |
#define yyclearin (yychar = YYEMPTY) |
#define YYCOPY | ( | To, | ||
From, | ||||
Count | ||||
) |
#define YYDEBUG 0 |
#define YYDPRINTF | ( | Args | ) |
Referenced by yyparse().
#define YYEMPTY (-2) |
Referenced by yyparse().
#define YYEOF 0 |
Referenced by yyparse().
#define YYERRCODE 256 |
#define yyerrok (yyerrstatus = 0) |
#define YYERROR goto yyerrorlab |
#define YYERROR_VERBOSE 0 |
#define YYFAIL goto yyerrlab |
#define YYFINAL 32 |
Referenced by yyparse().
#define YYFREE free |
#define YYID | ( | n | ) | (n) |
Referenced by yyparse().
#define YYINITDEPTH 200 |
#define YYLAST 543 |
Referenced by yyparse().
#define YYLEX yylex () |
#define YYLLOC_DEFAULT | ( | Current, | ||
Rhs, | ||||
N | ||||
) |
do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0))
#define YYLSP_NEEDED 0 |
#define YYMALLOC malloc |
#define YYMAXDEPTH 10000 |
Referenced by yyparse().
#define YYMAXUTOK 310 |
#define YYNNTS 29 |
#define YYNRULES 116 |
#define YYNSTATES 220 |
#define YYNTOKENS 56 |
#define YYPACT_NINF -80 |
Referenced by yyparse().
#define YYPOPSTACK | ( | N | ) | (yyvsp -= (N), yyssp -= (N)) |
Referenced by yyparse().
#define YYPULL 1 |
#define YYPURE 0 |
#define YYPUSH 0 |
#define YYRECOVERING | ( | ) | (!!yyerrstatus) |
#define YYRHSLOC | ( | Rhs, | ||
K | ||||
) | ((Rhs)[K]) |
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
#define YYSIZE_T unsigned int |
Referenced by yyparse().
#define YYSKELETON_NAME "yacc.c" |
#define YYSTACK_ALLOC YYMALLOC |
Referenced by yyparse().
#define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
Referenced by yyparse().
#define YYSTACK_BYTES | ( | N | ) |
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM)
Referenced by yyparse().
#define YYSTACK_FREE YYFREE |
Referenced by yyparse().
#define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
#define YYSTACK_RELOCATE | ( | Stack_alloc, | ||
Stack | ||||
) |
#define yystype YYSTYPE |
#define YYSTYPE_IS_DECLARED 1 |
#define YYSTYPE_IS_TRIVIAL 1 |
#define YYTABLE_NINF -4 |
Referenced by yyparse().
#define YYTERROR 1 |
Referenced by yyparse().
#define YYTOKEN_TABLE 0 |
#define YYTOKENTYPE |
#define YYTRANSLATE | ( | YYX | ) | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
Referenced by yyparse().
#define YYUNDEFTOK 2 |
#define YYUSE | ( | e | ) | ((void) (e)) |
Referenced by yydestruct().
typedef short int yytype_int16 |
typedef short int yytype_int8 |
typedef unsigned short int yytype_uint16 |
typedef unsigned char yytype_uint8 |
enum yytokentype |
scoplib_scop_p clan_parse | ( | FILE * | input, | |
clan_options_p | options | |||
) |
clan_parse function: this function parses a file to extract a SCoP and returns, if successful, a pointer to the scoplib_scop_t structure.
input | The file to parse (already open). | |
options | Options for file parsing. |
References clan_parse_error, clan_parser_free_state(), clan_parser_initialize_state(), clan_scop_compact(), clan_scop_fill_options(), parser_scop, parser_variables_liveout, parser_variables_localvars, yyin, and yyparse().
Referenced by clan_scop_extract().
void clan_parser_free_state | ( | ) |
clan_parser_free_state function: this function frees the memory allocated for the "parser state", except for parser_scop, obviously.
References clan_symbol_free(), parser_consperdim, parser_domain, parser_scheduling, parser_variables_liveout, and parser_variables_localvars.
Referenced by clan_parse().
void clan_parser_initialize_state | ( | clan_options_p | options | ) |
clan_parser_initialize_state function: this function achieves the initialization of the "parser state": a collection of variables that vary during the parsing and thanks to we can extract all SCoP informations.
References CLAN_MAX_DEPTH, CLAN_MAX_LOCAL_VARIABLES, CLAN_MAX_PARAMETERS, parser_consperdim, parser_depth, parser_domain, parser_nb_cons, parser_record, parser_scheduling, parser_scop, parser_variables_liveout, parser_variables_localvars, scanner_latest_text, symbol_nb_arrays, symbol_nb_functions, symbol_nb_iterators, and symbol_nb_parameters.
Referenced by clan_parse().
void clan_parser_log | ( | char * | ) |
static void yydestruct | ( | char * | yymsg, | |
int | yytype, | |||
YYSTYPE * | yyvaluep | |||
) | const [static] |
References YY_SYMBOL_PRINT, and YYUSE.
Referenced by yyparse().
void yyerror | ( | char * | s | ) |
References clan_parse_error.
Referenced by yyparse().
int yylex | ( | void | ) |
int yyparse | ( | ) |
References YYSTYPE::affex, clan_options::bounded_context, clan_matrix_scheduling(), clan_matrix_tag_array(), CLAN_MAX_DEPTH, CLAN_MAX_LOCAL_VARIABLES, CLAN_MAX_PARAMETERS, clan_symbol_add(), clan_symbol_get_rank(), clan_symbol_id_array(), clan_symbol_iterators(), clan_symbol_lookup(), clan_symbol_remove(), clan_vector_term(), parser_consperdim, parser_depth, parser_domain, parser_nb_cons, parser_record, parser_recording, parser_scheduling, parser_scop, parser_statement, parser_variables_liveout, parser_variables_localvars, clan_symbol::rank, YYSTYPE::rw, scanner_latest_text, YYSTYPE::setex, YYSTYPE::symbol, clan_symbol::type, YYSTYPE::value, YY_, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, yydestruct(), YYDPRINTF, YYEMPTY, YYEOF, yyerror(), YYFINAL, YYID, YYLAST, YYMAXDEPTH, YYPACT_NINF, YYPOPSTACK, YYSIZE_T, yyalloc::yyss_alloc, YYSTACK_ALLOC, YYSTACK_ALLOC_MAXIMUM, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, YYTABLE_NINF, YYTERROR, YYTRANSLATE, and yyalloc::yyvs_alloc.
Referenced by clan_parse().
int clan_parse_error = 0 |
Set to 1 during parsing if encountered an error
Referenced by clan_parse(), and yyerror().
int* parser_consperdim |
Constraint nb for each dimension
Referenced by clan_parser_free_state(), clan_parser_initialize_state(), and yyparse().
int parser_depth = 0 |
Current loop depth
Referenced by clan_parser_initialize_state(), and yyparse().
scoplib_matrix_p parser_domain |
Current iteration domain
Referenced by clan_parser_free_state(), clan_parser_initialize_state(), and yyparse().
Current iterator list
int parser_nb_cons = 0 |
Current number of constraints
Referenced by clan_parser_initialize_state(), and yyparse().
clan_options_p parser_options = NULL |
char* parser_record |
What we record (statement body)
Referenced by clan_parser_initialize_state(), and yyparse().
int parser_recording |
Boolean: do we record or not?
Referenced by yyparse().
int* parser_scheduling |
Current statement scheduling
Referenced by clan_parser_free_state(), clan_parser_initialize_state(), and yyparse().
scoplib_scop_p parser_scop |
SCoP in construction
Referenced by clan_parse(), clan_parser_initialize_state(), and yyparse().
scoplib_statement_p parser_statement |
Statement in construction
Referenced by yyparse().
Top of the symbol table
List of variables in pragma live-out
Referenced by clan_parse(), clan_parser_free_state(), clan_parser_initialize_state(), and yyparse().
List of variables in pragma local-vars
Referenced by clan_parse(), clan_parser_free_state(), clan_parser_initialize_state(), and yyparse().
char* scanner_latest_text |
Latest text read by Lex
Latest text read
Referenced by clan_parser_initialize_state(), and yyparse().
int yychar |
const yytype_int16 yycheck[] [static] |
const yytype_uint8 yydefact[] [static] |
{ 18, 6, 0, 0, 104, 104, 18, 0, 18, 4, 0, 0, 0, 111, 112, 113, 114, 116, 107, 115, 0, 0, 0, 0, 100, 103, 20, 89, 110, 94, 21, 18, 1, 7, 5, 0, 0, 61, 62, 0, 19, 0, 113, 114, 36, 0, 0, 0, 30, 0, 37, 11, 0, 0, 0, 93, 92, 109, 0, 0, 0, 0, 0, 104, 0, 90, 8, 0, 0, 67, 0, 53, 54, 55, 56, 57, 58, 59, 60, 0, 0, 0, 0, 0, 0, 107, 0, 0, 38, 45, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 108, 99, 96, 95, 97, 98, 101, 102, 0, 0, 0, 0, 68, 66, 0, 0, 0, 0, 84, 82, 0, 65, 0, 0, 41, 39, 42, 33, 51, 0, 0, 50, 111, 48, 26, 112, 49, 28, 46, 47, 31, 32, 18, 52, 40, 0, 91, 0, 105, 0, 0, 83, 86, 63, 78, 76, 74, 77, 75, 69, 70, 71, 72, 73, 79, 80, 81, 0, 0, 64, 0, 0, 43, 44, 0, 0, 18, 17, 9, 12, 106, 87, 0, 85, 0, 0, 0, 0, 18, 0, 0, 34, 35, 0, 0, 10, 0, 88, 0, 0, 13, 27, 29, 0, 0, 0, 0, 0, 23, 14, 22, 0, 0, 18, 0, 25, 15, 0, 24 }
const yytype_int16 yydefgoto[] [static] |
{ -1, 7, 8, 178, 9, 100, 190, 204, 214, 143, 10, 207, 134, 137, 138, 48, 49, 79, 39, 40, 169, 118, 119, 25, 26, 65, 50, 28, 29 }
FILE * yyin = (FILE *) 0 |
File to be read by Lex
Referenced by clan_parse(), yy_init_globals(), yyget_in(), and yyset_in().
int yynerrs |
const yytype_int16 yypact[] [static] |
{ 136, -80, 3, 11, 290, 290, 375, 13, 280, -80, 238, 329, 464, -80, -80, -80, -80, -80, -80, -80, 147, 353, 353, 16, -80, 167, 55, 31, -80, -80, 55, 101, -80, -80, -80, 69, 238, -80, -80, 353, -80, 471, 72, 77, 1, 361, 137, 455, -80, -7, 49, -80, 79, 41, -8, -80, -80, -80, 41, 41, 41, 41, 290, 290, 387, 82, -80, 85, 98, -80, 250, -80, -80, -80, -80, -80, -80, -80, -80, 250, 105, 387, 387, 440, 109, 79, 505, -3, 99, 114, 387, 395, 406, 395, 406, 387, 387, -80, 329, 126, 115, -80, -80, 34, 34, -80, -80, -80, 167, 57, 421, 21, 387, -80, -80, 281, 321, 250, 184, -80, -80, 204, -80, 87, 102, -80, -80, -80, -80, -80, 464, 159, 67, 170, -80, 67, 174, -80, 67, -80, -80, -80, -80, 185, -80, -80, 406, -80, 14, -80, 45, 141, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, 250, 250, -80, 432, 432, -80, -80, 395, 406, 375, -80, -80, -80, -80, -80, 470, -80, 166, 178, 173, 177, 522, 175, 250, -80, -80, 395, 406, -80, 329, -80, 190, 200, 168, -80, -80, 196, 456, 464, 210, -21, -80, -80, -80, 464, 213, 185, 198, -80, -80, 223, -80 }
const yytype_int16 yypgoto[] [static] |
{ -80, -80, -2, 25, -5, -80, -80, -80, -80, -80, -80, -80, -73, -79, -9, -17, -38, -80, 205, 215, -80, -74, 29, 70, 6, -80, -4, -80, -54 }
const yytype_uint8 yyr1[] [static] |
{ 0, 56, 57, 57, 58, 58, 58, 58, 58, 59, 59, 61, 62, 63, 64, 60, 65, 60, 66, 60, 60, 60, 67, 67, 67, 67, 68, 68, 69, 69, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 81, 81, 82, 82, 82, 82, 83, 83, 83, 83, 84, 84 }
const yytype_uint8 yyr2[] [static] |
{ 0, 2, 1, 0, 1, 2, 1, 2, 3, 1, 3, 0, 0, 0, 0, 15, 0, 6, 0, 2, 2, 2, 2, 2, 5, 3, 1, 6, 1, 6, 1, 3, 3, 3, 6, 6, 1, 1, 2, 3, 3, 3, 3, 4, 4, 2, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 3, 3, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 2, 3, 5, 1, 2, 4, 2, 2, 1, 3, 3, 3, 3, 3, 1, 3, 3, 1, 0, 3, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1 }
const yytype_uint8 yystos[] [static] |
{ 0, 3, 4, 6, 7, 8, 20, 57, 58, 60, 66, 16, 16, 9, 10, 11, 12, 13, 14, 15, 16, 31, 32, 39, 78, 79, 80, 82, 83, 84, 80, 58, 0, 3, 60, 16, 20, 33, 34, 74, 75, 78, 11, 12, 15, 16, 32, 70, 71, 72, 82, 82, 14, 16, 79, 78, 78, 14, 31, 32, 36, 37, 23, 16, 18, 81, 21, 75, 78, 22, 42, 43, 44, 45, 46, 47, 48, 49, 50, 73, 74, 16, 16, 36, 37, 14, 70, 72, 15, 82, 26, 27, 28, 29, 30, 31, 32, 17, 51, 36, 61, 17, 17, 79, 79, 79, 79, 78, 79, 80, 16, 70, 18, 21, 22, 16, 32, 35, 77, 78, 84, 77, 22, 70, 70, 15, 82, 15, 17, 17, 36, 36, 70, 9, 68, 70, 10, 69, 70, 68, 69, 70, 70, 65, 72, 15, 42, 17, 70, 19, 70, 77, 84, 77, 22, 26, 27, 28, 29, 30, 31, 32, 36, 37, 38, 39, 40, 41, 53, 76, 22, 23, 23, 82, 15, 16, 16, 20, 59, 60, 69, 19, 17, 77, 77, 71, 71, 68, 69, 58, 62, 54, 17, 17, 23, 23, 21, 22, 77, 68, 69, 72, 17, 17, 63, 22, 33, 67, 82, 82, 17, 33, 42, 43, 64, 82, 15, 59, 31, 15 }
const yytype_int16 yytable[] [static] |
const yytype_uint8 yytranslate[] [static] |