这次实验是进行初步的语法分析,是基于上次词法分析器的基础上建立起来的分析程序。此次实验比较简单,只须把词法分析器的程序放进来,然后再进行函数调用即可。通过此次实验,我基本上了解了语法分析器的工作原理和功能以及实现方法。进一步学习了C语言的知识。此次实验,要解决的问题便是分析语法程序,如果正确则输出正确,如果错误,分析它的错误并给出结果,实现了实验的要求内容。因而,本程序算是一个比较成功的程序。
2019-12-21 20:12:18 3.39MB 语法分析器 c++ (LL1)
1
用java实现的编译原理LL1算法,有界面的和没有界面的两种,提供实验指导书免费下载。用Eclipse编写,导入能运行
2019-12-21 20:08:23 13KB 编译原理,LL1算法。java,界面
1
LL(1)语法分析器的范例代码...实验内容及操作示范详见实验指导书... 内容简介: 1.如下为给定的LL(1)文法。 G[]: 1) ->program : begin end {program} 2) D->i D’ {i} 3) D’->, i D’ {,} 4) D’->ε {:} 5) S->s S’ {s} 6) S’-> s S’ { } 7) S’->ε {end} 8) T->real {real} 9) T->integer {integer} 其中右侧{}内为产生的可选集。 2.调试并完善如下给出的文法的LL(1)分析器示例程序,并设输入的文法的句子为: program i , i , i : integer begin s s s end 给出输出结果并进行分析说明。
2019-12-21 19:45:53 186KB 编译原理 LL1 语法分析器
1
使用MFC实现编译原理LL1语法分析器(含消除左递归)使用MFC实现编译原理LL1语法分析器(含消除左递归)
1
实验目的: 1. 了解 LL(1)语法分析是如何根据语法规则逐一分析词法分析所得到的单词,检查语法错误,即掌握语法分析过程。 2. 掌握LL(1)文法判别调剂和 LL(1)语法分析器的设计与调试。 实验内容: 针对任意的文法,编写相应的左递归消除、左公共因子提取程序,求解相应的FIRST、FOLLOW集,构造预测分析表,并编写LL(1)语法分析程序,并给出测试句子的分析过程。(注:左递归消除和左公共因子如果在实验三里做了,可以直接拿过来用) 判断LL(1)文法部分: 1. 输入:文法 2. 处理:左递归消除、左公共因子提取,FIRST、FOLLOW等集合构造,判断LL(1) 3. 输出:是LL(1)的情况输出预测分析表,否则判断不是LL(1) LL(1)分析程序部分: 1. 输入:诸如对应文法的符号串,以$结束。 2. 处理:基于分析表进行 LL(1)语法分析,判断其是否符合文法。 3. 输出:串是否合法。 三、实验要求 1. 构建合适的数据结构来表示文法符号和文法规则。 2. 设计恰当的数据结构存储预测分析表。(ε可用#代替) 3. 任选 C/C++/Java 或其他高级语言中的一种作为编程语言,要求所编程序结构清晰。
2019-12-21 19:24:11 4KB 11(1)分析
1