安徽科技学院程序设计在线考试系统Ver2.3

诚信考试,杜绝作弊!

Contest1874 - 2025-2026-1学期<编译原理> 实验4:LL(k)文法实验【23计算机1234】

2025-11-01 00:00:00
2025-11-13 00:00:00
已结束 公开 当前时间:2026-03-03 21:15:49

信息与公告

2025-2026-1学期<编译原理> 第10-11周练习:LL(k)文法实验【23计算机1234】

1. LL(1)分析:确定的非递归的自顶向下的表驱动预测分析方法(确定的下推自动机DPDA)

2. 递归下降语法分析的优缺点:
    优点:代码简洁(编码机械)
    缺点:效率较低(无法应对大型文法)

3. 非递归的语法分析优点:
    缺点:文法计算较复杂,算法实现难度较高(需要实现诸多:First、Follow、LL(1)表构造、LL(1)分析器)
    优点:效率高(可以处理非常复杂的实用文法)

4. LL(1)分析流程:
    (1)把文法改造为LL(1)文法,满足3个前提(无左递归,无左公因子,无二义性)
    (2) 计算First/Follow Select
    (3) LL(1)表构造
    (4) LL(1)分析器

5.本次实验任务:
    (1)理解非递归和递归的编程区别,分析递归下降语法分析的优缺点
    (2)掌握LL(1)文法的变换,LL(1)文法的判定,和LL(1)分析表的构造(以First、Follow Select函数为前提)
    (3)熟练掌握编译工作台的使用(项目创建、文法录入和调试,生成和演示)
    (4) OJ作业1824,尽量用非递归来设计,或者把递归转成非递归


                        
题目编号 题目 正确 提交
A加密字符串(code)133226
BSimply Syntax128189
C算术表达式124217
D去括号88547
ERLE解码88407
F师座操作系统119159