假设我有以下语法:
expr = expr + term | term term = term + number | number number = (just any integers..)
我的问题是,是expr = expr + term | 与 expr相同的术语= 术语 + expr | 任期?
我扩展了语法,这似乎很重要。我对么?
假设我有以下语法:
expr = expr + term | term term = term + number | number number = (just any integers..)
我的问题是,是expr = expr + term | 与 expr相同的术语= 术语 + expr | 任期?
我扩展了语法,这似乎很重要。我对么?
不,它们不一样。订单很重要。例如,请查看http://en.wikipedia.org/wiki/Context-free_grammar#Example
答案当然是取决于语法。
在您的情况下,将一条规则替换为另一条规则不会更改语法生成的语言中的字符串集。语法不同,但语言是一样的。唯一的区别是第一个从右侧构建字符串,第二个从左侧构建字符串。
想出不起作用的语法并不难:有时,改变产生式中符号的顺序会改变语言。