Parsing LL(1)解析S→的表;a | ba | c

Parsing LL(1)解析S→的表;a | ba | c,parsing,context-free-grammar,ll,context-free-language,Parsing,Context Free Grammar,Ll,Context Free Language,我是LL(1)语法分析的新手,目前正在尝试找出如何为该语言创建语法分析表: S → Saa|b 及 及 我将向您展示第一个语法的完整过程。请告诉我您是否希望更深入地检查哪些方面 → 萨阿| b 1。消除左递归 → 学士学位 是的→ aaS'|ε 2。左因子 不需要这种语法 3。先计算,然后再检查语法是否为LL(1) 4。构建解析表 结果: ------------------------------------- | | a | b | $ |

我是LL(1)语法分析的新手,目前正在尝试找出如何为该语言创建语法分析表:

 S → Saa|b


我将向您展示第一个语法的完整过程。请告诉我您是否希望更深入地检查哪些方面

→ 萨阿| b

1。消除左递归 → 学士学位

是的→ aaS'|ε

2。左因子 不需要这种语法

3。先计算,然后再检查语法是否为LL(1) 4。构建解析表 结果:

-------------------------------------
|    |    a     |    b     |   $    |
-------------------------------------
| S  |          |  S → bS' |        |
-------------------------------------
| S' | S → aaS' |          | S' → ε |
-------------------------------------
语法是LL(1)。这里是其他语法的结果

1.
-------------------------------------
|    |    a     |    b     |   $    |
-------------------------------------
| S  |   S → A  |  S → B   |        |
-------------------------------------
| A  |  A → aa  |          |        |
-------------------------------------
| B  |          |  B → bb  |        |
------------------------------------- 

2.
-------------------------------------
|    |    a     |    b     |   $    |
-------------------------------------
| S  |   S → AB |          |        |
-------------------------------------
| A  |  A → aa   |         |        |
-------------------------------------
| B  |          |  B → bb  |        |
------------------------------------- 

您希望生成哪种类型的解析表?LL、单反、LR(1)?你被困在哪里?如果你不知道从哪里开始,也许最好买本书
------------------------------------
|   A → α   | FIRST(α) | FOLLOW(A) |
------------------------------------
|  S → bS'  |     a    |      $    |
------------------------------------
| S' → aaS' |     a    |      $    |
------------------------------------
|   S' → ε  |     ε    |      $    |
------------------------------------
for each prodution A → α
  for each a ∈  FIRST(α)
    add production A → α to M[A,a]
  if ε ∈ FIRST(α) then
    for each b ∈ FOLLOW(A)
      add A → α to M[A,b]
-------------------------------------
|    |    a     |    b     |   $    |
-------------------------------------
| S  |          |  S → bS' |        |
-------------------------------------
| S' | S → aaS' |          | S' → ε |
-------------------------------------
1.
-------------------------------------
|    |    a     |    b     |   $    |
-------------------------------------
| S  |   S → A  |  S → B   |        |
-------------------------------------
| A  |  A → aa  |          |        |
-------------------------------------
| B  |          |  B → bb  |        |
------------------------------------- 

2.
-------------------------------------
|    |    a     |    b     |   $    |
-------------------------------------
| S  |   S → AB |          |        |
-------------------------------------
| A  |  A → aa   |         |        |
-------------------------------------
| B  |          |  B → bb  |        |
-------------------------------------