From: Damian Gryski Date: Tue, 23 Oct 2012 15:02:19 +0000 (+0200) Subject: Regenerate lex/yacc files X-Git-Tag: jq-1.2~44^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=409456f581f192253b4f07effdd6acb304b790fd;p=jq Regenerate lex/yacc files --- diff --git a/lexer.gen.c b/lexer.gen.c index 2fb747e..7d8b953 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 35 +#define YY_FLEX_SUBMINOR_VERSION 37 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -159,15 +159,7 @@ 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. @@ -179,6 +171,11 @@ 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 @@ -201,11 +198,6 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE; #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 @@ -223,7 +215,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t 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 @@ -302,7 +294,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,int len ,yyscan_t yyscanner ); +YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); void *jq_yyalloc (yy_size_t ,yyscan_t yyscanner ); void *jq_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -334,7 +326,7 @@ void jq_yyfree (void * ,yyscan_t yyscanner ); /* Begin user sect3 */ -#define jq_yywrap(n) 1 +#define jq_yywrap(yyscanner) 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; @@ -358,8 +350,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 34 -#define YY_END_OF_BUFFER 35 +#define YY_NUM_RULES 35 +#define YY_END_OF_BUFFER 36 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -367,17 +359,17 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[86] = +static yyconst flex_int16_t yy_accept[88] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 35, 33, 32, 32, 25, 1, 21, 22, - 23, 21, 21, 21, 21, 21, 24, 21, 21, 21, - 31, 31, 31, 31, 31, 31, 31, 21, 29, 29, - 27, 30, 32, 1, 16, 14, 24, 15, 0, 12, - 17, 19, 2, 20, 31, 31, 3, 31, 31, 31, - 5, 10, 31, 13, 29, 28, 26, 28, 0, 24, - 18, 9, 4, 31, 31, 11, 31, 0, 28, 8, - 7, 6, 28, 28, 0 + 0, 0, 36, 34, 33, 33, 34, 26, 1, 22, + 23, 24, 22, 22, 22, 22, 22, 25, 22, 22, + 22, 32, 32, 32, 32, 32, 32, 32, 22, 30, + 30, 28, 31, 33, 2, 1, 17, 15, 25, 16, + 0, 13, 18, 20, 3, 21, 32, 32, 4, 32, + 32, 32, 6, 11, 32, 14, 30, 29, 27, 29, + 0, 25, 19, 10, 5, 32, 32, 12, 32, 0, + 29, 9, 8, 7, 29, 29, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -385,17 +377,17 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 5, 6, 7, 1, 1, 1, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 17, 18, 19, - 20, 21, 1, 1, 22, 22, 22, 22, 23, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 24, 25, 26, 1, 27, 1, 28, 22, 22, 29, - - 30, 31, 22, 32, 33, 22, 22, 34, 22, 35, - 36, 22, 22, 37, 38, 39, 40, 22, 22, 22, - 22, 22, 41, 42, 43, 1, 1, 1, 1, 1, + 1, 2, 5, 6, 7, 8, 1, 1, 1, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, + 21, 22, 1, 1, 23, 23, 23, 23, 24, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 25, 26, 27, 1, 28, 1, 29, 23, 23, 30, + + 31, 32, 23, 33, 34, 23, 23, 35, 23, 36, + 37, 23, 23, 38, 39, 40, 41, 23, 23, 23, + 23, 23, 42, 43, 44, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -412,91 +404,91 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[44] = +static yyconst flex_int32_t yy_meta[45] = { 0, - 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, - 1, 4, 4, 1, 5, 1, 6, 4, 4, 4, + 1, 1, 2, 2, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, + 1, 1, 4, 4, 1, 5, 1, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 1, 1, 1 + 4, 1, 1, 1 } ; -static yyconst flex_int16_t yy_base[95] = +static yyconst flex_int16_t yy_base[97] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 41, 42, 142, 143, 46, 48, 143, 0, 143, 143, - 143, 121, 120, 38, 39, 41, 49, 119, 118, 117, - 0, 22, 106, 36, 104, 97, 101, 112, 0, 0, - 143, 51, 71, 0, 143, 143, 62, 143, 64, 96, - 143, 143, 143, 143, 0, 85, 0, 79, 48, 75, - 0, 0, 65, 143, 0, 69, 143, 68, 74, 73, - 143, 0, 0, 57, 57, 0, 49, 56, 58, 0, - 0, 0, 57, 43, 143, 96, 102, 105, 111, 117, - 120, 122, 124, 126 + 42, 43, 144, 145, 48, 50, 122, 145, 0, 145, + 145, 145, 121, 120, 39, 40, 42, 50, 119, 118, + 117, 0, 23, 91, 37, 88, 78, 77, 80, 0, + 0, 145, 38, 73, 145, 0, 145, 145, 63, 145, + 71, 79, 145, 145, 145, 145, 0, 69, 0, 66, + 27, 67, 0, 0, 65, 145, 0, 69, 145, 67, + 75, 74, 145, 0, 0, 58, 58, 0, 50, 61, + 58, 0, 0, 0, 56, 51, 145, 102, 108, 111, + 117, 123, 126, 128, 130, 132 } ; -static yyconst flex_int16_t yy_def[95] = +static yyconst flex_int16_t yy_def[97] = { 0, - 85, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 86, 86, 85, 85, 85, 85, 85, 87, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 88, 88, 88, 88, 88, 88, 88, 85, 89, 89, - 85, 90, 85, 87, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 85, 89, 85, 85, 91, 85, 85, - 85, 88, 88, 88, 88, 88, 88, 90, 92, 88, - 88, 88, 93, 94, 0, 85, 85, 85, 85, 85, - 85, 85, 85, 85 + 87, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 88, 88, 87, 87, 87, 87, 87, 87, 89, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 90, 90, 90, 90, 90, 90, 90, 87, 91, + 91, 87, 92, 87, 87, 89, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 87, 91, 87, 87, 93, + 87, 87, 87, 90, 90, 90, 90, 90, 90, 92, + 94, 90, 90, 90, 95, 96, 0, 87, 87, 87, + 87, 87, 87, 87, 87, 87 } ; -static yyconst flex_int16_t yy_nxt[187] = +static yyconst flex_int16_t yy_nxt[190] = { 0, 14, 15, 16, 14, 17, 18, 19, 20, 21, 22, - 23, 19, 24, 25, 26, 27, 19, 19, 28, 29, - 30, 31, 31, 20, 14, 21, 31, 32, 33, 34, - 31, 31, 35, 31, 31, 36, 31, 31, 37, 31, - 20, 38, 21, 40, 40, 41, 41, 43, 43, 43, - 43, 47, 47, 47, 47, 50, 56, 48, 67, 57, - 51, 49, 47, 85, 47, 42, 42, 78, 49, 59, - 60, 49, 43, 43, 69, 47, 69, 47, 49, 70, - 74, 78, 78, 82, 49, 75, 81, 80, 70, 70, - 68, 49, 78, 78, 77, 68, 39, 39, 39, 39, - - 39, 39, 44, 76, 44, 44, 44, 44, 55, 73, - 55, 65, 65, 72, 65, 71, 65, 66, 66, 66, - 66, 66, 66, 79, 79, 83, 83, 84, 84, 66, - 66, 64, 63, 62, 61, 58, 54, 53, 52, 46, - 45, 85, 13, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85 + 23, 24, 20, 25, 26, 27, 28, 20, 20, 29, + 30, 31, 32, 32, 21, 14, 22, 32, 33, 34, + 35, 32, 32, 36, 32, 32, 37, 32, 32, 38, + 32, 21, 39, 22, 41, 41, 69, 42, 42, 44, + 44, 44, 44, 49, 49, 49, 49, 52, 58, 50, + 76, 59, 53, 51, 49, 77, 49, 43, 43, 87, + 51, 61, 62, 51, 44, 44, 80, 49, 70, 49, + 51, 80, 71, 80, 71, 84, 51, 72, 83, 82, + 72, 72, 80, 51, 80, 79, 78, 75, 74, 73, + + 66, 70, 40, 40, 40, 40, 40, 40, 46, 65, + 46, 46, 46, 46, 57, 64, 57, 67, 67, 63, + 67, 60, 67, 68, 68, 68, 68, 68, 68, 81, + 81, 85, 85, 86, 86, 68, 68, 56, 55, 54, + 48, 47, 45, 87, 13, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87 } ; -static yyconst flex_int16_t yy_chk[187] = +static yyconst flex_int16_t yy_chk[190] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 11, 12, 11, 12, 15, 15, 16, - 16, 24, 25, 24, 25, 26, 32, 24, 42, 32, - 26, 25, 27, 78, 27, 11, 12, 84, 25, 34, - 34, 27, 43, 43, 49, 47, 49, 47, 27, 49, - 59, 83, 79, 77, 47, 59, 75, 74, 70, 69, - 42, 47, 68, 66, 63, 78, 86, 86, 86, 86, - - 86, 86, 87, 60, 87, 87, 87, 87, 88, 58, - 88, 89, 89, 56, 89, 50, 89, 90, 90, 90, - 90, 90, 90, 91, 91, 92, 92, 93, 93, 94, - 94, 38, 37, 36, 35, 33, 30, 29, 28, 23, - 22, 13, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85 + 1, 1, 1, 1, 11, 12, 43, 11, 12, 15, + 15, 16, 16, 25, 26, 25, 26, 27, 33, 25, + 61, 33, 27, 26, 28, 61, 28, 11, 12, 80, + 26, 35, 35, 28, 44, 44, 86, 49, 43, 49, + 28, 85, 51, 81, 51, 79, 49, 51, 77, 76, + 72, 71, 70, 49, 68, 65, 62, 60, 58, 52, + + 39, 80, 88, 88, 88, 88, 88, 88, 89, 38, + 89, 89, 89, 89, 90, 37, 90, 91, 91, 36, + 91, 34, 91, 92, 92, 92, 92, 92, 92, 93, + 93, 94, 94, 95, 95, 96, 96, 31, 30, 29, + 24, 23, 17, 13, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87 } ; /* The intent behind this definition is that it'll catch @@ -527,7 +519,7 @@ static yyconst flex_int16_t yy_chk[187] = 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 531 "lexer.gen.c" +#line 523 "lexer.gen.c" #define INITIAL 0 #define IN_PAREN 1 @@ -559,8 +551,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; - int yy_n_chars; - int yyleng_r; + yy_size_t yy_n_chars; + yy_size_t yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -617,7 +609,7 @@ FILE *jq_yyget_out (yyscan_t yyscanner ); void jq_yyset_out (FILE * out_str ,yyscan_t yyscanner ); -int jq_yyget_leng (yyscan_t yyscanner ); +yy_size_t jq_yyget_leng (yyscan_t yyscanner ); char *jq_yyget_text (yyscan_t yyscanner ); @@ -625,6 +617,10 @@ 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 ); @@ -671,12 +667,7 @@ 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. */ @@ -783,7 +774,7 @@ YY_DECL #line 32 "lexer.l" -#line 787 "lexer.gen.c" +#line 778 "lexer.gen.c" yylval = yylval_param; @@ -840,13 +831,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 86 ) + if ( yy_current_state >= 88 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 143 ); + while ( yy_base[yy_current_state] != 145 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -878,152 +869,157 @@ YY_RULE_SETUP case 2: YY_RULE_SETUP #line 36 "lexer.l" -{ return EQ; } +{ return NEQ; } YY_BREAK case 3: YY_RULE_SETUP #line 37 "lexer.l" -{ return AS; } +{ return EQ; } YY_BREAK case 4: YY_RULE_SETUP #line 38 "lexer.l" -{ return DEF; } +{ return AS; } YY_BREAK case 5: YY_RULE_SETUP #line 39 "lexer.l" -{ return IF; } +{ return DEF; } YY_BREAK case 6: YY_RULE_SETUP #line 40 "lexer.l" -{ return THEN; } +{ return IF; } YY_BREAK case 7: YY_RULE_SETUP #line 41 "lexer.l" -{ return ELSE; } +{ return THEN; } YY_BREAK case 8: YY_RULE_SETUP #line 42 "lexer.l" -{ return ELSE_IF; } +{ return ELSE; } YY_BREAK case 9: YY_RULE_SETUP #line 43 "lexer.l" -{ return AND; } +{ return ELSE_IF; } YY_BREAK case 10: YY_RULE_SETUP #line 44 "lexer.l" -{ return OR; } +{ return AND; } YY_BREAK case 11: YY_RULE_SETUP #line 45 "lexer.l" -{ return END; } +{ return OR; } YY_BREAK case 12: YY_RULE_SETUP #line 46 "lexer.l" -{ return DEFINEDOR; } +{ return END; } YY_BREAK case 13: YY_RULE_SETUP #line 47 "lexer.l" -{ return SETPIPE; } +{ return DEFINEDOR; } YY_BREAK case 14: YY_RULE_SETUP #line 48 "lexer.l" -{ return SETPLUS; } +{ return SETPIPE; } YY_BREAK case 15: YY_RULE_SETUP #line 49 "lexer.l" -{ return SETMINUS; } +{ return SETPLUS; } YY_BREAK case 16: YY_RULE_SETUP #line 50 "lexer.l" -{ return SETMULT; } +{ return SETMINUS; } YY_BREAK case 17: YY_RULE_SETUP #line 51 "lexer.l" -{ return SETDIV; } +{ return SETMULT; } YY_BREAK case 18: YY_RULE_SETUP #line 52 "lexer.l" -{ return SETDEFINEDOR; } +{ return SETDIV; } YY_BREAK case 19: YY_RULE_SETUP #line 53 "lexer.l" -{ return LESSEQ; } +{ return SETDEFINEDOR; } YY_BREAK case 20: YY_RULE_SETUP #line 54 "lexer.l" -{ return GREATEREQ; } +{ return LESSEQ; } YY_BREAK case 21: YY_RULE_SETUP #line 55 "lexer.l" -{ return yytext[0];} +{ return GREATEREQ; } YY_BREAK case 22: YY_RULE_SETUP -#line 57 "lexer.l" +#line 56 "lexer.l" +{ return yytext[0];} + YY_BREAK +case 23: +YY_RULE_SETUP +#line 58 "lexer.l" { return enter(yytext[0], YY_START, yyscanner); } YY_BREAK -case 23: +case 24: YY_RULE_SETUP -#line 61 "lexer.l" +#line 62 "lexer.l" { return try_exit(yytext[0], YY_START, yyscanner); } YY_BREAK -case 24: +case 25: YY_RULE_SETUP -#line 66 "lexer.l" +#line 67 "lexer.l" { yylval->literal = jv_parse_sized(yytext, yyleng); return LITERAL; } YY_BREAK -case 25: +case 26: YY_RULE_SETUP -#line 70 "lexer.l" +#line 71 "lexer.l" { yy_push_state(IN_QQSTRING, yyscanner); return QQSTRING_START; } YY_BREAK -case 26: +case 27: YY_RULE_SETUP -#line 76 "lexer.l" +#line 77 "lexer.l" { return enter(QQSTRING_INTERP_START, YY_START, yyscanner); } YY_BREAK -case 27: +case 28: YY_RULE_SETUP -#line 79 "lexer.l" +#line 80 "lexer.l" { yy_pop_state(yyscanner); return QQSTRING_END; } YY_BREAK -case 28: -/* rule 28 can match eol */ +case 29: +/* rule 29 can match eol */ YY_RULE_SETUP -#line 83 "lexer.l" +#line 84 "lexer.l" { /* pass escapes to the json parser */ jv escapes = jv_string_fmt("\"%.*s\"", yyleng, yytext); @@ -1032,45 +1028,45 @@ YY_RULE_SETUP return QQSTRING_TEXT; } YY_BREAK -case 29: -/* rule 29 can match eol */ +case 30: +/* rule 30 can match eol */ YY_RULE_SETUP -#line 90 "lexer.l" +#line 91 "lexer.l" { yylval->literal = jv_string_sized(yytext, yyleng); return QQSTRING_TEXT; } YY_BREAK -case 30: +case 31: YY_RULE_SETUP -#line 94 "lexer.l" +#line 95 "lexer.l" { return INVALID_CHARACTER; } YY_BREAK -case 31: +case 32: YY_RULE_SETUP -#line 100 "lexer.l" +#line 101 "lexer.l" { yylval->literal = jv_string(yytext); return IDENT;} YY_BREAK -case 32: -/* rule 32 can match eol */ +case 33: +/* rule 33 can match eol */ YY_RULE_SETUP -#line 102 "lexer.l" +#line 103 "lexer.l" {} YY_BREAK -case 33: +case 34: YY_RULE_SETUP -#line 104 "lexer.l" +#line 105 "lexer.l" { return INVALID_CHARACTER; } YY_BREAK -case 34: +case 35: YY_RULE_SETUP -#line 106 "lexer.l" +#line 107 "lexer.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1074 "lexer.gen.c" +#line 1070 "lexer.gen.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(IN_PAREN): case YY_STATE_EOF(IN_BRACKET): @@ -1262,21 +1258,21 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else { - int num_to_read = + yy_size_t 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; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; int yy_c_buf_p_offset = (int) (yyg->yy_c_buf_p - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -1307,7 +1303,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, (size_t) num_to_read ); + yyg->yy_n_chars, num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; } @@ -1369,7 +1365,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 86 ) + if ( yy_current_state >= 88 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1398,12 +1394,13 @@ static int yy_get_next_buffer (yyscan_t yyscanner) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 86 ) + if ( yy_current_state >= 88 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 85); + yy_is_jam = (yy_current_state == 87); + (void)yyg; return yy_is_jam ? 0 : yy_current_state; } @@ -1432,7 +1429,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else { /* need more input */ - int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch ( yy_get_next_buffer( yyscanner ) ) @@ -1596,10 +1593,6 @@ 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. @@ -1716,7 +1709,7 @@ void jq_yypop_buffer_state (yyscan_t yyscanner) */ static void jq_yyensure_buffer_stack (yyscan_t yyscanner) { - int num_to_alloc; + yy_size_t num_to_alloc; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; if (!yyg->yy_buffer_stack) { @@ -1814,7 +1807,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, int _yybytes_len , yyscan_t yyscanner) +YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; @@ -1969,7 +1962,7 @@ FILE *jq_yyget_out (yyscan_t yyscanner) /** Get the length of the current token. * @param yyscanner The scanner object. */ -int jq_yyget_leng (yyscan_t yyscanner) +yy_size_t jq_yyget_leng (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yyleng; @@ -2005,7 +1998,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" , yyscanner); + YY_FATAL_ERROR( "jq_yyset_lineno called with no buffer" ); yylineno = line_number; } @@ -2020,7 +2013,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" , yyscanner); + YY_FATAL_ERROR( "jq_yyset_column called with no buffer" ); yycolumn = column_no; } @@ -2256,7 +2249,7 @@ void jq_yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 106 "lexer.l" +#line 107 "lexer.l" /* perhaps these should be calls... */ diff --git a/lexer.gen.h b/lexer.gen.h index bbc095b..ee486e8 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 35 +#define YY_FLEX_SUBMINOR_VERSION 37 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -132,15 +132,7 @@ 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 @@ -170,7 +162,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t 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 @@ -214,7 +206,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,int len ,yyscan_t yyscanner ); +YY_BUFFER_STATE jq_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); void *jq_yyalloc (yy_size_t ,yyscan_t yyscanner ); void *jq_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -222,7 +214,7 @@ void jq_yyfree (void * ,yyscan_t yyscanner ); /* Begin user sect3 */ -#define jq_yywrap(n) 1 +#define jq_yywrap(yyscanner) 1 #define YY_SKIP_YYWRAP #define yytext_ptr yytext_r @@ -272,7 +264,7 @@ FILE *jq_yyget_out (yyscan_t yyscanner ); void jq_yyset_out (FILE * out_str ,yyscan_t yyscanner ); -int jq_yyget_leng (yyscan_t yyscanner ); +yy_size_t jq_yyget_leng (yyscan_t yyscanner ); char *jq_yyget_text (yyscan_t yyscanner ); @@ -280,6 +272,10 @@ 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 ); @@ -314,12 +310,7 @@ 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. */ @@ -354,9 +345,9 @@ extern int jq_yylex \ #undef YY_DECL #endif -#line 106 "lexer.l" +#line 107 "lexer.l" -#line 361 "lexer.gen.h" +#line 352 "lexer.gen.h" #undef jq_yyIN_HEADER #endif /* jq_yyHEADER_H */ diff --git a/parser.gen.c b/parser.gen.c index 346a94b..7921380 100644 --- a/parser.gen.c +++ b/parser.gen.c @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 2.5. */ +/* A Bison parser, made by GNU Bison 2.6.2. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2012 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.5" +#define YYBISON_VERSION "2.6.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -58,28 +58,30 @@ /* Pull parsers. */ #define YYPULL 1 -/* Using locations. */ -#define YYLSP_NEEDED 1 /* Copy the first part of user declarations. */ - -/* Line 268 of yacc.c */ +/* Line 336 of yacc.c */ #line 1 "parser.y" #include #include #include "compile.h" +typedef void* yyscan_t; -/* Line 268 of yacc.c */ -#line 78 "parser.gen.c" -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif +/* 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 /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE @@ -89,15 +91,20 @@ # define YYERROR_VERBOSE 1 #endif -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 +/* 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; #endif - /* "%code requires" blocks. */ - -/* Line 288 of yacc.c */ -#line 6 "parser.y" +/* Line 350 of yacc.c */ +#line 9 "parser.y" #include "locfile.h" #define YYLTYPE location @@ -113,9 +120,8 @@ } while (0) - -/* Line 288 of yacc.c */ -#line 119 "parser.gen.c" +/* Line 350 of yacc.c */ +#line 125 "parser.gen.c" /* Tokens. */ #ifndef YYTOKENTYPE @@ -127,48 +133,46 @@ IDENT = 259, LITERAL = 260, EQ = 261, - DEFINEDOR = 262, - AS = 263, - DEF = 264, - IF = 265, - THEN = 266, - ELSE = 267, - ELSE_IF = 268, - END = 269, - AND = 270, - OR = 271, - SETPIPE = 272, - SETPLUS = 273, - SETMINUS = 274, - SETMULT = 275, - SETDIV = 276, - SETDEFINEDOR = 277, - LESSEQ = 278, - GREATEREQ = 279, - QQSTRING_START = 280, - QQSTRING_TEXT = 281, - QQSTRING_INTERP_START = 282, - QQSTRING_INTERP_END = 283, - QQSTRING_END = 284 + NEQ = 262, + DEFINEDOR = 263, + AS = 264, + DEF = 265, + IF = 266, + THEN = 267, + ELSE = 268, + ELSE_IF = 269, + END = 270, + AND = 271, + OR = 272, + SETPIPE = 273, + SETPLUS = 274, + SETMINUS = 275, + SETMULT = 276, + SETDIV = 277, + SETDEFINEDOR = 278, + LESSEQ = 279, + GREATEREQ = 280, + QQSTRING_START = 281, + QQSTRING_TEXT = 282, + QQSTRING_INTERP_START = 283, + QQSTRING_INTERP_END = 284, + QQSTRING_END = 285 }; #endif - #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { - -/* Line 293 of yacc.c */ -#line 24 "parser.y" +/* Line 350 of yacc.c */ +#line 27 "parser.y" jv literal; block blk; - -/* Line 293 of yacc.c */ -#line 172 "parser.gen.c" +/* Line 350 of yacc.c */ +#line 176 "parser.gen.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -189,10 +193,25 @@ typedef struct YYLTYPE #endif -/* Copy the second part of user declarations. */ +#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, yyscan_t lexer); +#else +int yyparse (); +#endif +#endif /* ! YYPARSE_PARAM */ + +#endif /* !YY_PARSER_GEN_H */ -/* Line 343 of yacc.c */ -#line 85 "parser.y" +/* Copy the second part of user declarations. */ +/* Line 353 of yacc.c */ +#line 89 "parser.y" #include "lexer.gen.h" #define FAIL(loc, msg) \ @@ -250,6 +269,7 @@ static block gen_binop(block a, block b, int op) { case '*': funcname = "_multiply"; break; case '/': funcname = "_divide"; break; case EQ: funcname = "_equal"; break; + case NEQ: funcname = "_notequal"; break; case '<': funcname = "_less"; break; case '>': funcname = "_greater"; break; case LESSEQ: funcname = "_lesseq"; break; @@ -279,9 +299,8 @@ static block gen_update(block a, block op, int optype) { } - -/* Line 343 of yacc.c */ -#line 285 "parser.gen.c" +/* Line 353 of yacc.c */ +#line 304 "parser.gen.c" #ifdef short # undef short @@ -387,6 +406,7 @@ 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 @@ -480,20 +500,20 @@ union yyalloc #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED -/* Copy COUNT objects from FROM to TO. The source and destination do +/* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ while (YYID (0)) # endif # endif @@ -502,20 +522,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 35 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 808 +#define YYLAST 831 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 49 +#define YYNTOKENS 50 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 12 /* YYNRULES -- Number of rules. */ -#define YYNRULES 68 +#define YYNRULES 69 /* YYNRULES -- Number of states. */ -#define YYNSTATES 147 +#define YYNSTATES 149 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 284 +#define YYMAXUTOK 285 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -526,16 +546,16 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 40, 2, 2, 2, - 42, 43, 38, 36, 32, 37, 44, 39, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 41, 30, - 34, 33, 35, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 41, 2, 2, 2, + 43, 44, 39, 37, 33, 38, 45, 40, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 42, 31, + 35, 34, 36, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 45, 2, 46, 2, 2, 2, 2, 2, 2, + 2, 46, 2, 47, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 47, 31, 48, 2, 2, 2, 2, + 2, 2, 2, 48, 32, 49, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -551,74 +571,75 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 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 + 25, 26, 27, 28, 29, 30 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ -static const yytype_uint8 yyprhs[] = +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, 117, 119, 123, 129, 138, 139, 142, 147, - 153, 157, 161, 163, 165, 169, 172, 177, 181, 183, - 187, 191, 194, 198, 201, 203, 208, 212, 216, 221, - 225, 226, 228, 232, 236, 240, 244, 246, 252 + 111, 115, 119, 121, 123, 127, 133, 142, 143, 146, + 151, 157, 161, 165, 167, 169, 173, 176, 181, 185, + 187, 191, 195, 198, 202, 205, 207, 212, 216, 220, + 225, 229, 230, 232, 236, 240, 244, 248, 250, 256 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 50, 0, -1, 52, -1, 51, -1, -1, 54, 51, - -1, 54, 52, -1, 58, 8, 40, 4, 31, 52, - -1, 10, 52, 11, 52, 56, -1, 10, 52, 1, - -1, 52, 33, 52, -1, 52, 16, 52, -1, 52, - 15, 52, -1, 52, 7, 52, -1, 52, 22, 52, - -1, 52, 17, 52, -1, 52, 31, 52, -1, 52, - 32, 52, -1, 52, 36, 52, -1, 52, 18, 52, - -1, 52, 37, 52, -1, 52, 19, 52, -1, 52, - 38, 52, -1, 52, 20, 52, -1, 52, 39, 52, - -1, 52, 21, 52, -1, 52, 6, 52, -1, 52, - 34, 52, -1, 52, 35, 52, -1, 52, 23, 52, - -1, 52, 24, 52, -1, 53, -1, 58, -1, 25, - 55, 29, -1, 9, 4, 41, 52, 30, -1, 9, - 4, 42, 4, 43, 41, 52, 30, -1, -1, 55, - 26, -1, 55, 27, 52, 28, -1, 13, 52, 11, - 52, 56, -1, 12, 52, 14, -1, 57, 31, 57, - -1, 58, -1, 44, -1, 58, 44, 4, -1, 44, - 4, -1, 58, 45, 52, 46, -1, 58, 45, 46, - -1, 5, -1, 42, 52, 43, -1, 45, 52, 46, - -1, 45, 46, -1, 47, 59, 48, -1, 40, 4, - -1, 4, -1, 4, 42, 52, 43, -1, 42, 1, - 43, -1, 45, 1, 46, -1, 58, 45, 1, 46, - -1, 47, 1, 48, -1, -1, 60, -1, 60, 32, - 59, -1, 1, 32, 59, -1, 4, 41, 57, -1, - 53, 41, 57, -1, 4, -1, 42, 52, 43, 41, - 57, -1, 42, 1, 43, 41, 57, -1 + 51, 0, -1, 53, -1, 52, -1, -1, 55, 52, + -1, 55, 53, -1, 59, 9, 41, 4, 32, 53, + -1, 11, 53, 12, 53, 57, -1, 11, 53, 1, + -1, 53, 34, 53, -1, 53, 17, 53, -1, 53, + 16, 53, -1, 53, 8, 53, -1, 53, 23, 53, + -1, 53, 18, 53, -1, 53, 32, 53, -1, 53, + 33, 53, -1, 53, 37, 53, -1, 53, 19, 53, + -1, 53, 38, 53, -1, 53, 20, 53, -1, 53, + 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, 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, + 59, 46, 1, 47, -1, 48, 1, 49, -1, -1, + 61, -1, 61, 33, 60, -1, 1, 33, 60, -1, + 4, 42, 58, -1, 54, 42, 58, -1, 4, -1, + 43, 53, 44, 42, 58, -1, 43, 1, 44, 42, + 58, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 174, 174, 177, 182, 185, 190, 194, 201, 204, - 209, 218, 222, 226, 230, 234, 238, 242, 246, 250, - 254, 258, 262, 266, 270, 274, 278, 282, 286, 290, - 294, 298, 302, 307, 312, 318, 326, 329, 332, 338, - 341, 346, 350, 356, 359, 362, 366, 369, 372, 375, - 378, 381, 384, 389, 393, 397, 407, 408, 409, 410, - 413, 416, 417, 418, 421, 424, 427, 431, 434 + 0, 179, 179, 182, 187, 190, 195, 199, 206, 209, + 214, 223, 227, 231, 235, 239, 243, 247, 251, 255, + 259, 263, 267, 271, 275, 279, 283, 287, 291, 295, + 299, 303, 307, 311, 316, 321, 327, 335, 338, 341, + 347, 350, 355, 359, 365, 368, 371, 375, 378, 381, + 384, 387, 390, 393, 398, 402, 406, 416, 417, 418, + 419, 422, 425, 426, 427, 430, 433, 436, 440, 443 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE +#if YYDEBUG || YYERROR_VERBOSE || 1 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "INVALID_CHARACTER", "IDENT", "LITERAL", - "\"==\"", "\"//\"", "\"as\"", "\"def\"", "\"if\"", "\"then\"", + "\"==\"", "\"!=\"", "\"//\"", "\"as\"", "\"def\"", "\"if\"", "\"then\"", "\"else\"", "\"elif\"", "\"end\"", "\"and\"", "\"or\"", "\"|=\"", "\"+=\"", "\"-=\"", "\"*=\"", "\"/=\"", "\"//=\"", "\"<=\"", "\">=\"", "QQSTRING_START", "QQSTRING_TEXT", "QQSTRING_INTERP_START", @@ -626,7 +647,7 @@ static const char *const yytname[] = "'>'", "'+'", "'-'", "'*'", "'/'", "'$'", "':'", "'('", "')'", "'.'", "'['", "']'", "'{'", "'}'", "$accept", "TopLevel", "FuncDefs", "Exp", "String", "FuncDef", "QQString", "ElseBody", "ExpD", "Term", "MkDict", - "MkDictPair", 0 + "MkDictPair", YY_NULL }; #endif @@ -638,21 +659,21 @@ static const yytype_uint16 yytoknum[] = 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 59, 124, 44, 61, 60, 62, 43, 45, 42, 47, - 36, 58, 40, 41, 46, 91, 93, 123, 125 + 285, 59, 124, 44, 61, 60, 62, 43, 45, 42, + 47, 36, 58, 40, 41, 46, 91, 93, 123, 125 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 49, 50, 50, 51, 51, 52, 52, 52, 52, - 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 52, 53, 54, 54, 55, 55, 55, 56, - 56, 57, 57, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 59, 59, 59, 59, 60, 60, 60, 60, 60 + 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, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 60, 60, 60, 60, 61, 61, 61, 61, 61 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -661,10 +682,10 @@ 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, 1, 1, 3, 5, 8, 0, 2, 4, 5, - 3, 3, 1, 1, 3, 2, 4, 3, 1, 3, - 3, 2, 3, 2, 1, 4, 3, 3, 4, 3, - 0, 1, 3, 3, 3, 3, 1, 5, 5 + 3, 3, 1, 1, 3, 5, 8, 0, 2, 4, + 5, 3, 3, 1, 1, 3, 2, 4, 3, 1, + 3, 3, 2, 3, 2, 1, 4, 3, 3, 4, + 3, 0, 1, 3, 3, 3, 3, 1, 5, 5 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -672,258 +693,264 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 4, 54, 48, 0, 0, 36, 0, 0, 43, 0, - 0, 0, 3, 2, 31, 4, 32, 0, 0, 0, - 0, 0, 53, 0, 0, 45, 0, 51, 0, 0, - 66, 0, 0, 0, 61, 1, 0, 0, 0, 0, + 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, + 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, 5, 6, 0, - 0, 0, 0, 0, 0, 9, 0, 37, 0, 33, - 56, 49, 57, 50, 0, 59, 0, 0, 0, 0, - 52, 0, 26, 13, 12, 11, 15, 19, 21, 23, - 25, 14, 29, 30, 16, 17, 10, 27, 28, 18, - 20, 22, 24, 0, 44, 0, 47, 0, 55, 0, - 0, 0, 0, 0, 63, 64, 42, 0, 0, 65, - 62, 0, 58, 46, 34, 0, 0, 0, 8, 38, - 0, 0, 0, 0, 0, 0, 0, 41, 68, 67, - 7, 0, 40, 0, 35, 0, 39 + 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, 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 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 11, 12, 58, 14, 20, 21, 128, 115, 16, + -1, 11, 12, 59, 14, 20, 21, 130, 117, 16, 33, 34 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -74 +#define YYPACT_NINF -75 static const yytype_int16 yypact[] = { - 194, -40, -74, 10, 194, -74, 16, 137, 18, 77, - 63, 28, -74, 651, -74, 194, 54, 194, -26, 311, - 194, -16, -74, -13, 345, -74, -17, -74, 236, -27, - -8, 150, -7, 12, 3, -74, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, -74, 651, 34, - 71, 127, 379, 194, 73, -74, 194, -74, 194, -74, - -74, -74, -74, -74, 72, -74, 181, -11, 413, 181, - -74, 72, 177, 719, 763, 769, 744, 744, 744, 744, - 744, 744, 177, 177, 685, 719, 744, 177, 177, -14, - -14, -74, -74, 75, -74, 37, -74, 270, -74, 481, - 41, 447, 515, 48, -74, 58, -18, 44, 49, 58, - -74, 60, -74, -74, -74, 51, 194, 194, -74, -74, - 181, 181, 181, 194, 194, 549, 583, -74, 58, 58, - 685, 617, -74, 194, -74, 447, -74 + 175, -41, -75, 10, 175, -75, 16, 129, 18, 78, + 64, 28, -75, 645, -75, 175, 52, 175, -27, 295, + 175, -17, -75, -14, 330, -75, -18, -75, 218, -28, + -10, 152, -8, -16, 2, -75, 175, 175, 175, 175, + 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, + 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, + 54, 54, 680, 610, -75, 175, -75, 435, -75 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { - -74, -74, 78, 0, -9, 8, -74, -51, -61, -73, - -62, -74 + -75, -75, 79, 0, -9, 8, -75, -52, -62, -74, + -63, -75 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -61 +#define YYTABLE_NINF -62 static const yytype_int16 yytable[] = { - 13, 32, 17, 116, 19, 74, 116, 24, 15, 28, - 67, 68, 114, 69, 18, 63, 64, 62, 119, 120, - 22, 75, 25, 15, 55, 56, 60, 61, 35, 72, - 70, 78, 117, 76, 79, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 116, 116, 116, - 80, 107, 59, 109, 29, 32, 111, 30, 112, 137, - 138, 139, 32, 113, 103, 104, 30, 110, 26, 121, - 74, 1, 2, 122, 125, 131, 3, 4, 5, 130, - 132, 133, 134, 57, 146, 0, 0, 5, 60, 61, - 0, 0, 5, 0, 0, 31, 0, 0, 0, 0, - 0, -60, 0, 0, 31, 0, 0, 6, 0, 7, - -60, 8, 9, 27, 10, 0, 135, 136, 105, 0, - 0, 1, 2, 140, 141, 0, 3, 4, 23, 0, - 0, 1, 2, 145, 0, 0, 3, 4, 0, 0, - 0, 77, 5, 0, 1, 2, 0, 0, 0, 3, - 4, 0, 5, 0, 0, 0, 0, 6, 0, 7, - 0, 8, 9, 106, 10, 5, 0, 6, 0, 7, - 0, 8, 9, -61, 10, 1, 2, 0, 0, 0, - 6, 0, 7, 0, 8, 9, 0, 10, 1, 2, - -61, -61, 0, 3, 4, 0, 0, 0, 0, 0, - 0, -61, -61, 53, 54, 55, 56, 0, 0, 5, - 0, 6, 0, 7, 0, 8, 9, 0, 10, 0, - 0, 0, 0, 0, 6, 0, 7, 0, 8, 9, - 0, 10, 36, 37, 0, 0, 0, 0, 0, 0, - 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 0, 0, 0, 0, 0, 0, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 36, 37, 0, 0, - 0, 0, 73, 0, 0, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, - 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 0, 0, 65, 0, 0, 0, 123, 36, 37, 0, - 0, 0, 66, 0, 0, 0, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 36, 37, 0, 0, 0, 0, 0, 0, 0, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 0, 0, 0, 0, 0, 0, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 36, 37, 0, 71, 0, - 0, 0, 0, 0, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 36, - 37, 0, 108, 0, 0, 0, 0, 0, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, - 0, 0, 0, 0, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 36, 37, 0, 118, 0, 0, 126, - 127, 0, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 0, 0, 0, 0, 0, 0, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 36, 37, 0, - 0, 0, 0, 0, 0, 0, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, - 0, 124, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 36, 37, 0, 0, 0, 0, 0, 0, 0, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 0, 0, 0, 129, 0, 0, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 36, 37, 0, 0, 0, - 0, 0, 0, 142, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 36, - 37, 0, 0, 0, 143, 0, 0, 0, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, - 0, 0, 0, 0, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 36, 37, 0, 0, 0, 0, 0, - 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 0, 0, 0, 0, 0, 144, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 36, 37, 0, - 0, 0, 0, 0, 0, 0, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 36, 37, 0, 0, 0, 0, 0, 0, 0, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 0, 0, 0, 0, 0, 0, 0, 49, 50, 51, - 52, 53, 54, 55, 56, 36, 37, 0, 0, 0, - 0, 0, 0, 0, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 36, 0, 50, 51, 52, 53, 54, 55, 56, 38, - 39, -61, -61, -61, -61, -61, -61, 46, 47, 36, - 0, 0, 0, 0, 0, 36, 0, -61, 51, 52, - 53, 54, 55, 56, 38, 0, 46, 47, 0, 0, - 0, 0, 46, 47, 0, 0, 0, 51, 52, 53, - 54, 55, 56, 51, 52, 53, 54, 55, 56 + 13, 32, 17, 118, 19, 75, 118, 24, 15, 28, + 68, 69, 116, 70, 18, 64, 65, 63, 121, 122, + 22, 76, 25, 15, 56, 57, 61, 62, 35, 73, + 71, 79, 77, 81, 80, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 118, 118, + 118, 60, 109, 105, 111, 29, 32, 113, 30, 114, + 139, 140, 141, 32, 115, 106, 112, 30, 119, 26, + 123, 75, 1, 2, 124, 127, 132, 133, 3, 4, + 5, 134, 135, 136, 58, 148, 0, 61, 62, 5, + 0, 0, 107, 0, 5, 1, 2, 31, 0, 0, + 0, 3, 4, -61, 0, 0, 31, 0, 0, 6, + 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, + 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, + 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, + 45, 46, 47, 48, 0, 0, 0, 0, 0, 0, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 36, + 37, 38, 0, 0, 0, 74, 0, 0, 0, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 0, + 0, 0, 0, 0, 0, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 0, 0, 66, 0, 0, 0, + 125, 36, 37, 38, 0, 0, 0, 67, 0, 0, + 0, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 36, 37, 38, 0, + 0, 0, 0, 0, 0, 0, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 0, 0, 0, 0, + 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 36, 37, 38, 72, 0, 0, 0, 0, 0, + 0, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 36, 37, 38, 110, + 0, 0, 0, 0, 0, 0, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 0, 0, 0, 0, + 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 36, 37, 38, 120, 0, 0, 0, 128, 129, + 0, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 36, 37, 38, 0, + 0, 0, 0, 0, 0, 0, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 0, 0, 0, 0, + 0, 126, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 36, 37, 38, 0, 0, 0, 0, 0, 0, + 0, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 0, 0, 0, 131, 0, 0, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 36, 37, 38, 0, + 0, 0, 0, 0, 0, 144, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 0, 0, 0, 0, + 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 36, 37, 38, 0, 0, 0, 145, 0, 0, + 0, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 36, 37, 38, 0, + 0, 0, 0, 0, 0, 0, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 0, 0, 0, 0, + 0, 146, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 36, 37, 38, 0, 0, 0, 0, 0, 0, + 0, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 0, 0, 0, 0, 0, 0, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 36, 37, 38, 0, + 0, 0, 0, 0, 0, 0, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 0, 0, 0, 0, + 0, 0, 0, 50, 51, 52, 53, 54, 55, 56, + 57, 36, 37, 38, 0, 0, 0, 0, 0, 0, + 0, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 0, 0, 0, 0, 0, 36, 37, 0, 51, + 52, 53, 54, 55, 56, 57, 39, 40, -62, -62, + -62, -62, -62, -62, 47, 48, 0, 0, 0, 0, + 0, 36, 37, 0, -62, 52, 53, 54, 55, 56, + 57, 39, 0, 0, 0, 0, 0, 0, 0, 47, + 48, -62, -62, 0, 0, 0, 0, 36, 37, 0, + 52, 53, 54, 55, 56, 57, 0, 0, 0, -62, + -62, 0, 0, 0, 0, 47, 48, 0, 0, 0, + -62, -62, 54, 55, 56, 57, 52, 53, 54, 55, + 56, 57 }; #define yypact_value_is_default(yystate) \ - ((yystate) == (-74)) + ((yystate) == (-75)) #define yytable_value_is_error(yytable_value) \ - ((yytable_value) == (-61)) + ((yytable_value) == (-62)) static const yytype_int16 yycheck[] = { - 0, 10, 42, 76, 4, 32, 79, 7, 0, 9, - 26, 27, 74, 29, 4, 41, 42, 17, 79, 81, - 4, 48, 4, 15, 38, 39, 44, 45, 0, 46, - 43, 31, 43, 41, 41, 32, 36, 37, 38, 39, + 0, 10, 43, 77, 4, 33, 80, 7, 0, 9, + 27, 28, 75, 30, 4, 42, 43, 17, 80, 82, + 4, 49, 4, 15, 39, 40, 45, 46, 0, 47, + 44, 31, 42, 49, 42, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 130, 131, 132, - 48, 61, 8, 63, 1, 74, 66, 4, 68, 130, - 131, 132, 81, 1, 40, 4, 4, 4, 1, 4, - 32, 4, 5, 46, 43, 41, 9, 10, 25, 31, - 41, 31, 41, 15, 145, -1, -1, 25, 44, 45, - -1, -1, 25, -1, -1, 42, -1, -1, -1, -1, - -1, 48, -1, -1, 42, -1, -1, 40, -1, 42, - 48, 44, 45, 46, 47, -1, 126, 127, 1, -1, - -1, 4, 5, 133, 134, -1, 9, 10, 1, -1, - -1, 4, 5, 143, -1, -1, 9, 10, -1, -1, - -1, 1, 25, -1, 4, 5, -1, -1, -1, 9, - 10, -1, 25, -1, -1, -1, -1, 40, -1, 42, - -1, 44, 45, 46, 47, 25, -1, 40, -1, 42, - -1, 44, 45, 6, 47, 4, 5, -1, -1, -1, - 40, -1, 42, -1, 44, 45, -1, 47, 4, 5, - 23, 24, -1, 9, 10, -1, -1, -1, -1, -1, - -1, 34, 35, 36, 37, 38, 39, -1, -1, 25, - -1, 40, -1, 42, -1, 44, 45, -1, 47, -1, - -1, -1, -1, -1, 40, -1, 42, -1, 44, 45, - -1, 47, 6, 7, -1, -1, -1, -1, -1, -1, - -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, -1, -1, -1, -1, -1, -1, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 6, 7, -1, -1, - -1, -1, 46, -1, -1, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, + 50, 51, 52, 53, 54, 55, 56, 57, 132, 133, + 134, 9, 62, 41, 64, 1, 75, 67, 4, 69, + 132, 133, 134, 82, 1, 4, 4, 4, 44, 1, + 4, 33, 4, 5, 47, 44, 32, 42, 10, 11, + 26, 42, 32, 42, 15, 147, -1, 45, 46, 26, + -1, -1, 1, -1, 26, 4, 5, 43, -1, -1, + -1, 10, 11, 49, -1, -1, 43, -1, -1, 41, + -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, + 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, + -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, + 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 6, + 7, 8, -1, -1, -1, 47, -1, -1, -1, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, + -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, + 37, 38, 39, 40, -1, -1, 1, -1, -1, -1, + 47, 6, 7, 8, -1, -1, -1, 12, -1, -1, + -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, -1, -1, -1, -1, -1, -1, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 6, 7, 8, -1, + -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, + -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 6, 7, 8, 44, -1, -1, -1, -1, -1, + -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, -1, -1, -1, -1, -1, -1, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 6, 7, 8, 44, + -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, + -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 6, 7, 8, 44, -1, -1, -1, 13, 14, + -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, -1, -1, -1, -1, -1, -1, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 6, 7, 8, -1, + -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, - -1, -1, 1, -1, -1, -1, 46, 6, 7, -1, - -1, -1, 11, -1, -1, -1, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 6, 7, -1, -1, -1, -1, -1, -1, -1, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - -1, -1, -1, -1, -1, -1, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 6, 7, -1, 43, -1, - -1, -1, -1, -1, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 6, - 7, -1, 43, -1, -1, -1, -1, -1, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, - -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 6, 7, -1, 43, -1, -1, 12, - 13, -1, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, -1, -1, -1, -1, -1, -1, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 6, 7, -1, - -1, -1, -1, -1, -1, -1, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 6, 7, -1, -1, -1, -1, -1, -1, -1, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - -1, -1, -1, 28, -1, -1, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 6, 7, -1, -1, -1, - -1, -1, -1, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 6, - 7, -1, -1, -1, 11, -1, -1, -1, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, - -1, -1, -1, -1, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 6, 7, -1, -1, -1, -1, -1, - -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 6, 7, -1, - -1, -1, -1, -1, -1, -1, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 6, 7, -1, -1, -1, -1, -1, -1, -1, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - -1, -1, -1, -1, -1, -1, -1, 32, 33, 34, - 35, 36, 37, 38, 39, 6, 7, -1, -1, -1, - -1, -1, -1, -1, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - 6, -1, 33, 34, 35, 36, 37, 38, 39, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 6, - -1, -1, -1, -1, -1, 6, -1, 33, 34, 35, - 36, 37, 38, 39, 15, -1, 23, 24, -1, -1, - -1, -1, 23, 24, -1, -1, -1, 34, 35, 36, - 37, 38, 39, 34, 35, 36, 37, 38, 39 + 40, 6, 7, 8, -1, -1, -1, -1, -1, -1, + -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, -1, -1, -1, 29, -1, -1, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 6, 7, 8, -1, + -1, -1, -1, -1, -1, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, + -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 6, 7, 8, -1, -1, -1, 12, -1, -1, + -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, -1, -1, -1, -1, -1, -1, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 6, 7, 8, -1, + -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, + -1, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 6, 7, 8, -1, -1, -1, -1, -1, -1, + -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, -1, -1, -1, -1, -1, -1, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 6, 7, 8, -1, + -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, + -1, -1, -1, 33, 34, 35, 36, 37, 38, 39, + 40, 6, 7, 8, -1, -1, -1, -1, -1, -1, + -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, -1, -1, -1, -1, -1, 6, 7, -1, 34, + 35, 36, 37, 38, 39, 40, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, + -1, 6, 7, -1, 34, 35, 36, 37, 38, 39, + 40, 16, -1, -1, -1, -1, -1, -1, -1, 24, + 25, 6, 7, -1, -1, -1, -1, 6, 7, -1, + 35, 36, 37, 38, 39, 40, -1, -1, -1, 24, + 25, -1, -1, -1, -1, 24, 25, -1, -1, -1, + 35, 36, 37, 38, 39, 40, 35, 36, 37, 38, + 39, 40 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 4, 5, 9, 10, 25, 40, 42, 44, 45, - 47, 50, 51, 52, 53, 54, 58, 42, 4, 52, - 54, 55, 4, 1, 52, 4, 1, 46, 52, 1, - 4, 42, 53, 59, 60, 0, 6, 7, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 51, 52, 8, - 44, 45, 52, 41, 42, 1, 11, 26, 27, 29, - 43, 43, 46, 46, 32, 48, 41, 1, 52, 41, - 48, 32, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, - 52, 52, 52, 40, 4, 1, 46, 52, 43, 52, - 4, 52, 52, 1, 59, 57, 58, 43, 43, 57, - 59, 4, 46, 46, 30, 43, 12, 13, 56, 28, - 31, 41, 41, 31, 41, 52, 52, 57, 57, 57, - 52, 52, 14, 11, 30, 52, 56 + 0, 4, 5, 10, 11, 26, 41, 43, 45, 46, + 48, 51, 52, 53, 54, 55, 59, 43, 4, 53, + 55, 56, 4, 1, 53, 4, 1, 47, 53, 1, + 4, 43, 54, 60, 61, 0, 6, 7, 8, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 52, 53, + 9, 45, 46, 53, 42, 43, 1, 12, 27, 28, + 30, 44, 44, 47, 47, 33, 49, 42, 1, 53, + 42, 49, 33, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 41, 4, 1, 47, 53, + 44, 53, 4, 53, 53, 1, 60, 58, 59, 44, + 44, 58, 60, 4, 47, 47, 31, 44, 13, 14, + 57, 29, 32, 42, 42, 32, 42, 53, 53, 58, + 58, 58, 53, 53, 15, 12, 31, 53, 57 }; #define yyerrok (yyerrstatus = 0) @@ -953,17 +980,18 @@ static const yytype_uint8 yystos[] = #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (1); \ - goto yybackup; \ - } \ - else \ - { \ +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ yyerror (&yylloc, answer, errors, locations, lexer, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ @@ -973,32 +1001,33 @@ 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 @@ -1072,6 +1101,8 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, answer, errors, yyscan_t lexer; #endif { + FILE *yyo = yyoutput; + YYUSE (yyo); if (!yyvaluep) return; YYUSE (yylocationp); @@ -1340,12 +1371,12 @@ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); + YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *yyformat = 0; + const char *yyformat = YY_NULL; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per @@ -1405,7 +1436,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, break; } yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); + yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; @@ -1500,122 +1531,96 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, answer, errors, locations, lex switch (yytype) { - case 4: /* "IDENT" */ - -/* Line 1391 of yacc.c */ -#line 29 "parser.y" - { jv_free((yyvaluep->literal)); }; - -/* Line 1391 of yacc.c */ -#line 1511 "parser.gen.c" - break; - case 5: /* "LITERAL" */ - -/* Line 1391 of yacc.c */ -#line 29 "parser.y" - { jv_free((yyvaluep->literal)); }; - -/* Line 1391 of yacc.c */ -#line 1520 "parser.gen.c" + case 4: /* IDENT */ +/* Line 1381 of yacc.c */ +#line 32 "parser.y" + { jv_free(((*yyvaluep).literal)); }; +/* Line 1381 of yacc.c */ +#line 1540 "parser.gen.c" break; - case 26: /* "QQSTRING_TEXT" */ - -/* Line 1391 of yacc.c */ -#line 29 "parser.y" - { jv_free((yyvaluep->literal)); }; - -/* Line 1391 of yacc.c */ -#line 1529 "parser.gen.c" + case 5: /* LITERAL */ +/* Line 1381 of yacc.c */ +#line 32 "parser.y" + { jv_free(((*yyvaluep).literal)); }; +/* Line 1381 of yacc.c */ +#line 1547 "parser.gen.c" break; - case 51: /* "FuncDefs" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ -#line 1538 "parser.gen.c" + case 27: /* QQSTRING_TEXT */ +/* Line 1381 of yacc.c */ +#line 32 "parser.y" + { jv_free(((*yyvaluep).literal)); }; +/* Line 1381 of yacc.c */ +#line 1554 "parser.gen.c" break; - case 52: /* "Exp" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ -#line 1547 "parser.gen.c" + case 52: /* FuncDefs */ +/* Line 1381 of yacc.c */ +#line 33 "parser.y" + { block_free(((*yyvaluep).blk)); }; +/* Line 1381 of yacc.c */ +#line 1561 "parser.gen.c" break; - case 53: /* "String" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ -#line 1556 "parser.gen.c" + case 53: /* Exp */ +/* Line 1381 of yacc.c */ +#line 33 "parser.y" + { block_free(((*yyvaluep).blk)); }; +/* Line 1381 of yacc.c */ +#line 1568 "parser.gen.c" break; - case 54: /* "FuncDef" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ -#line 1565 "parser.gen.c" + case 54: /* String */ +/* Line 1381 of yacc.c */ +#line 33 "parser.y" + { block_free(((*yyvaluep).blk)); }; +/* Line 1381 of yacc.c */ +#line 1575 "parser.gen.c" break; - case 55: /* "QQString" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ -#line 1574 "parser.gen.c" + case 55: /* FuncDef */ +/* Line 1381 of yacc.c */ +#line 33 "parser.y" + { block_free(((*yyvaluep).blk)); }; +/* Line 1381 of yacc.c */ +#line 1582 "parser.gen.c" break; - case 56: /* "ElseBody" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ -#line 1583 "parser.gen.c" + case 56: /* QQString */ +/* Line 1381 of yacc.c */ +#line 33 "parser.y" + { block_free(((*yyvaluep).blk)); }; +/* Line 1381 of yacc.c */ +#line 1589 "parser.gen.c" break; - case 57: /* "ExpD" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ -#line 1592 "parser.gen.c" + case 57: /* ElseBody */ +/* Line 1381 of yacc.c */ +#line 33 "parser.y" + { block_free(((*yyvaluep).blk)); }; +/* Line 1381 of yacc.c */ +#line 1596 "parser.gen.c" break; - case 58: /* "Term" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ -#line 1601 "parser.gen.c" + case 58: /* ExpD */ +/* Line 1381 of yacc.c */ +#line 33 "parser.y" + { block_free(((*yyvaluep).blk)); }; +/* Line 1381 of yacc.c */ +#line 1603 "parser.gen.c" break; - case 59: /* "MkDict" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ + case 59: /* Term */ +/* Line 1381 of yacc.c */ +#line 33 "parser.y" + { block_free(((*yyvaluep).blk)); }; +/* Line 1381 of yacc.c */ #line 1610 "parser.gen.c" break; - case 60: /* "MkDictPair" */ - -/* Line 1391 of yacc.c */ -#line 30 "parser.y" - { block_free((yyvaluep->blk)); }; - -/* Line 1391 of yacc.c */ -#line 1619 "parser.gen.c" + case 60: /* MkDict */ +/* Line 1381 of yacc.c */ +#line 33 "parser.y" + { block_free(((*yyvaluep).blk)); }; +/* Line 1381 of yacc.c */ +#line 1617 "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 1624 "parser.gen.c" break; default: @@ -1624,20 +1629,6 @@ 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, yyscan_t lexer); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ /*----------. @@ -1690,7 +1681,7 @@ YYLTYPE yylloc; `yyvs': related to semantic values. `yyls': related to locations. - Refer to the stacks thru separate pointers, to allow yyoverflow + Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ @@ -1761,7 +1752,6 @@ YYLTYPE yylloc; yylloc.first_line = yylloc.last_line = 1; yylloc.first_column = yylloc.last_column = 1; #endif - goto yysetstate; /*------------------------------------------------------------. @@ -1945,54 +1935,48 @@ yyreduce: switch (yyn) { case 2: - -/* Line 1806 of yacc.c */ -#line 174 "parser.y" +/* Line 1787 of yacc.c */ +#line 179 "parser.y" { *answer = (yyvsp[(1) - (1)].blk); } break; case 3: - -/* Line 1806 of yacc.c */ -#line 177 "parser.y" +/* Line 1787 of yacc.c */ +#line 182 "parser.y" { *answer = (yyvsp[(1) - (1)].blk); } break; case 4: - -/* Line 1806 of yacc.c */ -#line 182 "parser.y" +/* Line 1787 of yacc.c */ +#line 187 "parser.y" { (yyval.blk) = gen_noop(); } break; case 5: - -/* Line 1806 of yacc.c */ -#line 185 "parser.y" +/* Line 1787 of yacc.c */ +#line 190 "parser.y" { (yyval.blk) = block_join((yyvsp[(1) - (2)].blk), (yyvsp[(2) - (2)].blk)); } break; case 6: - -/* Line 1806 of yacc.c */ -#line 190 "parser.y" +/* Line 1787 of yacc.c */ +#line 195 "parser.y" { (yyval.blk) = block_bind((yyvsp[(1) - (2)].blk), (yyvsp[(2) - (2)].blk), OP_IS_CALL_PSEUDO); } break; case 7: - -/* Line 1806 of yacc.c */ -#line 194 "parser.y" +/* Line 1787 of yacc.c */ +#line 199 "parser.y" { (yyval.blk) = gen_op_simple(DUP); block_append(&(yyval.blk), (yyvsp[(1) - (6)].blk)); @@ -2002,18 +1986,16 @@ yyreduce: break; case 8: - -/* Line 1806 of yacc.c */ -#line 201 "parser.y" +/* Line 1787 of yacc.c */ +#line 206 "parser.y" { (yyval.blk) = gen_cond((yyvsp[(2) - (5)].blk), (yyvsp[(4) - (5)].blk), (yyvsp[(5) - (5)].blk)); } break; case 9: - -/* Line 1806 of yacc.c */ -#line 204 "parser.y" +/* Line 1787 of yacc.c */ +#line 209 "parser.y" { FAIL((yyloc), "Possibly unterminated 'if' statment"); (yyval.blk) = (yyvsp[(2) - (3)].blk); @@ -2021,9 +2003,8 @@ yyreduce: break; case 10: - -/* Line 1806 of yacc.c */ -#line 209 "parser.y" +/* Line 1787 of yacc.c */ +#line 214 "parser.y" { block assign = gen_op_simple(DUP); block_append(&assign, (yyvsp[(3) - (3)].blk)); @@ -2035,216 +2016,200 @@ yyreduce: break; case 11: - -/* Line 1806 of yacc.c */ -#line 218 "parser.y" +/* Line 1787 of yacc.c */ +#line 223 "parser.y" { (yyval.blk) = gen_or((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; case 12: - -/* Line 1806 of yacc.c */ -#line 222 "parser.y" +/* Line 1787 of yacc.c */ +#line 227 "parser.y" { (yyval.blk) = gen_and((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; case 13: - -/* Line 1806 of yacc.c */ -#line 226 "parser.y" +/* Line 1787 of yacc.c */ +#line 231 "parser.y" { (yyval.blk) = gen_definedor((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; case 14: - -/* Line 1806 of yacc.c */ -#line 230 "parser.y" +/* Line 1787 of yacc.c */ +#line 235 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), gen_definedor(gen_noop(), (yyvsp[(3) - (3)].blk)), 0); } break; case 15: - -/* Line 1806 of yacc.c */ -#line 234 "parser.y" +/* Line 1787 of yacc.c */ +#line 239 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), 0); } break; case 16: - -/* Line 1806 of yacc.c */ -#line 238 "parser.y" +/* Line 1787 of yacc.c */ +#line 243 "parser.y" { (yyval.blk) = block_join((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; case 17: - -/* Line 1806 of yacc.c */ -#line 242 "parser.y" +/* Line 1787 of yacc.c */ +#line 247 "parser.y" { (yyval.blk) = gen_both((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; case 18: - -/* Line 1806 of yacc.c */ -#line 246 "parser.y" +/* Line 1787 of yacc.c */ +#line 251 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '+'); } break; case 19: - -/* Line 1806 of yacc.c */ -#line 250 "parser.y" +/* Line 1787 of yacc.c */ +#line 255 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '+'); } break; case 20: - -/* Line 1806 of yacc.c */ -#line 254 "parser.y" +/* Line 1787 of yacc.c */ +#line 259 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '-'); } break; case 21: - -/* Line 1806 of yacc.c */ -#line 258 "parser.y" +/* Line 1787 of yacc.c */ +#line 263 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '-'); } break; case 22: - -/* Line 1806 of yacc.c */ -#line 262 "parser.y" +/* Line 1787 of yacc.c */ +#line 267 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '*'); } break; case 23: - -/* Line 1806 of yacc.c */ -#line 266 "parser.y" +/* Line 1787 of yacc.c */ +#line 271 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '*'); } break; case 24: - -/* Line 1806 of yacc.c */ -#line 270 "parser.y" +/* Line 1787 of yacc.c */ +#line 275 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '/'); } break; case 25: - -/* Line 1806 of yacc.c */ -#line 274 "parser.y" +/* Line 1787 of yacc.c */ +#line 279 "parser.y" { (yyval.blk) = gen_update((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '/'); } break; case 26: - -/* Line 1806 of yacc.c */ -#line 278 "parser.y" +/* Line 1787 of yacc.c */ +#line 283 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), EQ); } break; case 27: - -/* Line 1806 of yacc.c */ -#line 282 "parser.y" +/* Line 1787 of yacc.c */ +#line 287 "parser.y" { - (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '<'); + (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), NEQ); } break; case 28: - -/* Line 1806 of yacc.c */ -#line 286 "parser.y" +/* Line 1787 of yacc.c */ +#line 291 "parser.y" { - (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '>'); + (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '<'); } break; case 29: - -/* Line 1806 of yacc.c */ -#line 290 "parser.y" +/* Line 1787 of yacc.c */ +#line 295 "parser.y" { - (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), LESSEQ); + (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), '>'); } break; case 30: - -/* Line 1806 of yacc.c */ -#line 294 "parser.y" +/* Line 1787 of yacc.c */ +#line 299 "parser.y" { - (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), GREATEREQ); + (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), LESSEQ); } break; case 31: - -/* Line 1806 of yacc.c */ -#line 298 "parser.y" +/* Line 1787 of yacc.c */ +#line 303 "parser.y" { - (yyval.blk) = (yyvsp[(1) - (1)].blk); + (yyval.blk) = gen_binop((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk), GREATEREQ); } break; case 32: +/* Line 1787 of yacc.c */ +#line 307 "parser.y" + { + (yyval.blk) = (yyvsp[(1) - (1)].blk); +} + break; -/* Line 1806 of yacc.c */ -#line 302 "parser.y" + case 33: +/* Line 1787 of yacc.c */ +#line 311 "parser.y" { (yyval.blk) = (yyvsp[(1) - (1)].blk); } break; - case 33: - -/* Line 1806 of yacc.c */ -#line 307 "parser.y" + case 34: +/* Line 1787 of yacc.c */ +#line 316 "parser.y" { (yyval.blk) = (yyvsp[(2) - (3)].blk); } break; - case 34: - -/* Line 1806 of yacc.c */ -#line 312 "parser.y" + case 35: +/* Line 1787 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); @@ -2252,10 +2217,9 @@ yyreduce: } break; - case 35: - -/* Line 1806 of yacc.c */ -#line 318 "parser.y" + case 36: +/* Line 1787 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); @@ -2264,154 +2228,137 @@ yyreduce: } break; - case 36: - -/* Line 1806 of yacc.c */ -#line 326 "parser.y" + case 37: +/* Line 1787 of yacc.c */ +#line 335 "parser.y" { (yyval.blk) = gen_op_const(LOADK, jv_string("")); } break; - case 37: - -/* Line 1806 of yacc.c */ -#line 329 "parser.y" + case 38: +/* Line 1787 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 38: - -/* Line 1806 of yacc.c */ -#line 332 "parser.y" + case 39: +/* Line 1787 of yacc.c */ +#line 341 "parser.y" { (yyval.blk) = gen_binop((yyvsp[(1) - (4)].blk), gen_format((yyvsp[(3) - (4)].blk)), '+'); } break; - case 39: - -/* Line 1806 of yacc.c */ -#line 338 "parser.y" + case 40: +/* Line 1787 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 40: - -/* Line 1806 of yacc.c */ -#line 341 "parser.y" + case 41: +/* Line 1787 of yacc.c */ +#line 350 "parser.y" { (yyval.blk) = (yyvsp[(2) - (3)].blk); } break; - case 41: - -/* Line 1806 of yacc.c */ -#line 346 "parser.y" + case 42: +/* Line 1787 of yacc.c */ +#line 355 "parser.y" { (yyval.blk) = block_join((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; - case 42: - -/* Line 1806 of yacc.c */ -#line 350 "parser.y" + case 43: +/* Line 1787 of yacc.c */ +#line 359 "parser.y" { (yyval.blk) = (yyvsp[(1) - (1)].blk); } break; - case 43: - -/* Line 1806 of yacc.c */ -#line 356 "parser.y" + case 44: +/* Line 1787 of yacc.c */ +#line 365 "parser.y" { (yyval.blk) = gen_noop(); } break; - case 44: - -/* Line 1806 of yacc.c */ -#line 359 "parser.y" + case 45: +/* Line 1787 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 45: - -/* Line 1806 of yacc.c */ -#line 362 "parser.y" + case 46: +/* Line 1787 of yacc.c */ +#line 371 "parser.y" { (yyval.blk) = gen_index(gen_noop(), gen_op_const(LOADK, (yyvsp[(2) - (2)].literal))); } break; - case 46: - -/* Line 1806 of yacc.c */ -#line 366 "parser.y" + case 47: +/* Line 1787 of yacc.c */ +#line 375 "parser.y" { (yyval.blk) = gen_index((yyvsp[(1) - (4)].blk), (yyvsp[(3) - (4)].blk)); } break; - case 47: - -/* Line 1806 of yacc.c */ -#line 369 "parser.y" + case 48: +/* Line 1787 of yacc.c */ +#line 378 "parser.y" { (yyval.blk) = block_join((yyvsp[(1) - (3)].blk), gen_op_simple(EACH)); } break; - case 48: - -/* Line 1806 of yacc.c */ -#line 372 "parser.y" + case 49: +/* Line 1787 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 375 "parser.y" + case 50: +/* Line 1787 of yacc.c */ +#line 384 "parser.y" { (yyval.blk) = (yyvsp[(2) - (3)].blk); } break; - case 50: - -/* Line 1806 of yacc.c */ -#line 378 "parser.y" + case 51: +/* Line 1787 of yacc.c */ +#line 387 "parser.y" { (yyval.blk) = gen_collect((yyvsp[(2) - (3)].blk)); } break; - case 51: - -/* Line 1806 of yacc.c */ -#line 381 "parser.y" + case 52: +/* Line 1787 of yacc.c */ +#line 390 "parser.y" { (yyval.blk) = gen_op_const(LOADK, jv_array()); } break; - case 52: - -/* Line 1806 of yacc.c */ -#line 384 "parser.y" + case 53: +/* Line 1787 of yacc.c */ +#line 393 "parser.y" { (yyval.blk) = gen_subexp(gen_op_const(LOADK, jv_object())); block_append(&(yyval.blk), (yyvsp[(2) - (3)].blk)); @@ -2419,30 +2366,27 @@ yyreduce: } break; - case 53: - -/* Line 1806 of yacc.c */ -#line 389 "parser.y" + case 54: +/* Line 1787 of yacc.c */ +#line 398 "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)); } break; - case 54: - -/* Line 1806 of yacc.c */ -#line 393 "parser.y" + case 55: +/* Line 1787 of yacc.c */ +#line 402 "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)); } break; - case 55: - -/* Line 1806 of yacc.c */ -#line 397 "parser.y" + case 56: +/* Line 1787 of yacc.c */ +#line 406 "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))), @@ -2455,112 +2399,98 @@ yyreduce: } break; - case 56: - -/* Line 1806 of yacc.c */ -#line 407 "parser.y" - { (yyval.blk) = gen_noop(); } - break; - case 57: - -/* Line 1806 of yacc.c */ -#line 408 "parser.y" +/* Line 1787 of yacc.c */ +#line 416 "parser.y" { (yyval.blk) = gen_noop(); } break; case 58: - -/* Line 1806 of yacc.c */ -#line 409 "parser.y" - { (yyval.blk) = (yyvsp[(1) - (4)].blk); } +/* Line 1787 of yacc.c */ +#line 417 "parser.y" + { (yyval.blk) = gen_noop(); } break; case 59: - -/* Line 1806 of yacc.c */ -#line 410 "parser.y" - { (yyval.blk) = gen_noop(); } +/* Line 1787 of yacc.c */ +#line 418 "parser.y" + { (yyval.blk) = (yyvsp[(1) - (4)].blk); } break; case 60: +/* Line 1787 of yacc.c */ +#line 419 "parser.y" + { (yyval.blk) = gen_noop(); } + break; -/* Line 1806 of yacc.c */ -#line 413 "parser.y" + case 61: +/* Line 1787 of yacc.c */ +#line 422 "parser.y" { (yyval.blk)=gen_noop(); } break; - case 61: - -/* Line 1806 of yacc.c */ -#line 416 "parser.y" + case 62: +/* Line 1787 of yacc.c */ +#line 425 "parser.y" { (yyval.blk) = (yyvsp[(1) - (1)].blk); } break; - case 62: - -/* Line 1806 of yacc.c */ -#line 417 "parser.y" + case 63: +/* Line 1787 of yacc.c */ +#line 426 "parser.y" { (yyval.blk)=block_join((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; - case 63: - -/* Line 1806 of yacc.c */ -#line 418 "parser.y" + case 64: +/* Line 1787 of yacc.c */ +#line 427 "parser.y" { (yyval.blk) = (yyvsp[(3) - (3)].blk); } break; - case 64: - -/* Line 1806 of yacc.c */ -#line 421 "parser.y" + case 65: +/* Line 1787 of yacc.c */ +#line 430 "parser.y" { (yyval.blk) = gen_dictpair(gen_op_const(LOADK, (yyvsp[(1) - (3)].literal)), (yyvsp[(3) - (3)].blk)); } break; - case 65: - -/* Line 1806 of yacc.c */ -#line 424 "parser.y" + case 66: +/* Line 1787 of yacc.c */ +#line 433 "parser.y" { (yyval.blk) = gen_dictpair((yyvsp[(1) - (3)].blk), (yyvsp[(3) - (3)].blk)); } break; - case 66: - -/* Line 1806 of yacc.c */ -#line 427 "parser.y" + case 67: +/* Line 1787 of yacc.c */ +#line 436 "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)))); } break; - case 67: - -/* Line 1806 of yacc.c */ -#line 431 "parser.y" + case 68: +/* Line 1787 of yacc.c */ +#line 440 "parser.y" { (yyval.blk) = gen_dictpair((yyvsp[(2) - (5)].blk), (yyvsp[(5) - (5)].blk)); } break; - case 68: - -/* Line 1806 of yacc.c */ -#line 434 "parser.y" + case 69: +/* Line 1787 of yacc.c */ +#line 443 "parser.y" { (yyval.blk) = (yyvsp[(5) - (5)].blk); } break; - -/* Line 1806 of yacc.c */ -#line 2564 "parser.gen.c" +/* Line 1787 of yacc.c */ +#line 2494 "parser.gen.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -2754,7 +2684,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#if !defined(yyoverflow) || YYERROR_VERBOSE +#if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -2796,9 +2726,8 @@ yyreturn: } - -/* Line 2067 of yacc.c */ -#line 435 "parser.y" +/* Line 2048 of yacc.c */ +#line 444 "parser.y" int jq_parse(struct locfile* locations, block* answer) { @@ -2827,4 +2756,3 @@ int jq_parse_library(struct locfile* locations, block* answer) { } return 0; } - diff --git a/parser.gen.h b/parser.gen.h index 49bf4cc..d29c12a 100644 --- a/parser.gen.h +++ b/parser.gen.h @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 2.5. */ +/* A Bison parser, made by GNU Bison 2.6.2. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2012 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,10 +30,18 @@ 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 2068 of yacc.c */ -#line 6 "parser.y" +/* Line 2049 of yacc.c */ +#line 9 "parser.y" #include "locfile.h" #define YYLTYPE location @@ -49,9 +57,8 @@ } while (0) - -/* Line 2068 of yacc.c */ -#line 55 "parser.gen.h" +/* Line 2049 of yacc.c */ +#line 62 "parser.gen.h" /* Tokens. */ #ifndef YYTOKENTYPE @@ -63,56 +70,52 @@ IDENT = 259, LITERAL = 260, EQ = 261, - DEFINEDOR = 262, - AS = 263, - DEF = 264, - IF = 265, - THEN = 266, - ELSE = 267, - ELSE_IF = 268, - END = 269, - AND = 270, - OR = 271, - SETPIPE = 272, - SETPLUS = 273, - SETMINUS = 274, - SETMULT = 275, - SETDIV = 276, - SETDEFINEDOR = 277, - LESSEQ = 278, - GREATEREQ = 279, - QQSTRING_START = 280, - QQSTRING_TEXT = 281, - QQSTRING_INTERP_START = 282, - QQSTRING_INTERP_END = 283, - QQSTRING_END = 284 + NEQ = 262, + DEFINEDOR = 263, + AS = 264, + DEF = 265, + IF = 266, + THEN = 267, + ELSE = 268, + ELSE_IF = 269, + END = 270, + AND = 271, + OR = 272, + SETPIPE = 273, + SETPLUS = 274, + SETMINUS = 275, + SETMULT = 276, + SETDIV = 277, + SETDEFINEDOR = 278, + LESSEQ = 279, + GREATEREQ = 280, + QQSTRING_START = 281, + QQSTRING_TEXT = 282, + QQSTRING_INTERP_START = 283, + QQSTRING_INTERP_END = 284, + QQSTRING_END = 285 }; #endif - #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { - -/* Line 2068 of yacc.c */ -#line 24 "parser.y" +/* Line 2049 of yacc.c */ +#line 27 "parser.y" jv literal; block blk; - -/* Line 2068 of yacc.c */ -#line 108 "parser.gen.h" +/* Line 2049 of yacc.c */ +#line 113 "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 { @@ -127,4 +130,18 @@ 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, yyscan_t lexer); +#else +int yyparse (); +#endif +#endif /* ! YYPARSE_PARAM */ +#endif /* !YY_PARSER_GEN_H */ diff --git a/parser.gen.info b/parser.gen.info index 6c84d97..d2fb1fd 100644 --- a/parser.gen.info +++ b/parser.gen.info @@ -1,16 +1,16 @@ -Terminals unused in grammar +Terminaux inutilisés dans la grammaire INVALID_CHARACTER -Grammar +Grammaire 0 $accept: TopLevel $end 1 TopLevel: Exp 2 | FuncDefs - 3 FuncDefs: /* empty */ + 3 FuncDefs: /* vide */ 4 | FuncDef FuncDefs 5 Exp: FuncDef Exp @@ -34,320 +34,322 @@ Grammar 23 | Exp '/' Exp 24 | Exp "/=" Exp 25 | Exp "==" Exp - 26 | Exp '<' Exp - 27 | Exp '>' Exp - 28 | Exp "<=" Exp - 29 | Exp ">=" Exp - 30 | String - 31 | Term - - 32 String: QQSTRING_START QQString QQSTRING_END - - 33 FuncDef: "def" IDENT ':' Exp ';' - 34 | "def" IDENT '(' IDENT ')' ':' Exp ';' - - 35 QQString: /* empty */ - 36 | QQString QQSTRING_TEXT - 37 | QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END - - 38 ElseBody: "elif" Exp "then" Exp ElseBody - 39 | "else" Exp "end" - - 40 ExpD: ExpD '|' ExpD - 41 | Term - - 42 Term: '.' - 43 | Term '.' IDENT - 44 | '.' IDENT - 45 | Term '[' Exp ']' - 46 | Term '[' ']' - 47 | LITERAL - 48 | '(' Exp ')' - 49 | '[' Exp ']' - 50 | '[' ']' - 51 | '{' MkDict '}' - 52 | '$' IDENT - 53 | IDENT - 54 | IDENT '(' Exp ')' - 55 | '(' error ')' - 56 | '[' error ']' - 57 | Term '[' error ']' - 58 | '{' error '}' - - 59 MkDict: /* empty */ - 60 | MkDictPair - 61 | MkDictPair ',' MkDict - 62 | error ',' MkDict - - 63 MkDictPair: IDENT ':' ExpD - 64 | String ':' ExpD - 65 | IDENT - 66 | '(' Exp ')' ':' ExpD - 67 | '(' error ')' ':' ExpD - - -Terminals, with rules where they appear + 26 | Exp "!=" Exp + 27 | Exp '<' Exp + 28 | Exp '>' Exp + 29 | Exp "<=" Exp + 30 | Exp ">=" Exp + 31 | String + 32 | Term + + 33 String: QQSTRING_START QQString QQSTRING_END + + 34 FuncDef: "def" IDENT ':' Exp ';' + 35 | "def" IDENT '(' IDENT ')' ':' Exp ';' + + 36 QQString: /* vide */ + 37 | QQString QQSTRING_TEXT + 38 | QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END + + 39 ElseBody: "elif" Exp "then" Exp ElseBody + 40 | "else" Exp "end" + + 41 ExpD: ExpD '|' ExpD + 42 | Term + + 43 Term: '.' + 44 | Term '.' IDENT + 45 | '.' IDENT + 46 | Term '[' Exp ']' + 47 | Term '[' ']' + 48 | LITERAL + 49 | '(' Exp ')' + 50 | '[' Exp ']' + 51 | '[' ']' + 52 | '{' MkDict '}' + 53 | '$' IDENT + 54 | IDENT + 55 | IDENT '(' Exp ')' + 56 | '(' error ')' + 57 | '[' error ']' + 58 | Term '[' error ']' + 59 | '{' error '}' + + 60 MkDict: /* vide */ + 61 | MkDictPair + 62 | MkDictPair ',' MkDict + 63 | error ',' MkDict + + 64 MkDictPair: IDENT ':' ExpD + 65 | String ':' ExpD + 66 | IDENT + 67 | '(' Exp ')' ':' ExpD + 68 | '(' error ')' ':' ExpD + + +Terminaux, suivis des règles où ils apparaissent $end (0) 0 -'$' (36) 6 52 -'(' (40) 34 48 54 55 66 67 -')' (41) 34 48 54 55 66 67 +'$' (36) 6 53 +'(' (40) 35 49 55 56 67 68 +')' (41) 35 49 55 56 67 68 '*' (42) 21 '+' (43) 17 -',' (44) 16 61 62 +',' (44) 16 62 63 '-' (45) 19 -'.' (46) 42 43 44 +'.' (46) 43 44 45 '/' (47) 23 -':' (58) 33 34 63 64 66 67 -';' (59) 33 34 -'<' (60) 26 +':' (58) 34 35 64 65 67 68 +';' (59) 34 35 +'<' (60) 27 '=' (61) 9 -'>' (62) 27 -'[' (91) 45 46 49 50 56 57 -']' (93) 45 46 49 50 56 57 -'{' (123) 51 58 -'|' (124) 6 15 40 -'}' (125) 51 58 -error (256) 8 55 56 57 58 62 67 +'>' (62) 28 +'[' (91) 46 47 50 51 57 58 +']' (93) 46 47 50 51 57 58 +'{' (123) 52 59 +'|' (124) 6 15 41 +'}' (125) 52 59 +error (256) 8 56 57 58 59 63 68 INVALID_CHARACTER (258) -IDENT (259) 6 33 34 43 44 52 53 54 63 65 -LITERAL (260) 47 +IDENT (259) 6 34 35 44 45 53 54 55 64 66 +LITERAL (260) 48 "==" (261) 25 -"//" (262) 12 -"as" (263) 6 -"def" (264) 33 34 -"if" (265) 7 8 -"then" (266) 7 38 -"else" (267) 39 -"elif" (268) 38 -"end" (269) 39 -"and" (270) 11 -"or" (271) 10 -"|=" (272) 14 -"+=" (273) 18 -"-=" (274) 20 -"*=" (275) 22 -"/=" (276) 24 -"//=" (277) 13 -"<=" (278) 28 -">=" (279) 29 -QQSTRING_START (280) 32 -QQSTRING_TEXT (281) 36 -QQSTRING_INTERP_START (282) 37 -QQSTRING_INTERP_END (283) 37 -QQSTRING_END (284) 32 - - -Nonterminals, with rules where they appear - -$accept (49) - on left: 0 -TopLevel (50) - on left: 1 2, on right: 0 -FuncDefs (51) - on left: 3 4, on right: 2 4 -Exp (52) - 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 33 34 37 38 39 45 48 49 - 54 66 -String (53) - on left: 32, on right: 30 64 -FuncDef (54) - on left: 33 34, on right: 4 5 -QQString (55) - on left: 35 36 37, on right: 32 36 37 -ElseBody (56) - on left: 38 39, on right: 7 38 -ExpD (57) - on left: 40 41, on right: 40 63 64 66 67 -Term (58) - on left: 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58, on right: - 6 31 41 43 45 46 57 -MkDict (59) - on left: 59 60 61 62, on right: 51 61 62 -MkDictPair (60) - on left: 63 64 65 66 67, on right: 60 61 - - -state 0 +"!=" (262) 26 +"//" (263) 12 +"as" (264) 6 +"def" (265) 34 35 +"if" (266) 7 8 +"then" (267) 7 39 +"else" (268) 40 +"elif" (269) 39 +"end" (270) 40 +"and" (271) 11 +"or" (272) 10 +"|=" (273) 14 +"+=" (274) 18 +"-=" (275) 20 +"*=" (276) 22 +"/=" (277) 24 +"//=" (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 + + +Non-terminaux, suivis des règles où ils apparaissent + +$accept (50) + à gauche: 0 +TopLevel (51) + à gauche: 1 2, à droite: 0 +FuncDefs (52) + à gauche: 3 4, à droite: 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 +String (54) + à gauche: 33, à droite: 31 65 +FuncDef (55) + à gauche: 34 35, à droite: 4 5 +QQString (56) + à gauche: 36 37 38, à droite: 33 37 38 +ElseBody (57) + à gauche: 39 40, à droite: 7 39 +ExpD (58) + à gauche: 41 42, à droite: 41 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 +MkDict (60) + à gauche: 60 61 62 63, à droite: 52 62 63 +MkDictPair (61) + à gauche: 64 65 66 67 68, à droite: 61 62 + + +état 0 0 $accept: . TopLevel $end - 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 + 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 - $default reduce using rule 3 (FuncDefs) + $défaut réduction par utilisation de la règle 3 (FuncDefs) - 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 + 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 -state 1 +état 1 - 53 Term: IDENT . - 54 | IDENT . '(' Exp ')' + 54 Term: IDENT . + 55 | IDENT . '(' Exp ')' - '(' shift, and go to state 17 + '(' décalage et aller à l'état 17 - $default reduce using rule 53 (Term) + $défaut réduction par utilisation de la règle 54 (Term) -state 2 +état 2 - 47 Term: LITERAL . + 48 Term: LITERAL . - $default reduce using rule 47 (Term) + $défaut réduction par utilisation de la règle 48 (Term) -state 3 +état 3 - 33 FuncDef: "def" . IDENT ':' Exp ';' - 34 | "def" . IDENT '(' IDENT ')' ':' Exp ';' + 34 FuncDef: "def" . IDENT ':' Exp ';' + 35 | "def" . IDENT '(' IDENT ')' ':' Exp ';' - IDENT shift, and go to state 18 + IDENT décalage et aller à l'état 18 -state 4 +état 4 7 Exp: "if" . Exp "then" Exp ElseBody 8 | "if" . Exp error - 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 + 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 - Exp go to state 19 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 19 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 5 +état 5 - 32 String: QQSTRING_START . QQString QQSTRING_END + 33 String: QQSTRING_START . QQString QQSTRING_END - $default reduce using rule 35 (QQString) + $défaut réduction par utilisation de la règle 36 (QQString) - QQString go to state 21 + QQString aller à l'état 21 -state 6 +état 6 - 52 Term: '$' . IDENT + 53 Term: '$' . IDENT - IDENT shift, and go to state 22 + IDENT décalage et aller à l'état 22 -state 7 +état 7 - 48 Term: '(' . Exp ')' - 55 | '(' . error ')' + 49 Term: '(' . Exp ')' + 56 | '(' . error ')' - 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 + 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 - Exp go to state 24 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 24 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 8 +état 8 - 42 Term: '.' . - 44 | '.' . IDENT + 43 Term: '.' . + 45 | '.' . IDENT - IDENT shift, and go to state 25 + IDENT décalage et aller à l'état 25 - $default reduce using rule 42 (Term) + $défaut réduction par utilisation de la règle 43 (Term) -state 9 +état 9 - 49 Term: '[' . Exp ']' - 50 | '[' . ']' - 56 | '[' . error ']' + 50 Term: '[' . Exp ']' + 51 | '[' . ']' + 57 | '[' . error ']' - 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 + 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 - Exp go to state 28 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 28 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 10 +état 10 - 51 Term: '{' . MkDict '}' - 58 | '{' . error '}' + 52 Term: '{' . MkDict '}' + 59 | '{' . error '}' - 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 + 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 - '}' reduce using rule 59 (MkDict) + '}' réduction par utilisation de la règle 60 (MkDict) - String go to state 32 - MkDict go to state 33 - MkDictPair go to state 34 + String aller à l'état 32 + MkDict aller à l'état 33 + MkDictPair aller à l'état 34 -state 11 +état 11 0 $accept: TopLevel . $end - $end shift, and go to state 35 + $end décalage et aller à l'état 35 -state 12 +état 12 2 TopLevel: FuncDefs . - $default reduce using rule 2 (TopLevel) + $défaut réduction par utilisation de la règle 2 (TopLevel) -state 13 +état 13 1 TopLevel: Exp . 9 Exp: Exp . '=' Exp @@ -367,115 +369,117 @@ state 13 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 - - $default reduce using rule 1 (TopLevel) - - -state 14 - - 30 Exp: String . - - $default reduce using rule 30 (Exp) - - -state 15 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + $défaut réduction par utilisation de la règle 1 (TopLevel) + + +état 14 + + 31 Exp: String . + + $défaut réduction par utilisation de la règle 31 (Exp) + + +état 15 4 FuncDefs: FuncDef . FuncDefs 5 Exp: FuncDef . Exp - 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 + 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 - $default reduce using rule 3 (FuncDefs) + $défaut réduction par utilisation de la règle 3 (FuncDefs) - FuncDefs go to state 57 - Exp go to state 58 - String go to state 14 - FuncDef go to state 15 - Term go to state 16 + 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 -state 16 +état 16 6 Exp: Term . "as" '$' IDENT '|' Exp - 31 | Term . - 43 Term: Term . '.' IDENT - 45 | Term . '[' Exp ']' - 46 | Term . '[' ']' - 57 | Term . '[' error ']' + 32 | Term . + 44 Term: Term . '.' IDENT + 46 | Term . '[' Exp ']' + 47 | Term . '[' ']' + 58 | Term . '[' error ']' - "as" shift, and go to state 59 - '.' shift, and go to state 60 - '[' shift, and go to state 61 + "as" décalage et aller à l'état 60 + '.' décalage et aller à l'état 61 + '[' décalage et aller à l'état 62 - $default reduce using rule 31 (Exp) + $défaut réduction par utilisation de la règle 32 (Exp) -state 17 +état 17 - 54 Term: IDENT '(' . Exp ')' + 55 Term: IDENT '(' . Exp ')' - 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 + 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 - Exp go to state 62 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 63 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 18 +état 18 - 33 FuncDef: "def" IDENT . ':' Exp ';' - 34 | "def" IDENT . '(' IDENT ')' ':' Exp ';' + 34 FuncDef: "def" IDENT . ':' Exp ';' + 35 | "def" IDENT . '(' IDENT ')' ':' Exp ';' - ':' shift, and go to state 63 - '(' shift, and go to state 64 + ':' décalage et aller à l'état 64 + '(' décalage et aller à l'état 65 -state 19 +état 19 7 Exp: "if" Exp . "then" Exp ElseBody 8 | "if" Exp . error @@ -496,83 +500,85 @@ state 19 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - error shift, and go to state 65 - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "then" shift, and go to state 66 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 - - -state 20 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + +état 20 5 Exp: FuncDef . Exp - 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 + 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 - Exp go to state 58 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 59 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 21 +état 21 - 32 String: QQSTRING_START QQString . QQSTRING_END - 36 QQString: QQString . QQSTRING_TEXT - 37 | QQString . QQSTRING_INTERP_START Exp QQSTRING_INTERP_END + 33 String: QQSTRING_START QQString . QQSTRING_END + 37 QQString: QQString . QQSTRING_TEXT + 38 | QQString . QQSTRING_INTERP_START Exp QQSTRING_INTERP_END - QQSTRING_TEXT shift, and go to state 67 - QQSTRING_INTERP_START shift, and go to state 68 - QQSTRING_END shift, and go to state 69 + 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 -state 22 +état 22 - 52 Term: '$' IDENT . + 53 Term: '$' IDENT . - $default reduce using rule 52 (Term) + $défaut réduction par utilisation de la règle 53 (Term) -state 23 +état 23 - 55 Term: '(' error . ')' + 56 Term: '(' error . ')' - ')' shift, and go to state 70 + ')' décalage et aller à l'état 71 -state 24 +état 24 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -591,58 +597,60 @@ state 24 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 48 Term: '(' Exp . ')' + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 49 Term: '(' Exp . ')' - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 71 + "==" 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 -state 25 +état 25 - 44 Term: '.' IDENT . + 45 Term: '.' IDENT . - $default reduce using rule 44 (Term) + $défaut réduction par utilisation de la règle 45 (Term) -state 26 +état 26 - 56 Term: '[' error . ']' + 57 Term: '[' error . ']' - ']' shift, and go to state 72 + ']' décalage et aller à l'état 73 -state 27 +état 27 - 50 Term: '[' ']' . + 51 Term: '[' ']' . - $default reduce using rule 50 (Term) + $défaut réduction par utilisation de la règle 51 (Term) -state 28 +état 28 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -661,558 +669,581 @@ state 28 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 49 Term: '[' Exp . ']' + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 50 Term: '[' Exp . ']' - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 73 + "==" 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 -state 29 +état 29 - 58 Term: '{' error . '}' - 62 MkDict: error . ',' MkDict + 59 Term: '{' error . '}' + 63 MkDict: error . ',' MkDict - ',' shift, and go to state 74 - '}' shift, and go to state 75 + ',' décalage et aller à l'état 75 + '}' décalage et aller à l'état 76 -state 30 +état 30 - 63 MkDictPair: IDENT . ':' ExpD - 65 | IDENT . + 64 MkDictPair: IDENT . ':' ExpD + 66 | IDENT . - ':' shift, and go to state 76 + ':' décalage et aller à l'état 77 - $default reduce using rule 65 (MkDictPair) + $défaut réduction par utilisation de la règle 66 (MkDictPair) -state 31 +état 31 - 66 MkDictPair: '(' . Exp ')' ':' ExpD - 67 | '(' . error ')' ':' ExpD + 67 MkDictPair: '(' . Exp ')' ':' ExpD + 68 | '(' . error ')' ':' ExpD - error shift, and go to state 77 - 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 + 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 - Exp go to state 78 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 79 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 32 +état 32 - 64 MkDictPair: String . ':' ExpD + 65 MkDictPair: String . ':' ExpD - ':' shift, and go to state 79 + ':' décalage et aller à l'état 80 -state 33 +état 33 - 51 Term: '{' MkDict . '}' + 52 Term: '{' MkDict . '}' - '}' shift, and go to state 80 + '}' décalage et aller à l'état 81 -state 34 +état 34 - 60 MkDict: MkDictPair . - 61 | MkDictPair . ',' MkDict + 61 MkDict: MkDictPair . + 62 | MkDictPair . ',' MkDict - ',' shift, and go to state 81 + ',' décalage et aller à l'état 82 - $default reduce using rule 60 (MkDict) + $défaut réduction par utilisation de la règle 61 (MkDict) -state 35 +état 35 0 $accept: TopLevel $end . - $default accept + $défaut accepter -state 36 +état 36 25 Exp: Exp "==" . Exp - 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 + 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 + + Exp aller à l'état 83 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 - Exp go to state 82 - 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 + + Exp aller à l'état 84 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 + + +état 38 12 Exp: Exp "//" . Exp - 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 + 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 - Exp go to state 83 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 85 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 38 +état 39 11 Exp: Exp "and" . Exp - 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 + 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 - Exp go to state 84 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 86 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 39 +état 40 10 Exp: Exp "or" . Exp - 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 + 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 - Exp go to state 85 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 87 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 40 +état 41 14 Exp: Exp "|=" . Exp - 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 + 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 - Exp go to state 86 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 88 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 41 +état 42 18 Exp: Exp "+=" . Exp - 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 + 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 - Exp go to state 87 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 89 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 42 +état 43 20 Exp: Exp "-=" . Exp - 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 + 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 - Exp go to state 88 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 90 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 43 +état 44 22 Exp: Exp "*=" . Exp - 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 + 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 - Exp go to state 89 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 91 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 44 +état 45 24 Exp: Exp "/=" . Exp - 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 + 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 - Exp go to state 90 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 92 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 45 +état 46 13 Exp: Exp "//=" . Exp - 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 + 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 - Exp go to state 91 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 93 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 46 +état 47 - 28 Exp: Exp "<=" . Exp + 29 Exp: Exp "<=" . Exp - 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 + 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 - Exp go to state 92 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 94 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 47 +état 48 - 29 Exp: Exp ">=" . Exp + 30 Exp: Exp ">=" . Exp - 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 + 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 - Exp go to state 93 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 95 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 48 +état 49 15 Exp: Exp '|' . Exp - 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 + 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 - Exp go to state 94 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 96 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 49 +état 50 16 Exp: Exp ',' . Exp - 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 + 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 - Exp go to state 95 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 97 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 50 +état 51 9 Exp: Exp '=' . Exp - 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 + 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 - Exp go to state 96 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 98 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 51 +état 52 - 26 Exp: Exp '<' . Exp + 27 Exp: Exp '<' . Exp - 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 + 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 - Exp go to state 97 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 99 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 52 +état 53 - 27 Exp: Exp '>' . Exp + 28 Exp: Exp '>' . Exp - 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 + 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 - Exp go to state 98 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 100 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 53 +état 54 17 Exp: Exp '+' . Exp - 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 + 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 - Exp go to state 99 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 101 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 54 +état 55 19 Exp: Exp '-' . Exp - 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 + 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 - Exp go to state 100 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 102 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 55 +état 56 21 Exp: Exp '*' . Exp - 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 + 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 - Exp go to state 101 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 103 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 56 +état 57 23 Exp: Exp '/' . Exp - 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 + 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 - Exp go to state 102 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 104 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 57 +état 58 4 FuncDefs: FuncDef FuncDefs . - $default reduce using rule 4 (FuncDefs) + $défaut réduction par utilisation de la règle 4 (FuncDefs) -state 58 +état 59 5 Exp: FuncDef Exp . 9 | Exp . '=' Exp @@ -1232,76 +1263,78 @@ state 58 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 - - $default reduce using rule 5 (Exp) - - -state 59 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + $défaut réduction par utilisation de la règle 5 (Exp) + + +état 60 6 Exp: Term "as" . '$' IDENT '|' Exp - '$' shift, and go to state 103 + '$' décalage et aller à l'état 105 -state 60 +état 61 - 43 Term: Term '.' . IDENT + 44 Term: Term '.' . IDENT - IDENT shift, and go to state 104 + IDENT décalage et aller à l'état 106 -state 61 +état 62 - 45 Term: Term '[' . Exp ']' - 46 | Term '[' . ']' - 57 | Term '[' . error ']' + 46 Term: Term '[' . Exp ']' + 47 | Term '[' . ']' + 58 | Term '[' . error ']' - error shift, and go to state 105 - 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 106 - '{' shift, and go to state 10 + 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 - Exp go to state 107 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 109 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 62 +état 63 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1320,202 +1353,204 @@ state 62 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 54 Term: IDENT '(' Exp . ')' - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 108 - - -state 63 - - 33 FuncDef: "def" IDENT ':' . Exp ';' - - 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 go to state 109 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 - - -state 64 - - 34 FuncDef: "def" IDENT '(' . IDENT ')' ':' Exp ';' - - IDENT shift, and go to state 110 - - -state 65 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 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 + + +état 64 + + 34 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 + + Exp aller à l'état 111 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 + + +état 65 + + 35 FuncDef: "def" IDENT '(' . IDENT ')' ':' Exp ';' + + IDENT décalage et aller à l'état 112 + + +état 66 8 Exp: "if" Exp error . - $default reduce using rule 8 (Exp) + $défaut réduction par utilisation de la règle 8 (Exp) -state 66 +état 67 7 Exp: "if" Exp "then" . Exp ElseBody - 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 + 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 - Exp go to state 111 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 113 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 67 +état 68 - 36 QQString: QQString QQSTRING_TEXT . + 37 QQString: QQString QQSTRING_TEXT . - $default reduce using rule 36 (QQString) + $défaut réduction par utilisation de la règle 37 (QQString) -state 68 +état 69 - 37 QQString: QQString QQSTRING_INTERP_START . Exp QQSTRING_INTERP_END + 38 QQString: QQString QQSTRING_INTERP_START . Exp QQSTRING_INTERP_END - 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 + 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 - Exp go to state 112 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 114 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 69 +état 70 - 32 String: QQSTRING_START QQString QQSTRING_END . + 33 String: QQSTRING_START QQString QQSTRING_END . - $default reduce using rule 32 (String) + $défaut réduction par utilisation de la règle 33 (String) -state 70 +état 71 - 55 Term: '(' error ')' . + 56 Term: '(' error ')' . - $default reduce using rule 55 (Term) + $défaut réduction par utilisation de la règle 56 (Term) -state 71 +état 72 - 48 Term: '(' Exp ')' . + 49 Term: '(' Exp ')' . - $default reduce using rule 48 (Term) + $défaut réduction par utilisation de la règle 49 (Term) -state 72 +état 73 - 56 Term: '[' error ']' . + 57 Term: '[' error ']' . - $default reduce using rule 56 (Term) + $défaut réduction par utilisation de la règle 57 (Term) -state 73 +état 74 - 49 Term: '[' Exp ']' . + 50 Term: '[' Exp ']' . - $default reduce using rule 49 (Term) + $défaut réduction par utilisation de la règle 50 (Term) -state 74 +état 75 - 62 MkDict: error ',' . MkDict + 63 MkDict: error ',' . MkDict - error shift, and go to state 113 - IDENT shift, and go to state 30 - QQSTRING_START shift, and go to state 5 - '(' shift, and go to state 31 + 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 - '}' reduce using rule 59 (MkDict) + '}' réduction par utilisation de la règle 60 (MkDict) - String go to state 32 - MkDict go to state 114 - MkDictPair go to state 34 + String aller à l'état 32 + MkDict aller à l'état 116 + MkDictPair aller à l'état 34 -state 75 +état 76 - 58 Term: '{' error '}' . + 59 Term: '{' error '}' . - $default reduce using rule 58 (Term) + $défaut réduction par utilisation de la règle 59 (Term) -state 76 +état 77 - 63 MkDictPair: IDENT ':' . ExpD + 64 MkDictPair: IDENT ':' . ExpD - IDENT shift, and go to state 1 - LITERAL shift, and go to state 2 - '$' 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 + 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 - ExpD go to state 115 - Term go to state 116 + ExpD aller à l'état 117 + Term aller à l'état 118 -state 77 +état 78 - 67 MkDictPair: '(' error . ')' ':' ExpD + 68 MkDictPair: '(' error . ')' ':' ExpD - ')' shift, and go to state 117 + ')' décalage et aller à l'état 119 -state 78 +état 79 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1534,76 +1569,78 @@ state 78 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 66 MkDictPair: '(' Exp . ')' ':' ExpD + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 67 MkDictPair: '(' Exp . ')' ':' ExpD - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 118 + "==" 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 -state 79 +état 80 - 64 MkDictPair: String ':' . ExpD + 65 MkDictPair: String ':' . ExpD - IDENT shift, and go to state 1 - LITERAL shift, and go to state 2 - '$' 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 + 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 - ExpD go to state 119 - Term go to state 116 + ExpD aller à l'état 121 + Term aller à l'état 118 -state 80 +état 81 - 51 Term: '{' MkDict '}' . + 52 Term: '{' MkDict '}' . - $default reduce using rule 51 (Term) + $défaut réduction par utilisation de la règle 52 (Term) -state 81 +état 82 - 61 MkDict: MkDictPair ',' . MkDict + 62 MkDict: MkDictPair ',' . MkDict - error shift, and go to state 113 - IDENT shift, and go to state 30 - QQSTRING_START shift, and go to state 5 - '(' shift, and go to state 31 + 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 - '}' reduce using rule 59 (MkDict) + '}' réduction par utilisation de la règle 60 (MkDict) - String go to state 32 - MkDict go to state 120 - MkDictPair go to state 34 + String aller à l'état 32 + MkDict aller à l'état 122 + MkDictPair aller à l'état 34 -state 82 +état 83 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1623,26 +1660,69 @@ state 82 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 25 | Exp "==" Exp . - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + "==" erreur (non-associative) + "!=" erreur (non-associative) + "<=" erreur (non-associative) + ">=" erreur (non-associative) + '<' erreur (non-associative) + '>' erreur (non-associative) + + $défaut réduction par utilisation de la règle 25 (Exp) + + +état 84 + + 9 Exp: Exp . '=' Exp + 10 | Exp . "or" Exp + 11 | Exp . "and" Exp + 12 | Exp . "//" Exp + 13 | Exp . "//=" Exp + 14 | Exp . "|=" Exp + 15 | Exp . '|' Exp + 16 | Exp . ',' Exp + 17 | Exp . '+' Exp + 18 | Exp . "+=" Exp + 19 | Exp . '-' Exp + 20 | Exp . "-=" Exp + 21 | Exp . '*' Exp + 22 | Exp . "*=" Exp + 23 | Exp . '/' Exp + 24 | Exp . "/=" Exp + 25 | Exp . "==" Exp + 26 | Exp . "!=" Exp + 26 | Exp "!=" Exp . + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp - '+' shift, and go to state 53 - '-' shift, and go to state 54 - '*' shift, and go to state 55 - '/' shift, and go to state 56 + '+' 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 (nonassociative) - "<=" error (nonassociative) - ">=" error (nonassociative) - '<' error (nonassociative) - '>' error (nonassociative) + "==" erreur (non-associative) + "!=" erreur (non-associative) + "<=" erreur (non-associative) + ">=" erreur (non-associative) + '<' erreur (non-associative) + '>' erreur (non-associative) - $default reduce using rule 25 (Exp) + $défaut réduction par utilisation de la règle 26 (Exp) -state 83 +état 85 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1662,35 +1742,37 @@ state 83 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 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 - - $default reduce using rule 12 (Exp) - - -state 84 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + $défaut réduction par utilisation de la règle 12 (Exp) + + +état 86 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1710,25 +1792,27 @@ state 84 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp - "==" shift, and go to state 36 - "<=" shift, and go to state 46 - ">=" shift, and go to state 47 - '<' 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 + "==" 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 - $default reduce using rule 11 (Exp) + $défaut réduction par utilisation de la règle 11 (Exp) -state 85 +état 87 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1748,26 +1832,28 @@ state 85 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp - "==" shift, and go to state 36 - "and" shift, and go to state 38 - "<=" shift, and go to state 46 - ">=" shift, and go to state 47 - '<' 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 + "==" 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 - $default reduce using rule 10 (Exp) + $défaut réduction par utilisation de la règle 10 (Exp) -state 86 +état 88 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1787,35 +1873,37 @@ state 86 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "<=" shift, and go to state 46 - ">=" shift, and go to state 47 - '<' 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 - - "|=" error (nonassociative) - "+=" error (nonassociative) - "-=" error (nonassociative) - "*=" error (nonassociative) - "/=" error (nonassociative) - "//=" error (nonassociative) - '=' error (nonassociative) - - $default reduce using rule 14 (Exp) - - -state 87 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + "|=" erreur (non-associative) + "+=" erreur (non-associative) + "-=" erreur (non-associative) + "*=" erreur (non-associative) + "/=" erreur (non-associative) + "//=" erreur (non-associative) + '=' erreur (non-associative) + + $défaut réduction par utilisation de la règle 14 (Exp) + + +état 89 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1835,35 +1923,37 @@ state 87 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "<=" shift, and go to state 46 - ">=" shift, and go to state 47 - '<' 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 - - "|=" error (nonassociative) - "+=" error (nonassociative) - "-=" error (nonassociative) - "*=" error (nonassociative) - "/=" error (nonassociative) - "//=" error (nonassociative) - '=' error (nonassociative) - - $default reduce using rule 18 (Exp) - - -state 88 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + "|=" erreur (non-associative) + "+=" erreur (non-associative) + "-=" erreur (non-associative) + "*=" erreur (non-associative) + "/=" erreur (non-associative) + "//=" erreur (non-associative) + '=' erreur (non-associative) + + $défaut réduction par utilisation de la règle 18 (Exp) + + +état 90 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1883,35 +1973,37 @@ state 88 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "<=" shift, and go to state 46 - ">=" shift, and go to state 47 - '<' 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 - - "|=" error (nonassociative) - "+=" error (nonassociative) - "-=" error (nonassociative) - "*=" error (nonassociative) - "/=" error (nonassociative) - "//=" error (nonassociative) - '=' error (nonassociative) - - $default reduce using rule 20 (Exp) - - -state 89 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + "|=" erreur (non-associative) + "+=" erreur (non-associative) + "-=" erreur (non-associative) + "*=" erreur (non-associative) + "/=" erreur (non-associative) + "//=" erreur (non-associative) + '=' erreur (non-associative) + + $défaut réduction par utilisation de la règle 20 (Exp) + + +état 91 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1931,35 +2023,37 @@ state 89 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "<=" shift, and go to state 46 - ">=" shift, and go to state 47 - '<' 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 - - "|=" error (nonassociative) - "+=" error (nonassociative) - "-=" error (nonassociative) - "*=" error (nonassociative) - "/=" error (nonassociative) - "//=" error (nonassociative) - '=' error (nonassociative) - - $default reduce using rule 22 (Exp) - - -state 90 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + "|=" erreur (non-associative) + "+=" erreur (non-associative) + "-=" erreur (non-associative) + "*=" erreur (non-associative) + "/=" erreur (non-associative) + "//=" erreur (non-associative) + '=' erreur (non-associative) + + $défaut réduction par utilisation de la règle 22 (Exp) + + +état 92 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -1979,35 +2073,37 @@ state 90 24 | Exp . "/=" Exp 24 | Exp "/=" Exp . 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "<=" shift, and go to state 46 - ">=" shift, and go to state 47 - '<' 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 - - "|=" error (nonassociative) - "+=" error (nonassociative) - "-=" error (nonassociative) - "*=" error (nonassociative) - "/=" error (nonassociative) - "//=" error (nonassociative) - '=' error (nonassociative) - - $default reduce using rule 24 (Exp) - - -state 91 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + "|=" erreur (non-associative) + "+=" erreur (non-associative) + "-=" erreur (non-associative) + "*=" erreur (non-associative) + "/=" erreur (non-associative) + "//=" erreur (non-associative) + '=' erreur (non-associative) + + $défaut réduction par utilisation de la règle 24 (Exp) + + +état 93 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2027,35 +2123,37 @@ state 91 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "<=" shift, and go to state 46 - ">=" shift, and go to state 47 - '<' 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 - - "|=" error (nonassociative) - "+=" error (nonassociative) - "-=" error (nonassociative) - "*=" error (nonassociative) - "/=" error (nonassociative) - "//=" error (nonassociative) - '=' error (nonassociative) - - $default reduce using rule 13 (Exp) - - -state 92 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + "|=" erreur (non-associative) + "+=" erreur (non-associative) + "-=" erreur (non-associative) + "*=" erreur (non-associative) + "/=" erreur (non-associative) + "//=" erreur (non-associative) + '=' erreur (non-associative) + + $défaut réduction par utilisation de la règle 13 (Exp) + + +état 94 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2074,27 +2172,29 @@ state 92 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 28 | Exp "<=" Exp . - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 29 | Exp "<=" Exp . + 30 | Exp . ">=" Exp - '+' shift, and go to state 53 - '-' shift, and go to state 54 - '*' shift, and go to state 55 - '/' shift, and go to state 56 + '+' 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 (nonassociative) - "<=" error (nonassociative) - ">=" error (nonassociative) - '<' error (nonassociative) - '>' error (nonassociative) + "==" erreur (non-associative) + "!=" erreur (non-associative) + "<=" erreur (non-associative) + ">=" erreur (non-associative) + '<' erreur (non-associative) + '>' erreur (non-associative) - $default reduce using rule 28 (Exp) + $défaut réduction par utilisation de la règle 29 (Exp) -state 93 +état 95 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2113,27 +2213,29 @@ state 93 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 29 | Exp ">=" Exp . + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 30 | Exp ">=" Exp . - '+' shift, and go to state 53 - '-' shift, and go to state 54 - '*' shift, and go to state 55 - '/' shift, and go to state 56 + '+' 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 (nonassociative) - "<=" error (nonassociative) - ">=" error (nonassociative) - '<' error (nonassociative) - '>' error (nonassociative) + "==" erreur (non-associative) + "!=" erreur (non-associative) + "<=" erreur (non-associative) + ">=" erreur (non-associative) + '<' erreur (non-associative) + '>' erreur (non-associative) - $default reduce using rule 29 (Exp) + $défaut réduction par utilisation de la règle 30 (Exp) -state 94 +état 96 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2153,36 +2255,38 @@ state 94 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 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 - - $default reduce using rule 15 (Exp) - - -state 95 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + $défaut réduction par utilisation de la règle 15 (Exp) + + +état 97 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2202,35 +2306,37 @@ state 95 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 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 - - $default reduce using rule 16 (Exp) - - -state 96 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + $défaut réduction par utilisation de la règle 16 (Exp) + + +état 98 9 Exp: Exp . '=' Exp 9 | Exp '=' Exp . @@ -2250,35 +2356,37 @@ state 96 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "<=" shift, and go to state 46 - ">=" shift, and go to state 47 - '<' 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 - - "|=" error (nonassociative) - "+=" error (nonassociative) - "-=" error (nonassociative) - "*=" error (nonassociative) - "/=" error (nonassociative) - "//=" error (nonassociative) - '=' error (nonassociative) - - $default reduce using rule 9 (Exp) - - -state 97 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + "|=" erreur (non-associative) + "+=" erreur (non-associative) + "-=" erreur (non-associative) + "*=" erreur (non-associative) + "/=" erreur (non-associative) + "//=" erreur (non-associative) + '=' erreur (non-associative) + + $défaut réduction par utilisation de la règle 9 (Exp) + + +état 99 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2297,27 +2405,29 @@ state 97 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 26 | Exp '<' Exp . - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 27 | Exp '<' Exp . + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp - '+' shift, and go to state 53 - '-' shift, and go to state 54 - '*' shift, and go to state 55 - '/' shift, and go to state 56 + '+' 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 (nonassociative) - "<=" error (nonassociative) - ">=" error (nonassociative) - '<' error (nonassociative) - '>' error (nonassociative) + "==" erreur (non-associative) + "!=" erreur (non-associative) + "<=" erreur (non-associative) + ">=" erreur (non-associative) + '<' erreur (non-associative) + '>' erreur (non-associative) - $default reduce using rule 26 (Exp) + $défaut réduction par utilisation de la règle 27 (Exp) -state 98 +état 100 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2336,27 +2446,29 @@ state 98 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 27 | Exp '>' Exp . - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 28 | Exp '>' Exp . + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp - '+' shift, and go to state 53 - '-' shift, and go to state 54 - '*' shift, and go to state 55 - '/' shift, and go to state 56 + '+' 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 (nonassociative) - "<=" error (nonassociative) - ">=" error (nonassociative) - '<' error (nonassociative) - '>' error (nonassociative) + "==" erreur (non-associative) + "!=" erreur (non-associative) + "<=" erreur (non-associative) + ">=" erreur (non-associative) + '<' erreur (non-associative) + '>' erreur (non-associative) - $default reduce using rule 27 (Exp) + $défaut réduction par utilisation de la règle 28 (Exp) -state 99 +état 101 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2376,18 +2488,19 @@ state 99 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp - '*' shift, and go to state 55 - '/' shift, and go to state 56 + '*' décalage et aller à l'état 56 + '/' décalage et aller à l'état 57 - $default reduce using rule 17 (Exp) + $défaut réduction par utilisation de la règle 17 (Exp) -state 100 +état 102 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2407,18 +2520,19 @@ state 100 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp - '*' shift, and go to state 55 - '/' shift, and go to state 56 + '*' décalage et aller à l'état 56 + '/' décalage et aller à l'état 57 - $default reduce using rule 19 (Exp) + $défaut réduction par utilisation de la règle 19 (Exp) -state 101 +état 103 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2438,15 +2552,16 @@ state 101 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp - $default reduce using rule 21 (Exp) + $défaut réduction par utilisation de la règle 21 (Exp) -state 102 +état 104 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2466,43 +2581,44 @@ state 102 23 | Exp '/' Exp . 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp - $default reduce using rule 23 (Exp) + $défaut réduction par utilisation de la règle 23 (Exp) -state 103 +état 105 6 Exp: Term "as" '$' . IDENT '|' Exp - IDENT shift, and go to state 121 + IDENT décalage et aller à l'état 123 -state 104 +état 106 - 43 Term: Term '.' IDENT . + 44 Term: Term '.' IDENT . - $default reduce using rule 43 (Term) + $défaut réduction par utilisation de la règle 44 (Term) -state 105 +état 107 - 57 Term: Term '[' error . ']' + 58 Term: Term '[' error . ']' - ']' shift, and go to state 122 + ']' décalage et aller à l'état 124 -state 106 +état 108 - 46 Term: Term '[' ']' . + 47 Term: Term '[' ']' . - $default reduce using rule 46 (Term) + $défaut réduction par utilisation de la règle 47 (Term) -state 107 +état 109 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2521,44 +2637,46 @@ state 107 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 45 Term: Term '[' Exp . ']' - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 123 - - -state 108 - - 54 Term: IDENT '(' Exp ')' . - - $default reduce using rule 54 (Term) - - -state 109 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 46 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 + + +état 110 + + 55 Term: IDENT '(' Exp ')' . + + $défaut réduction par utilisation de la règle 55 (Term) + + +état 111 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2577,44 +2695,46 @@ state 109 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 33 FuncDef: "def" IDENT ':' Exp . ';' - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 124 - '|' 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 - - -state 110 - - 34 FuncDef: "def" IDENT '(' IDENT . ')' ':' Exp ';' - - ')' shift, and go to state 125 - - -state 111 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 34 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 + + +état 112 + + 35 FuncDef: "def" IDENT '(' IDENT . ')' ':' Exp ';' + + ')' décalage et aller à l'état 127 + + +état 113 7 Exp: "if" Exp "then" Exp . ElseBody 9 | Exp . '=' Exp @@ -2634,39 +2754,41 @@ state 111 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "else" shift, and go to state 126 - "elif" shift, and go to state 127 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 - - ElseBody go to state 128 - - -state 112 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + ElseBody aller à l'état 130 + + +état 114 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2685,287 +2807,289 @@ state 112 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 37 QQString: QQString QQSTRING_INTERP_START Exp . QQSTRING_INTERP_END + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 38 QQString: QQString QQSTRING_INTERP_START Exp . QQSTRING_INTERP_END - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 - QQSTRING_INTERP_END shift, and go to state 129 - '|' 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 + "==" 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 -state 113 +état 115 - 62 MkDict: error . ',' MkDict + 63 MkDict: error . ',' MkDict - ',' shift, and go to state 74 + ',' décalage et aller à l'état 75 -state 114 +état 116 - 62 MkDict: error ',' MkDict . + 63 MkDict: error ',' MkDict . - $default reduce using rule 62 (MkDict) + $défaut réduction par utilisation de la règle 63 (MkDict) -state 115 +état 117 - 40 ExpD: ExpD . '|' ExpD - 63 MkDictPair: IDENT ':' ExpD . + 41 ExpD: ExpD . '|' ExpD + 64 MkDictPair: IDENT ':' ExpD . - '|' shift, and go to state 130 + '|' décalage et aller à l'état 132 - $default reduce using rule 63 (MkDictPair) + $défaut réduction par utilisation de la règle 64 (MkDictPair) -state 116 +état 118 - 41 ExpD: Term . - 43 Term: Term . '.' IDENT - 45 | Term . '[' Exp ']' - 46 | Term . '[' ']' - 57 | Term . '[' error ']' + 42 ExpD: Term . + 44 Term: Term . '.' IDENT + 46 | Term . '[' Exp ']' + 47 | Term . '[' ']' + 58 | Term . '[' error ']' - '.' shift, and go to state 60 - '[' shift, and go to state 61 + '.' décalage et aller à l'état 61 + '[' décalage et aller à l'état 62 - $default reduce using rule 41 (ExpD) + $défaut réduction par utilisation de la règle 42 (ExpD) -state 117 +état 119 - 67 MkDictPair: '(' error ')' . ':' ExpD + 68 MkDictPair: '(' error ')' . ':' ExpD - ':' shift, and go to state 131 + ':' décalage et aller à l'état 133 -state 118 +état 120 - 66 MkDictPair: '(' Exp ')' . ':' ExpD + 67 MkDictPair: '(' Exp ')' . ':' ExpD - ':' shift, and go to state 132 + ':' décalage et aller à l'état 134 -state 119 +état 121 - 40 ExpD: ExpD . '|' ExpD - 64 MkDictPair: String ':' ExpD . + 41 ExpD: ExpD . '|' ExpD + 65 MkDictPair: String ':' ExpD . - '|' shift, and go to state 130 + '|' décalage et aller à l'état 132 - $default reduce using rule 64 (MkDictPair) + $défaut réduction par utilisation de la règle 65 (MkDictPair) -state 120 +état 122 - 61 MkDict: MkDictPair ',' MkDict . + 62 MkDict: MkDictPair ',' MkDict . - $default reduce using rule 61 (MkDict) + $défaut réduction par utilisation de la règle 62 (MkDict) -state 121 +état 123 6 Exp: Term "as" '$' IDENT . '|' Exp - '|' shift, and go to state 133 + '|' décalage et aller à l'état 135 -state 122 +état 124 - 57 Term: Term '[' error ']' . + 58 Term: Term '[' error ']' . - $default reduce using rule 57 (Term) + $défaut réduction par utilisation de la règle 58 (Term) -state 123 +état 125 - 45 Term: Term '[' Exp ']' . + 46 Term: Term '[' Exp ']' . - $default reduce using rule 45 (Term) + $défaut réduction par utilisation de la règle 46 (Term) -state 124 +état 126 - 33 FuncDef: "def" IDENT ':' Exp ';' . + 34 FuncDef: "def" IDENT ':' Exp ';' . - $default reduce using rule 33 (FuncDef) + $défaut réduction par utilisation de la règle 34 (FuncDef) -state 125 +état 127 - 34 FuncDef: "def" IDENT '(' IDENT ')' . ':' Exp ';' + 35 FuncDef: "def" IDENT '(' IDENT ')' . ':' Exp ';' - ':' shift, and go to state 134 + ':' décalage et aller à l'état 136 -state 126 +état 128 - 39 ElseBody: "else" . Exp "end" + 40 ElseBody: "else" . Exp "end" - 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 + 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 - Exp go to state 135 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 137 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 127 +état 129 - 38 ElseBody: "elif" . Exp "then" Exp ElseBody + 39 ElseBody: "elif" . Exp "then" Exp ElseBody - 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 + 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 - Exp go to state 136 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 138 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 128 +état 130 7 Exp: "if" Exp "then" Exp ElseBody . - $default reduce using rule 7 (Exp) + $défaut réduction par utilisation de la règle 7 (Exp) -state 129 +état 131 - 37 QQString: QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END . + 38 QQString: QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END . - $default reduce using rule 37 (QQString) + $défaut réduction par utilisation de la règle 38 (QQString) -state 130 +état 132 - 40 ExpD: ExpD '|' . ExpD + 41 ExpD: ExpD '|' . ExpD - IDENT shift, and go to state 1 - LITERAL shift, and go to state 2 - '$' 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 + 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 - ExpD go to state 137 - Term go to state 116 + ExpD aller à l'état 139 + Term aller à l'état 118 -state 131 +état 133 - 67 MkDictPair: '(' error ')' ':' . ExpD + 68 MkDictPair: '(' error ')' ':' . ExpD - IDENT shift, and go to state 1 - LITERAL shift, and go to state 2 - '$' 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 + 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 - ExpD go to state 138 - Term go to state 116 + ExpD aller à l'état 140 + Term aller à l'état 118 -state 132 +état 134 - 66 MkDictPair: '(' Exp ')' ':' . ExpD + 67 MkDictPair: '(' Exp ')' ':' . ExpD - IDENT shift, and go to state 1 - LITERAL shift, and go to state 2 - '$' 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 + 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 - ExpD go to state 139 - Term go to state 116 + ExpD aller à l'état 141 + Term aller à l'état 118 -state 133 +état 135 6 Exp: Term "as" '$' IDENT '|' . Exp - 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 + 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 - Exp go to state 140 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 142 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 134 +état 136 - 34 FuncDef: "def" IDENT '(' IDENT ')' ':' . Exp ';' + 35 FuncDef: "def" IDENT '(' IDENT ')' ':' . Exp ';' - 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 + 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 - Exp go to state 141 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 143 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 135 +état 137 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -2984,37 +3108,39 @@ state 135 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 39 ElseBody: "else" Exp . "end" - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "end" shift, and go to state 142 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 - - -state 136 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 40 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 + + +état 138 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -3033,65 +3159,67 @@ state 136 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 38 ElseBody: "elif" Exp . "then" Exp ElseBody + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 39 ElseBody: "elif" Exp . "then" Exp ElseBody - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "then" shift, and go to state 143 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 + "==" 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 -state 137 +état 139 - 40 ExpD: ExpD . '|' ExpD - 40 | ExpD '|' ExpD . + 41 ExpD: ExpD . '|' ExpD + 41 | ExpD '|' ExpD . - $default reduce using rule 40 (ExpD) + $défaut réduction par utilisation de la règle 41 (ExpD) -state 138 +état 140 - 40 ExpD: ExpD . '|' ExpD - 67 MkDictPair: '(' error ')' ':' ExpD . + 41 ExpD: ExpD . '|' ExpD + 68 MkDictPair: '(' error ')' ':' ExpD . - '|' shift, and go to state 130 + '|' décalage et aller à l'état 132 - $default reduce using rule 67 (MkDictPair) + $défaut réduction par utilisation de la règle 68 (MkDictPair) -state 139 +état 141 - 40 ExpD: ExpD . '|' ExpD - 66 MkDictPair: '(' Exp ')' ':' ExpD . + 41 ExpD: ExpD . '|' ExpD + 67 MkDictPair: '(' Exp ')' ':' ExpD . - '|' shift, and go to state 130 + '|' décalage et aller à l'état 132 - $default reduce using rule 66 (MkDictPair) + $défaut réduction par utilisation de la règle 67 (MkDictPair) -state 140 +état 142 6 Exp: Term "as" '$' IDENT '|' Exp . 9 | Exp . '=' Exp @@ -3111,36 +3239,38 @@ state 140 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 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 - - $default reduce using rule 6 (Exp) - - -state 141 + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 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 + + $défaut réduction par utilisation de la règle 6 (Exp) + + +état 143 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -3159,72 +3289,74 @@ state 141 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 34 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp . ';' + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 35 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp . ';' - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 144 - '|' 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 + "==" 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 -state 142 +état 144 - 39 ElseBody: "else" Exp "end" . + 40 ElseBody: "else" Exp "end" . - $default reduce using rule 39 (ElseBody) + $défaut réduction par utilisation de la règle 40 (ElseBody) -state 143 +état 145 - 38 ElseBody: "elif" Exp "then" . Exp ElseBody + 39 ElseBody: "elif" Exp "then" . Exp ElseBody - 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 + 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 - Exp go to state 145 - String go to state 14 - FuncDef go to state 20 - Term go to state 16 + Exp aller à l'état 147 + String aller à l'état 14 + FuncDef aller à l'état 20 + Term aller à l'état 16 -state 144 +état 146 - 34 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp ';' . + 35 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp ';' . - $default reduce using rule 34 (FuncDef) + $défaut réduction par utilisation de la règle 35 (FuncDef) -state 145 +état 147 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp @@ -3243,41 +3375,43 @@ state 145 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp - 26 | Exp . '<' Exp - 27 | Exp . '>' Exp - 28 | Exp . "<=" Exp - 29 | Exp . ">=" Exp - 38 ElseBody: "elif" Exp "then" Exp . ElseBody - - "==" shift, and go to state 36 - "//" shift, and go to state 37 - "else" shift, and go to state 126 - "elif" shift, and go to state 127 - "and" shift, and go to state 38 - "or" shift, and go to state 39 - "|=" 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 - - ElseBody go to state 146 - - -state 146 - - 38 ElseBody: "elif" Exp "then" Exp ElseBody . - - $default reduce using rule 38 (ElseBody) + 26 | Exp . "!=" Exp + 27 | Exp . '<' Exp + 28 | Exp . '>' Exp + 29 | Exp . "<=" Exp + 30 | Exp . ">=" Exp + 39 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 + + ElseBody aller à l'état 148 + + +état 148 + + 39 ElseBody: "elif" Exp "then" Exp ElseBody . + + $défaut réduction par utilisation de la règle 39 (ElseBody)