这个匹配括号LL(1)的语法是什么?

时间:2013-05-06 15:52:36

标签: parsing compiler-construction programming-languages context-free-grammar ll

语法是这样的:

S - > e(epsilon)

S - > TS

T - > (S)

我认为它确实是LL(1),我的理由是,对于一个语法是LL(1),对于每个具有多于1个生成规则的非终结符,规则的导演符号集必须是不相交的,因此在这种情况下:

DS(S-> e)=

  

首先(S-> e)U跟随(S-> e)= {}}

而且,

  

DS(S-> TS)=第一(S-> TS)= {(}

由于{ ) }{ ( }不相交,因此语法为LL(1)。

我的理由是否正确?

1 个答案:

答案 0 :(得分:3)

是的,这个语法是LL(1)。注意

  

FIRST(S)= {ε,(}

     

关注(S)= {),$}

     

FIRST(T)= {(}

因此,解析表是

    (     )     $
S   TS    e     e
T   (S)

由于这里没有冲突,语法是LL(1)。

希望这有帮助!