我們正在開發一個DSL,我們正在面臨的一些問題: 問題1: 在我們的DSL,它允許這樣做: A + B + C 但不是這樣: A + B - C 如果用戶需要使用兩個或多個不同的運營商,他需要插入圓括號: A + (B - C) 或 (A + B) - C。 問題2: 在我們的DSL中,最先例的運算符必須用圓括號包圍。 例如,而不是使用這種方式: A + B * C 的用戶需要使用這樣的: A +
我正在學習關於計算機科學課程中的解析/解析。爲此我們使用ANTLR。 我在修改一個XML語言,所以它不再具有模糊性,但是當我對語法進行更改時,ANTLR會抱怨。 我知道這個具體的問題已被問過,但它並沒有真正的幫助! ANTLR: rule Tokens has non-LL(*) decision due to recursive rule invocations reachable from a