我一直在尝试解析连接的字符串,以便表达式也可以连接起来形成字符串。那是,
"No, " + 4*(6+5)/(8-4) + " is not equal to " + 75*1.3 + "."
上面应该正确解析。问题是这+
会导致减少班次的冲突。我一直在使用以下语法;
<S> ::= <A> '+' <S>
| <A>
<A> ::= <E>
|QUOT
<E> ::= <T> '+' <E>
| <T> '-' <E>
| <T>
<T> ::= <F> '*' <T>
| <F> '/' <T>
| <F>
<F> ::= NUM
| '(' <E> ')'
我在尝试找到+
不会导致移位减少冲突的语法方面没有任何成功。我希望有一种方法可以制作这种语法 LALR,我非常感谢在尝试找到它时提供的一些帮助。