Recursion BNF:交换语法规则中的非终端位置对产品的影响

Recursion BNF:交换语法规则中的非终端位置对产品的影响,recursion,grammar,bnf,Recursion,Grammar,Bnf,我昨天花了整整一天的时间,今天花了7个小时,试图找到作业中某个问题的最终答案。我看了几个小时关于BNF和EBNF的讲座,但没有一个能回答我的问题。不过,我学到了: 我希望有人能指出方向: 根据这种语法 G = {N, T, S, P} T = {a, b, c, - , ×} N = {<goal>, <expr>, <term>, <factor>} S = <goal> P = <goal> ::= <e

我昨天花了整整一天的时间,今天花了7个小时,试图找到作业中某个问题的最终答案。我看了几个小时关于BNF和EBNF的讲座,但没有一个能回答我的问题。不过,我学到了:

我希望有人能指出方向:

根据这种语法

G = {N, T, S, P} 
T = {a, b, c, - , ×} 
N = {<goal>, <expr>, <term>, <factor>} 
S = <goal> 
P = 
<goal> ::= <expr> 
<expr> ::= <term> | <expr> - <term> 
<term> ::= <factor> | <term> × <factor> 
<factor> ::= a|b|c
然后将规则更改为:

<goal> ::= <expr>
<expr> ::= <term> | <term> - <expr> 
<term> ::= <factor> | <factor> × <term>
<factor> ::= a|b|c
它对生产有什么影响

我所能看到的是它将LHS递归更改为RHS递归。我真的很想知道我错过了什么


作业中的其他问题改变了我回答的规则的顺序:在产品级联中较低的规则具有较高的优先级。

在咨询讲师后,我确认唯一的区别是:它将LHS递归更改为RHS递归