⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 y_tab.c

📁 6个不同的词法语法分析程序源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
	{ "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 + -