运算符语法中的优先关系是什么?
对于运算符语法中的终端 a 和 b,我们可以有以下优先关系 -
一个=。b(Equal Precedence)− 如果生产的 RHS 的形式为 α a β b γ,其中 β 可以是 ε 或单个非末端,则 a =。湾。
这里,α 和 γ 可以是任意字符串。
示例- 在语法中,S → m A c B ed
关于 mAcBed 与 αaβbγ 的比较
α = mA, a = c, β = B, b = e, γ = d
Α | 一种 | β | b | γ |
嘛 | C | B | e | d |
因此,将 a 与 c 和 b 与 e 进行比较,我们得到 c =.e。
我们也可以为 a 和 b 做不同的组合。
在语法 S → m A c Bed
α = ε, a = m, β = A, b = c, γ = 床
甲 | 一种 | β | b | γ |
Ε | 米 | A | C | Bed |
因此,将 a 与 m 和 b 与 c 进行比较
∴m =。C
a<.b(小于)
如果生产的 RHS 的形式为 α a A β 和 A ⟹+ γb$,其中 γ 是 ε 或单个非终结符,则 a <.b。
示例- 在语法 S → m A c D
一个 → 我
比较 m A c D 与 α a A β 和 A → i 与 A → γb$
甲 | 一种 | A | β |
Ε | 米 | A | 光盘 |
A → | Γ | b | $ |
A → | 乙 | i | ε |
∴ α = ε, a = m, A = A, β = cD
∴ γ = ε,
和 b = 我
∴ 应用规则,
一个<。b 表示 m <。一世
a .> b(大于)
如果生产的 RHS 的形式为 αAbβ 和 A ⟹+ γa$,其中 $是 ε 或单个非终结符,则 a .> b。
示例- 在语法 S → m A c D
一个 → 我
关于比较 m A cD 与 α a bβ 和 A → i 与 A → γa$
Α | 一种 | b | β |
M | 一种 | c | D |
Α → | Γ | a | $ |
Α → | 乙 | i | ε |
∴ α = m, A = A, b = c, β = D
在比较 i 和 γa $
∴ γ = ε, a = i, $= ε
∴ 在应用规则时,
a .> b 表示 i .> c。
终端符号之间的优先关系也可以通过解析树显示 -
计算算子优先关系的算法
输入- 运算符语法
输出- 终端和符号之间的优先关系。
方法
开始
对于每个产生式 A → B 1 , B 2 , … … … 。乙_
对于 i = 1 到 n – 1
如果 B i和 B i+1都是终结符,那么
设置 B i = B i+1
如果 i ≤ n - 2 且 B i和 B i+2都是终结符且 B i+1是非终结符,则
设置 B i = B i+2
如果 B i是终端且 B i+1是非终端,则对于所有 a 在 LEADING (B i+1 )
设置 B i <。一种
如果 B i是非终结符且 B i+1是终结符,则对于 TRAILING (B i )中的所有 a
设置一个。> B i+1
结尾
以上是 运算符语法中的优先关系是什么? 的全部内容, 来源链接: utcz.com/z/363354.html