订单在上下文中是否自由语法?

时间:2013-02-08 15:58:44

标签: context-free-grammar

让我说我有以下语法:

expr = expr + term | term    
term = term +  number | number    
number = (just any integers..)

我的问题是, expr = expr + term |术语 expr = term + expr |相同术语

我扩展了语法,看起来确实很重要。我是对的吗?

2 个答案:

答案 0 :(得分:1)

不,他们不一样。订单很重要。有关示例,请查看http://en.wikipedia.org/wiki/Context-free_grammar#Example

答案 1 :(得分:0)

答案当然是,它取决于语法。

在您的情况下,为另一个规则替换一个规则不会更改语法生成的语言中的字符串集。语法不同,但语言是一样的。唯一的区别是第一个构建了右边的字符串,第二个构建了左边的字符串。

在不起作用的情况下提出语法并不难:有时候,改变作品中符号的顺序会改变语言。