📄 compiler.txt
字号:
编译原理课程设计核心模块。(除语义分析外都经过测试)
适用于 Turbo C++,C++ Builder,Visual C++
若出现内存不足,请将数组定义小一些,且定义为Static
接口说明见Compiler.h文件
语义分析按课程设计指导书
作者:王钊
班级:970311
学号:25
E-Mail:wangzhao168@china.com
版权所有,未经许可不得拷贝,修改!!!
2000年10月13日
CCompiler m_Compiler;
FILE *fp;
FOpen(fp);
char buf[30003];
int sz=FRead(fp,buf,30000);
buf[sz]=0;
::strcpy(m_Compiler.GetTable()->SourseBuffer,buf);
m_Compiler.CiFaFengXi();
m_Compiler.YuFaFengXi();
m_Compiler.YuYiFengXi();
//Cifa
int: m_Compiler.GetTable()->LexicalDuad[i].type;//end note==-1
int: m_Compiler.GetTable()->LexicalDuad[i].value;//ErrorMessageTable i
//Yufa
int: m_Compiler.GetTable()->ErrorAddress;//LexicalDuad i
int: m_Compiler.GetTable()->ErrorNumber;//ErrorMessageTable i 0:successful
//Yuyi
m_Compiler.GetTable()->SemanticQuad[i].int op,argtype arg1,arg2,result;//end note op==0
//table
char*: m_Compiler.GetTable()->ErrorMessageTable[i];
char*: m_Compiler.GetTable()->QuadOpcodeTable[i];//i SemanticQuad[].op
int argtype.fl 1:常数2:指令入口3:临时变量4:直接访问变量
5:间接访问变量6:第i层变量
int argtype.flvalue 值
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -