- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 课程设计 增加数据类型
山东建筑大学题 目: ——实现增加数据类型的功能
课 程:院 (部):
专 业:
班 级:学生姓名:学 号:指导教师:完成日期:课程设计任务书 II
对PL/0语言及其编译器进行扩充和修改——实现增加数据类型的功能 3
一、问题描述 3
二、基本要求 4
三、算法思想 4
四、数据结构 4
五、模块划分 5
六、源程序 5
七、测试数据 15
八、测试情况 17
结 论 18
参考文献 19
课程设计指导教师评语 20山东建筑大学计算机科学与技术学院
课程设计任务书
设计题目 对PL/0语言及其编译器进行扩充和修改
——实现增加数据类型的功能 已知技术参数和设计要求 PL/0程序设计语言是一个较简单的语言,它以赋值语句为基础,构造概念有顺序、条件和重复(循环)三种。PL/0有子程序概念,包括过程定义(可以嵌套)与调用且有局部变量说明。PL/0中唯一的数据类型是整型,可以用来说明该类型的常量和变量。当然PL/0也具有通常的算术运算和关系运算。
通过读懂源程序,全面掌握编译原理的基本实现过程。对现存的PL/0编译程序做修改或扩充。的定义如下:
→|integer id |char id |double id
设计工作计划与进度安排 1-4:进行完整的编译程序全过程的理解
5-12:根据源程序,理解整个编译器的编写中涉及到的全局变量及基本函数的意义。
13-20:在读懂全程序的基础上,进行扩充功能,并测试。
21-24:撰写课程设计报告书。 设计考核要求 设计考核方法:
课程设计总成绩=算法实现(30%)+课程设计说明书(50%)+平时考勤(20%)。
设计考核要求:
规范的课程设计说明书
所设计的算法源代码
指导教师(签字): 教研室主任(签字):
对PL/0语言及其编译器进行扩充和修改——实现增加数据类型的功能
一、问题描述
PL/0程序设计语言是一个较简单的语言,它以赋值语句为基础,构造概念有顺序、条件和重复(循环)三种。PL/0有子程序概念,包括过程定义(可以嵌套)与调用且有局部变量说明。PL/0中唯一的数据类型是整型,可以用来说明该类型的常量和变量。当然PL/0也具有通常的算术运算和关系运算。PL/0语言的BNF文法如下所示:
程序 ::= 程序.
程序 ::= [常量说明部分][变量说明部分][过程说明部分]语句
常量说明部分::= CONST常量定义{,常量定义};
常量定义 ::= 标识符=无符号整数
无符号整数 ::= 数字{数字}
变量说明部分::= VAR标识符{,标识符};
标识符 ::= 字母{字母|数字}
过程说明部分::= 过程首部程序{;过程说明部分};
过程首部 ::= PROCEDURE标识符;
语句 ::= 赋值语句|条件语句|当型循环语句|过程调用语句|复合语句|空
赋值语句 ::= 标识符:=表达式
复合语句 ::= BEGIN语句{;语句}END
条件 ::= 表达式关系运算符表达式|ODD表达式
表达式 ::= [+|-]项{加法运算符项}
项 ::= 因子{乘法运算符因子}
因子 ::= 标识符|无符号整数|(表达式)
加法运算符 ::= +|-
乘法运算符 ::= *|/
关系运算符 ::= =|#||=||=
条件语句 ::= IF条件THEN语句
过程调用语句::= CALL标识符
当型循环语句::= WHILE条件DO语句
字母 ::= a|b|...|X|Y|Z
数字 ::= 0|1|2|...|8|9编译程序做如下修改或扩充。
注释由(*和*)包含,不允许嵌套。条件语句 ::= IF条件THEN语句[ELSE语句]
算法思想
增加数据类型的功能:因子语法描述该为
因子
EBNF文法为:因子::=标识符|无符号整数|整型|字符型|
浮点型|’(‘表达式’)’
数据结构
#define norw 16//关键字的个数
#define txmax 100//名字表的容量
#define nmax 14//数字的最大位数
#define al 10//符号的
您可能关注的文档
- 继续教育讲座(2013年7月10日).ppt
- 综合--六级.ppt
- 维护人格尊严3.ppt
- 综合分析能力一.doc
- 综合(倒装).doc
- 综合基础知识主观题.doc
- 综合实验题目(卓越班).ppt
- 综合布线设计说明书.doc
- 综合分析模拟试题二.doc
- 综合指数法.ppt
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
文档评论(0)