作业3—自顶向下分析方法
作业要求:
① 独立完成,谢绝抄袭
② 作业截止时间:2019-04-30(周二) 23:59:59
③ 提交方式两种自选:

a) 电子邮件发 huangxx@hdu.edu.cn ,主题格式要求:“编译作业3_学号_姓名”,文件名也标为“作业3_学号_姓名”,以pdf或doc格式

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

b) 作业本

  1. 试消除下列文法G[E]中存在的左递归
    E→ET+ | ET- | T
    T→TF* | TF/ | F
    F→(E) |i
  2. 文法G[S](o, a , d, e, f, b是终结符号):
    S→MH | a
    H→LSo |ε
    K→dML | ε
    L→eHf
    M→K | bLM
    求非终结符号的FIRST集与FOLLOW集。
    编译原理3 随笔 第1张
  3. 文法G[S]:
    S→a | ^ | (T)
    T→T,S | S
    (1)改写文法(消除左递归或左公共因子)。
    (2)判断改写后文法是否是LL(1)的,如果是,构造预测分析表。
    (3)给出输入串(a, a)的分析过程。
    编译原理3 随笔 第2张
    编译原理3 随笔 第3张
  4. 文法G[A]:
    A→aABe | a
    B→Bb | d
    (1)改写文法。
    (2)判断改写后文法是否是LL(1)的,如果是,构造预测分析表。
    编译原理3 随笔 第4张
  5. 考虑简化了的C语言声明语句的文法G[D],其他符号都是终结符号(注意:int,float,id均为终结符号)。
    D→T V
    T→int | float
    V→ id, V | id

(1) 在该文法中提取左公共因子。

(2) 为改造后文法的非终结符号构造FIRST集和FOLLOW集

(3) 说明改造后的文法是LL(1)文法

(4) 为改造后的文法构造LL(1)分析表

(5) 给出输入串 float x, y所对应的LL(1)分析过程。
编译原理3 随笔 第5张
编译原理3 随笔 第6张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄