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

📄 lr.h

📁 编译原理的实验
💻 H
字号:
#include<stdio.h>
#include<stdlib.h>
//LR分析表
//0--11表示状态结点,21--26表示规约标号,
//-1表示error(出错),12表示acc(接受)
int table[13][9] = {{ 5,-1,-1, 4,-1,-1, 1, 2, 3},\
					{-1, 6,-1,-1,-1,12,-1,-1,-1},\
					{-1,22, 7,-1,22,22,-1,-1,-1},\
					{-1,24,24,-1,24,24,-1,-1,-1},\
					{ 5,-1,-1, 4,-1,-1, 8, 2, 3},\
					{-1,26,26,-1,26,26,-1,-1,-1},\
					{ 5,-1,-1, 4,-1,-1,-1, 9, 3},\
					{ 5,-1,-1, 4,-1,-1,-1,-1,10},\
					{-1, 6,-1,-1,11,-1,-1,-1,-1},\
					{-1,21, 7,-1,21,21,-1,-1,-1},\
					{-1,23,23,-1,23,23,-1,-1,-1},\
					{-1,25,25,-1,25,25,-1,-1,-1}};
//规约规则
struct rule{
	char x;
	int  y;
}r[6]={{'E',3},{'E',1},{'T',3},{'T',1},{'F',3},{'F',1}};
//输入字符
char index_char[9]={'i','+','*','(',')','#','E','T','F'};//
//获取index_char[9]中元素的位置
int get_index_char(char i)
{
	for(int j=0;j<9;j++)
	{
		if(index_char[j] == i)
			return j;
	}
	return -1;
}

⌨️ 快捷键说明

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