📄 lr.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 + -