语法词法实验报告_第1页
语法词法实验报告_第2页
语法词法实验报告_第3页
语法词法实验报告_第4页
语法词法实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、编译原理实验报告词法分析和语法分析专业班级 jk0701 学生姓名 舒月 学号 07281011 实验题目: 研究性学习专题一 词法分析程序构造原理与实现技术研究性学习专题二 递归下降语法分析设计原理与实现技术一 实验目的(1)研究性学习专题一 <标识符>字母 <标识符>字母 <标识符>数字 <无符号整数>数字 <无符号整数>数字 <单字符分界符> + * ; () <双字符分界符><大于>=<小于>=<小于>><冒号>=<斜竖>* <小于

2、>< <等于>= <大于>> <冒号> : <斜竖> /该语言的保留字 :begin end if then else for do while and or not 设计说明 (1)该语言大小写不敏感;(2)字母为a-z A-Z,数字为0-9;(3)可以对上述文法进行扩充和改造;(4) /*/为程序的注释部分。(2)研究性学习专题二GE: ETE EATE| TFT TMFT| F (E)|i A+|- M*|/设计说明 终结符号i为用户定义的简单变量,即标识符的定义。二 实验分析过程词法分析程序功能描述:根据上述正则文法,输

3、入一串字符串,输出一串二元式序列组成的中间文件,在实现的过程中,能发现输入串中的错误。语法分析程序功能描述:根据词法分析输出的二元式序列,对二元式序列进行判定,时候满足语法的要求,若满足,则输出结果为正确,反之,为错误。主要数据结构: 用TokenBean类存储数字,标识符,保留字 的类别,表示,和识别名 public class TokenBean String name; String code; int kind; 用ArrayList来装TokenBean类程序结构描述:(1) 词法分析过程用到的主要函数 public boolean isNumber(char ch)/判断输入字符是

4、否为整数public boolean isAlph(char ch) /判断输入字符是否为字母private void isKey(String str)/ 判断str是关键字还是标识符public void excute(String s) /对字符串s 进行分析,得出二元式(2) 语法分析过程用到的主要函数 public boolean ipresent(int kind)/识别保留字,标识符,整数 以下是判断函数,入口为E() 若E为真,则二元式序列满足语法分析 private boolean E() / ETE private boolean E1() / EATE| private

5、boolean A() /A+|- private boolean T() / TFT private boolean T1() / TMFT| private boolean M() /M*|/ private boolean F() /F (E)|i流程图 (1) 词法分析程序执行图:(2 )语法分析程序流程图:三 验结果及分析正确实例: a + b c * d(1)词法分析过程 输入: 字符串输出: 二元式序列 并可以保存二元式序列(2)语法分析过程对二元式序列进行判定 ,给出的例题是正确的,所以结果为true错误实例分析:(a + b(1)词法分析过程 输入: 字符串输出: 二元式序列 并可以保存二元式序列(2)语法分析过程对二元式序列进行判定 ,给出的例题是错误的,所以结果为false在出错区里面报错四 实验总结编程的过程中,遇到的难点:在实现的过程中,对string类的不了解,从char 转换到string的过程中,出现错误。对程序的

温馨提示

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

评论

0/150

提交评论