对于文法G(E] E—> TE' E'———>+TE'|s T——>FT' T'——>FT'|s F一>(E)|i. 构造预测分析表
时间: 2023-11-18 08:02:34 浏览: 112
首先,我们需要求出该文法的 FIRST 和 FOLLOW 集合:
FIRST(E) = FIRST(T) = FIRST(F) = {(, i}
FIRST(E') = {+, s}
FIRST(T') = {+, s}
FIRST(F) = {(, i}
FOLLOW(E) = {$, )}
FOLLOW(E') = FOLLOW(E) = {$, )}
FOLLOW(T) = FIRST(E') ∪ FOLLOW(E) = {+, $, )}
FOLLOW(T') = FOLLOW(T) = {+, $, )}
FOLLOW(F) = FIRST(T') ∪ FOLLOW(T) = {(, i, +, $, )}
根据预测分析表的构造方法,对于每个非终结符 A 和每个终结符 a,如果存在产生式 A -> α,则将所有 FIRST(α) 中的终结符 a 加入到 M[A, a] 中;如果 ε 属于 FIRST(α),则将所有 FOLLOW(A) 中的终结符 a 加入到 M[A, a] 中。
因此,预测分析表如下:
| M | + | * | ( | ) | i | $ |
|:-------:|:----:|:----:|:----:|:----:|:----:|:----:|
| E | - | - | E -> TE' | - | E -> TE' | - |
| E' | E' -> +TE' | E' -> s | - | E' -> s | - | E' -> s |
| T | - | - | T -> FT' | - | T -> FT' | - |
| T' | T' -> s | T' -> +FT' | - | T' -> s | - | T' -> s |
| F | - | - | F -> (E) | - | F -> i | - |
阅读全文