常规语法产生字符串?

时间:2017-04-29 14:24:50

标签: algorithm parsing grammar

我有一篇文章说明:

  

(...)诸如x&x 39s之后的相同数量的y(例如xxxxyyyy)的语言不能由常规语法或有限状态自动机指定,因为这些设备没有记住在推导y的时候生成了多少个x的机制。这个缺点可以通过诸如S→xSy之类的规则来解决,它们总是同时生成x和y。 (...)

所以,我不理解这个陈述,据我所知,这些字符串可以用生成规则的常规语法生成:

S→xS

S→yS

S→y

其中x,y是终端,S是起始的唯一非终端。该语法产生推导

取值→XS→XXS→XXXS→xxxxS→xxxxyS→xxxxyyS→xxxxyyyS→XXXXYYYY

1 个答案:

答案 0 :(得分:2)

语法必须用语言生成每个字符串,而不是语言中没有字符串。

您的语法也会生成第三个作品的无效字符y,或xxyxyxy,因此您可以说这是一个语法你的语言。