#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
/* 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.
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
#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
/* 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
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 );
/* Begin user sect3 */
-#define jq_yywrap(n) 1
+#define jq_yywrap(yyscanner) 1
#define YY_SKIP_YYWRAP
typedef unsigned char YY_CHAR;
*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
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] =
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,
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
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
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;
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 );
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 );
/* 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. */
#line 32 "lexer.l"
-#line 787 "lexer.gen.c"
+#line 778 "lexer.gen.c"
yylval = yylval_param;
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];
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);
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):
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;
/* 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;
}
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];
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;
}
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 ) )
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.
*/
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) {
* @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;
/** 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;
/* 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;
}
/* 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;
}
#define YYTABLES_NAME "yytables"
-#line 106 "lexer.l"
+#line 107 "lexer.l"
/* perhaps these should be calls... */
#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
/* 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
/* 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
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 );
/* Begin user sect3 */
-#define jq_yywrap(n) 1
+#define jq_yywrap(yyscanner) 1
#define YY_SKIP_YYWRAP
#define yytext_ptr yytext_r
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 );
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 );
/* 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. */
#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 */
-/* 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
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.5"
+#define YYBISON_VERSION "2.6.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* 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 <stdio.h>
#include <string.h>
#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
# 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
} 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
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 */
#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) \
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;
}
-
-/* Line 343 of yacc.c */
-#line 285 "parser.gen.c"
+/* Line 353 of yacc.c */
+#line 304 "parser.gen.c"
#ifdef short
# undef short
# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+ /* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
# endif
#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
/* 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)
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,
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",
"'>'", "'+'", "'-'", "'*'", "'/'", "'$'", "':'", "'('", "')'", "'.'",
"'['", "']'", "'{'", "'}'", "$accept", "TopLevel", "FuncDefs", "Exp",
"String", "FuncDef", "QQString", "ElseBody", "ExpD", "Term", "MkDict",
- "MkDictPair", 0
+ "MkDictPair", YY_NULL
};
#endif
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. */
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.
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)
#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; \
} \
#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
yyscan_t lexer;
#endif
{
+ FILE *yyo = yyoutput;
+ YYUSE (yyo);
if (!yyvaluep)
return;
YYUSE (yylocationp);
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
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;
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:
}
-/* 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 */
/*----------.
`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. */
yylloc.first_line = yylloc.last_line = 1;
yylloc.first_column = yylloc.last_column = 1;
#endif
-
goto yysetstate;
/*------------------------------------------------------------.
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));
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);
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));
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);
}
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);
}
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));
}
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))),
}
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
yyresult = 1;
goto yyreturn;
-#if !defined(yyoverflow) || YYERROR_VERBOSE
+#if !defined yyoverflow || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
}
-
-/* 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) {
}
return 0;
}
-
-/* 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
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
} 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
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
{
#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 */
-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 .
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)