From 72691b490943bcaa921a53375585cac83327c432 Mon Sep 17 00:00:00 2001 From: Stephen Dolan Date: Thu, 25 Oct 2012 00:13:39 +0100 Subject: [PATCH] Fix a bug in string parsing. Closes #35 --- lexer.gen.c | 72 +- lexer.gen.h | 29 +- parser.gen.c | 765 ++++++----- parser.gen.h | 46 +- parser.gen.info | 3304 ++++++++++++++++++++++++----------------------- parser.y | 7 +- 6 files changed, 2165 insertions(+), 2058 deletions(-) diff --git a/lexer.gen.c b/lexer.gen.c index dbaf0abc..c78730e3 100644 --- a/lexer.gen.c +++ b/lexer.gen.c @@ -9,7 +9,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -159,7 +159,15 @@ typedef void* yyscan_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -171,11 +179,6 @@ typedef void* yyscan_t; typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 @@ -198,6 +201,11 @@ typedef size_t yy_size_t; #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -215,7 +223,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -294,7 +302,7 @@ static void jq_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner YY_BUFFER_STATE jq_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE jq_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); +YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); void *jq_yyalloc (yy_size_t ,yyscan_t yyscanner ); void *jq_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -326,7 +334,7 @@ void jq_yyfree (void * ,yyscan_t yyscanner ); /* Begin user sect3 */ -#define jq_yywrap(yyscanner) 1 +#define jq_yywrap(n) 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; @@ -522,7 +530,7 @@ struct lexer_param; static int enter(int opening, int state, yyscan_t yyscanner); static int try_exit(int closing, int state, yyscan_t yyscanner); #define YY_NO_INPUT 1 -#line 526 "lexer.gen.c" +#line 534 "lexer.gen.c" #define INITIAL 0 #define IN_PAREN 1 @@ -554,8 +562,8 @@ struct yyguts_t size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; - yy_size_t yyleng_r; + int yy_n_chars; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -612,7 +620,7 @@ FILE *jq_yyget_out (yyscan_t yyscanner ); void jq_yyset_out (FILE * out_str ,yyscan_t yyscanner ); -yy_size_t jq_yyget_leng (yyscan_t yyscanner ); +int jq_yyget_leng (yyscan_t yyscanner ); char *jq_yyget_text (yyscan_t yyscanner ); @@ -620,10 +628,6 @@ int jq_yyget_lineno (yyscan_t yyscanner ); void jq_yyset_lineno (int line_number ,yyscan_t yyscanner ); -int jq_yyget_column (yyscan_t yyscanner ); - -void jq_yyset_column (int column_no ,yyscan_t yyscanner ); - YYSTYPE * jq_yyget_lval (yyscan_t yyscanner ); void jq_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); @@ -670,7 +674,12 @@ static int input (yyscan_t yyscanner ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -777,7 +786,7 @@ YY_DECL #line 35 "lexer.l" -#line 781 "lexer.gen.c" +#line 790 "lexer.gen.c" yylval = yylval_param; @@ -1069,7 +1078,7 @@ YY_RULE_SETUP #line 110 "lexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1073 "lexer.gen.c" +#line 1082 "lexer.gen.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(IN_PAREN): case YY_STATE_EOF(IN_BRACKET): @@ -1261,21 +1270,21 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) (yyg->yy_c_buf_p - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -1306,7 +1315,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - yyg->yy_n_chars, num_to_read ); + yyg->yy_n_chars, (size_t) num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; } @@ -1403,7 +1412,6 @@ static int yy_get_next_buffer (yyscan_t yyscanner) yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_is_jam = (yy_current_state == 87); - (void)yyg; return yy_is_jam ? 0 : yy_current_state; } @@ -1432,7 +1440,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch ( yy_get_next_buffer( yyscanner ) ) @@ -1596,6 +1604,10 @@ static void jq_yy_load_buffer_state (yyscan_t yyscanner) jq_yyfree((void *) b ,yyscanner ); } +#ifndef __cplusplus +extern int isatty (int ); +#endif /* __cplusplus */ + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a jq_yyrestart() or at EOF. @@ -1712,7 +1724,7 @@ void jq_yypop_buffer_state (yyscan_t yyscanner) */ static void jq_yyensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; if (!yyg->yy_buffer_stack) { @@ -1810,7 +1822,7 @@ YY_BUFFER_STATE jq_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) +YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; @@ -1965,7 +1977,7 @@ FILE *jq_yyget_out (yyscan_t yyscanner) /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t jq_yyget_leng (yyscan_t yyscanner) +int jq_yyget_leng (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yyleng; @@ -2001,7 +2013,7 @@ void jq_yyset_lineno (int line_number , yyscan_t yyscanner) /* lineno is only valid if an input buffer exists. */ if (! YY_CURRENT_BUFFER ) - YY_FATAL_ERROR( "jq_yyset_lineno called with no buffer" ); + yy_fatal_error( "jq_yyset_lineno called with no buffer" , yyscanner); yylineno = line_number; } @@ -2016,7 +2028,7 @@ void jq_yyset_column (int column_no , yyscan_t yyscanner) /* column is only valid if an input buffer exists. */ if (! YY_CURRENT_BUFFER ) - YY_FATAL_ERROR( "jq_yyset_column called with no buffer" ); + yy_fatal_error( "jq_yyset_column called with no buffer" , yyscanner); yycolumn = column_no; } diff --git a/lexer.gen.h b/lexer.gen.h index e22ddb29..84a71abb 100644 --- a/lexer.gen.h +++ b/lexer.gen.h @@ -13,7 +13,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -132,7 +132,15 @@ typedef void* yyscan_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif #ifndef YY_TYPEDEF_YY_BUFFER_STATE @@ -162,7 +170,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -206,7 +214,7 @@ void jq_yypop_buffer_state (yyscan_t yyscanner ); YY_BUFFER_STATE jq_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE jq_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); +YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); void *jq_yyalloc (yy_size_t ,yyscan_t yyscanner ); void *jq_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -214,7 +222,7 @@ void jq_yyfree (void * ,yyscan_t yyscanner ); /* Begin user sect3 */ -#define jq_yywrap(yyscanner) 1 +#define jq_yywrap(n) 1 #define YY_SKIP_YYWRAP #define yytext_ptr yytext_r @@ -264,7 +272,7 @@ FILE *jq_yyget_out (yyscan_t yyscanner ); void jq_yyset_out (FILE * out_str ,yyscan_t yyscanner ); -yy_size_t jq_yyget_leng (yyscan_t yyscanner ); +int jq_yyget_leng (yyscan_t yyscanner ); char *jq_yyget_text (yyscan_t yyscanner ); @@ -272,10 +280,6 @@ int jq_yyget_lineno (yyscan_t yyscanner ); void jq_yyset_lineno (int line_number ,yyscan_t yyscanner ); -int jq_yyget_column (yyscan_t yyscanner ); - -void jq_yyset_column (int column_no ,yyscan_t yyscanner ); - YYSTYPE * jq_yyget_lval (yyscan_t yyscanner ); void jq_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); @@ -310,7 +314,12 @@ static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Number of entries by which start-condition stack grows. */ @@ -348,6 +357,6 @@ extern int jq_yylex \ #line 110 "lexer.l" -#line 352 "lexer.gen.h" +#line 361 "lexer.gen.h" #undef jq_yyIN_HEADER #endif /* jq_yyHEADER_H */ diff --git a/parser.gen.c b/parser.gen.c index 32a2a205..4abc81e7 100644 --- a/parser.gen.c +++ b/parser.gen.c @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 2.6.2. */ +/* A Bison parser, made by GNU Bison 2.5. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2011 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 @@ -44,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.6.2" +#define YYBISON_VERSION "2.5" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -58,11 +58,14 @@ /* Pull parsers. */ #define YYPULL 1 +/* Using locations. */ +#define YYLSP_NEEDED 1 /* Copy the first part of user declarations. */ -/* Line 336 of yacc.c */ + +/* Line 268 of yacc.c */ #line 1 "parser.y" #include @@ -72,16 +75,14 @@ struct lexer_param; -/* Line 336 of yacc.c */ -#line 77 "parser.gen.c" -# ifndef YY_NULL -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULL nullptr -# else -# define YY_NULL 0 -# endif -# endif +/* Line 268 of yacc.c */ +#line 81 "parser.gen.c" + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE @@ -91,19 +92,14 @@ struct lexer_param; # define YYERROR_VERBOSE 1 #endif -/* In a future release of Bison, this section will be replaced - by #include "parser.gen.h". */ -#ifndef YY_PARSER_GEN_H -# define YY_PARSER_GEN_H -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif -#if YYDEBUG -extern int yydebug; +/* Enabling the token table. */ +#ifndef YYTOKEN_TABLE +# define YYTOKEN_TABLE 0 #endif + /* "%code requires" blocks. */ -/* Line 350 of yacc.c */ + +/* Line 288 of yacc.c */ #line 9 "parser.y" #include "locfile.h" @@ -120,8 +116,9 @@ extern int yydebug; } while (0) -/* Line 350 of yacc.c */ -#line 125 "parser.gen.c" + +/* Line 288 of yacc.c */ +#line 122 "parser.gen.c" /* Tokens. */ #ifndef YYTOKENTYPE @@ -161,17 +158,20 @@ extern int yydebug; #endif + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { -/* Line 350 of yacc.c */ + +/* Line 293 of yacc.c */ #line 27 "parser.y" jv literal; block blk; -/* Line 350 of yacc.c */ + +/* Line 293 of yacc.c */ #line 176 "parser.gen.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 @@ -193,24 +193,9 @@ typedef struct YYLTYPE #endif -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (block* answer, int* errors, struct locfile* locations, struct lexer_param* lexer_param_ptr); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - -#endif /* !YY_PARSER_GEN_H */ - /* Copy the second part of user declarations. */ -/* Line 353 of yacc.c */ + +/* Line 343 of yacc.c */ #line 89 "parser.y" #include "lexer.gen.h" @@ -303,8 +288,9 @@ static block gen_update(block a, block op, int optype) { } -/* Line 353 of yacc.c */ -#line 308 "parser.gen.c" + +/* Line 343 of yacc.c */ +#line 294 "parser.gen.c" #ifdef short # undef short @@ -410,7 +396,6 @@ YYID (yyi) # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ - /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif @@ -504,20 +489,20 @@ union yyalloc #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED -/* Copy COUNT objects from SRC to DST. The source and destination do +/* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(Dst, Src, Count) \ - __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else -# define YYCOPY(Dst, Src, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (Dst)[yyi] = (Src)[yyi]; \ - } \ +# define YYCOPY(To, From, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ while (YYID (0)) # endif # endif @@ -586,8 +571,8 @@ static const yytype_uint16 yyprhs[] = 0, 0, 3, 5, 7, 8, 11, 14, 21, 27, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, 75, 79, 83, 87, 91, 95, 99, 103, 107, - 111, 115, 119, 121, 123, 127, 133, 142, 143, 146, - 151, 157, 161, 165, 167, 169, 173, 176, 181, 185, + 111, 115, 119, 121, 125, 131, 140, 141, 144, 149, + 155, 159, 163, 165, 167, 171, 174, 179, 183, 185, 187, 191, 195, 198, 202, 205, 207, 212, 216, 220, 225, 229, 230, 232, 236, 240, 244, 248, 250, 256 }; @@ -606,14 +591,14 @@ static const yytype_int8 yyrhs[] = 39, 53, -1, 53, 21, 53, -1, 53, 40, 53, -1, 53, 22, 53, -1, 53, 6, 53, -1, 53, 7, 53, -1, 53, 35, 53, -1, 53, 36, 53, - -1, 53, 24, 53, -1, 53, 25, 53, -1, 54, - -1, 59, -1, 26, 56, 30, -1, 10, 4, 42, - 53, 31, -1, 10, 4, 43, 4, 44, 42, 53, - 31, -1, -1, 56, 27, -1, 56, 28, 53, 29, - -1, 14, 53, 12, 53, 57, -1, 13, 53, 15, - -1, 58, 32, 58, -1, 59, -1, 45, -1, 59, - 45, 4, -1, 45, 4, -1, 59, 46, 53, 47, - -1, 59, 46, 47, -1, 5, -1, 43, 53, 44, + -1, 53, 24, 53, -1, 53, 25, 53, -1, 59, + -1, 26, 56, 30, -1, 10, 4, 42, 53, 31, + -1, 10, 4, 43, 4, 44, 42, 53, 31, -1, + -1, 56, 27, -1, 56, 28, 53, 29, -1, 14, + 53, 12, 53, 57, -1, 13, 53, 15, -1, 58, + 32, 58, -1, 59, -1, 45, -1, 59, 45, 4, + -1, 45, 4, -1, 59, 46, 53, 47, -1, 59, + 46, 47, -1, 5, -1, 54, -1, 43, 53, 44, -1, 46, 53, 47, -1, 46, 47, -1, 48, 60, 49, -1, 41, 4, -1, 4, -1, 4, 43, 53, 44, -1, 43, 1, 44, -1, 46, 1, 47, -1, @@ -630,14 +615,14 @@ static const yytype_uint16 yyrline[] = 0, 183, 183, 186, 191, 194, 199, 203, 210, 213, 218, 227, 231, 235, 239, 243, 247, 251, 255, 259, 263, 267, 271, 275, 279, 283, 287, 291, 295, 299, - 303, 307, 311, 315, 320, 325, 331, 339, 342, 345, - 351, 354, 359, 363, 369, 372, 375, 379, 382, 385, - 388, 391, 394, 397, 402, 406, 410, 420, 421, 422, - 423, 426, 429, 430, 431, 434, 437, 440, 444, 447 + 303, 307, 311, 316, 321, 327, 335, 338, 341, 347, + 350, 355, 359, 365, 368, 371, 375, 378, 381, 384, + 387, 390, 393, 396, 401, 405, 409, 419, 420, 421, + 422, 425, 428, 429, 430, 433, 436, 439, 443, 446 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || 1 +#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = @@ -651,7 +636,7 @@ static const char *const yytname[] = "'>'", "'+'", "'-'", "'*'", "'/'", "'$'", "':'", "'('", "')'", "'.'", "'['", "']'", "'{'", "'}'", "$accept", "TopLevel", "FuncDefs", "Exp", "String", "FuncDef", "QQString", "ElseBody", "ExpD", "Term", "MkDict", - "MkDictPair", YY_NULL + "MkDictPair", 0 }; #endif @@ -674,8 +659,8 @@ static const yytype_uint8 yyr1[] = 0, 50, 51, 51, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 54, 55, 55, 56, 56, 56, - 57, 57, 58, 58, 59, 59, 59, 59, 59, 59, + 53, 53, 53, 54, 55, 55, 56, 56, 56, 57, + 57, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 61, 61, 61, 61, 61 }; @@ -686,8 +671,8 @@ static const yytype_uint8 yyr2[] = 0, 2, 1, 1, 0, 2, 2, 6, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 1, 1, 3, 5, 8, 0, 2, 4, - 5, 3, 3, 1, 1, 3, 2, 4, 3, 1, + 3, 3, 1, 3, 5, 8, 0, 2, 4, 5, + 3, 3, 1, 1, 3, 2, 4, 3, 1, 1, 3, 3, 2, 3, 2, 1, 4, 3, 3, 4, 3, 0, 1, 3, 3, 3, 3, 1, 5, 5 }; @@ -697,21 +682,21 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 4, 55, 49, 0, 0, 37, 0, 0, 44, 0, - 0, 0, 3, 2, 32, 4, 33, 0, 0, 0, - 0, 0, 54, 0, 0, 46, 0, 52, 0, 0, + 4, 55, 48, 0, 0, 36, 0, 0, 43, 0, + 0, 0, 3, 2, 49, 4, 32, 0, 0, 0, + 0, 0, 54, 0, 0, 45, 0, 52, 0, 0, 67, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, - 0, 0, 0, 0, 0, 0, 9, 0, 38, 0, - 34, 57, 50, 58, 51, 0, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 9, 0, 37, 0, + 33, 57, 50, 58, 51, 0, 60, 0, 0, 0, 0, 53, 0, 26, 27, 13, 12, 11, 15, 19, 21, 23, 25, 14, 30, 31, 16, 17, 10, 28, - 29, 18, 20, 22, 24, 0, 45, 0, 48, 0, - 56, 0, 0, 0, 0, 0, 64, 65, 43, 0, - 0, 66, 63, 0, 59, 47, 35, 0, 0, 0, - 8, 39, 0, 0, 0, 0, 0, 0, 0, 42, - 69, 68, 7, 0, 41, 0, 36, 0, 40 + 29, 18, 20, 22, 24, 0, 44, 0, 47, 0, + 56, 0, 0, 0, 0, 0, 64, 65, 42, 0, + 0, 66, 63, 0, 59, 46, 34, 0, 0, 0, + 8, 38, 0, 0, 0, 0, 0, 0, 0, 41, + 69, 68, 7, 0, 40, 0, 35, 0, 39 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -733,13 +718,13 @@ static const yytype_int16 yypact[] = 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, -75, 645, 22, 71, 101, 365, 175, 72, -75, 175, -75, 175, - -75, -75, -75, -75, -75, 73, -75, 146, 34, 400, - 146, -75, 73, 785, 785, 715, 791, 765, 740, 740, + -75, -75, -75, -75, -75, 73, -75, 161, 34, 400, + 161, -75, 73, 785, 785, 715, 791, 765, 740, 740, 740, 740, 740, 740, 785, 785, 680, 715, 740, 785, 785, -15, -15, -75, -75, 76, -75, 37, -75, 253, -75, 470, 41, 435, 505, 48, -75, 54, -19, 45, 49, 54, -75, 60, -75, -75, -75, 51, 175, 175, - -75, -75, 146, 146, 146, 175, 175, 540, 575, -75, + -75, -75, 161, 161, 161, 175, 175, 540, 575, -75, 54, 54, 680, 610, -75, 175, -75, 435, -75 }; @@ -771,12 +756,12 @@ static const yytype_int16 yytable[] = 0, 7, -61, 8, 9, 27, 10, 5, 137, 138, 23, 0, 0, 1, 2, 142, 143, 0, 0, 3, 4, 0, 6, 0, 7, 147, 8, 9, 108, 10, - 1, 2, 0, 78, 0, 5, 1, 2, 0, 0, - 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 78, 0, 5, 1, 2, 0, 0, + 0, 0, 3, 4, 0, 1, 2, 0, 0, 0, 6, 0, 7, 0, 8, 9, 0, 10, 5, 1, - 2, 0, 0, 0, 0, 3, 4, 6, 0, 7, - 0, 8, 9, 6, 10, 7, 0, 8, 9, 0, - 10, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 3, 4, 5, 0, 0, + 0, 0, 0, 6, 0, 7, 0, 8, 9, 0, + 10, 5, 6, 0, 7, 0, 8, 9, 0, 10, 0, 0, 0, 0, 0, 0, 6, 0, 7, 0, 8, 9, 0, 10, 36, 37, 38, 0, 0, 0, 0, 0, 0, 0, 39, 40, 41, 42, 43, 44, @@ -865,12 +850,12 @@ static const yytype_int16 yycheck[] = -1, 43, 49, 45, 46, 47, 48, 26, 128, 129, 1, -1, -1, 4, 5, 135, 136, -1, -1, 10, 11, -1, 41, -1, 43, 145, 45, 46, 47, 48, - 4, 5, -1, 1, -1, 26, 4, 5, -1, -1, - -1, -1, 10, 11, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1, -1, 26, 4, 5, -1, -1, + -1, -1, 10, 11, -1, 4, 5, -1, -1, -1, 41, -1, 43, -1, 45, 46, -1, 48, 26, 4, - 5, -1, -1, -1, -1, 10, 11, 41, -1, 43, - -1, 45, 46, 41, 48, 43, -1, 45, 46, -1, - 48, 26, -1, -1, -1, -1, -1, -1, -1, -1, + 5, -1, -1, -1, -1, 10, 11, 26, -1, -1, + -1, -1, -1, 41, -1, 43, -1, 45, 46, -1, + 48, 26, 41, -1, 43, -1, 45, 46, -1, 48, -1, -1, -1, -1, -1, -1, 41, -1, 43, -1, 45, 46, -1, 48, 6, 7, 8, -1, -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, 20, 21, @@ -984,18 +969,17 @@ static const yytype_uint8 yystos[] = #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY && yylen == 1) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (1); \ + goto yybackup; \ + } \ + else \ + { \ yyerror (&yylloc, answer, errors, locations, lexer_param_ptr, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ @@ -1005,33 +989,32 @@ while (YYID (0)) #define YYTERROR 1 #define YYERRCODE 256 + /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ +#define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT -# 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; \ - } \ +# 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)) #endif -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) - - /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know @@ -1105,8 +1088,6 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, answer, errors, struct lexer_param* lexer_param_ptr; #endif { - FILE *yyo = yyoutput; - YYUSE (yyo); if (!yyvaluep) return; YYUSE (yylocationp); @@ -1375,12 +1356,12 @@ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { - YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); + YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *yyformat = YY_NULL; + const char *yyformat = 0; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per @@ -1440,7 +1421,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, break; } yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); + yysize1 = yysize + yytnamerr (0, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; @@ -1535,96 +1516,122 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, answer, errors, locations, lex switch (yytype) { - case 4: /* IDENT */ -/* Line 1381 of yacc.c */ + case 4: /* "IDENT" */ + +/* Line 1391 of yacc.c */ #line 32 "parser.y" - { jv_free(((*yyvaluep).literal)); }; -/* Line 1381 of yacc.c */ -#line 1544 "parser.gen.c" + { jv_free((yyvaluep->literal)); }; + +/* Line 1391 of yacc.c */ +#line 1527 "parser.gen.c" break; - case 5: /* LITERAL */ -/* Line 1381 of yacc.c */ + case 5: /* "LITERAL" */ + +/* Line 1391 of yacc.c */ #line 32 "parser.y" - { jv_free(((*yyvaluep).literal)); }; -/* Line 1381 of yacc.c */ -#line 1551 "parser.gen.c" + { jv_free((yyvaluep->literal)); }; + +/* Line 1391 of yacc.c */ +#line 1536 "parser.gen.c" break; - case 27: /* QQSTRING_TEXT */ -/* Line 1381 of yacc.c */ + case 27: /* "QQSTRING_TEXT" */ + +/* Line 1391 of yacc.c */ #line 32 "parser.y" - { jv_free(((*yyvaluep).literal)); }; -/* Line 1381 of yacc.c */ -#line 1558 "parser.gen.c" + { jv_free((yyvaluep->literal)); }; + +/* Line 1391 of yacc.c */ +#line 1545 "parser.gen.c" break; - case 52: /* FuncDefs */ -/* Line 1381 of yacc.c */ + case 52: /* "FuncDefs" */ + +/* Line 1391 of yacc.c */ #line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ -#line 1565 "parser.gen.c" + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ +#line 1554 "parser.gen.c" break; - case 53: /* Exp */ -/* Line 1381 of yacc.c */ + case 53: /* "Exp" */ + +/* Line 1391 of yacc.c */ #line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ +#line 1563 "parser.gen.c" + break; + case 54: /* "String" */ + +/* Line 1391 of yacc.c */ +#line 33 "parser.y" + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ #line 1572 "parser.gen.c" break; - case 54: /* String */ -/* Line 1381 of yacc.c */ + case 55: /* "FuncDef" */ + +/* Line 1391 of yacc.c */ #line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ -#line 1579 "parser.gen.c" + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ +#line 1581 "parser.gen.c" break; - case 55: /* FuncDef */ -/* Line 1381 of yacc.c */ + case 56: /* "QQString" */ + +/* Line 1391 of yacc.c */ #line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ -#line 1586 "parser.gen.c" + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ +#line 1590 "parser.gen.c" break; - case 56: /* QQString */ -/* Line 1381 of yacc.c */ + case 57: /* "ElseBody" */ + +/* Line 1391 of yacc.c */ #line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ -#line 1593 "parser.gen.c" + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ +#line 1599 "parser.gen.c" break; - case 57: /* ElseBody */ -/* Line 1381 of yacc.c */ + case 58: /* "ExpD" */ + +/* Line 1391 of yacc.c */ #line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ -#line 1600 "parser.gen.c" + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ +#line 1608 "parser.gen.c" break; - case 58: /* ExpD */ -/* Line 1381 of yacc.c */ + case 59: /* "Term" */ + +/* Line 1391 of yacc.c */ #line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ -#line 1607 "parser.gen.c" + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ +#line 1617 "parser.gen.c" break; - case 59: /* Term */ -/* Line 1381 of yacc.c */ + case 60: /* "MkDict" */ + +/* Line 1391 of yacc.c */ #line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ -#line 1614 "parser.gen.c" + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ +#line 1626 "parser.gen.c" break; - case 60: /* MkDict */ -/* Line 1381 of yacc.c */ + case 61: /* "MkDictPair" */ + +/* Line 1391 of yacc.c */ #line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ -#line 1621 "parser.gen.c" - break; - case 61: /* MkDictPair */ -/* Line 1381 of yacc.c */ -#line 33 "parser.y" - { block_free(((*yyvaluep).blk)); }; -/* Line 1381 of yacc.c */ -#line 1628 "parser.gen.c" + { block_free((yyvaluep->blk)); }; + +/* Line 1391 of yacc.c */ +#line 1635 "parser.gen.c" break; default: @@ -1633,6 +1640,20 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, answer, errors, locations, lex } +/* Prevent warnings from -Wmissing-prototypes. */ +#ifdef YYPARSE_PARAM +#if defined __STDC__ || defined __cplusplus +int yyparse (void *YYPARSE_PARAM); +#else +int yyparse (); +#endif +#else /* ! YYPARSE_PARAM */ +#if defined __STDC__ || defined __cplusplus +int yyparse (block* answer, int* errors, struct locfile* locations, struct lexer_param* lexer_param_ptr); +#else +int yyparse (); +#endif +#endif /* ! YYPARSE_PARAM */ /*----------. @@ -1685,7 +1706,7 @@ YYLTYPE yylloc; `yyvs': related to semantic values. `yyls': related to locations. - Refer to the stacks through separate pointers, to allow yyoverflow + Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ @@ -1756,6 +1777,7 @@ YYLTYPE yylloc; yylloc.first_line = yylloc.last_line = 1; yylloc.first_column = yylloc.last_column = 1; #endif + goto yysetstate; /*------------------------------------------------------------. @@ -1939,7 +1961,8 @@ yyreduce: switch (yyn) { case 2: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 183 "parser.y" { *answer = (yyvsp[(1) - (1)].blk); @@ -1947,7 +1970,8 @@ yyreduce: break; case 3: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 186 "parser.y" { *answer = (yyvsp[(1) - (1)].blk); @@ -1955,7 +1979,8 @@ yyreduce: break; case 4: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 191 "parser.y" { (yyval.blk) = gen_noop(); @@ -1963,7 +1988,8 @@ yyreduce: break; case 5: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 194 "parser.y" { (yyval.blk) = block_join((yyvsp[(1) - (2)].blk), (yyvsp[(2) - (2)].blk)); @@ -1971,7 +1997,8 @@ yyreduce: break; case 6: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 199 "parser.y" { (yyval.blk) = block_bind((yyvsp[(1) - (2)].blk), (yyvsp[(2) - (2)].blk), OP_IS_CALL_PSEUDO); @@ -1979,7 +2006,8 @@ yyreduce: break; case 7: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 203 "parser.y" { (yyval.blk) = gen_op_simple(DUP); @@ -1990,7 +2018,8 @@ yyreduce: break; case 8: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 210 "parser.y" { (yyval.blk) = gen_cond((yyvsp[(2) - (5)].blk), (yyvsp[(4) - (5)].blk), (yyvsp[(5) - (5)].blk)); @@ -1998,7 +2027,8 @@ yyreduce: break; case 9: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 213 "parser.y" { FAIL((yyloc), "Possibly unterminated 'if' statment"); @@ -2007,7 +2037,8 @@ yyreduce: break; case 10: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 218 "parser.y" { block assign = gen_op_simple(DUP); @@ -2020,7 +2051,8 @@ yyreduce: break; case 11: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 227 "parser.y" { (yyval.blk) = gen_or((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); @@ -2028,7 +2060,8 @@ yyreduce: break; case 12: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 231 "parser.y" { (yyval.blk) = gen_and((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); @@ -2036,7 +2069,8 @@ yyreduce: break; case 13: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 235 "parser.y" { (yyval.blk) = gen_definedor((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); @@ -2044,7 +2078,8 @@ yyreduce: break; case 14: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 239 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), gen_definedor(gen_noop(), (yyvsp[(3) - (3)].blk)), 0); @@ -2052,7 +2087,8 @@ yyreduce: break; case 15: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 243 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), 0); @@ -2060,7 +2096,8 @@ yyreduce: break; case 16: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 247 "parser.y" { (yyval.blk) = block_join((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); @@ -2068,7 +2105,8 @@ yyreduce: break; case 17: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 251 "parser.y" { (yyval.blk) = gen_both((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); @@ -2076,7 +2114,8 @@ yyreduce: break; case 18: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 255 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '+'); @@ -2084,7 +2123,8 @@ yyreduce: break; case 19: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 259 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '+'); @@ -2092,7 +2132,8 @@ yyreduce: break; case 20: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 263 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '-'); @@ -2100,7 +2141,8 @@ yyreduce: break; case 21: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 267 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '-'); @@ -2108,7 +2150,8 @@ yyreduce: break; case 22: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 271 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '*'); @@ -2116,7 +2159,8 @@ yyreduce: break; case 23: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 275 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '*'); @@ -2124,7 +2168,8 @@ yyreduce: break; case 24: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 279 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '/'); @@ -2132,7 +2177,8 @@ yyreduce: break; case 25: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 283 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '/'); @@ -2140,7 +2186,8 @@ yyreduce: break; case 26: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 287 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), EQ); @@ -2148,7 +2195,8 @@ yyreduce: break; case 27: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 291 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), NEQ); @@ -2156,7 +2204,8 @@ yyreduce: break; case 28: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 295 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '<'); @@ -2164,7 +2213,8 @@ yyreduce: break; case 29: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 299 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '>'); @@ -2172,7 +2222,8 @@ yyreduce: break; case 30: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 303 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), LESSEQ); @@ -2180,7 +2231,8 @@ yyreduce: break; case 31: -/* Line 1787 of yacc.c */ + +/* Line 1806 of yacc.c */ #line 307 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), GREATEREQ); @@ -2188,32 +2240,27 @@ yyreduce: break; case 32: -/* Line 1787 of yacc.c */ -#line 311 "parser.y" - { - (yyval.blk) = (yyvsp[(1) - (1)].blk); -} - break; - case 33: -/* Line 1787 of yacc.c */ -#line 315 "parser.y" +/* Line 1806 of yacc.c */ +#line 311 "parser.y" { (yyval.blk) = (yyvsp[(1) - (1)].blk); } break; - case 34: -/* Line 1787 of yacc.c */ -#line 320 "parser.y" + case 33: + +/* Line 1806 of yacc.c */ +#line 316 "parser.y" { (yyval.blk) = (yyvsp[(2) - (3)].blk); } break; - case 35: -/* Line 1787 of yacc.c */ -#line 325 "parser.y" + case 34: + +/* Line 1806 of yacc.c */ +#line 321 "parser.y" { block body = block_join((yyvsp[(4) - (5)].blk), gen_op_simple(RET)); (yyval.blk) = gen_op_block_defn_rec(CLOSURE_CREATE, jv_string_value((yyvsp[(2) - (5)].literal)), body); @@ -2221,9 +2268,10 @@ yyreduce: } break; - case 36: -/* Line 1787 of yacc.c */ -#line 331 "parser.y" + case 35: + +/* Line 1806 of yacc.c */ +#line 327 "parser.y" { block body = block_bind(gen_op_block_unbound(CLOSURE_PARAM, jv_string_value((yyvsp[(4) - (8)].literal))), block_join((yyvsp[(7) - (8)].blk), gen_op_simple(RET)), OP_IS_CALL_PSEUDO); (yyval.blk) = gen_op_block_defn_rec(CLOSURE_CREATE, jv_string_value((yyvsp[(2) - (8)].literal)), body); @@ -2232,137 +2280,163 @@ yyreduce: } break; - case 37: -/* Line 1787 of yacc.c */ -#line 339 "parser.y" + case 36: + +/* Line 1806 of yacc.c */ +#line 335 "parser.y" { (yyval.blk) = gen_op_const(LOADK, jv_string("")); } break; - case 38: -/* Line 1787 of yacc.c */ -#line 342 "parser.y" + case 37: + +/* Line 1806 of yacc.c */ +#line 338 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (2)].blk), gen_op_const(LOADK, (yyvsp[(2) - (2)].literal)), '+'); } break; - case 39: -/* Line 1787 of yacc.c */ -#line 345 "parser.y" + case 38: + +/* Line 1806 of yacc.c */ +#line 341 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (4)].blk), gen_format((yyvsp[(3) - (4)].blk)), '+'); } break; - case 40: -/* Line 1787 of yacc.c */ -#line 351 "parser.y" + case 39: + +/* Line 1806 of yacc.c */ +#line 347 "parser.y" { (yyval.blk) = gen_cond((yyvsp[(2) - (5)].blk), (yyvsp[(4) - (5)].blk), (yyvsp[(5) - (5)].blk)); } break; - case 41: -/* Line 1787 of yacc.c */ -#line 354 "parser.y" + case 40: + +/* Line 1806 of yacc.c */ +#line 350 "parser.y" { (yyval.blk) = (yyvsp[(2) - (3)].blk); } break; - case 42: -/* Line 1787 of yacc.c */ -#line 359 "parser.y" + case 41: + +/* Line 1806 of yacc.c */ +#line 355 "parser.y" { (yyval.blk) = block_join((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; - case 43: -/* Line 1787 of yacc.c */ -#line 363 "parser.y" + case 42: + +/* Line 1806 of yacc.c */ +#line 359 "parser.y" { (yyval.blk) = (yyvsp[(1) - (1)].blk); } break; - case 44: -/* Line 1787 of yacc.c */ -#line 369 "parser.y" + case 43: + +/* Line 1806 of yacc.c */ +#line 365 "parser.y" { (yyval.blk) = gen_noop(); } break; - case 45: -/* Line 1787 of yacc.c */ -#line 372 "parser.y" + case 44: + +/* Line 1806 of yacc.c */ +#line 368 "parser.y" { (yyval.blk) = gen_index((yyvsp[(1) - (3)].blk), gen_op_const(LOADK, (yyvsp[(3) - (3)].literal))); } break; - case 46: -/* Line 1787 of yacc.c */ -#line 375 "parser.y" + case 45: + +/* Line 1806 of yacc.c */ +#line 371 "parser.y" { (yyval.blk) = gen_index(gen_noop(), gen_op_const(LOADK, (yyvsp[(2) - (2)].literal))); } break; - case 47: -/* Line 1787 of yacc.c */ -#line 379 "parser.y" + case 46: + +/* Line 1806 of yacc.c */ +#line 375 "parser.y" { (yyval.blk) = gen_index((yyvsp[(1) - (4)].blk), (yyvsp[(3) - (4)].blk)); } break; - case 48: -/* Line 1787 of yacc.c */ -#line 382 "parser.y" + case 47: + +/* Line 1806 of yacc.c */ +#line 378 "parser.y" { (yyval.blk) = block_join((yyvsp[(1) - (3)].blk), gen_op_simple(EACH)); } break; - case 49: -/* Line 1787 of yacc.c */ -#line 385 "parser.y" + case 48: + +/* Line 1806 of yacc.c */ +#line 381 "parser.y" { (yyval.blk) = gen_op_const(LOADK, (yyvsp[(1) - (1)].literal)); } break; + case 49: + +/* Line 1806 of yacc.c */ +#line 384 "parser.y" + { + (yyval.blk) = (yyvsp[(1) - (1)].blk); +} + break; + case 50: -/* Line 1787 of yacc.c */ -#line 388 "parser.y" + +/* Line 1806 of yacc.c */ +#line 387 "parser.y" { (yyval.blk) = (yyvsp[(2) - (3)].blk); } break; case 51: -/* Line 1787 of yacc.c */ -#line 391 "parser.y" + +/* Line 1806 of yacc.c */ +#line 390 "parser.y" { (yyval.blk) = gen_collect((yyvsp[(2) - (3)].blk)); } break; case 52: -/* Line 1787 of yacc.c */ -#line 394 "parser.y" + +/* Line 1806 of yacc.c */ +#line 393 "parser.y" { (yyval.blk) = gen_op_const(LOADK, jv_array()); } break; case 53: -/* Line 1787 of yacc.c */ -#line 397 "parser.y" + +/* Line 1806 of yacc.c */ +#line 396 "parser.y" { (yyval.blk) = gen_subexp(gen_op_const(LOADK, jv_object())); block_append(&(yyval.blk), (yyvsp[(2) - (3)].blk)); @@ -2371,8 +2445,9 @@ yyreduce: break; case 54: -/* Line 1787 of yacc.c */ -#line 402 "parser.y" + +/* Line 1806 of yacc.c */ +#line 401 "parser.y" { (yyval.blk) = gen_location((yyloc), gen_op_var_unbound(LOADV, jv_string_value((yyvsp[(2) - (2)].literal)))); jv_free((yyvsp[(2) - (2)].literal)); @@ -2380,8 +2455,9 @@ yyreduce: break; case 55: -/* Line 1787 of yacc.c */ -#line 406 "parser.y" + +/* Line 1806 of yacc.c */ +#line 405 "parser.y" { (yyval.blk) = gen_location((yyloc), gen_op_call(CALL_1_1, gen_op_block_unbound(CLOSURE_REF, jv_string_value((yyvsp[(1) - (1)].literal))))); jv_free((yyvsp[(1) - (1)].literal)); @@ -2389,8 +2465,9 @@ yyreduce: break; case 56: -/* Line 1787 of yacc.c */ -#line 410 "parser.y" + +/* Line 1806 of yacc.c */ +#line 409 "parser.y" { (yyval.blk) = gen_op_call(CALL_1_1, block_join(gen_op_block_unbound(CLOSURE_REF, jv_string_value((yyvsp[(1) - (4)].literal))), @@ -2404,74 +2481,85 @@ yyreduce: break; case 57: -/* Line 1787 of yacc.c */ -#line 420 "parser.y" + +/* Line 1806 of yacc.c */ +#line 419 "parser.y" { (yyval.blk) = gen_noop(); } break; case 58: -/* Line 1787 of yacc.c */ -#line 421 "parser.y" + +/* Line 1806 of yacc.c */ +#line 420 "parser.y" { (yyval.blk) = gen_noop(); } break; case 59: -/* Line 1787 of yacc.c */ -#line 422 "parser.y" + +/* Line 1806 of yacc.c */ +#line 421 "parser.y" { (yyval.blk) = (yyvsp[(1) - (4)].blk); } break; case 60: -/* Line 1787 of yacc.c */ -#line 423 "parser.y" + +/* Line 1806 of yacc.c */ +#line 422 "parser.y" { (yyval.blk) = gen_noop(); } break; case 61: -/* Line 1787 of yacc.c */ -#line 426 "parser.y" + +/* Line 1806 of yacc.c */ +#line 425 "parser.y" { (yyval.blk)=gen_noop(); } break; case 62: -/* Line 1787 of yacc.c */ -#line 429 "parser.y" + +/* Line 1806 of yacc.c */ +#line 428 "parser.y" { (yyval.blk) = (yyvsp[(1) - (1)].blk); } break; case 63: -/* Line 1787 of yacc.c */ -#line 430 "parser.y" + +/* Line 1806 of yacc.c */ +#line 429 "parser.y" { (yyval.blk)=block_join((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; case 64: -/* Line 1787 of yacc.c */ -#line 431 "parser.y" + +/* Line 1806 of yacc.c */ +#line 430 "parser.y" { (yyval.blk) = (yyvsp[(3) - (3)].blk); } break; case 65: -/* Line 1787 of yacc.c */ -#line 434 "parser.y" + +/* Line 1806 of yacc.c */ +#line 433 "parser.y" { (yyval.blk) = gen_dictpair(gen_op_const(LOADK, (yyvsp[(1) - (3)].literal)), (yyvsp[(3) - (3)].blk)); } break; case 66: -/* Line 1787 of yacc.c */ -#line 437 "parser.y" + +/* Line 1806 of yacc.c */ +#line 436 "parser.y" { (yyval.blk) = gen_dictpair((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; case 67: -/* Line 1787 of yacc.c */ -#line 440 "parser.y" + +/* Line 1806 of yacc.c */ +#line 439 "parser.y" { (yyval.blk) = gen_dictpair(gen_op_const(LOADK, jv_copy((yyvsp[(1) - (1)].literal))), gen_index(gen_noop(), gen_op_const(LOADK, (yyvsp[(1) - (1)].literal)))); @@ -2479,22 +2567,25 @@ yyreduce: break; case 68: -/* Line 1787 of yacc.c */ -#line 444 "parser.y" + +/* Line 1806 of yacc.c */ +#line 443 "parser.y" { (yyval.blk) = gen_dictpair((yyvsp[(2) - (5)].blk), (yyvsp[(5) - (5)].blk)); } break; case 69: -/* Line 1787 of yacc.c */ -#line 447 "parser.y" + +/* Line 1806 of yacc.c */ +#line 446 "parser.y" { (yyval.blk) = (yyvsp[(5) - (5)].blk); } break; -/* Line 1787 of yacc.c */ -#line 2498 "parser.gen.c" + +/* Line 1806 of yacc.c */ +#line 2589 "parser.gen.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -2688,7 +2779,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#if !defined yyoverflow || YYERROR_VERBOSE +#if !defined(yyoverflow) || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -2730,8 +2821,9 @@ yyreturn: } -/* Line 2048 of yacc.c */ -#line 448 "parser.y" + +/* Line 2067 of yacc.c */ +#line 447 "parser.y" int jq_parse(struct locfile* locations, block* answer) { @@ -2760,3 +2852,4 @@ int jq_parse_library(struct locfile* locations, block* answer) { } return 0; } + diff --git a/parser.gen.h b/parser.gen.h index 0e5c8007..f5471c26 100644 --- a/parser.gen.h +++ b/parser.gen.h @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 2.6.2. */ +/* A Bison parser, made by GNU Bison 2.5. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2011 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 @@ -30,17 +30,9 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -#ifndef YY_PARSER_GEN_H -# define YY_PARSER_GEN_H -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif -#if YYDEBUG -extern int yydebug; -#endif /* "%code requires" blocks. */ -/* Line 2049 of yacc.c */ + +/* Line 2068 of yacc.c */ #line 9 "parser.y" #include "locfile.h" @@ -57,8 +49,9 @@ extern int yydebug; } while (0) -/* Line 2049 of yacc.c */ -#line 62 "parser.gen.h" + +/* Line 2068 of yacc.c */ +#line 55 "parser.gen.h" /* Tokens. */ #ifndef YYTOKENTYPE @@ -98,24 +91,29 @@ extern int yydebug; #endif + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { -/* Line 2049 of yacc.c */ + +/* Line 2068 of yacc.c */ #line 27 "parser.y" jv literal; block blk; -/* Line 2049 of yacc.c */ -#line 113 "parser.gen.h" + +/* Line 2068 of yacc.c */ +#line 109 "parser.gen.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif + + #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED typedef struct YYLTYPE { @@ -130,18 +128,4 @@ typedef struct YYLTYPE #endif -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (block* answer, int* errors, struct locfile* locations, struct lexer_param* lexer_param_ptr); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ -#endif /* !YY_PARSER_GEN_H */ diff --git a/parser.gen.info b/parser.gen.info index d2fb1fdf..4a90d13c 100644 --- a/parser.gen.info +++ b/parser.gen.info @@ -1,16 +1,16 @@ -Terminaux inutilisés dans la grammaire +Terminals unused in grammar INVALID_CHARACTER -Grammaire +Grammar 0 $accept: TopLevel $end 1 TopLevel: Exp 2 | FuncDefs - 3 FuncDefs: /* vide */ + 3 FuncDefs: /* empty */ 4 | FuncDef FuncDefs 5 Exp: FuncDef Exp @@ -39,30 +39,30 @@ Grammaire 28 | Exp '>' Exp 29 | Exp "<=" Exp 30 | Exp ">=" Exp - 31 | String - 32 | Term + 31 | Term - 33 String: QQSTRING_START QQString QQSTRING_END + 32 String: QQSTRING_START QQString QQSTRING_END - 34 FuncDef: "def" IDENT ':' Exp ';' - 35 | "def" IDENT '(' IDENT ')' ':' Exp ';' + 33 FuncDef: "def" IDENT ':' Exp ';' + 34 | "def" IDENT '(' IDENT ')' ':' Exp ';' - 36 QQString: /* vide */ - 37 | QQString QQSTRING_TEXT - 38 | QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END + 35 QQString: /* empty */ + 36 | QQString QQSTRING_TEXT + 37 | QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END - 39 ElseBody: "elif" Exp "then" Exp ElseBody - 40 | "else" Exp "end" + 38 ElseBody: "elif" Exp "then" Exp ElseBody + 39 | "else" Exp "end" - 41 ExpD: ExpD '|' ExpD - 42 | Term + 40 ExpD: ExpD '|' ExpD + 41 | Term - 43 Term: '.' - 44 | Term '.' IDENT - 45 | '.' IDENT - 46 | Term '[' Exp ']' - 47 | Term '[' ']' - 48 | LITERAL + 42 Term: '.' + 43 | Term '.' IDENT + 44 | '.' IDENT + 45 | Term '[' Exp ']' + 46 | Term '[' ']' + 47 | LITERAL + 48 | String 49 | '(' Exp ')' 50 | '[' Exp ']' 51 | '[' ']' @@ -75,7 +75,7 @@ Grammaire 58 | Term '[' error ']' 59 | '{' error '}' - 60 MkDict: /* vide */ + 60 MkDict: /* empty */ 61 | MkDictPair 62 | MkDictPair ',' MkDict 63 | error ',' MkDict @@ -87,42 +87,42 @@ Grammaire 68 | '(' error ')' ':' ExpD -Terminaux, suivis des règles où ils apparaissent +Terminals, with rules where they appear $end (0) 0 '$' (36) 6 53 -'(' (40) 35 49 55 56 67 68 -')' (41) 35 49 55 56 67 68 +'(' (40) 34 49 55 56 67 68 +')' (41) 34 49 55 56 67 68 '*' (42) 21 '+' (43) 17 ',' (44) 16 62 63 '-' (45) 19 -'.' (46) 43 44 45 +'.' (46) 42 43 44 '/' (47) 23 -':' (58) 34 35 64 65 67 68 -';' (59) 34 35 +':' (58) 33 34 64 65 67 68 +';' (59) 33 34 '<' (60) 27 '=' (61) 9 '>' (62) 28 -'[' (91) 46 47 50 51 57 58 -']' (93) 46 47 50 51 57 58 +'[' (91) 45 46 50 51 57 58 +']' (93) 45 46 50 51 57 58 '{' (123) 52 59 -'|' (124) 6 15 41 +'|' (124) 6 15 40 '}' (125) 52 59 error (256) 8 56 57 58 59 63 68 INVALID_CHARACTER (258) -IDENT (259) 6 34 35 44 45 53 54 55 64 66 -LITERAL (260) 48 +IDENT (259) 6 33 34 43 44 53 54 55 64 66 +LITERAL (260) 47 "==" (261) 25 "!=" (262) 26 "//" (263) 12 "as" (264) 6 -"def" (265) 34 35 +"def" (265) 33 34 "if" (266) 7 8 -"then" (267) 7 39 -"else" (268) 40 -"elif" (269) 39 -"end" (270) 40 +"then" (267) 7 38 +"else" (268) 39 +"elif" (269) 38 +"end" (270) 39 "and" (271) 11 "or" (272) 10 "|=" (273) 14 @@ -133,223 +133,223 @@ LITERAL (260) 48 "//=" (278) 13 "<=" (279) 29 ">=" (280) 30 -QQSTRING_START (281) 33 -QQSTRING_TEXT (282) 37 -QQSTRING_INTERP_START (283) 38 -QQSTRING_INTERP_END (284) 38 -QQSTRING_END (285) 33 +QQSTRING_START (281) 32 +QQSTRING_TEXT (282) 36 +QQSTRING_INTERP_START (283) 37 +QQSTRING_INTERP_END (284) 37 +QQSTRING_END (285) 32 -Non-terminaux, suivis des règles où ils apparaissent +Nonterminals, with rules where they appear $accept (50) - à gauche: 0 + on left: 0 TopLevel (51) - à gauche: 1 2, à droite: 0 + on left: 1 2, on right: 0 FuncDefs (52) - à gauche: 3 4, à droite: 2 4 + on left: 3 4, on right: 2 4 Exp (53) - à gauche: 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 - 24 25 26 27 28 29 30 31 32, à droite: 1 5 6 7 8 9 10 11 12 13 - 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 34 35 38 39 - 40 46 49 50 55 67 + on left: 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 + 25 26 27 28 29 30 31, on right: 1 5 6 7 8 9 10 11 12 13 14 15 16 + 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 34 37 38 39 45 49 + 50 55 67 String (54) - à gauche: 33, à droite: 31 65 + on left: 32, on right: 48 65 FuncDef (55) - à gauche: 34 35, à droite: 4 5 + on left: 33 34, on right: 4 5 QQString (56) - à gauche: 36 37 38, à droite: 33 37 38 + on left: 35 36 37, on right: 32 36 37 ElseBody (57) - à gauche: 39 40, à droite: 7 39 + on left: 38 39, on right: 7 38 ExpD (58) - à gauche: 41 42, à droite: 41 64 65 67 68 + on left: 40 41, on right: 40 64 65 67 68 Term (59) - à gauche: 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59, - à droite: 6 32 42 44 46 47 58 + on left: 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59, + on right: 6 31 41 43 45 46 58 MkDict (60) - à gauche: 60 61 62 63, à droite: 52 62 63 + on left: 60 61 62 63, on right: 52 62 63 MkDictPair (61) - à gauche: 64 65 66 67 68, à droite: 61 62 + on left: 64 65 66 67 68, on right: 61 62 -état 0 +state 0 0 $accept: . TopLevel $end - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - $défaut réduction par utilisation de la règle 3 (FuncDefs) + $default reduce using rule 3 (FuncDefs) - TopLevel aller à l'état 11 - FuncDefs aller à l'état 12 - Exp aller à l'état 13 - String aller à l'état 14 - FuncDef aller à l'état 15 - Term aller à l'état 16 + TopLevel go to state 11 + FuncDefs go to state 12 + Exp go to state 13 + String go to state 14 + FuncDef go to state 15 + Term go to state 16 -état 1 +state 1 54 Term: IDENT . 55 | IDENT . '(' Exp ')' - '(' décalage et aller à l'état 17 + '(' shift, and go to state 17 - $défaut réduction par utilisation de la règle 54 (Term) + $default reduce using rule 54 (Term) -état 2 +state 2 - 48 Term: LITERAL . + 47 Term: LITERAL . - $défaut réduction par utilisation de la règle 48 (Term) + $default reduce using rule 47 (Term) -état 3 +state 3 - 34 FuncDef: "def" . IDENT ':' Exp ';' - 35 | "def" . IDENT '(' IDENT ')' ':' Exp ';' + 33 FuncDef: "def" . IDENT ':' Exp ';' + 34 | "def" . IDENT '(' IDENT ')' ':' Exp ';' - IDENT décalage et aller à l'état 18 + IDENT shift, and go to state 18 -état 4 +state 4 7 Exp: "if" . Exp "then" Exp ElseBody 8 | "if" . Exp error - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 19 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 19 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 5 +state 5 - 33 String: QQSTRING_START . QQString QQSTRING_END + 32 String: QQSTRING_START . QQString QQSTRING_END - $défaut réduction par utilisation de la règle 36 (QQString) + $default reduce using rule 35 (QQString) - QQString aller à l'état 21 + QQString go to state 21 -état 6 +state 6 53 Term: '$' . IDENT - IDENT décalage et aller à l'état 22 + IDENT shift, and go to state 22 -état 7 +state 7 49 Term: '(' . Exp ')' 56 | '(' . error ')' - error décalage et aller à l'état 23 - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + error shift, and go to state 23 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 24 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 24 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 8 +state 8 - 43 Term: '.' . - 45 | '.' . IDENT + 42 Term: '.' . + 44 | '.' . IDENT - IDENT décalage et aller à l'état 25 + IDENT shift, and go to state 25 - $défaut réduction par utilisation de la règle 43 (Term) + $default reduce using rule 42 (Term) -état 9 +state 9 50 Term: '[' . Exp ']' 51 | '[' . ']' 57 | '[' . error ']' - error décalage et aller à l'état 26 - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - ']' décalage et aller à l'état 27 - '{' décalage et aller à l'état 10 + error shift, and go to state 26 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + ']' shift, and go to state 27 + '{' shift, and go to state 10 - Exp aller à l'état 28 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 28 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 10 +state 10 52 Term: '{' . MkDict '}' 59 | '{' . error '}' - error décalage et aller à l'état 29 - IDENT décalage et aller à l'état 30 - QQSTRING_START décalage et aller à l'état 5 - '(' décalage et aller à l'état 31 + error shift, and go to state 29 + IDENT shift, and go to state 30 + QQSTRING_START shift, and go to state 5 + '(' shift, and go to state 31 - '}' réduction par utilisation de la règle 60 (MkDict) + '}' reduce using rule 60 (MkDict) - String aller à l'état 32 - MkDict aller à l'état 33 - MkDictPair aller à l'état 34 + String go to state 32 + MkDict go to state 33 + MkDictPair go to state 34 -état 11 +state 11 0 $accept: TopLevel . $end - $end décalage et aller à l'état 35 + $end shift, and go to state 35 -état 12 +state 12 2 TopLevel: FuncDefs . - $défaut réduction par utilisation de la règle 2 (TopLevel) + $default reduce using rule 2 (TopLevel) -état 13 +state 13 1 TopLevel: Exp . 9 Exp: Exp . '=' Exp @@ -375,111 +375,111 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 1 (TopLevel) + $default reduce using rule 1 (TopLevel) -état 14 +state 14 - 31 Exp: String . + 48 Term: String . - $défaut réduction par utilisation de la règle 31 (Exp) + $default reduce using rule 48 (Term) -état 15 +state 15 4 FuncDefs: FuncDef . FuncDefs 5 Exp: FuncDef . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - $défaut réduction par utilisation de la règle 3 (FuncDefs) + $default reduce using rule 3 (FuncDefs) - FuncDefs aller à l'état 58 - Exp aller à l'état 59 - String aller à l'état 14 - FuncDef aller à l'état 15 - Term aller à l'état 16 + FuncDefs go to state 58 + Exp go to state 59 + String go to state 14 + FuncDef go to state 15 + Term go to state 16 -état 16 +state 16 6 Exp: Term . "as" '$' IDENT '|' Exp - 32 | Term . - 44 Term: Term . '.' IDENT - 46 | Term . '[' Exp ']' - 47 | Term . '[' ']' + 31 | Term . + 43 Term: Term . '.' IDENT + 45 | Term . '[' Exp ']' + 46 | Term . '[' ']' 58 | Term . '[' error ']' - "as" décalage et aller à l'état 60 - '.' décalage et aller à l'état 61 - '[' décalage et aller à l'état 62 + "as" shift, and go to state 60 + '.' shift, and go to state 61 + '[' shift, and go to state 62 - $défaut réduction par utilisation de la règle 32 (Exp) + $default reduce using rule 31 (Exp) -état 17 +state 17 55 Term: IDENT '(' . Exp ')' - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 63 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 63 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 18 +state 18 - 34 FuncDef: "def" IDENT . ':' Exp ';' - 35 | "def" IDENT . '(' IDENT ')' ':' Exp ';' + 33 FuncDef: "def" IDENT . ':' Exp ';' + 34 | "def" IDENT . '(' IDENT ')' ':' Exp ';' - ':' décalage et aller à l'état 64 - '(' décalage et aller à l'état 65 + ':' shift, and go to state 64 + '(' shift, and go to state 65 -état 19 +state 19 7 Exp: "if" Exp . "then" Exp ElseBody 8 | "if" Exp . error @@ -506,79 +506,79 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - error décalage et aller à l'état 66 - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "then" décalage et aller à l'état 67 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + error shift, and go to state 66 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "then" shift, and go to state 67 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 -état 20 +state 20 5 Exp: FuncDef . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 59 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 59 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 21 +state 21 - 33 String: QQSTRING_START QQString . QQSTRING_END - 37 QQString: QQString . QQSTRING_TEXT - 38 | QQString . QQSTRING_INTERP_START Exp QQSTRING_INTERP_END + 32 String: QQSTRING_START QQString . QQSTRING_END + 36 QQString: QQString . QQSTRING_TEXT + 37 | QQString . QQSTRING_INTERP_START Exp QQSTRING_INTERP_END - QQSTRING_TEXT décalage et aller à l'état 68 - QQSTRING_INTERP_START décalage et aller à l'état 69 - QQSTRING_END décalage et aller à l'état 70 + QQSTRING_TEXT shift, and go to state 68 + QQSTRING_INTERP_START shift, and go to state 69 + QQSTRING_END shift, and go to state 70 -état 22 +state 22 53 Term: '$' IDENT . - $défaut réduction par utilisation de la règle 53 (Term) + $default reduce using rule 53 (Term) -état 23 +state 23 56 Term: '(' error . ')' - ')' décalage et aller à l'état 71 + ')' shift, and go to state 71 -état 24 +state 24 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -604,53 +604,53 @@ MkDictPair (61) 30 | Exp . ">=" Exp 49 Term: '(' Exp . ')' - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 - ')' décalage et aller à l'état 72 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 + ')' shift, and go to state 72 -état 25 +state 25 - 45 Term: '.' IDENT . + 44 Term: '.' IDENT . - $défaut réduction par utilisation de la règle 45 (Term) + $default reduce using rule 44 (Term) -état 26 +state 26 57 Term: '[' error . ']' - ']' décalage et aller à l'état 73 + ']' shift, and go to state 73 -état 27 +state 27 51 Term: '[' ']' . - $défaut réduction par utilisation de la règle 51 (Term) + $default reduce using rule 51 (Term) -état 28 +state 28 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -676,574 +676,574 @@ MkDictPair (61) 30 | Exp . ">=" Exp 50 Term: '[' Exp . ']' - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 - ']' décalage et aller à l'état 74 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 + ']' shift, and go to state 74 -état 29 +state 29 59 Term: '{' error . '}' 63 MkDict: error . ',' MkDict - ',' décalage et aller à l'état 75 - '}' décalage et aller à l'état 76 + ',' shift, and go to state 75 + '}' shift, and go to state 76 -état 30 +state 30 64 MkDictPair: IDENT . ':' ExpD 66 | IDENT . - ':' décalage et aller à l'état 77 + ':' shift, and go to state 77 - $défaut réduction par utilisation de la règle 66 (MkDictPair) + $default reduce using rule 66 (MkDictPair) -état 31 +state 31 67 MkDictPair: '(' . Exp ')' ':' ExpD 68 | '(' . error ')' ':' ExpD - error décalage et aller à l'état 78 - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + error shift, and go to state 78 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 79 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 79 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 32 +state 32 65 MkDictPair: String . ':' ExpD - ':' décalage et aller à l'état 80 + ':' shift, and go to state 80 -état 33 +state 33 52 Term: '{' MkDict . '}' - '}' décalage et aller à l'état 81 + '}' shift, and go to state 81 -état 34 +state 34 61 MkDict: MkDictPair . 62 | MkDictPair . ',' MkDict - ',' décalage et aller à l'état 82 + ',' shift, and go to state 82 - $défaut réduction par utilisation de la règle 61 (MkDict) + $default reduce using rule 61 (MkDict) -état 35 +state 35 0 $accept: TopLevel $end . - $défaut accepter + $default accept -état 36 +state 36 25 Exp: Exp "==" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 83 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 83 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 37 +state 37 26 Exp: Exp "!=" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 84 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 84 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 38 +state 38 12 Exp: Exp "//" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 85 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 85 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 39 +state 39 11 Exp: Exp "and" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 86 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 86 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 40 +state 40 10 Exp: Exp "or" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 87 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 87 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 41 +state 41 14 Exp: Exp "|=" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 88 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 88 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 42 +state 42 18 Exp: Exp "+=" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 89 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 89 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 43 +state 43 20 Exp: Exp "-=" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 90 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 90 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 44 +state 44 22 Exp: Exp "*=" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 91 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 91 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 45 +state 45 24 Exp: Exp "/=" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 92 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 92 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 46 +state 46 13 Exp: Exp "//=" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 93 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 93 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 47 +state 47 29 Exp: Exp "<=" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 94 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 94 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 48 +state 48 30 Exp: Exp ">=" . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 95 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 95 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 49 +state 49 15 Exp: Exp '|' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 96 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 96 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 50 +state 50 16 Exp: Exp ',' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 97 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 97 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 51 +state 51 9 Exp: Exp '=' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 98 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 98 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 52 +state 52 27 Exp: Exp '<' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 99 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 99 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 53 +state 53 28 Exp: Exp '>' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 100 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 100 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 54 +state 54 17 Exp: Exp '+' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 101 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 101 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 55 +state 55 19 Exp: Exp '-' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 102 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 102 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 56 +state 56 21 Exp: Exp '*' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 103 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 103 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 57 +state 57 23 Exp: Exp '/' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 104 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 104 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 58 +state 58 4 FuncDefs: FuncDef FuncDefs . - $défaut réduction par utilisation de la règle 4 (FuncDefs) + $default reduce using rule 4 (FuncDefs) -état 59 +state 59 5 Exp: FuncDef Exp . 9 | Exp . '=' Exp @@ -1269,72 +1269,72 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 5 (Exp) + $default reduce using rule 5 (Exp) -état 60 +state 60 6 Exp: Term "as" . '$' IDENT '|' Exp - '$' décalage et aller à l'état 105 + '$' shift, and go to state 105 -état 61 +state 61 - 44 Term: Term '.' . IDENT + 43 Term: Term '.' . IDENT - IDENT décalage et aller à l'état 106 + IDENT shift, and go to state 106 -état 62 +state 62 - 46 Term: Term '[' . Exp ']' - 47 | Term '[' . ']' + 45 Term: Term '[' . Exp ']' + 46 | Term '[' . ']' 58 | Term '[' . error ']' - error décalage et aller à l'état 107 - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - ']' décalage et aller à l'état 108 - '{' décalage et aller à l'état 10 + error shift, and go to state 107 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + ']' shift, and go to state 108 + '{' shift, and go to state 10 - Exp aller à l'état 109 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 109 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 63 +state 63 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1360,197 +1360,199 @@ MkDictPair (61) 30 | Exp . ">=" Exp 55 Term: IDENT '(' Exp . ')' - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 - ')' décalage et aller à l'état 110 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 + ')' shift, and go to state 110 -état 64 +state 64 - 34 FuncDef: "def" IDENT ':' . Exp ';' + 33 FuncDef: "def" IDENT ':' . Exp ';' - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 111 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 111 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 65 +state 65 - 35 FuncDef: "def" IDENT '(' . IDENT ')' ':' Exp ';' + 34 FuncDef: "def" IDENT '(' . IDENT ')' ':' Exp ';' - IDENT décalage et aller à l'état 112 + IDENT shift, and go to state 112 -état 66 +state 66 8 Exp: "if" Exp error . - $défaut réduction par utilisation de la règle 8 (Exp) + $default reduce using rule 8 (Exp) -état 67 +state 67 7 Exp: "if" Exp "then" . Exp ElseBody - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 113 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 113 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 68 +state 68 - 37 QQString: QQString QQSTRING_TEXT . + 36 QQString: QQString QQSTRING_TEXT . - $défaut réduction par utilisation de la règle 37 (QQString) + $default reduce using rule 36 (QQString) -état 69 +state 69 - 38 QQString: QQString QQSTRING_INTERP_START . Exp QQSTRING_INTERP_END + 37 QQString: QQString QQSTRING_INTERP_START . Exp QQSTRING_INTERP_END - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 114 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 114 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 70 +state 70 - 33 String: QQSTRING_START QQString QQSTRING_END . + 32 String: QQSTRING_START QQString QQSTRING_END . - $défaut réduction par utilisation de la règle 33 (String) + $default reduce using rule 32 (String) -état 71 +state 71 56 Term: '(' error ')' . - $défaut réduction par utilisation de la règle 56 (Term) + $default reduce using rule 56 (Term) -état 72 +state 72 49 Term: '(' Exp ')' . - $défaut réduction par utilisation de la règle 49 (Term) + $default reduce using rule 49 (Term) -état 73 +state 73 57 Term: '[' error ']' . - $défaut réduction par utilisation de la règle 57 (Term) + $default reduce using rule 57 (Term) -état 74 +state 74 50 Term: '[' Exp ']' . - $défaut réduction par utilisation de la règle 50 (Term) + $default reduce using rule 50 (Term) -état 75 +state 75 63 MkDict: error ',' . MkDict - error décalage et aller à l'état 115 - IDENT décalage et aller à l'état 30 - QQSTRING_START décalage et aller à l'état 5 - '(' décalage et aller à l'état 31 + error shift, and go to state 115 + IDENT shift, and go to state 30 + QQSTRING_START shift, and go to state 5 + '(' shift, and go to state 31 - '}' réduction par utilisation de la règle 60 (MkDict) + '}' reduce using rule 60 (MkDict) - String aller à l'état 32 - MkDict aller à l'état 116 - MkDictPair aller à l'état 34 + String go to state 32 + MkDict go to state 116 + MkDictPair go to state 34 -état 76 +state 76 59 Term: '{' error '}' . - $défaut réduction par utilisation de la règle 59 (Term) + $default reduce using rule 59 (Term) -état 77 +state 77 64 MkDictPair: IDENT ':' . ExpD - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - ExpD aller à l'état 117 - Term aller à l'état 118 + String go to state 14 + ExpD go to state 117 + Term go to state 118 -état 78 +state 78 68 MkDictPair: '(' error . ')' ':' ExpD - ')' décalage et aller à l'état 119 + ')' shift, and go to state 119 -état 79 +state 79 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1576,71 +1578,73 @@ MkDictPair (61) 30 | Exp . ">=" Exp 67 MkDictPair: '(' Exp . ')' ':' ExpD - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 - ')' décalage et aller à l'état 120 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 + ')' shift, and go to state 120 -état 80 +state 80 65 MkDictPair: String ':' . ExpD - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - ExpD aller à l'état 121 - Term aller à l'état 118 + String go to state 14 + ExpD go to state 121 + Term go to state 118 -état 81 +state 81 52 Term: '{' MkDict '}' . - $défaut réduction par utilisation de la règle 52 (Term) + $default reduce using rule 52 (Term) -état 82 +state 82 62 MkDict: MkDictPair ',' . MkDict - error décalage et aller à l'état 115 - IDENT décalage et aller à l'état 30 - QQSTRING_START décalage et aller à l'état 5 - '(' décalage et aller à l'état 31 + error shift, and go to state 115 + IDENT shift, and go to state 30 + QQSTRING_START shift, and go to state 5 + '(' shift, and go to state 31 - '}' réduction par utilisation de la règle 60 (MkDict) + '}' reduce using rule 60 (MkDict) - String aller à l'état 32 - MkDict aller à l'état 122 - MkDictPair aller à l'état 34 + String go to state 32 + MkDict go to state 122 + MkDictPair go to state 34 -état 83 +state 83 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1666,22 +1670,22 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "==" erreur (non-associative) - "!=" erreur (non-associative) - "<=" erreur (non-associative) - ">=" erreur (non-associative) - '<' erreur (non-associative) - '>' erreur (non-associative) + "==" error (nonassociative) + "!=" error (nonassociative) + "<=" error (nonassociative) + ">=" error (nonassociative) + '<' error (nonassociative) + '>' error (nonassociative) - $défaut réduction par utilisation de la règle 25 (Exp) + $default reduce using rule 25 (Exp) -état 84 +state 84 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1707,22 +1711,22 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "==" erreur (non-associative) - "!=" erreur (non-associative) - "<=" erreur (non-associative) - ">=" erreur (non-associative) - '<' erreur (non-associative) - '>' erreur (non-associative) + "==" error (nonassociative) + "!=" error (nonassociative) + "<=" error (nonassociative) + ">=" error (nonassociative) + '<' error (nonassociative) + '>' error (nonassociative) - $défaut réduction par utilisation de la règle 26 (Exp) + $default reduce using rule 26 (Exp) -état 85 +state 85 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1748,31 +1752,31 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 12 (Exp) + $default reduce using rule 12 (Exp) -état 86 +state 86 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1798,21 +1802,21 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 11 (Exp) + $default reduce using rule 11 (Exp) -état 87 +state 87 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1838,22 +1842,22 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "and" décalage et aller à l'état 39 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "and" shift, and go to state 39 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 10 (Exp) + $default reduce using rule 10 (Exp) -état 88 +state 88 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1879,31 +1883,31 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "|=" erreur (non-associative) - "+=" erreur (non-associative) - "-=" erreur (non-associative) - "*=" erreur (non-associative) - "/=" erreur (non-associative) - "//=" erreur (non-associative) - '=' erreur (non-associative) + "|=" error (nonassociative) + "+=" error (nonassociative) + "-=" error (nonassociative) + "*=" error (nonassociative) + "/=" error (nonassociative) + "//=" error (nonassociative) + '=' error (nonassociative) - $défaut réduction par utilisation de la règle 14 (Exp) + $default reduce using rule 14 (Exp) -état 89 +state 89 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1929,31 +1933,31 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "|=" erreur (non-associative) - "+=" erreur (non-associative) - "-=" erreur (non-associative) - "*=" erreur (non-associative) - "/=" erreur (non-associative) - "//=" erreur (non-associative) - '=' erreur (non-associative) + "|=" error (nonassociative) + "+=" error (nonassociative) + "-=" error (nonassociative) + "*=" error (nonassociative) + "/=" error (nonassociative) + "//=" error (nonassociative) + '=' error (nonassociative) - $défaut réduction par utilisation de la règle 18 (Exp) + $default reduce using rule 18 (Exp) -état 90 +state 90 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1979,31 +1983,31 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "|=" erreur (non-associative) - "+=" erreur (non-associative) - "-=" erreur (non-associative) - "*=" erreur (non-associative) - "/=" erreur (non-associative) - "//=" erreur (non-associative) - '=' erreur (non-associative) + "|=" error (nonassociative) + "+=" error (nonassociative) + "-=" error (nonassociative) + "*=" error (nonassociative) + "/=" error (nonassociative) + "//=" error (nonassociative) + '=' error (nonassociative) - $défaut réduction par utilisation de la règle 20 (Exp) + $default reduce using rule 20 (Exp) -état 91 +state 91 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2029,31 +2033,31 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "|=" erreur (non-associative) - "+=" erreur (non-associative) - "-=" erreur (non-associative) - "*=" erreur (non-associative) - "/=" erreur (non-associative) - "//=" erreur (non-associative) - '=' erreur (non-associative) + "|=" error (nonassociative) + "+=" error (nonassociative) + "-=" error (nonassociative) + "*=" error (nonassociative) + "/=" error (nonassociative) + "//=" error (nonassociative) + '=' error (nonassociative) - $défaut réduction par utilisation de la règle 22 (Exp) + $default reduce using rule 22 (Exp) -état 92 +state 92 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2079,31 +2083,31 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "|=" erreur (non-associative) - "+=" erreur (non-associative) - "-=" erreur (non-associative) - "*=" erreur (non-associative) - "/=" erreur (non-associative) - "//=" erreur (non-associative) - '=' erreur (non-associative) + "|=" error (nonassociative) + "+=" error (nonassociative) + "-=" error (nonassociative) + "*=" error (nonassociative) + "/=" error (nonassociative) + "//=" error (nonassociative) + '=' error (nonassociative) - $défaut réduction par utilisation de la règle 24 (Exp) + $default reduce using rule 24 (Exp) -état 93 +state 93 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2129,31 +2133,31 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "|=" erreur (non-associative) - "+=" erreur (non-associative) - "-=" erreur (non-associative) - "*=" erreur (non-associative) - "/=" erreur (non-associative) - "//=" erreur (non-associative) - '=' erreur (non-associative) + "|=" error (nonassociative) + "+=" error (nonassociative) + "-=" error (nonassociative) + "*=" error (nonassociative) + "/=" error (nonassociative) + "//=" error (nonassociative) + '=' error (nonassociative) - $défaut réduction par utilisation de la règle 13 (Exp) + $default reduce using rule 13 (Exp) -état 94 +state 94 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2179,22 +2183,22 @@ MkDictPair (61) 29 | Exp "<=" Exp . 30 | Exp . ">=" Exp - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "==" erreur (non-associative) - "!=" erreur (non-associative) - "<=" erreur (non-associative) - ">=" erreur (non-associative) - '<' erreur (non-associative) - '>' erreur (non-associative) + "==" error (nonassociative) + "!=" error (nonassociative) + "<=" error (nonassociative) + ">=" error (nonassociative) + '<' error (nonassociative) + '>' error (nonassociative) - $défaut réduction par utilisation de la règle 29 (Exp) + $default reduce using rule 29 (Exp) -état 95 +state 95 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2220,22 +2224,22 @@ MkDictPair (61) 30 | Exp . ">=" Exp 30 | Exp ">=" Exp . - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "==" erreur (non-associative) - "!=" erreur (non-associative) - "<=" erreur (non-associative) - ">=" erreur (non-associative) - '<' erreur (non-associative) - '>' erreur (non-associative) + "==" error (nonassociative) + "!=" error (nonassociative) + "<=" error (nonassociative) + ">=" error (nonassociative) + '<' error (nonassociative) + '>' error (nonassociative) - $défaut réduction par utilisation de la règle 30 (Exp) + $default reduce using rule 30 (Exp) -état 96 +state 96 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2261,32 +2265,32 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 15 (Exp) + $default reduce using rule 15 (Exp) -état 97 +state 97 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2312,31 +2316,31 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 16 (Exp) + $default reduce using rule 16 (Exp) -état 98 +state 98 9 Exp: Exp . '=' Exp 9 | Exp '=' Exp . @@ -2362,31 +2366,31 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "|=" erreur (non-associative) - "+=" erreur (non-associative) - "-=" erreur (non-associative) - "*=" erreur (non-associative) - "/=" erreur (non-associative) - "//=" erreur (non-associative) - '=' erreur (non-associative) + "|=" error (nonassociative) + "+=" error (nonassociative) + "-=" error (nonassociative) + "*=" error (nonassociative) + "/=" error (nonassociative) + "//=" error (nonassociative) + '=' error (nonassociative) - $défaut réduction par utilisation de la règle 9 (Exp) + $default reduce using rule 9 (Exp) -état 99 +state 99 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2412,22 +2416,22 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "==" erreur (non-associative) - "!=" erreur (non-associative) - "<=" erreur (non-associative) - ">=" erreur (non-associative) - '<' erreur (non-associative) - '>' erreur (non-associative) + "==" error (nonassociative) + "!=" error (nonassociative) + "<=" error (nonassociative) + ">=" error (nonassociative) + '<' error (nonassociative) + '>' error (nonassociative) - $défaut réduction par utilisation de la règle 27 (Exp) + $default reduce using rule 27 (Exp) -état 100 +state 100 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2453,22 +2457,22 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - "==" erreur (non-associative) - "!=" erreur (non-associative) - "<=" erreur (non-associative) - ">=" erreur (non-associative) - '<' erreur (non-associative) - '>' erreur (non-associative) + "==" error (nonassociative) + "!=" error (nonassociative) + "<=" error (nonassociative) + ">=" error (nonassociative) + '<' error (nonassociative) + '>' error (nonassociative) - $défaut réduction par utilisation de la règle 28 (Exp) + $default reduce using rule 28 (Exp) -état 101 +state 101 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2494,13 +2498,13 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 17 (Exp) + $default reduce using rule 17 (Exp) -état 102 +state 102 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2526,13 +2530,13 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 19 (Exp) + $default reduce using rule 19 (Exp) -état 103 +state 103 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2558,10 +2562,10 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - $défaut réduction par utilisation de la règle 21 (Exp) + $default reduce using rule 21 (Exp) -état 104 +state 104 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2587,38 +2591,38 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - $défaut réduction par utilisation de la règle 23 (Exp) + $default reduce using rule 23 (Exp) -état 105 +state 105 6 Exp: Term "as" '$' . IDENT '|' Exp - IDENT décalage et aller à l'état 123 + IDENT shift, and go to state 123 -état 106 +state 106 - 44 Term: Term '.' IDENT . + 43 Term: Term '.' IDENT . - $défaut réduction par utilisation de la règle 44 (Term) + $default reduce using rule 43 (Term) -état 107 +state 107 58 Term: Term '[' error . ']' - ']' décalage et aller à l'état 124 + ']' shift, and go to state 124 -état 108 +state 108 - 47 Term: Term '[' ']' . + 46 Term: Term '[' ']' . - $défaut réduction par utilisation de la règle 47 (Term) + $default reduce using rule 46 (Term) -état 109 +state 109 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2642,41 +2646,41 @@ MkDictPair (61) 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - 46 Term: Term '[' Exp . ']' + 45 Term: Term '[' Exp . ']' - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 - ']' décalage et aller à l'état 125 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 + ']' shift, and go to state 125 -état 110 +state 110 55 Term: IDENT '(' Exp ')' . - $défaut réduction par utilisation de la règle 55 (Term) + $default reduce using rule 55 (Term) -état 111 +state 111 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2700,41 +2704,41 @@ MkDictPair (61) 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - 34 FuncDef: "def" IDENT ':' Exp . ';' + 33 FuncDef: "def" IDENT ':' Exp . ';' - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - ';' décalage et aller à l'état 126 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + ';' shift, and go to state 126 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 -état 112 +state 112 - 35 FuncDef: "def" IDENT '(' IDENT . ')' ':' Exp ';' + 34 FuncDef: "def" IDENT '(' IDENT . ')' ':' Exp ';' - ')' décalage et aller à l'état 127 + ')' shift, and go to state 127 -état 113 +state 113 7 Exp: "if" Exp "then" Exp . ElseBody 9 | Exp . '=' Exp @@ -2760,35 +2764,35 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "else" décalage et aller à l'état 128 - "elif" décalage et aller à l'état 129 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "else" shift, and go to state 128 + "elif" shift, and go to state 129 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - ElseBody aller à l'état 130 + ElseBody go to state 130 -état 114 +state 114 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2812,284 +2816,290 @@ MkDictPair (61) 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - 38 QQString: QQString QQSTRING_INTERP_START Exp . QQSTRING_INTERP_END + 37 QQString: QQString QQSTRING_INTERP_START Exp . QQSTRING_INTERP_END - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - QQSTRING_INTERP_END décalage et aller à l'état 131 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + QQSTRING_INTERP_END shift, and go to state 131 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 -état 115 +state 115 63 MkDict: error . ',' MkDict - ',' décalage et aller à l'état 75 + ',' shift, and go to state 75 -état 116 +state 116 63 MkDict: error ',' MkDict . - $défaut réduction par utilisation de la règle 63 (MkDict) + $default reduce using rule 63 (MkDict) -état 117 +state 117 - 41 ExpD: ExpD . '|' ExpD + 40 ExpD: ExpD . '|' ExpD 64 MkDictPair: IDENT ':' ExpD . - '|' décalage et aller à l'état 132 + '|' shift, and go to state 132 - $défaut réduction par utilisation de la règle 64 (MkDictPair) + $default reduce using rule 64 (MkDictPair) -état 118 +state 118 - 42 ExpD: Term . - 44 Term: Term . '.' IDENT - 46 | Term . '[' Exp ']' - 47 | Term . '[' ']' + 41 ExpD: Term . + 43 Term: Term . '.' IDENT + 45 | Term . '[' Exp ']' + 46 | Term . '[' ']' 58 | Term . '[' error ']' - '.' décalage et aller à l'état 61 - '[' décalage et aller à l'état 62 + '.' shift, and go to state 61 + '[' shift, and go to state 62 - $défaut réduction par utilisation de la règle 42 (ExpD) + $default reduce using rule 41 (ExpD) -état 119 +state 119 68 MkDictPair: '(' error ')' . ':' ExpD - ':' décalage et aller à l'état 133 + ':' shift, and go to state 133 -état 120 +state 120 67 MkDictPair: '(' Exp ')' . ':' ExpD - ':' décalage et aller à l'état 134 + ':' shift, and go to state 134 -état 121 +state 121 - 41 ExpD: ExpD . '|' ExpD + 40 ExpD: ExpD . '|' ExpD 65 MkDictPair: String ':' ExpD . - '|' décalage et aller à l'état 132 + '|' shift, and go to state 132 - $défaut réduction par utilisation de la règle 65 (MkDictPair) + $default reduce using rule 65 (MkDictPair) -état 122 +state 122 62 MkDict: MkDictPair ',' MkDict . - $défaut réduction par utilisation de la règle 62 (MkDict) + $default reduce using rule 62 (MkDict) -état 123 +state 123 6 Exp: Term "as" '$' IDENT . '|' Exp - '|' décalage et aller à l'état 135 + '|' shift, and go to state 135 -état 124 +state 124 58 Term: Term '[' error ']' . - $défaut réduction par utilisation de la règle 58 (Term) + $default reduce using rule 58 (Term) -état 125 +state 125 - 46 Term: Term '[' Exp ']' . + 45 Term: Term '[' Exp ']' . - $défaut réduction par utilisation de la règle 46 (Term) + $default reduce using rule 45 (Term) -état 126 +state 126 - 34 FuncDef: "def" IDENT ':' Exp ';' . + 33 FuncDef: "def" IDENT ':' Exp ';' . - $défaut réduction par utilisation de la règle 34 (FuncDef) + $default reduce using rule 33 (FuncDef) -état 127 +state 127 - 35 FuncDef: "def" IDENT '(' IDENT ')' . ':' Exp ';' + 34 FuncDef: "def" IDENT '(' IDENT ')' . ':' Exp ';' - ':' décalage et aller à l'état 136 + ':' shift, and go to state 136 -état 128 +state 128 - 40 ElseBody: "else" . Exp "end" + 39 ElseBody: "else" . Exp "end" - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 137 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 137 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 129 +state 129 - 39 ElseBody: "elif" . Exp "then" Exp ElseBody + 38 ElseBody: "elif" . Exp "then" Exp ElseBody - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 138 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 138 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 130 +state 130 7 Exp: "if" Exp "then" Exp ElseBody . - $défaut réduction par utilisation de la règle 7 (Exp) + $default reduce using rule 7 (Exp) -état 131 +state 131 - 38 QQString: QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END . + 37 QQString: QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END . - $défaut réduction par utilisation de la règle 38 (QQString) + $default reduce using rule 37 (QQString) -état 132 +state 132 - 41 ExpD: ExpD '|' . ExpD + 40 ExpD: ExpD '|' . ExpD - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - ExpD aller à l'état 139 - Term aller à l'état 118 + String go to state 14 + ExpD go to state 139 + Term go to state 118 -état 133 +state 133 68 MkDictPair: '(' error ')' ':' . ExpD - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - ExpD aller à l'état 140 - Term aller à l'état 118 + String go to state 14 + ExpD go to state 140 + Term go to state 118 -état 134 +state 134 67 MkDictPair: '(' Exp ')' ':' . ExpD - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - ExpD aller à l'état 141 - Term aller à l'état 118 + String go to state 14 + ExpD go to state 141 + Term go to state 118 -état 135 +state 135 6 Exp: Term "as" '$' IDENT '|' . Exp - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 142 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 142 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 136 +state 136 - 35 FuncDef: "def" IDENT '(' IDENT ')' ':' . Exp ';' + 34 FuncDef: "def" IDENT '(' IDENT ')' ':' . Exp ';' - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 143 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 143 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 137 +state 137 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -3113,34 +3123,34 @@ MkDictPair (61) 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - 40 ElseBody: "else" Exp . "end" + 39 ElseBody: "else" Exp . "end" - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "end" décalage et aller à l'état 144 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "end" shift, and go to state 144 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 -état 138 +state 138 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -3164,62 +3174,62 @@ MkDictPair (61) 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - 39 ElseBody: "elif" Exp . "then" Exp ElseBody + 38 ElseBody: "elif" Exp . "then" Exp ElseBody - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "then" décalage et aller à l'état 145 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "then" shift, and go to state 145 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 -état 139 +state 139 - 41 ExpD: ExpD . '|' ExpD - 41 | ExpD '|' ExpD . + 40 ExpD: ExpD . '|' ExpD + 40 | ExpD '|' ExpD . - $défaut réduction par utilisation de la règle 41 (ExpD) + $default reduce using rule 40 (ExpD) -état 140 +state 140 - 41 ExpD: ExpD . '|' ExpD + 40 ExpD: ExpD . '|' ExpD 68 MkDictPair: '(' error ')' ':' ExpD . - '|' décalage et aller à l'état 132 + '|' shift, and go to state 132 - $défaut réduction par utilisation de la règle 68 (MkDictPair) + $default reduce using rule 68 (MkDictPair) -état 141 +state 141 - 41 ExpD: ExpD . '|' ExpD + 40 ExpD: ExpD . '|' ExpD 67 MkDictPair: '(' Exp ')' ':' ExpD . - '|' décalage et aller à l'état 132 + '|' shift, and go to state 132 - $défaut réduction par utilisation de la règle 67 (MkDictPair) + $default reduce using rule 67 (MkDictPair) -état 142 +state 142 6 Exp: Term "as" '$' IDENT '|' Exp . 9 | Exp . '=' Exp @@ -3245,32 +3255,32 @@ MkDictPair (61) 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - $défaut réduction par utilisation de la règle 6 (Exp) + $default reduce using rule 6 (Exp) -état 143 +state 143 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -3294,69 +3304,69 @@ MkDictPair (61) 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - 35 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp . ';' + 34 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp . ';' - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - ';' décalage et aller à l'état 146 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + ';' shift, and go to state 146 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 -état 144 +state 144 - 40 ElseBody: "else" Exp "end" . + 39 ElseBody: "else" Exp "end" . - $défaut réduction par utilisation de la règle 40 (ElseBody) + $default reduce using rule 39 (ElseBody) -état 145 +state 145 - 39 ElseBody: "elif" Exp "then" . Exp ElseBody + 38 ElseBody: "elif" Exp "then" . Exp ElseBody - IDENT décalage et aller à l'état 1 - LITERAL décalage et aller à l'état 2 - "def" décalage et aller à l'état 3 - "if" décalage et aller à l'état 4 - QQSTRING_START décalage et aller à l'état 5 - '$' décalage et aller à l'état 6 - '(' décalage et aller à l'état 7 - '.' décalage et aller à l'état 8 - '[' décalage et aller à l'état 9 - '{' décalage et aller à l'état 10 + IDENT shift, and go to state 1 + LITERAL shift, and go to state 2 + "def" shift, and go to state 3 + "if" shift, and go to state 4 + QQSTRING_START shift, and go to state 5 + '$' shift, and go to state 6 + '(' shift, and go to state 7 + '.' shift, and go to state 8 + '[' shift, and go to state 9 + '{' shift, and go to state 10 - Exp aller à l'état 147 - String aller à l'état 14 - FuncDef aller à l'état 20 - Term aller à l'état 16 + Exp go to state 147 + String go to state 14 + FuncDef go to state 20 + Term go to state 16 -état 146 +state 146 - 35 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp ';' . + 34 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp ';' . - $défaut réduction par utilisation de la règle 35 (FuncDef) + $default reduce using rule 34 (FuncDef) -état 147 +state 147 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -3380,38 +3390,38 @@ MkDictPair (61) 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp - 39 ElseBody: "elif" Exp "then" Exp . ElseBody + 38 ElseBody: "elif" Exp "then" Exp . ElseBody - "==" décalage et aller à l'état 36 - "!=" décalage et aller à l'état 37 - "//" décalage et aller à l'état 38 - "else" décalage et aller à l'état 128 - "elif" décalage et aller à l'état 129 - "and" décalage et aller à l'état 39 - "or" décalage et aller à l'état 40 - "|=" décalage et aller à l'état 41 - "+=" décalage et aller à l'état 42 - "-=" décalage et aller à l'état 43 - "*=" décalage et aller à l'état 44 - "/=" décalage et aller à l'état 45 - "//=" décalage et aller à l'état 46 - "<=" décalage et aller à l'état 47 - ">=" décalage et aller à l'état 48 - '|' décalage et aller à l'état 49 - ',' décalage et aller à l'état 50 - '=' décalage et aller à l'état 51 - '<' décalage et aller à l'état 52 - '>' décalage et aller à l'état 53 - '+' décalage et aller à l'état 54 - '-' décalage et aller à l'état 55 - '*' décalage et aller à l'état 56 - '/' décalage et aller à l'état 57 + "==" shift, and go to state 36 + "!=" shift, and go to state 37 + "//" shift, and go to state 38 + "else" shift, and go to state 128 + "elif" shift, and go to state 129 + "and" shift, and go to state 39 + "or" shift, and go to state 40 + "|=" shift, and go to state 41 + "+=" shift, and go to state 42 + "-=" shift, and go to state 43 + "*=" shift, and go to state 44 + "/=" shift, and go to state 45 + "//=" shift, and go to state 46 + "<=" shift, and go to state 47 + ">=" shift, and go to state 48 + '|' shift, and go to state 49 + ',' shift, and go to state 50 + '=' shift, and go to state 51 + '<' shift, and go to state 52 + '>' shift, and go to state 53 + '+' shift, and go to state 54 + '-' shift, and go to state 55 + '*' shift, and go to state 56 + '/' shift, and go to state 57 - ElseBody aller à l'état 148 + ElseBody go to state 148 -état 148 +state 148 - 39 ElseBody: "elif" Exp "then" Exp ElseBody . + 38 ElseBody: "elif" Exp "then" Exp ElseBody . - $défaut réduction par utilisation de la règle 39 (ElseBody) + $default reduce using rule 38 (ElseBody) diff --git a/parser.y b/parser.y index e2e591df..d64a2ec5 100644 --- a/parser.y +++ b/parser.y @@ -308,10 +308,6 @@ Exp ">=" Exp { $$ = gen_binop($1, $3, GREATEREQ); } | -String { - $$ = $1; -} | - Term { $$ = $1; } @@ -385,6 +381,9 @@ Term '[' ']' { LITERAL { $$ = gen_op_const(LOADK, $1); } | +String { + $$ = $1; +} | '(' Exp ')' { $$ = $2; } |