- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河海大学物联网工程学院
编译原理课程实践
学年学期 2015-2016第二学期
实验名称 语法分析、语义分析
作 者 1362810225 刘云瞻
组 员 刘云瞻 华路
授课班号 6282506
专 业 计算机科学与技术13级
指导教师 金永霞
2016年6月
目录
1.引言 - 2 -
1.1 实验目的 - 2 -
1.2 实践内容 - 3 -
2. 算法设计 - 3 -
2.1 语法分析 - 4 -
2.1.1 生成(非)终结符表 - 4 -
2.1.2 构造FirstVT集和LastVT集 - 4 -
2.1.4 算符优先分析 - 7 -
2.2 语义分析 - 10 -
2.2.1 算术表达式和简单赋值语句的翻译 - 10 -
3. 运行结果与测试 - 11 -
3.1 运行结果 - 11 -
3.2 错误测试 - 13 -
4. 心得体会 - 14 -
1.引言
1.1 实验目的
通过使用高级语言实现部分算法加强对编译技术和理论的理解。设计的题目要求具有一定的规模,应涵盖本课程内容和实际应用相关的主要技术。
1.2 实践内容
本实验通过“算符优先分析法”来解决实验任务中的“语法分析”与“语义分析”这两个任务点。其中,“语法分析”是根据输入串和根据文法规则得出的优先关系表,完成一系列移进、归约的过程,“语义分析”在本实验中是通过对归约串进行的解释以及中间代码的生成。
具体来说,这里我通过Java 编程语言完成整个实验的设计,根据文法规则求得FirstVT集和LastVT集,然后生成算符优先关系表,最终实现算符优先分析总控程序,输出识别过程及结论;此处,在归约时候根据赋值语句的语法致导定义,为输入的赋值语句生成四元式序列。
2. 算法设计
本实验的算法设计主要分为“语法分析”和“语义分析”两部分。其中,“语
法分析”由生成(非)终结符表、构造FirstVT集和LastVT集、生成算符优先关系表和算符优先分析四个部分组成;“语义分析”是对实现“算术表达式和简单赋值语句的翻译”,找到归约采用文法、输出赋值过程及四元式序列。
这里,我使用的文法规则为:
A-#S#
S-d=E
E-E+T
E-T
T-T*F
T-F
F--P
F-P
P-(E)
P-i
输入串为:d=i+i*i#
赋值 i=6
2.1 语法分析
2.1.1 生成(非)终结符表
根据算符文法的定义简单判断文法是否合法,具体通过BaseUtil.isLegal(grammars)来实现,主要是不存在两个连续相继的非终结符。
终结符:文法规则的左部
非终结符:文法规则的右部中除了终结符以外都是非终结符
2.1.2 构造FirstVT集和LastVT集
求这两个集合主要是根据定义来求得,定义形式为:
FirstVT:
1产生式P-a…或者P-Qa…,则a属于FirstVT(P)
2产生式P-Q…,则FirstVT(Q)属于FirstVT(P)
LastVT:
1产生式P-…a或者P-…aQ,则a属于FirstVT(P)
2产生式P-…Q,则LastVT(Q)属于LastVT(P) 2.1.3 生成算符优先关系表
public static char[] getFirstVt(String[] wfs, char[] vt, char C) {
String firstVtStr = ;
for (int i = 0; i wfs.length; i++) {
if (C == wfs[i].charAt(0)) {
char[] c = wfs[i].toCharArray();
int j = 3;// A-... 0 1 2 下标从3开始
// A-a...
if (isVt(c[j], vt)) {
firstVtStr += c[j];
} else {
// A-B...
if (c.length == 4) {
firstVtStr += String.valueOf(getFirstVt(wfs, vt, c[j]));// 求该非终结符的头符
} else {// A-Ba...
firstVtStr += c[j + 1];
}
}
}
}
return removeRepeat(firstVtStr);
您可能关注的文档
- 选修5第二章脂肪烃第一节详解.ppt
- 网络传输介质与连接器件讲述.ppt
- 网络仪原理及测量阻抗讲述.docx
- 网络体系结构与网络协议讲述.ppt
- 选修课:广州石化厂的布局及其变迁详解.ppt
- 网络信息安全课后习题答案讲述.doc
- 网络体系结构和IP地址讲述.ppt
- 选修四金属的电化学腐蚀与防护详解.ppt
- 选用与语言表达连贯2016详解.ppt
- 选择题目11详解.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- “双 减”、“六项管理”教师应知应会试题及答案 (1).docx VIP
- 中班语言《谁的尾巴》PPT课件.ppt
- 2024年烟花爆竹经营单位主要负责人证考试500题及解析.doc
- 航海英语听力与会话-问答第四版完整版.pdf
- 手指软组织缺损临床路径及表单.docx VIP
- Unit8-it-must-belong-to-Carla-A市公开课一等奖省赛课微课金奖PPT课件.pptx
- 2024年新高考化学命题特点及试题分析.pdf
- 广东省市政工程竣工验收资料统一表格目录.docx
- 道德与法治赛课一等奖:《有多少浪费可以避免(第一课时)》教学设计详案(四下).docx VIP
- 当代公共空间装置艺术的审美倾向研究.pdf
文档评论(0)