视频加载失败

课程

834 字
约 3 分钟

ch04

编译原理exercises/homework·更新于 2026-09-15

5. 考虑下面文法 G1G_1

Sa(T)S \rightarrow a \mid \wedge \mid (T)

TT,SST \rightarrow T, S \mid S

(1)消去 G1G_1 的左递归。然后,对每个非终结符,写出不带回溯的递归子程序。

(2)经改写后的文法是否是 LL(1) 的?给出它的预测分析表。

6. 对下面的文法 G:

**ETEE \rightarrow TE' **

E+EεE' \rightarrow +E \mid \varepsilon

TFTT \rightarrow FT'

TTεT' \rightarrow T \mid \varepsilon

FPFF \rightarrow PF'

FFεF' \rightarrow *F' \mid \varepsilon

P(E)abP \rightarrow (E) \mid a \mid b \mid \wedge

(1)构造这个文法的每个非终结符的 FIRST 和 FOLLOW 集合。

(2)证明这个文法是 LL(1) 的。

(3)构造它的预测分析表。

(4)构造它的递归下降分析程序。

7. 对下面文法:

ExprExprExpr \rightarrow -Expr

Expr(Expr)Var ExprTailExpr \rightarrow (Expr) \mid Var \ ExprTail

ExprTailExprεExprTail \rightarrow -Expr \mid \varepsilon

Varid VarTailVar \rightarrow id \ VarTail

VarTail(Expr)εVarTail \rightarrow (Expr) \mid \varepsilon

(1)构造 LL(1) 分析表。

(2)给出对句子 idid((id))id--id((id)) 的分析过程。

Profile Image of the Author
Sonder
好想要技术
这是公告标题
这只是一个公告
分类
标签
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0

当前页面没有目录

文章目录

当前页面没有目录