- 25
- 0
- 约1.06万字
- 约 21页
- 2018-06-28 发布于福建
- 举报
PL0 编译系统及集成开发的环境的实现文档
PL0编译系统及集成开发环境的实现报告
北航计算机学院王 克
Contents:
1 项目概述 3
1.1 实现扩充的PL0编译内核说明 3
1.2 PL0控制台程序简介 3
1.3 PL0集成开发环境PL0DE简介 3
2 扩充PL0语言文法 4
2.1 语法的EBNF(巴克斯-瑙尔范式) 4
2.2 语法图 5
3 属性翻译文法(包括各动作符号及各种属性的说明) 7
4 P-code代码指令说明 9
5 错误信息表 10
6 系统的设计与实现 11
6.1 (Pl0类)PL/0编译程序的结构(参考教材原版PL/0) 11
6.2 PL0文法扩充(else和for)设计和实现 12
6.3 控制台PL0编译系统结构图(DebugAndOn类, Sym类, Pl0类) 14
6.4 PL0集成开发环境PL0DE实现 16
6.5 源代码文件说明 16
7 系统工作过程说明 17
7.1 (Pl0类) 语法分析过程(参考教材原版PL/0) 17
7.2 (Sym类中)PL/0编译程序的词法分析 17
7.3 PL0集成开发环境工作流程 19
8 源程序和测试用例 19
8.1 源程序 19
8.2 系统测试 19
9 开发体会心得 20
9.1 编译学习体会 20
9.2 项目实践心得 20
9.3 开发日志 20
10 附录 21
10.1 参考资料 21
项目概述
在学玩编译原理这门课程后,一方面由于大作业的要求,另一方面渴望所学知识得到实践,便有了开发一个简单的PL0集成开发环境的设想。
本项目的开发过程可以分成三个阶段,即实现并扩充的PL0编译内核,PL0控制台程序开发,PL0集成开发环境PL0DE 开发。其中主要任务是集中在第一阶段,后两阶段只是在其基础上实现一个对外接口,并对其进行改进。
实现扩充的PL0编译内核说明
在这一阶段,主要是深入了解PL0编译器内核的构造方法,边阅读由著名计算机科学家Pascal语言的创始人N.Wirth的PL0编译系统,同时用C++语言进行重写。这其中涉及到许多Pascal语言和C++的语言设施不同,重新设计以实现。
主要在Win2003+VC6.0环境下完成。
PL0控制台程序简介
在已有内核的基础上,充分发挥C++语言的特性,及一点点面向对象的思想,重新设计了PL0编译系统的架构。同时对原有PL0文法进行一定的扩充,实现控制台,文件双重输出,又设计了调试信息输出。
此阶段主要在Win2003+VC7.1环境下完成。
PL0集成开发环境PL0DE简介
在扩充PL0系统的基础上及以前开发数据库系统的经验,实现一个PL0编译程序的IDE,最终成为PL0集成开发环境PL0DE(PL0 Development Environment)。
主要在Win2003+BCB6.0环境下完成。
项目成果展示
PL0集成开发环境PL0DE
PL0控制台编译系统
扩充PL0语言文法
语法的EBNF(巴克斯-瑙尔范式)
程序 ::= 分程序.
分程序 ::= [常量说明部分][变量说明部分][过程说明部分]语句
常量说明部分 ::= const常量定义{,常量定义};
常量定义 ::= 标识符=无符号整数
无符号整数 ::= 数字{数字}
标识符 ::= 字母字母{|数字}
变量说明部分 ::= var标识符{,标识符};
过程说明部分 ::= 过程首部分程序{;过程说明部分};
过程首部 ::= procedure标识符;
语句 ::= 赋值语句|条件语句|当循环语句|过程调用语句|复合语句|读语句|写语句|空
赋值语句 ::= 标识符:=表达式
表达式 ::= [+|-]项{加法运算符项}
项 ::= 因子{乘法运算符因子}
因子 ::= 标识符|无符号整数|’(’表达式‘)’
加法运算符 ::= +|-
乘法运算符 ::= *|/
条件语句 ::= IF条件THEN语句
关系运算符 ::= =|#||=||=
条件语句 ::= if条件then语句[else语句]
当型循环语句 ::= while条件do语句
for循环语句 ::= for表达式(to|downto)表达式[by表达式]do语句
过程调用语句 ::= call标识符
复合语句 ::= begin语句{;语句}end
读语句 ::= read’(’标识符{,标识符}’)’
写语句 ::= write’(’表达式{,表达式}’)’
字母 ::= a|b|c|d…|x|y|z
数字 ::= 0|1|2|3…|8|9
语法图
属性翻译文法(包括各动作符号及各种属性的说明)
n,m,v:数字的值
@val 由数字获得整
您可能关注的文档
最近下载
- 《数字营销战略整合》课件.ppt VIP
- 学校“十五五”发展规划及2035远景目标.docx
- 考虑用户满意度的智慧停车多目标调度算法.pdf VIP
- 步步高物理必修2人教答案解析.docx VIP
- 2025年江苏旅游职业学院单招(计算机)测试备考题库附答案.docx VIP
- 中国商贸文化-专题四 商帮-1729733792248.pptx VIP
- 2024年江西生物科技职业学院单招职业适应性测试试题库带答案(能力提升).docx VIP
- 2025年中国科技大学创新班入围考试数学试卷真题(答案解析).docx VIP
- 2025年房地产经纪人租赁合同中装修添附物的违约责任处理专题试卷及解析.pdf VIP
- 努力实现“十五五”发展目标及2035年远景目标.docx VIP
原创力文档

文档评论(0)