自上而下分析模块。本资源包括 判断文法是否为LL(1)文法,提取左公因式,消除左递归 三个子功能,个人python编写,逻辑代码思路不一定最佳,欢迎一起讨论。
2021-06-26 14:00:59 10KB 自上而下分析 LL(1)文法
1
编译原理课程实验-LL(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.输出:串是否合法。
2021-06-25 11:17:43 9.65MB 编译原理 LL(1) 语法分析 计算机专业课
1
用C语言写的一个LL1文法的实现 和大家分享一下
2021-06-24 20:18:08 258KB LL1 编译原理 代码
1
消除直接左递归、左因子
2021-06-24 12:15:09 6KB 编译原理ll(1)
1
1.1目的与意义 通过设计、编制和调试一个典型的LL(1)语法分析方法,进一步掌握预测分析法的语法分析方法。 1.2主要完成的任务 (1)根据LL(1)分析法编写一个语法分析程序,输入文法的FIRST(α)和FOLLOW(U)集,由程序自动生成文法的预测分析表。 (2)所开发的程序可适用于不同的文法和任意输入串,且能判断该文法是否为LL(1)文法。 (3)对输入的任意符号串,所编制的语法分析程序应能正确判断此串是否为文法的句子(句型分析),并要求输出分析过程。 1.3使用的开发工具 Visual C++ 6.0
2021-06-20 18:09:30 1.15MB 编译课设 表驱动LL(1)语法分析程序
1
编译原理实验课的LL(1)代码,并且添加了逆波兰在里面,存在一个bug是括号部分有问题
2021-06-19 14:12:39 4KB 编译原理 LL(1) 代码
1
很好做的,验收过的。让你更加了解LL(1)文法
2021-06-17 11:10:11 2KB c++ 老师验收过的
1
1. 递归下降分析器。可分解为:文法输入及解析、消除左递归、提取左公共因子、产生式匹配。 2. LL(1)分析器。可分解为:文法输入及解析、分析表构造(含SELECT集求解)、主控程序、语法树展示。 3. 算符优先文法分析器。可分解为:文法输入及解析、分析表构造、主控程序、语法树展示。 4. LR(1)分析器。可分解为:文法输入及解析、分析表构造(含项目及项目簇集求解)、主控程序、语法树展示。
1
编写预测分析程序,能实现: 1. 给定文法,消除左递归及左公因子 2.构造并输出FIRST和FOLLOW(A) 3. 构造并输出分析表,判断是否为LL(1)文法 4. 任意输入一个输入串,可得到成功的分析或错误的提示,输出其分析过程或打印语法分析树。
2021-06-11 22:38:10 1.11MB 编译原理 LL(1) 语法分析器 预测分析器
1