我收到錯誤 [fatal] rule statement has non-LL(*) decision due to recursive rule invocations reachable from alts 6,7. Resolve by left-factoring or using syntactic predicates or using backtrack=true option.
我有一個語法 S ‐> S a | S b a | a | S b c S | S b c b | c S | c b
的這一部分,我需要使用它,以創建一些SD套,後來一解析表。 但是,在這之前,我應該將其轉換爲自上而下的可分析語法。 我的問題是你如何做到這一點?我知道你必須擺脫左遞歸,但我該如何去做呢? 我讀了維基百科的文章和大學的其他文章,但是我無法將自己的頭腦包裹在我應該怎麼做。 你能給
問題是,PEGs(解析表達式語法)do not allow left-recursive rules。 我已閱讀有關此主題的可用答案,但具體問題(如this one)或非常簡單(例如x = symbol:(x '.'))。 我創建了以下非常簡單的語法來說明問題 EXAMPLE = x+
x = symbol:(x y*/x y z)
y = symbol:('.' x)
z = symb