毕业作品网站

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

基于高级语言源程序格式处理工具(C语言) 任务书

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

1.设计内容

在计算机科学中,抽象语法树(Abstract Syntax Tree 或者缩写为 AST), 是将源代码的语法结构的用树的形式表示,树上的每个结点都表示源程序代码中的一种语法成分。抽象语法树作为程序的一种中间表示形式,程序分析等诸多领域有广泛的应用。利用抽象语法树可以方便地实现多种源程序处理工具,比如源程序浏览器、智能编辑器、语言翻译器等。首先需要采用形式化的方式,使用巴克斯(BNF)范式定义高级语言的词法规则(字符组成单词的规则)、语法规单词组成语句、程序等的规则。再利用形式语言自动机的的原理,对源程序的文件进行词法分析,识别出所有单词;使用编译技术中的递归下降语法分析法,分析源程序的语法结构,并生成抽象语法树,最后可由抽象语法树生成格式化的源程序。

 

 

2.设计要求

1)语言定义

选定 C 语言的一个子集,要求包含:

1)基本数据类型的变量、常量,以及数组。不包含指针、结构,枚举等。

2) 双目算术运算符+-*/%,关系运算符、逻辑与&&、逻辑或||、赋值运算符。不包含逗号运算符、位运算符、各种单目运算符等等。

3)函数定义、声明与调用。

4)表达式语句、复合语句、if 语句的 2 种形式、while 语句、for 语句,

return 语句、break 语句、continue 语句、外部变量说明语句、局部变量说明语句。

5)编译预处理(宏定义,文件包含)

6)注释(块注释与行注释)

2)单词识别

设计 DFA 的状态转换图(参见实验指导),实验时给出 DFA,并解释如何在状态迁移中完成单词识别(每个单词都有一个种类编号和单词的字符串 2 个特征值),最终生成单词识别(词法分析)子程序。


 

(注:含后缀常量,以类型不同作为划分标准种类编码值,例如 123 类型为

int123L 类型为 long,单词识别时,种类编码应该不同;但 0x123  123 类型都是 int,种类编码应该相同。)

 

3)语法结构分析    1)外部变量的声明;

2)函数声明与定义;

3)局部变量的声明;

4)语句及表达式;

5)生成 1)4)(包含编译预处理和注释)的抽象语法树并显示。

4)按缩进编排生成源程序文件。

 

3. 参考文献

[1] 王生原,董渊,张素琴,吕映芝等. 编译原理 3 版). 北京:清华大学出版社. 4

[2] 严蔚敏等. 数据结构(C 语言版). 清华大学出版社

 

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

                 

打印本页 | 关闭窗口
本类最新文章
手部康复指板屈伸按摩装置的机构设 智能电表控制电路设计 论文指导记 家用光伏发电系统逆变电源设计 开
家用光伏发电系统逆变电源设计 任 家用光伏发电系统逆变电源设计 选 钢筋调直机机械结构设计 开题报告
| 关于我们 | 友情链接 | 毕业设计招聘 |

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