#include <stdio.h>
#include <stdlib.h>
#include <string.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.3" |
#define | YYSKELETON_NAME "yacc.c" |
#define | YYPURE 0 |
#define | YYLSP_NEEDED 0 |
#define | IGNORE 258 |
#define | IF 259 |
#define | ELSE 260 |
#define | FOR 261 |
#define | MIN 262 |
#define | MAX 263 |
#define | REAL 264 |
#define | ID 265 |
#define | INTEGER 266 |
#define | syRPARENTHESIS 267 |
#define | syLPARENTHESIS 268 |
#define | syRBRACKET 269 |
#define | syLBRACKET 270 |
#define | syRBRACE 271 |
#define | syLBRACE 272 |
#define | sySEMICOLON 273 |
#define | syCOMMA 274 |
#define | syPOINT 275 |
#define | syARROW 276 |
#define | opEQUAL 277 |
#define | opLEQ 278 |
#define | opGEQ 279 |
#define | opLOWER 280 |
#define | opGREATER 281 |
#define | opPLUS 282 |
#define | opMINUS 283 |
#define | opINCREMENTATION 284 |
#define | opDECREMENTATION 285 |
#define | opNOT 286 |
#define | opMULTIPLY 287 |
#define | opDIVIDE 288 |
#define | opMOD 289 |
#define | opAND 290 |
#define | opOR 291 |
#define | opCOMP 292 |
#define | opASSIGNMENT 293 |
#define | opPLUSEQUAL 294 |
#define | opMINUSEQUAL 295 |
#define | opMULTIPLYEQUAL 296 |
#define | opDIVIDEEQUAL 297 |
#define | opMODEQUAL 298 |
#define | opANDEQUAL 299 |
#define | opOREQUAL 300 |
#define | opCOMPEQUAL 301 |
#define | opLAND 302 |
#define | opLOR 303 |
#define | opQMARK 304 |
#define | opCOLON 305 |
#define | MAXPRIORITY 306 |
#define | YYDEBUG 0 |
#define | YYERROR_VERBOSE 0 |
#define | YYTOKEN_TABLE 0 |
#define | yystype YYSTYPE |
#define | YYSTYPE_IS_DECLARED 1 |
#define | YYSTYPE_IS_TRIVIAL 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) |
#define | YYFINAL 10 |
#define | YYLAST 367 |
#define | YYNTOKENS 52 |
#define | YYNNTS 28 |
#define | YYNRULES 102 |
#define | YYNSTATES 188 |
#define | YYUNDEFTOK 2 |
#define | YYMAXUTOK 306 |
#define | YYTRANSLATE(YYX) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
#define | YYPACT_NINF -57 |
#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 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, MIN = 262, MAX = 263, REAL = 264, ID = 265, INTEGER = 266, syRPARENTHESIS = 267, syLPARENTHESIS = 268, syRBRACKET = 269, syLBRACKET = 270, syRBRACE = 271, syLBRACE = 272, sySEMICOLON = 273, syCOMMA = 274, syPOINT = 275, syARROW = 276, opEQUAL = 277, opLEQ = 278, opGEQ = 279, opLOWER = 280, opGREATER = 281, opPLUS = 282, opMINUS = 283, opINCREMENTATION = 284, opDECREMENTATION = 285, opNOT = 286, opMULTIPLY = 287, opDIVIDE = 288, opMOD = 289, opAND = 290, opOR = 291, opCOMP = 292, opASSIGNMENT = 293, opPLUSEQUAL = 294, opMINUSEQUAL = 295, opMULTIPLYEQUAL = 296, opDIVIDEEQUAL = 297, opMODEQUAL = 298, opANDEQUAL = 299, opOREQUAL = 300, opCOMPEQUAL = 301, opLAND = 302, opLOR = 303, opQMARK = 304, opCOLON = 305, MAXPRIORITY = 306, IGNORE = 258, IF = 259, ELSE = 260, FOR = 261, MIN = 262, MAX = 263, REAL = 264, ID = 265, INTEGER = 266, syRPARENTHESIS = 267, syLPARENTHESIS = 268, syRBRACKET = 269, syLBRACKET = 270, syRBRACE = 271, syLBRACE = 272, sySEMICOLON = 273, syCOMMA = 274, syPOINT = 275, syARROW = 276, opEQUAL = 277, opLEQ = 278, opGEQ = 279, opLOWER = 280, opGREATER = 281, opPLUS = 282, opMINUS = 283, opINCREMENTATION = 284, opDECREMENTATION = 285, opNOT = 286, opMULTIPLY = 287, opDIVIDE = 288, opMOD = 289, opAND = 290, opOR = 291, opCOMP = 292, opASSIGNMENT = 293, opPLUSEQUAL = 294, opMINUSEQUAL = 295, opMULTIPLYEQUAL = 296, opDIVIDEEQUAL = 297, opMODEQUAL = 298, opANDEQUAL = 299, opOREQUAL = 300, opCOMPEQUAL = 301, opLAND = 302, opLOR = 303, opQMARK = 304, opCOLON = 305, MAXPRIORITY = 306 } |
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 | |
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_fake_arrays = 0 |
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 ELSE 260 |
#define FOR 261 |
#define ID 265 |
#define IF 259 |
#define IGNORE 258 |
Referenced by clan_scanner().
#define INTEGER 266 |
#define MAX 263 |
#define MAXPRIORITY 306 |
#define MIN 262 |
#define opAND 290 |
#define opANDEQUAL 299 |
#define opASSIGNMENT 293 |
#define opCOLON 305 |
#define opCOMP 292 |
#define opCOMPEQUAL 301 |
#define opDECREMENTATION 285 |
#define opDIVIDE 288 |
#define opDIVIDEEQUAL 297 |
#define opEQUAL 277 |
#define opGEQ 279 |
#define opGREATER 281 |
#define opINCREMENTATION 284 |
#define opLAND 302 |
#define opLEQ 278 |
#define opLOR 303 |
#define opLOWER 280 |
#define opMINUS 283 |
#define opMINUSEQUAL 295 |
#define opMOD 289 |
#define opMODEQUAL 298 |
#define opMULTIPLY 287 |
#define opMULTIPLYEQUAL 296 |
#define opNOT 286 |
#define opOR 291 |
#define opOREQUAL 300 |
#define opPLUS 282 |
#define opPLUSEQUAL 294 |
#define opQMARK 304 |
#define REAL 264 |
#define syARROW 276 |
#define syCOMMA 274 |
#define syLBRACE 272 |
#define syLBRACKET 270 |
#define syLPARENTHESIS 268 |
#define syPOINT 275 |
#define syRBRACE 271 |
#define syRBRACKET 269 |
#define syRPARENTHESIS 267 |
#define sySEMICOLON 273 |
#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 |
Referenced by yyparse().
#define YYACCEPT goto yyacceptlab |
Referenced by yyparse().
#define YYBACKUP | ( | Token, | |||
Value | ) |
#define YYBISON 1 |
#define YYBISON_VERSION "2.3" |
#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 10 |
Referenced by yyparse().
#define YYFREE free |
#define YYID | ( | n | ) | (n) |
Referenced by yyparse().
#define YYINITDEPTH 200 |
Referenced by yyparse().
#define YYLAST 367 |
Referenced by yyparse().
#define YYLEX yylex () |
Referenced by yyparse().
#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 306 |
#define YYNNTS 28 |
#define YYNRULES 102 |
#define YYNSTATES 188 |
#define YYNTOKENS 52 |
Referenced by yyparse().
#define YYPACT_NINF -57 |
Referenced by yyparse().
#define YYPOPSTACK | ( | N | ) | (yyvsp -= (N), yyssp -= (N)) |
Referenced by yyparse().
#define YYPURE 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 | ) |
do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0))
Referenced by yyparse().
#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 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_parser_free_state(), clan_parser_initialize_state(), clan_scop_compact(), parser_scop, 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, and parser_scheduling.
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_CONSTRAINTS, CLAN_MAX_DEPTH, CLAN_MAX_PARAMETERS, parser_consperdim, parser_domain, parser_scheduling, and parser_scop.
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 | ) |
Referenced by yyparse().
int yylex | ( | void | ) |
int yyparse | ( | ) |
References YYSTYPE::affex, clan_options::bounded_context, CLAN_FALSE, clan_matrix_scheduling(), clan_matrix_tag_array(), CLAN_MAX_DEPTH, CLAN_MAX_PARAMETERS, clan_symbol_add(), clan_symbol_get_rank(), clan_symbol_id_array(), clan_symbol_iterators(), clan_symbol_lookup(), CLAN_TRUE, clan_vector_term(), parser_consperdim, parser_depth, parser_domain, parser_fake_arrays, parser_nb_cons, parser_record, parser_recording, parser_scheduling, parser_scop, parser_statement, 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, YYABORT, YYACCEPT, yydestruct(), YYDPRINTF, YYEMPTY, YYEOF, yyerror(), YYFINAL, YYID, YYINITDEPTH, YYLAST, YYLEX, YYMAXDEPTH, YYNTOKENS, YYPACT_NINF, YYPOPSTACK, YYSIZE_T, YYSTACK_ALLOC, YYSTACK_ALLOC_MAXIMUM, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, YYTABLE_NINF, YYTERROR, and YYTRANSLATE.
Referenced by clan_parse().
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 yyparse().
scoplib_matrix_p parser_domain |
Current iteration domain
Referenced by clan_parser_free_state(), clan_parser_initialize_state(), and yyparse().
int parser_fake_arrays = 0 |
Current count of fake array ids
Referenced by yyparse().
Current iterator list
int parser_nb_cons = 0 |
Current number of constraints
Referenced by yyparse().
clan_options_p parser_options = NULL |
char* parser_record |
What we record (statement body)
Referenced by 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
char scanner_latest_text[] |
int yychar |
const yytype_int16 yycheck[] [static] |
const yytype_uint8 yydefact[] [static] |
{ 17, 6, 0, 0, 0, 17, 4, 0, 0, 0, 1, 7, 5, 98, 0, 0, 0, 53, 54, 0, 0, 18, 0, 80, 31, 0, 0, 0, 27, 0, 32, 10, 0, 84, 83, 100, 0, 59, 0, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 95, 0, 81, 0, 0, 98, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 99, 58, 102, 101, 0, 0, 0, 0, 75, 73, 0, 57, 0, 91, 94, 0, 85, 0, 0, 0, 35, 34, 36, 30, 43, 0, 42, 0, 40, 23, 0, 41, 25, 38, 39, 28, 29, 17, 44, 0, 0, 74, 77, 55, 69, 67, 65, 68, 66, 60, 61, 62, 63, 64, 70, 71, 72, 0, 0, 56, 0, 0, 0, 0, 0, 0, 82, 0, 0, 96, 0, 37, 0, 0, 17, 16, 8, 11, 78, 0, 76, 90, 87, 86, 88, 89, 92, 93, 97, 0, 0, 17, 0, 0, 0, 0, 9, 0, 79, 0, 0, 12, 24, 26, 0, 0, 0, 0, 0, 20, 13, 19, 0, 0, 17, 0, 22, 14, 0, 21 }
const yytype_int16 yydefgoto[] [static] |
{ -1, 4, 5, 143, 6, 67, 160, 172, 182, 105, 7, 175, 96, 99, 100, 28, 29, 47, 20, 21, 126, 75, 76, 129, 83, 51, 30, 84 }
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] |
{ 342, -57, -4, 18, 35, 349, -57, 280, 99, 19, -57, -57, -57, -57, 3, 289, 289, -57, -57, 29, 289, -57, 236, 14, 1, 293, 46, 233, -57, 5, -57, -57, 49, -57, -57, -57, 41, -57, 105, -57, -57, -57, -57, -57, -57, -57, -57, 105, 54, 136, 315, 72, 13, 67, 49, 310, 6, 51, 315, 64, 69, 64, 69, 315, 315, -57, 99, 56, -57, -57, -57, -57, 258, 285, 105, 176, -57, -57, 196, -57, 347, -57, 125, 8, -57, 319, 78, 315, -57, -57, -57, -57, -57, 19, 168, 86, -57, 168, 89, -57, 168, -57, -57, -57, -57, 181, -57, 69, 156, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, 105, 105, -57, 351, 37, 351, 351, 351, 351, -57, 136, 75, -57, 123, -57, 64, 69, 361, -57, -57, -57, -57, 214, -57, -57, 194, 194, -57, -57, -57, 125, -57, 93, 109, 169, 90, 105, 64, 69, -57, 99, -57, 117, 126, 71, -57, -57, 124, 131, 19, 143, 177, -57, -57, -57, 19, 138, 181, 134, -57, -57, 154, -57 }
const yytype_int16 yypgoto[] [static] |
{ -57, -57, 28, 25, -5, -57, -57, -57, -57, -57, -57, -57, -49, -56, -3, -57, -21, -57, 195, -57, -57, -30, 0, -9, -57, -57, -6, -36 }
const yytype_uint8 yyr1[] [static] |
{ 0, 52, 53, 53, 54, 54, 54, 54, 55, 55, 57, 58, 59, 60, 56, 61, 56, 62, 56, 63, 63, 63, 63, 64, 64, 65, 65, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 77, 77, 78, 78, 78, 79, 79 }
const yytype_uint8 yyr2[] [static] |
{ 0, 2, 1, 0, 1, 2, 1, 2, 1, 3, 0, 0, 0, 0, 15, 0, 6, 0, 2, 2, 2, 5, 3, 1, 6, 1, 6, 1, 3, 3, 3, 1, 1, 2, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 3, 3, 2, 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 }
const yytype_uint8 yystos[] [static] |
{ 0, 3, 4, 6, 53, 54, 56, 62, 12, 12, 0, 3, 56, 10, 12, 27, 28, 29, 30, 35, 70, 71, 74, 78, 11, 12, 28, 66, 67, 68, 78, 78, 10, 74, 74, 10, 74, 18, 38, 39, 40, 41, 42, 43, 44, 45, 46, 69, 70, 12, 14, 77, 32, 33, 10, 66, 68, 11, 22, 23, 24, 25, 26, 27, 28, 13, 47, 57, 13, 18, 9, 11, 12, 28, 31, 73, 74, 79, 73, 18, 12, 74, 75, 76, 79, 12, 66, 14, 11, 78, 11, 13, 13, 32, 66, 7, 64, 66, 8, 65, 66, 64, 65, 66, 66, 61, 68, 38, 73, 79, 73, 18, 22, 23, 24, 25, 26, 27, 28, 32, 33, 34, 35, 36, 37, 49, 72, 18, 12, 75, 27, 28, 32, 33, 13, 19, 66, 15, 66, 78, 12, 12, 16, 55, 56, 65, 13, 73, 73, 13, 75, 75, 75, 75, 74, 75, 15, 64, 65, 54, 58, 50, 19, 19, 17, 18, 73, 64, 65, 68, 13, 13, 59, 18, 29, 63, 78, 78, 13, 29, 38, 39, 60, 78, 11, 55, 27, 11 }
const yytype_int16 yytable[] [static] |
const yytype_uint8 yytranslate[] [static] |