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

📄 maindatastruct.h

📁 一个简单的词法分析程序。是编译原理的部分课程设计。因为时间有限。未能完成全部。如果有朋友改了代码或添加了功能使代码更加完善。请与我联系:ningmeng_studio@163.com谢谢. 做的不是
💻 H
字号:
/*=============================================
**             2005-8-22					**
**			  主要的数据结构				**
**			 lizhu zhang					**
**ChangLog:									**
**			日期:2005-8-29					**
**			内容:改变了符号表结构体的内容。**
**				  为了适用于分程序设计添加了**
**				  layer变量,删除了pName变量.*			
=============================================*/
/*********************************************/
/*=============================================
**											**
**			  TOKEN串	结构				**
**											**
=============================================*/
typedef struct TOKEN
{	
	//种别码
	unsigned int code;
	//地址值
	unsigned int addr;
}Token;
/*********************************************/
/*=============================================
**											**
**			  产生式表	结构				**
**											**
=============================================*/




/*=============================================
**											**
**			  符号表结构					**
**											**
=============================================*/
struct NAME
{
	//字符串在文件中存放的首地址
	unsigned int addr;
	//字符串的总长度
	unsigned int len ;
};
typedef struct SYMBELLIST
{
	//字符串信息,(在存放文件中的首地址和长度)
	NAME	name;
	//存放的字符串的类型
	char	*type;
	//存放的字符串的种类
	char	*kind;
	//变量的值所在的文件中的地址(行数)
	int		addr;
	//指出当前的变量值位于哪一个层次的过程,默认的层次为0
	int		layer;
	//指向下一个节点
	SYMBELLIST * pNext;
}Sl;
/*=============================================
**											**
**			  (语法语义)分析栈结构		**
**											**
=============================================*/


/*=============================================
**											**
**			  四元式表结构					**
**											**
=============================================*/
typedef struct SIYUANSHI
{
	//操作符
	char * pCh;
	//变量
	char * pVa1;
	//变量
	char * pVa2;
	//转向的四元式的编号
	unsigned int num;
	//连接下一个节点的指针
	struct SIYUANSHI * pNext;
}*pSy;

/*=============================================
**											**
**			  源文件错误信息				**
**											**
=============================================*/
typedef struct ERRMSG
{
	int row;
	int col;
	char *pErrMsg;
}*PErrMsg;
/*=============================================
**											**
**			  源文件变量信息				**
**											**
=============================================*/
typedef struct RMSG
{
	//变量自身值
	char *pMsg;
	//变量所在过程的层
	int   num;
}*pRMsg;

⌨️ 快捷键说明

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