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

📄 lrtable.h

📁 一门课程的proj
💻 H
字号:
#pragma once

/*-----------------------------*/
/*LR表中的一行中的项目
/*-----------------------------*/
class ActionAndGoto
{
public:
	ActionAndGoto();
	ActionAndGoto(int sy, int st, int ty);
public:
	void SetActionAndGoto(int sy, int st, int ty);				//设置
	void output();												//输出
public:
	int symbol;													//符号
	int status_convert;											//转移到状态
	int type;													//规约1,移进2,接收非终结符3,接收4
};

/*-----------------------------*/
/*LR表中的一行
/*-----------------------------*/
class LRTable_Item
{
public:	
	LRTable_Item();
public:
	void output();												//输出
	void AddItem(int sy, int st, int ty);						//添加一个转换项目
public:
	vector<ActionAndGoto> _aag;									//转换项目容器
	int aag_num;												//转换项目的数量
	int line_num;												//行号
};
/*-----------------------------*/
/*LR表
/*-----------------------------*/
class LRTable
{
public:
	LRTable(void);
public:
	void output();												//输出	
	LRTable_Item * findItem(int status_num);					//寻找对应的行
	void addItem(int line_num);									//新增加一个
public:
	vector<LRTable_Item> _item;									//行容器
	int item_num;												//行数
};

⌨️ 快捷键说明

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