欢迎来到天天文库
浏览记录
ID:9013786
大小:296.34 KB
页数:21页
时间:2018-04-14
《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、词法分析主要算法这部分对源文件进行分析,允许/**/注释。从源文件依次读取字符,对字符进行分析,组成字符串、数
此文档下载收益归作者所有