c语言编译器实现-编译原理课程设计

c语言编译器实现-编译原理课程设计

ID:9013786

大小:296.34 KB

页数:21页

时间:2018-04-14

c语言编译器实现-编译原理课程设计_第1页
c语言编译器实现-编译原理课程设计_第2页
c语言编译器实现-编译原理课程设计_第3页
c语言编译器实现-编译原理课程设计_第4页
c语言编译器实现-编译原理课程设计_第5页
资源描述:

《c语言编译器实现-编译原理课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、编译原理课程设计题目C语言编译器实现计算机科学学院计算机科学与技术专业10级计本班学号:姓名:指导教师:完成时间:2013年6月目录一、原理·································································································11、简介······························································································12、单词符号及种别表示············

2、·····························································13、语法结构定义如下:·········································································2二、运行环境····························································································3三、算法设计思想····································

3、·················································31、词法分析主要算法············································································32、语法分析主要算法············································································33、语义分析主要算法························································

4、····················3四、程序流程图························································································4五、运行测试结果······················································································7六、心得体会········································································

5、····················8七、源代码·······························································································9C语言编译器实现一、原理1、简介词法分析器表出单词符号格错语法分析器管处语法单元理语义分析与中间代码生成器理中间代码优化器中间代码目标代码生成器目标代码编译程序的工作过程一般可以分为五个阶段:词法分析、语法分析、语义分析与中间代码产生、优化、目标代码生成。每一个阶段在功能上是相对独立的,它一方面从上一个阶段获取分析的结果来进行分析,另

6、一方面由将结果传递给下一个阶段。由编译程序的五个阶段就对应了编译系统的结构。2、单词符号及种别表示1单词符号种别编码main1int2float3double4char5if6else7do8while9l(l

7、d)*10dd*20=21+22-23*24/25(26)27{28}29,30;31>32>=33<34<=35==36!=37‘’1000ERROR-13、语法结构定义如下:<程序>::=main()<语句块><语句块>::=‘{‘<语句串>’}’<语句串>::=<语句>{;<语句>};2<语句>::=<赋值语句>

8、<条件语句>

9、<循环语句><赋值语句>::

10、=ID=<表达式><条件语句>::=if<条件><语句块><循环语句>::=do<语句块>while<条件><条件>::=<表达式><关系运算符><表达式><表达式>::=<项>{+<项>

11、-<项>}<项>::=<因子>{*<因子>

12、/<因子>}<因子>::=ID

13、num

14、(<表达式>)<关系运算符>::=<

15、<=

16、>

17、>=

18、==

19、!二、运行环境Windows系统VisualC++6.0三、算法设计思想1、词法分析主要算法这部分对源文件进行分析,允许/**/注释。从源文件依次读取字符,对字符进行分析,组成字符串、数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。