1
我有模板語言的語法。Antlr生成破碎的C#代碼,聲明中缺少變量名稱
我爲Antlr 3.2和CSharp2目標創建了它,並讓它工作。
現在我嘗試更改爲antlr 3.4和CSharp3目標(也嘗試過CSharp2),並且在一個synpred函數中在解析器中出現奇怪的錯誤。
幾個變量聲明缺少變量名:
IToken = default(IToken)
有些人也有個錯誤的類型
void = default(void);
應該
AstParserRuleReturnScope<CommonTree, IToken> = default(AstParserRuleReturnScope<CommonTree, IToken>);
有任何一個在此之前,什麼看到的可能會造成這種情況。
語法和以前一樣。
不幸的是,我無法共享語法,而且我沒有時間創建導致相同錯誤的測試語法。
我當然可以手動修復這些錯誤,並且代碼可以正常工作,但是在生成修復代碼之後必須通過代碼有點令人厭煩。
謝謝,遲到的遺憾,在假期後錯過了。 – 2012-10-11 08:23:44
沒問題。很高興它對你有效! – Zack 2012-10-14 21:51:23
其實我們用另一種方式解決了問題,我手工編寫了我自己的詞法分析器/解析器/解釋器;) – 2012-10-16 06:14:10