语法分析上机实习题由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“语法分析部分上机”。
注:
(一)为必做题,(二)和
(三)任选一题。
语法分析上机实习题
(一)对于如下的文法,试编写调试一个语法分析程序:
E → E+T | T
T → T*F | F
F → P^F| P
P→(E)| i
要求和提示:
(1)可选择一种你感兴趣的语法分析方法(LL(1)、算符优先、递归下降、SLR(1)等)作为编制语法分析程序的依据。
(2)对于所选定的分析方法,如有需要,应选择一种合适的数据结构,以构造
所给文法的机内表示。
(3)能进行分析过程模拟。如输入一个句子,能输出与句子对应的语法树,能
对语法树生成过程进行模拟;能够输出分析过程每一步符号栈的变化情况。
(二)First集和Follow集生成算法模拟
【问题描述】
设计一个由给定文法生成First集和Follow集并进行简化的算法动态模拟。(算法参见教材)
【基本要求】
动态模拟算法的基本功能是:
(1)输入一个文法G;
(2)输出由文法G构造FIRST集的算法;
(3)输出First集;
(4)输出由文法G构造FOLLOW集的算法;
(5)输出FOLLOW集。
E的first集
T的first集
F的first集+1*()i 1 11 1 1 1
【测试数据】
输入文法:
E->TE’
E’->+TE’|ε
T->FT’
T’->*FT’|ε F->(E)|i
(三)FirstVT
集和LastVT集生成算法模拟
【问题描述】
设计一个由给定文法生成FirstVT集和LastVT集的算法动态模拟。(算法参见教材P90——92FirstVT和LastVT的构造算法)
【基本要求】
动态模拟算法的基本功能是:(1)输入一个文法G;
(2)输出由文法G构造FIRSTVT集的算法;(3)输出FirstVT集;
E的firstVTT的firstVTF的firstVT
(4)输出由文法G构造LastVT集的算法;(5)输出LastVT集。
+1
*
()
i 1 1 11
1【测试数据】
输入文法: E->TE’
E’->+TE’|ε T->FT’
T’->*FT’|ε F->(E)|i
实习报告内容:
实验目的、实验要求、实验内容、采用的数据结构、算法描述、运行结果、调试情况、设计技巧及体会、源程序清单。
实验报告封面:
题目:
《编译原理》实验报告
学生姓名:_____________________________ 班级:_____________________________ 学号:_____________________________ 指导教师:_____________________________ 成绩:_____________________________
西安邮电大学计算机学院
年月日
《文献检索》上机实习题(二)注意事项:写清班级、学号、姓名,每次上机结束,以书面形式交上机实习报告。1、在EBSCO(ASP/BSP)数据库中检索发表于2000年-2009年,题名中包含词组“a......
《文献检索》上机实习题(一)注意事项:写清班级、学号、姓名,每次上机结束,以书面形式交上机实习报告。题目:1、利用图书馆网站上的“书目查询” 查看我院图书馆收藏的2002年之......
一、用记事本新建一个文本文件,将本班的M名学生在本学期的N门考试课的成绩(要求用假想分数,并要求将自己的每门课的分数定在96分以上,放在第一列;而将别人的大多数课程的分数都定......
实验三 MATLAB7.0基本编程实验目的:① 掌握脚本和函数;② 掌握matlab中的变量和M文件的流控制语句; ③ 掌握函数的设计和实现。实验要求:给出程序和实验结果。 实验内容:一、一......
实验二基本矩阵操作实验目的:① 掌握matlab变量和数据操作;② 掌握matlab矩阵的创立、拆分及特殊矩阵;③ 掌握matlab运算,掌握matlab在矩阵分析中的应用,掌握稀疏矩阵的存储方式......