1

我读了我的笔记之一,准备博士入学考试。大写字母不是终端,小写字母是终端。关于LL(1)语法的例子?

我们有两个语法像:

G1: S-->bSa | aSb | ba 
G2: S-->XYa 
    X-->a | Yb 
    Y--> c | epsilon 

我记的说:

G1不是LL(1)语法,但G2LL(1) Grammar.I知道了一些关于LL(1),但我觉得这个例子对我来说并不明显。任何人都可以为我简化它?谢谢。

+1

您需要仔细查看该在线工具的文档。这是语法:http://smlweb.cpsc.ucalgary.ca/vital-stats.php?grammar = S + - %3E + b + S + a%0D%0A +++ | + a + S + b%0D%0A +++ | + b + A。 (空间问题。) – rici

+0

@rici Okey。我知道了。谢谢。没有工具可以让我更清楚吗? – user3661613

+0

@rici您的语法也有错误的语法,在EOF中发现错误,第2行,语法错误语法不合格! – user3661613

回答

1

这真的很简单。对于G1:第一个(bSa)交点第一个(aSb)交点第一个(ba)是空的所以不是LL(1)。

对于G2 ...

+0

是的,谢谢,Rici帮我解决问题。谢谢 – user3661613