




















🕒 阅读时间:2 分钟 📝 字数:432 👀 阅读量: Loading...
:::tip
S_文法(简单的确定性文法)
每个产生式的右部都以终结符开始
同一非终结符的各个候选式的首终结符都不同
S_文法不含ε\varepsilon产生式
:::
可能在某个句型中,紧跟在A后边的终结符a的集合,记为FOLLOW(A) FOLLOW(A)={a∣S⇒∗αAaβ.a∈VT,α,β∈(VT∪VN)∗}\\FOLLOW(A) = \{a| S \Rightarrow {}^*\alpha Aa \beta.a \in V_T,\alpha , \beta \in (V_T \cup V_N )^* \}
:::info 如果A是某个句型的最右符号,则将结束符”$“添加到FOLLOW(A)中 :::
产生式A→βA \rarr \beta 的可选集是指可以选用该产生式进行推导时对应的输入符号的集合,记为SELECT(A→β)SELECT(A \rarr \beta)
SELECT(A→aβ)={a}SELECT(A \rarr a\beta ) = \{ a \} SELECT(A→ε)=FOLLOW(A)SELECT(A \rarr \varepsilon ) = FOLLOW(A)
串首第一个符号,并且是终结符,简称首终结符 给定一个文法符号 α\alpha ,α\alpha 的串首终结符集FIRST(α)FIRST(\alpha) 被定义为可以从α\alpha 推导出的所有串首终结符构成的集合.如果α⇒\*ε\alpha \Rightarrow {}^\* \varepsilon 那么varepsilonvarepsilon也在FIRST(α)FIRST(\alpha)中
对于 ∀α∈(VT∪VN)+,FIRST(α)=a∣α⇒∗aβ,a∈VT,β∈(VT∪VN)∗∀α∈(V_T∪V_N)^+,FIRST(α)= {a | α ⇒* aβ,a ∈ V_T,β∈(V_T∪V_N)^*};
如果 α⇒∗ε,那么ε∈FIRST(α)α ⇒* ε,那么 ε∈FIRST(α)
产生式 A→α 的可选集 SELECT
文法G是LL(1)的,当且仅当G的任意两个具有相同左部的产生式A→α∣βA \rarr \alpha|\beta 满足下面的条件
:::tip
同一非终结符的各个产生式的可选集互不相交 :::
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。