编译实验指导书-2012.9.18_第1页
编译实验指导书-2012.9.18_第2页
编译实验指导书-2012.9.18_第3页
编译实验指导书-2012.9.18_第4页
编译实验指导书-2012.9.18_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编译原理实验指导书实验一 词法分析一、实验目的通过实现 PL/0 语言(一种示例小语言)的词法分析器,理解词法分析过程, 掌握程序各部分之间的接口安排。二、实验要求1、要求每位同学单独完成词法分析器,并接受检查;2、撰写实验报告。(1)用有限自动机画出“ 三、实验内容 ”中的词法规则;(2)实验报告不要摘抄全部代码,但需要流程图的形式描述程序结构;(3)必须书写设计和实现的过程中出现的一些问题以及解决方法。三、实验内容1、PL/0 语言的单词结构关键字 (10 个) :begin, end ,if ,then, while, do, const, var,call,procedure 标识符:

2、字母序列,最大长度 10常数:整型常数算符和界符(17 个):+, -, *,/,odd,=,=,=,:=,(,) ,, ,.,;2、单词的种别SYM_IDENTIFIER, 标识符SYM_NUMBER, 常数SYM_PLUS, +SYM_MINUS, -SYM_TIMES, *SYM_SLASH, /SYM_ODD,oddSYM_EQU,=SYM_NEQ,SYM_LES,SYM_LEQ, SYM_GEQ, =SYM_LPAREN, (SYM_RPAREN, )SYM_COMMA, ,SYM_SEMICOLON, ;SYM_PERIOD, .SYM_BECOMES, :=SYM_BEGIN,b

3、eginSYM_END,endSYM_IF, ifSYM_THEN, thenSYM_WHILE,whileSYM_DO, doSYM_CONST,constSYM_VAR,varSYM_CALL ,callSYM_PROCEDURE procedure3、PL/0 的语言的词法分析器将要完成以下工作:(1)跳过分隔符(如空格,回车,制表符) ;(2)识别诸如 begin,end,if ,while 等保留字;(3)识别非保留字的一般标识符, 此标识符值(字符序列)赋给全局量 id, 而全局量 sym 赋值为 SYM_IDENTIFIER 。(4)识别数字序列,当前值赋给全局量 NUM ,sy

4、m 则置为 SYM_NUMBER ;(5)识别:=,=之类的特殊符号,全局量 sym 则分别被赋值为 SYM_BECOMES , SYM_LEQ ,SYM_GEQ 等。4、词法分析器的实现方式:把词法分析器设计成一个独立子程序,以便于语法分析器调用。词法分 析器运行一次产生一个单词符号。实验二语法分析一、实验目的在实验一的基础上,采用递归下降的方法实现PL/O语言(一种示例小语言)的语法分析器实验要求1、要求每位同学单独完成语法法分析器,并接受检查;2、撰写实验报告。(1) 用上下文无关文法写出“三、实验内容”中的语法规则;(2) 实验报告不要摘抄全部代码,但需要流程图的形式描述程序结构; 必

5、须书写设计和实现的过程中出现的一些问题以及解决方法。三、实验内容1、Test语言的语法结构(1)程序程序体(2)程序体(3)语句序列(4)语句语句ident 表达式表达式odd(6)表达式佈* beg因子、=因(8)ident2、和FOL0非终结符S)doure i条e件t cal -if语句程序体表达式ST 一(5)条件-14 FOL迎递归下降的方法来设计条件/0编译 FIRST(S) whOlest vaproced eai n while(rt-calide ntLjLOW集合语句ide nt call begi n if while.;end条件odd + - ( ide nt nu mberthe n do表达式+ - ( ide nt nu mber.;)R end then do项ide nt nu mber (.;)R + - end the n do因子ide nt nu mber (.;)R + - * / end then do注:表中R代表六个关系运算符实验三 语义分析和中间代码产生一、实验目的在实验二的基础上, 采用基于属性文法的语法制导翻译方法完成语义分析和 中间代码产生。二、实验要求1、要求每位同学单独完成语义分析器中至少一种语法单位的翻译,并接受 检查;2、撰写实验报告。(1) 用属性文法描述你要实现翻译的语法单位的属性文法;(2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论