我想爲minipython的一個版本(使用後綴/前綴增量和減量運算符)編寫sablecc的規範文件,有些產品自然需要使用標識符,但是我在解析期間得到這些衝突: shift/reduce conflict in state [stack: TPrint TIdentifier *] on TPlusPlus in {
[ PMultiplication = TIdentifier * ]
我打算用野牛解析一些腳本語言移減少衝突,在這種語言,我可以寫類似下面的代碼: a = input()
b = a + 1
function myfunc
a = input()
b = a + 1
end function
我發現,該塊 a = input()
b = a + 1
其中進出函數定義的同時出現可以通過相同的規則stmts被減小,所以我寫如下代碼 %