- 19
- 0
- 约3.76千字
- 约 8页
- 2017-06-22 发布于湖北
- 举报
编译原理语法分析实验报告概要
院 系:
专 业:
年 级:
课 程 名 称: 编译原理
组 号:
姓名(学号):
指 导 教 师:
2016年 6 月 16 日
年级 班号 组号 专业 计算机科学与技术 实验名称 语法分析 实验室 实
验
目
的
和
要
求 一、实验目的:
根据算术表达式文法编制调试语法分析程序,以便对输入的符号串进行分析,
二、实验要求:
任给一个表达式(含括号嵌套),判断是否合法,如果非法,给出提示(含出错位置)。
算法表达式文法如下:
E - E+T | E-T | T
T - T*F | T/F | F
F - (E) | I
3. 实现方法:
可以采用LL(1)分析、递归下降分析、优先分析、LR(1)分析这四种分析方法中的任意一种方法。如果用LL(1)分析,则首先需要消除左递归(改写文法),然后自行构造LL(1)分析表;如果用递归下降分析,也首先需要消除左递归;优先分析和LR(1)分析则无需消除左递归。
4. 语言环境要求:
可以用任何一种可视化编程的平台开发,基于WEB的也可,要求有界面。
三、算法思想
1 .分析
a)?E=E+T=E+T*F=E+T*(E)即有E=E+T*(E)存在左递归。用直接改写法消除左递归,得到如下:
E? -?TE’
E’??-?+TE’ | ?TE’|ε
概
要
设
计
(
整
体
流
程
) T???-?FT’
T’??-?*FT’ | /FT’|ε
F??-?(E) | i
b)?对于以上改进的方法。可得:
对于E’:??FIRST( E’ )=FIRST(+TE’)∪FIRST(-TE’)∪{ε}={+,?,ε}?
对于T’:??FIRST( T’ )=FIRST(*FT’)∪FIRST(/FT’)∪{ε}={*,∕,ε}?
而且: FIRST( E ) = FIRST( T ) = FIRST( F )=FIRST((E))∪FIRST(i)={(,i }
由此我们容易得出各非终结符的FOLLOW集合如下:
FOLLOW( E )= { ),#}
FOLLOW(E’)= FOLLOW(E)={ ),#}
FOLLOW( T )= FIRST(E’)\ε∪FOLLOW(E’)={+,?,),#}
FOLLOW( T’ ) = FOLLOW( T ) ={+,?,),#}
FOLLOW( F )=FIRST(T’)\ε∪FOLLOW(T’)={*,∕,+,?,),#}
由以上FOLLOW集可以我们可以得出SELECT集如下:
对E????????SELECT(E-TE’)=FIRST(TE’)=FIRST(T)={ (,i }
对E’???????SELECT(E’?-+TE’)={ + }?
????? ?SELECT(E’-??TE’)={ ? }
?????? SELECT(E’?-ε)={ε,),#}
对T????????SELECT(T-FT’)={(,i}
对T’?? ????SELECT(T’?-*FT’)={ * }??
SELECT(T’?-?∕FT’)={ ∕ }
SELECT(T’?-ε)={ε,+,?,),#}
对F????????SELECT(F-(E)?)={ ( }
SELECT(F-i)={ i }
∴???SELECT(E’?-+TE’)∩SELECT(E’?-??TE’)∩SELECT(E’?-ε)=F
SELECT(T’?à*FT’)∩SELECT(T’?à?∕FT’)∩SELECT(T’?àε)=F
SELECT(Fà(E)?)∩SELECT(Fài)=?F
由上可知,有相同左部产生式的SELECT集合的交集为空,所以文法是LL(1)文法。因此,转化后的文法可以用递归下降分析法作语法分析。?
?
?
概
要
设
计
(
整
体
流
程
)
流程图:
?
?
?
详
细
设
计
(
算
法
实
现
) 四、详细设计1.public boolean isContainsIllegalSymbol(String s)
判断输入字符是否是合法字符,正确返回true,错误返回false
for (int i = 0; i s.length(); i++) {
char ch=s.charAt(i);
if(!(ch==i||ch==(||ch==)||ch==+||ch==-||ch==*||ch
您可能关注的文档
最近下载
- 一年级上册体育与健康(华东师大版)期末质量检测试卷(附答案).docx VIP
- T_CNAS 05-2019 化疗药物外渗预防及处理.docx VIP
- 2025年六西格玛黑带项目过程能力监控专题试卷及解析.pdf VIP
- 2021年瓦楞纸板(箱)公司组织架构及部门职责.doc
- 函授工商管理论文7800字_函授工商管理毕业论文范文模板.pdf VIP
- 部编人教版二年级下册道德与法治全册教学课件(配2026年春改版教材).pptx
- 成人严重感染与感染性休克血流动力学监测与支持指南(2006).doc VIP
- 车辆维修保养及安全培训课件.pptx VIP
- 成人阻塞性睡眠呼吸暂停诊断和外科治疗指南(2024).pdf VIP
- 2026江西省国有资本运营控股集团有限公司第一批招聘考试笔试备考题库及答案解析.docx VIP
原创力文档

文档评论(0)