<program> -> begin<stmt_list>end
<stmt_list> -> <stmt> | <stmt> ; <stmt_list>
<stmt> -> <var> = <expression>
<var> -> A | B |C
<expression> -> <var> + <var> | <var> - <var> | <var>
我认为第二行可以这样转换,但是解决方案没有建议
<stmt_list> -> <stmt> [; <stmt_list>
此外,最后一行被转换成这样
<expression> -> <var> {(+|-) <var>}
但我认为不能像
那样重复 <var> + <var> - <var> + <var> ....
所以我认为应该将其更改为
<expression> -> <var> [(+|-) <var>]