这是语法LL(1)语法吗?

  • 本文关键字:语法 LL grammar
  • 更新时间 :
  • 英文 :


这是语法LL(1(吗?SE/SE会是一个问题吗?

S -> E / S 
S -> E
E -> letter 
E -> ‘ S ’

它能得出这样的‘a / e / ‘g / s’ ’ / q吗?

S =>  E / S 
=> ‘S’ / S 
=> ‘E / S’ / S 
=> ‘a / S’/ S
=> ‘a / E / S’ / S
=> ‘a / E / ‘E / S’’ / S
=> ‘a / e / ‘g / s’’ / q

回想一下,语法GLL(1)当且仅当A → uA → vG中是不同的产品时,以下条件成立:

  1. 对于没有终端a执行uv派生以a开头的字符串。
  2. 最多uv中的一个派生空字符串λ
  3. 如果u ⇒* λv不会派生任何以FOLLOW(A)中的终端开头的字符串。

第二个和第三个条件是微不足道的,因为语法中没有终端和非终端符号序列派生空字符串。现在考虑S → E / SS → E的作品。你能找到两个派生S ⇒ E / S ⇒* auS ⇒ E ⇒* ava是违反第一个条件的终端吗?这个问题显然是功课,所以我会把这个问题留给你回答。

最新更新