0
我遇到了稍微不同的語法問題,它是帶有單個規則的語法(一個巨大的語法),並且有幾次調用自身。我不知道如何用Xtext來表示這種語法,它是一門學術工作,是一種用來指定需求的語言。始發語法,從文章獲得的是:左遞歸調用錯誤和語法翻譯
和我的沮喪嘗試如下所示:
Relax:
root+=General+;
//nao tinha o tipo boleano
terminal BOOLEAN returns ecore::EBoolean:
'true'|'false'
;
General:
root+=BOOLEAN|STRING|ShallOperator|MayOperator|EventuallyOperator|UntilOperator|BeforeOperator|AfterOperator|InOperator;
ShallOperator:
'shall' elements=General;
MayOperator:
"may" action1=General 'or' action2=General;
EventuallyOperator:
'eventually' element=General;
UntilOperator:
// {General.left=current}'&' right=General;
// ({General.left=current}) 'until' element2=General;
left=General 'until' right=General;
錯誤「此規則調用是一個遞歸調用圖的一部分」發生在最後一行。
除了這個錯誤,即使語法的「正確」部分也不會產生正確的結果。
我搜索的錯誤,但我無法理解的問題,我還是一個初學者,所以我有2個問題:
對不對我該怎麼翻譯語法?
如何解決這個左遞歸錯誤?
獎金問題:學習材料(我已閱讀官方文檔)。
任何幫助,歡迎。
謝謝大家。