編譯原理3


作業3—自頂向下分析方法
作業要求:
① 獨立完成,謝絕抄襲
② 作業截止時間:2019-04-30(周二) 23:59:59
③ 提交方式兩種自選:
a) 電子郵件發 huangxx@hdu.edu.cn ,主題格式要求:“編譯作業3_學號_姓名”,文件名也標為“作業3_學號_姓名”,以pdf或doc格式
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. 文法G[S]:
    S→a | ^ | (T)
    T→T,S | S
    (1)改寫文法(消除左遞歸或左公共因子)。
    (2)判斷改寫后文法是否是LL(1)的,如果是,構造預測分析表。
    (3)給出輸入串(a, a)的分析過程。

  4. 文法G[A]:
    A→aABe | a
    B→Bb | d
    (1)改寫文法。
    (2)判斷改寫后文法是否是LL(1)的,如果是,構造預測分析表。
  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)分析過程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM