📄 y_tab.c
字号:
{ "LT", 276 },
{ "MT", 277 },
{ "LE", 278 },
{ "ME", 279 },
{ "PLUS", 280 },
{ "MINUS", 281 },
{ "TIMES", 282 },
{ "OVER", 283 },
{ "AND", 284 },
{ "OR", 285 },
{ "NOT", 286 },
{ "LP", 287 },
{ "RP", 288 },
{ "LB", 289 },
{ "RB", 290 },
{ "LS", 291 },
{ "RS", 292 },
{ "SEMI", 293 },
{ "COMMA", 294 },
{ NULL, 0 }
};
YYCONST char *YYCONST YYNEARFAR YYBASED_CODE YYDCDECL yyrule[] = {
"$accept: program",
"program: MAIN LP RP LB stmt_seq RB",
"stmt_seq: stmt_seq stmt",
"stmt_seq:",
"stmt: if_stmt",
"stmt: while_stmt",
"stmt: exp_stmt",
"stmt: decl_stmt",
"stmt: BREAK SEMI",
"stmt: error",
"if_stmt: IF LP exp RP LB stmt_seq RB",
"if_stmt: IF LP exp RP LB stmt_seq RB ELSE LB stmt_seq RB",
"while_stmt: WHILE LP exp RP LB stmt_seq RB",
"exp_stmt: gen_exp SEMI",
"exp_stmt: SEMI",
"decl_stmt: type var_list SEMI",
"var_list: var_list COMMA var",
"var_list: var",
"type: RINT",
"type: RFLOAT",
"type: RCHAR",
"gen_exp: var ASSIGN gen_exp",
"gen_exp: exp",
"exp: exp AND comp_exp",
"exp: exp OR comp_exp",
"exp: comp_exp",
"comp_exp: comp_exp LT simple_exp",
"comp_exp: comp_exp MT simple_exp",
"comp_exp: comp_exp LE simple_exp",
"comp_exp: comp_exp ME simple_exp",
"comp_exp: comp_exp EQ simple_exp",
"comp_exp: comp_exp NE simple_exp",
"comp_exp: simple_exp",
"simple_exp: simple_exp PLUS term",
"simple_exp: simple_exp MINUS term",
"simple_exp: term",
"term: term TIMES factor",
"term: term OVER factor",
"term: factor",
"factor: LP gen_exp RP",
"factor: INT",
"factor: FLOAT",
"factor: CHAR",
"factor: var",
"factor: NOT factor",
"factor: error",
"var:",
"var: ID",
"$$1:",
"var: ID $$1 LS gen_exp RS"
};
#endif
YYCONST yyreduction_t YYNEARFAR YYBASED_CODE YYDCDECL yyreduction[] = {
{ 0, 1, -1 },
{ 1, 6, 0 },
{ 2, 2, 1 },
{ 2, 0, 2 },
{ 3, 1, 3 },
{ 3, 1, 4 },
{ 3, 1, 5 },
{ 3, 1, 6 },
{ 3, 2, 7 },
{ 3, 1, 8 },
{ 4, 7, 9 },
{ 4, 11, 10 },
{ 5, 7, 11 },
{ 6, 2, 12 },
{ 6, 1, 13 },
{ 7, 3, 14 },
{ 8, 3, 15 },
{ 8, 1, 16 },
{ 9, 1, 17 },
{ 9, 1, 18 },
{ 9, 1, 19 },
{ 10, 3, 20 },
{ 10, 1, 21 },
{ 11, 3, 22 },
{ 11, 3, 23 },
{ 11, 1, 24 },
{ 12, 3, 25 },
{ 12, 3, 26 },
{ 12, 3, 27 },
{ 12, 3, 28 },
{ 12, 3, 29 },
{ 12, 3, 30 },
{ 12, 1, 31 },
{ 13, 3, 32 },
{ 13, 3, 33 },
{ 13, 1, 34 },
{ 14, 3, 35 },
{ 14, 3, 36 },
{ 14, 1, 37 },
{ 15, 3, 38 },
{ 15, 1, 39 },
{ 15, 1, 40 },
{ 15, 1, 41 },
{ 15, 1, 42 },
{ 15, 2, 43 },
{ 15, 1, 44 },
{ 16, 0, -1 },
{ 16, 1, 45 },
{ 17, 0, 46 },
{ 16, 5, 47 }
};
YYCONST yytokenaction_t YYNEARFAR YYBASED_CODE YYDCDECL yytokenaction[] = {
{ 91, YYAT_SHIFT, 7 },
{ 91, YYAT_SHIFT, 8 },
{ 61, YYAT_SHIFT, 39 },
{ 91, YYAT_SHIFT, 9 },
{ 60, YYAT_SHIFT, 43 },
{ 60, YYAT_SHIFT, 44 },
{ 75, YYAT_SHIFT, 57 },
{ 75, YYAT_SHIFT, 58 },
{ 60, YYAT_SHIFT, 79 },
{ 91, YYAT_SHIFT, 10 },
{ 91, YYAT_SHIFT, 11 },
{ 91, YYAT_SHIFT, 12 },
{ 91, YYAT_SHIFT, 13 },
{ 74, YYAT_SHIFT, 57 },
{ 74, YYAT_SHIFT, 58 },
{ 89, YYAT_SHIFT, 90 },
{ 61, YYAT_SHIFT, 15 },
{ 61, YYAT_SHIFT, 16 },
{ 61, YYAT_SHIFT, 17 },
{ 64, YYAT_SHIFT, 49 },
{ 64, YYAT_SHIFT, 50 },
{ 64, YYAT_SHIFT, 51 },
{ 64, YYAT_SHIFT, 52 },
{ 64, YYAT_SHIFT, 53 },
{ 64, YYAT_SHIFT, 54 },
{ 63, YYAT_SHIFT, 49 },
{ 63, YYAT_SHIFT, 50 },
{ 63, YYAT_SHIFT, 51 },
{ 63, YYAT_SHIFT, 52 },
{ 63, YYAT_SHIFT, 53 },
{ 63, YYAT_SHIFT, 54 },
{ 87, YYAT_SHIFT, 89 },
{ 61, YYAT_SHIFT, 18 },
{ 61, YYAT_SHIFT, 19 },
{ 91, YYAT_SHIFT, 92 },
{ 73, YYAT_SHIFT, 55 },
{ 73, YYAT_SHIFT, 56 },
{ 91, YYAT_SHIFT, 21 },
{ 31, YYAT_SHIFT, 49 },
{ 31, YYAT_SHIFT, 50 },
{ 31, YYAT_SHIFT, 51 },
{ 31, YYAT_SHIFT, 52 },
{ 31, YYAT_SHIFT, 53 },
{ 31, YYAT_SHIFT, 54 },
{ 72, YYAT_SHIFT, 55 },
{ 72, YYAT_SHIFT, 56 },
{ 71, YYAT_SHIFT, 55 },
{ 71, YYAT_SHIFT, 56 },
{ 70, YYAT_SHIFT, 55 },
{ 70, YYAT_SHIFT, 56 },
{ 69, YYAT_SHIFT, 55 },
{ 69, YYAT_SHIFT, 56 },
{ 68, YYAT_SHIFT, 55 },
{ 68, YYAT_SHIFT, 56 },
{ 46, YYAT_SHIFT, 65 },
{ 46, YYAT_SHIFT, 66 },
{ 33, YYAT_SHIFT, 57 },
{ 33, YYAT_SHIFT, 58 },
{ 32, YYAT_SHIFT, 55 },
{ 32, YYAT_SHIFT, 56 },
{ 27, YYAT_SHIFT, 43 },
{ 27, YYAT_SHIFT, 44 },
{ 86, YYAT_SHIFT, 88 },
{ 85, YYAT_SHIFT, 87 },
{ 80, YYAT_SHIFT, 84 },
{ 79, YYAT_SHIFT, 83 },
{ 78, YYAT_SHIFT, 82 },
{ 66, YYAT_SHIFT, 14 },
{ 59, YYAT_SHIFT, 78 },
{ 42, YYAT_SHIFT, 62 },
{ 38, YYAT_SHIFT, 61 },
{ 30, YYAT_SHIFT, 48 },
{ 28, YYAT_SHIFT, 45 },
{ 14, YYAT_REDUCE, 48 },
{ 10, YYAT_SHIFT, 37 },
{ 9, YYAT_SHIFT, 36 },
{ 8, YYAT_SHIFT, 35 },
{ 6, YYAT_SHIFT, 20 },
{ 4, YYAT_SHIFT, 5 },
{ 3, YYAT_SHIFT, 4 },
{ 2, YYAT_ACCEPT, 0 },
{ 1, YYAT_SHIFT, 3 },
{ 0, YYAT_SHIFT, 1 }
};
int YYNEAR YYDCDECL yytokenaction_size = 83;
YYCONST yystateaction_t YYNEARFAR YYBASED_CODE YYDCDECL yystateaction[] = {
{ -179, 1, YYAT_ERROR, 0 },
{ -206, 1, YYAT_DEFAULT, 9 },
{ 80, 1, YYAT_ERROR, 0 },
{ -209, 1, YYAT_DEFAULT, 42 },
{ -211, 1, YYAT_DEFAULT, 89 },
{ 0, 0, YYAT_REDUCE, 3 },
{ -213, 1, YYAT_DEFAULT, 91 },
{ 0, 0, YYAT_REDUCE, 9 },
{ -211, 1, YYAT_DEFAULT, 9 },
{ -212, 1, YYAT_ERROR, 0 },
{ -219, 1, YYAT_DEFAULT, 28 },
{ 0, 0, YYAT_REDUCE, 18 },
{ 0, 0, YYAT_REDUCE, 19 },
{ 0, 0, YYAT_REDUCE, 20 },
{ -218, 1, YYAT_REDUCE, 47 },
{ 0, 0, YYAT_REDUCE, 41 },
{ 0, 0, YYAT_REDUCE, 40 },
{ 0, 0, YYAT_REDUCE, 42 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_REDUCE, 1 },
{ 0, 0, YYAT_REDUCE, 14 },
{ 0, 0, YYAT_REDUCE, 2 },
{ 0, 0, YYAT_REDUCE, 4 },
{ 0, 0, YYAT_REDUCE, 5 },
{ 0, 0, YYAT_REDUCE, 6 },
{ 0, 0, YYAT_REDUCE, 7 },
{ -224, 1, YYAT_REDUCE, 22 },
{ -221, 1, YYAT_ERROR, 0 },
{ 0, 0, YYAT_DEFAULT, 66 },
{ -202, 1, YYAT_REDUCE, 43 },
{ -236, 1, YYAT_REDUCE, 25 },
{ -222, 1, YYAT_REDUCE, 32 },
{ -226, 1, YYAT_REDUCE, 35 },
{ 0, 0, YYAT_REDUCE, 38 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_REDUCE, 8 },
{ -221, 1, YYAT_ERROR, 0 },
{ 0, 0, YYAT_REDUCE, 45 },
{ 0, 0, YYAT_REDUCE, 43 },
{ 0, 0, YYAT_REDUCE, 44 },
{ -219, 1, YYAT_ERROR, 0 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_REDUCE, 13 },
{ -239, 1, YYAT_DEFAULT, 28 },
{ 0, 0, YYAT_REDUCE, 17 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_DEFAULT, 61 },
{ -220, 1, YYAT_DEFAULT, 60 },
{ -280, 1, YYAT_DEFAULT, 42 },
{ -254, 1, YYAT_DEFAULT, 66 },
{ 0, 0, YYAT_REDUCE, 39 },
{ -249, 1, YYAT_REDUCE, 23 },
{ -255, 1, YYAT_REDUCE, 24 },
{ 0, 0, YYAT_REDUCE, 15 },
{ -202, 1, YYAT_REDUCE, 46 },
{ 0, 0, YYAT_REDUCE, 21 },
{ -228, 1, YYAT_REDUCE, 30 },
{ -230, 1, YYAT_REDUCE, 31 },
{ -232, 1, YYAT_REDUCE, 26 },
{ -234, 1, YYAT_REDUCE, 27 },
{ -236, 1, YYAT_REDUCE, 28 },
{ -245, 1, YYAT_REDUCE, 29 },
{ -269, 1, YYAT_REDUCE, 33 },
{ -276, 1, YYAT_REDUCE, 34 },
{ 0, 0, YYAT_REDUCE, 36 },
{ 0, 0, YYAT_REDUCE, 37 },
{ -223, 1, YYAT_DEFAULT, 89 },
{ -224, 1, YYAT_DEFAULT, 89 },
{ -228, 1, YYAT_ERROR, 0 },
{ 0, 0, YYAT_REDUCE, 16 },
{ 0, 0, YYAT_REDUCE, 3 },
{ 0, 0, YYAT_REDUCE, 3 },
{ 0, 0, YYAT_REDUCE, 49 },
{ -227, 1, YYAT_DEFAULT, 91 },
{ -228, 1, YYAT_DEFAULT, 91 },
{ -227, 1, YYAT_REDUCE, 10 },
{ 0, 0, YYAT_REDUCE, 12 },
{ -274, 1, YYAT_ERROR, 0 },
{ 0, 0, YYAT_REDUCE, 3 },
{ -256, 1, YYAT_DEFAULT, 61 },
{ 0, 0, YYAT_REDUCE, 11 }
};
YYCONST yynontermgoto_t YYNEARFAR YYBASED_CODE YYDCDECL yynontermgoto[] = {
{ 91, 22 },
{ 91, 23 },
{ 91, 24 },
{ 91, 25 },
{ 91, 26 },
{ 29, 46 },
{ 91, 29 },
{ 91, 28 },
{ 61, 80 },
{ 61, 27 },
{ 58, 77 },
{ 58, 40 },
{ 90, 91 },
{ 29, 47 },
{ 61, 30 },
{ 56, 75 },
{ 56, 34 },
{ 54, 73 },
{ 54, 33 },
{ 44, 64 },
{ 44, 32 },
{ 36, 60 },
{ 36, 31 },
{ 83, 86 },
{ 82, 85 },
{ 66, 81 },
{ 57, 76 },
{ 55, 74 },
{ 53, 72 },
{ 52, 71 },
{ 51, 70 },
{ 50, 69 },
{ 49, 68 },
{ 48, 67 },
{ 43, 63 },
{ 35, 59 },
{ 19, 42 },
{ 18, 41 },
{ 14, 38 },
{ 5, 6 },
{ 0, 2 }
};
int YYNEAR YYDCDECL yynontermgoto_size = 41;
YYCONST yystategoto_t YYNEARFAR YYBASED_CODE YYDCDECL yystategoto[] = {
{ 39, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 37, -1 },
{ 0, 91 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 21, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 22, 58 },
{ 26, 61 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ -3, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 24, 36 },
{ 10, 44 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 22, 44 },
{ 7, 54 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 23, 61 },
{ 19, 54 },
{ 18, 54 },
{ 17, 54 },
{ 16, 54 },
{ 15, 54 },
{ 4, 56 },
{ 13, 56 },
{ 1, 58 },
{ 11, 58 },
{ -5, -1 },
{ 0, -1 },
{ 0, -1 },
{ -2, 36 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 9, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 22, -1 },
{ 21, -1 },
{ 0, -1 },
{ 0, 91 },
{ 0, 91 },
{ 0, -1 },
{ 0, -1 },
{ 0, -1 },
{ 10, -1 },
{ -3, 61 },
{ 0, -1 }
};
YYCONST yydestructor_t YYNEARFAR *YYNEAR YYDCDECL yydestructorptr = NULL;
YYCONST yytokendest_t YYNEARFAR *YYNEAR YYDCDECL yytokendestptr = NULL;
int YYNEAR YYDCDECL yytokendest_size = 0;
int YYNEAR YYDCDECL yytokendestbase = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -