广东工业大学编译原理实验报告

广东工业大学编译原理实验报告

ID:30188970

大小:19.77 KB

页数:12页

时间:2018-12-27

广东工业大学编译原理实验报告_第1页
广东工业大学编译原理实验报告_第2页
广东工业大学编译原理实验报告_第3页
广东工业大学编译原理实验报告_第4页
广东工业大学编译原理实验报告_第5页
资源描述:

《广东工业大学编译原理实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划广东工业大学编译原理实验报告  编译原理课程设计  课程名称编译原理  题目名称课程设计  学生学院计算机学院  专业班级  学号  学生姓名  指导教师蒋艳荣  XX年12月27日  一、实验要求  课内实验  对PL/0作以下修改扩充:  增加单词:保留字ELSE,FOR,TO,DOWNTO,RETURN  运算符*=,/=,++,--,&,

2、

3、,!  修改单词:不等号#改为  增加条件语句的ELSE子句,要求:写出相关文法,语法图,语义规则。将原本

4、条件语句->if条件then语句  改为条件语句->if条件then语句[else语句]  1.课程设计  基本内容目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  扩充赋值运算:*=和/=  语句->ident*=表达式  语句->ident/=表达式  扩充语句:  ①FOR:=TODO  ②FOR:=DOWNTODO  其中,语句①的循环变量的步长为2,  语句②的循环

5、变量的步长为-2。  增加运算:++和--。  选做内容  增加类型:①字符类型;②实数类型。  扩充函数:①有返回值和返回语句;②有参数函数。  增加一维数组类型。  其他典型语言设施。  二、实验环境及工具  源语言:PL0  目标语言:假想栈式计算机的汇编语言  实现工具:codeblock  运行平台:Windows10  三、结构设计说明  PL/0语言编译程序结构目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特

6、制定安保从业人员的业务技能及个人素质的培训计划  PL/0语言可看成是PASCAL语言的子集,它的编译程序是一个编译解释执行系统。PL/0的目标程序为假想栈式计算机的汇编语言,与具体计算机无关。  PL/0语言编译程序总体流程  以下是编译程序的总体流程图,其中,PL/0编译程序的语法分析过程BLOCK是整个编译过程的核心,我们通过该流程图来弄清BLOCK过程在整个编译程序中的作用。  PL/0编译程序的结构图  PL/0的编译程序采用一趟扫描方式,以语法分析程序为核心,词法分析程序和代码生成程序都作为一个独立的过程,当语法分析需要读单词时就用词法分析程序,而当语

7、法分析正确需生成相应的目标代码时,则调用代码生成程序。  此外,用表格管理程序建立变量,常量和过程标识符的说明与引用之间的信息联系。用出错处理程序对词法和语法分析遇到的错误给出在源程序中出错的位置和错误性质。  各功能模块描述  四、主要成分描述  ①符号表  在PL0中,使用以下数据结构存储符号表:  structtablestruct  {  charname[al];/*名字*/目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺

8、利开展,特制定安保从业人员的业务技能及个人素质的培训计划  enumobjectkind;/*类型:const,var,arrayorprocedure*/intval;/*数值,仅const使用*/intlevel;/*所处层,仅const不使用*/intadr;/*地址,仅const不使用*/intsize;/*需要分配的数据区空间,仅procedure使用*/  };  structtablestructtable[txmax];/*名字表*/  他是一个全程量一维数组TABLE。表中每个元素为记录型数据。  如果标识符被说明为常数,其属性值为常数值;如果标

9、识符被说明成变量,其属性就是由层次和修正量组成的地址;如果标识符被说明为过程,其属性就是过程的入口地址及层次。  常数的值由程序正文提供,编译的任务就是确定存放该值的地址。我们选择顺序分配变量和代码的方法;每遇到一个变量说明,就将数据单元的下标加一。  开始编译一个过程时,要对数据单元的下标dx赋初值,表示新开辟一个数据区。dx的初值为3,因为每个数据区包含三个内部变量RA,DL和SL。  ②运行时存储组织和管理目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保

10、障停车场安

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。