毕业作品网站

 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopinvvp QQ:1015083682   

基于C++的编译原理设计 课程报告+代码

文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

编译程序概述

功能

经过了四周的课程设计,我们完成了一个具有词法分析、语法分析、语义分析和中间代    码生成等的编译程序。对于词法分析,其功能是读入输入,识别单词符号和值;对于语法分     析,其功能是读入输入,在词法分析的基础上分析其句子组成;而对于语义分析和中间的代    码生成,其功能是读入输入,在语法分析的基础上产生中间代码。

完成内容:包括必做和选做的全部内容。

结构

对于完整的编译器,我们实现了其中的三个部分:词法分析,语法分析,语义分析和中间代码生成。其大致结构如上图所示。


词法分析器

功能

通过对输入的源程序进行词法分析,我们能够不断读取其中的字符,并根据单词符号表    来识别单词符号,并返回单词种别和属性值,返回值可留给后续的语法分析使用。

实现

全局变量

1.  char ch = ' '; //存放最新读进的源程序字符

2. string strToken; //存放构成单词符号的字符串

3. string totalStr; //完整的输入串

4. int tmpStr = 0; //当前输入串扫描到的位置

5. string tmpID; //暂存标识符,供之后常量返回

单词符号

1. //单词符号

2. struct TOKEN

3. {

4.

int kind = 0;

//单词种别-整数编码

5.

string attribute

=

"-";

//单词属性

6.

};

对于单词符号,我们用一个结构体来表示它,在结构体中拥有两个变量,一个表示单词种别,一个表示单词属性,在词法分析后,返回的也是该单词符号结构体。在后续的内容中,     我将用 TOKEN 来代表该结构体。









  全套毕业设计论文现成成品资料请咨询微信号:biyezuopinvvp QQ:1015083682     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于MatlabSimulink 35kV输电线路继电保护的设计 分布式风电场低电压穿越故障建模与
大学生内容分享和社交平台的设计与 基于SSM框架的企业人事薪酬管理 基于大模型的代码注释自动生成与维
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopinvvp QQ:1015083682  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!