这是语法LL(1)

时间:2016-05-21 03:00:46

标签: parsing ll

我被要求转换:

S → Sa | bSb | bc 

到LL(1)到目前为止我有:

S → bY
Y → SbF | cF
F → aF | ε

这是LL(1)吗?如果不是,这将是LL(1):

S → bY
Y → bYbF | cF
F → aF | ε

如果这些都没有人请给我正确答案,为什么要提前感谢!

1 个答案:

答案 0 :(得分:0)

这就是我要做的:

S → Sa | bSb | bc 
  1. 删除左递归:

    F -> aF | EPSILON```
    
  2. 现在剩下的因素:

    F -> aF | EPSILON
    X -> SbF | cF```
    
  3. 先检查并遵循:

    S: b
    X: b, c
    F: a, EPSILON```
    
    ```Follows():
    S: $, b
    X: $, b
    F: $, b```
    
    Everything checks out so it is LL(1) parsable.