没有合适的资源?快使用搜索试试~ 我知道了~
16211022_黎昆昌_PL0编译系统1
需积分: 0 0 下载量 194 浏览量
2022-08-08
21:36:19
上传
评论
收藏 899KB DOCX 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86377235/0001-dc0b689640cfc01e438520f4a65869c5_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
18页
16211022_黎昆昌_PL0编译系统1
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86377235/bg2.jpg)
16211022_黎昆昌_PL0 编译系统
目录
编译原理实践................................................................................................................1
引言................................................................................................................................3
一、PL/0 语言 ...............................................................................................................3
1.1 PL/0 描述 .........................................................................................................3
1.2 PL/0 语言文法的扩充 BNF 表示 ...................................................................3
1.3 PL/0 的语法图 .................................................................................................4
1.4 PL/0 编译系统结构 .........................................................................................6
二、系统分析................................................................................................................7
2.1 PL/0 的词法分析 .........................................................................................7
2.2 PL/0 的符号表管理 .....................................................................................8
2.3 PL/0 的语法分析 .........................................................................................8
2.4 生成目标代码 ..............................................................................................9
2.4.1 P-code 含义...........................................................................................9
2.4.2 地址返填技术.....................................................................................10
2.5 错误处理........................................................................................................11
2.5.1 错误处理的原则.................................................................................11
2.5.2 错误校正.............................................................................................11
2.5.3 错误信息.............................................................................................11
三、系统架构..............................................................................................................13
3.1 lexer2.py.........................................................................................................13
3.2 paser.py ..........................................................................................................13
3.3 interpreter.py ..................................................................................................15
四、界面操作..............................................................................................................15
五、测试代码说明......................................................................................................17
六、实验感想..............................................................................................................17
七、参考资料..............................................................................................................18
![](https://csdnimg.cn/release/download_crawler_static/86377235/bg3.jpg)
16211022_黎昆昌_PL0 编译系统
引言
PL/0 编译系统,语言:python,HTML 界面,IDE:Pycharm2017。编译系
统包含词法分析、语法分析、符号表管理、语义分析及目标代码 Pcode 的生成、
错误处理以及 Pcode 的解释执行。整个编译器以语法分析程序为中心,调用词法
分析程序识别单词,生成相应的代码,查询或填写相应的符号表项,在出错时调
用错误处理程序,报告错误,同时跳过出错部分继续进行语法分析。整个工程耗
时两星期,基本达到课程要求。程序访问网站 http://compile.lkc1621.xyz/
一、 PL/0 语言
1.1 PL/0 描述
PL/0 语言是一种类 PASCAL 语言,是教学用程序设计语言,它比 PASCAL
语言简单,作了一些限制。它只有整数一种类型,但却具有相当完全的可嵌套型
的分程序结构。PL/0 可进行常量定义、变量说明和过程调用,并具有通常程序
设计语言所必需的最基本的语句,如赋值语句、条件语句、循环语句、过程调用
语句和复合语句。考虑到输入/输出的需要,我们添加了简单的读、写语句。PL/0
过程没有参数,但可以递归调用,因此,过程所加工的数据只能通过全局变量进
行传递。
1.2 PL/0 语言文法的扩充 BNF 表示
<程序> ::= <分程序>.
<分程序> ::= [<常量说明部分>][变量说明部分>][<过程说明部分>]<语句>
<常量说明部分> ::= const<常量定义>{,<常量定义>};
<常量定义> ::= <标识符>=<无符号整数>
<无符号整数> ::= <数字>{<数字>}
<标识符> ::= <字母>{<字母>|<数字>}
<变量说明部分>::= var<标识符>{,<标识符>};
<过程说明部分> ::= <过程首部><分程序>;{<过程说明部分>}
<过程首部> ::= procedure<标识符>;
<语句> ::= <赋值语句>|<条件语句>|<当型循环语句>|<过程调用语句>|<读语句>|<
写语句>|<复合语句>|<重复语句>|<空>
<赋值语句> ::= <标识符>:=<表达式>
剩余17页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pl](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![1](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![avatar](https://profile-avatar.csdnimg.cn/b51a199848e34cdfb6f346d0d1752e07_weixin_35763448.jpg!1)
普通网友
- 粉丝: 18
- 资源: 319
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 优先编码器除法电微分运算电路 全加器函数发生电路等电路经典Multisim仿真实验源文件合集(25个).zip
- 2331308JS课堂案例.zip
- STM32H750VBT6单片机最小系统开发板AD设计硬件(原理图+PCB+3D封装库)工程文件.zip
- 基于74LS161+ 74LS192芯片实现倒计时定时器Multisim仿真源文件,Multisim10以上版本可打开运行
- 科大讯飞语音引擎 jar包 demo,科大讯飞语音合成引擎3.0,支持4.0系统以上,文字转语音输出.zip
- Java架构面试笔试专题资料及经验(含答案)SpringBoot面试Linux面试专题及答案 合集.zip
- 头歌c语言实验答案tion-model-for-ne开发笔记
- docker配置使用-model-for-networK开发demo
- docker配置使用vaWeb-mas笔记
- c语言连接两个字符串-mas开发笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0