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

📄 lrtable.h

📁 编译原理 中的LR分析 控制台程序设计与实现
💻 H
字号:
//typedef enum{i,	+,	*,	(,	),	#,	E,	T,	F }ExpNum;

//文法为:       E->E+T|T      T->T*F|F      F->(E)|i 
//
//  式子编号为:(1) E->E+T 
//				(2) E->T
//				(3) T->T*F
//				(4) T->F
//				(5) F->(E)
//				(6) F->i

#define STATE  12
#define STRING  9

//下表为此文法的LR分析表,根据教材101页分析所制,详情请参考教材101页
int table[STATE][STRING]={
//					i,		+,	  *,  	 (,	     ),	   #,	  E,    T,	   F
//********************************************************|*********************
/* 0*/			    {-5,    0,     0,     -4,    0,    0,     1,    2,    3},  
/* 1*/				{0,		-6,     0,     0,    0,    999,   0,    0,    0},      
/* 2*/				{0,     12,    -7,    0,    12,    12,    0,    0,    0},      
/* 3*/				{0,     14,    14,    0,    14,    14,    0,    0,    0},      
/* 4*/				{-5,    0,     0,     -4,    0,    0,     8,    2,    3},      
/* 5*/				{0,     16,    16,    0,    16,    16,    0,    0,    0},      
/* 6*/				{-5,    0,     0,     -4,    0,    0,     0,    9,    3},      
/* 7*/				{-5,    0,     0,     -4,    0,    0,     0,    0,    10},      
/* 8*/				{0,     0,      0,    0,    -11,   0,     0,    0,    0},      
/* 9*/				{0,     11,    -7,    0,    11,    11,    0,    0,    0},      
/*10*/				{0,    13,    13,     0,    13,    13,    0,    0,    0},      
/*11*/				{0,    15,    15,     0,    15,    15,    0,    0,    0}
//**********************************************************|********************				
				};  
//小于0为进栈,大于10为归约,0表示出错,1到10表示状态转移,999表示接受

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -