我想從ANTLR.grammar文件生成c代碼,在Windows上使用antlrworks 1.5(ANTLR 3.5),但它不會生成任何頭文件,例如sample.g,它會生成:
sample.tokens
sampleLexer.c
sampleParser.c爲什麼c頭文件不是使用ANTLR生成的1.5?
但沒有任何頭文件,我不明白爲什麼。
我現在所使用的語法,是舉例的目的很簡單:
grammar sample;
options
{
language = C;
}
rule1:
'ABC'
;
我也得到警告,例如:
[12:39:44] warning(24): template error: context [/outputFile /parser] 1:1 could not pass through undefined attribute filterMode
[12:39:44] warning(24): template error: context [/outputFile /parser /genericParser /_sub721 /ruleAttributeScopeFuncMacro] 1:4 no such property or can't access: null.attributes
[12:39:44] warning(24): template error: context [/outputFile /parser /genericParser] 155:5 no such property or can't access: null.apifuncs
[12:39:44] warning(24): template error: context [/outputFile /parser /genericParser /rule /ruleDeclarations] 4:1 no such property or can't access: null.attributes
[12:39:44] warning(24): template error: context [/outputFile /parser /genericParser /rule /ruleInitializations] 8:1 no such property or can't access: null.attributes
[12:39:44] warning(24): template error: context [/outputFile /lexer /lexerRule /ruleDeclarations] 4:1 no such property or can't access: null.attributes
我找到類似的警告文章(這是我發現的唯一一件關於這件事,我認爲它可能不會產生任何關於頭文件不生成)
我將不勝感激任何幫助,我想爲我的C++項目生成一些AST樹,我從很早以前就已經爲java做了一些sql語法,但是我被這個有趣的問題困住了。
注:
我還檢查了所有這些文章:
http://www.antlr.org/wiki/display/ANTLR3/FAQ+-+Getting+Started //開始上如何安裝ANTLR 引導 http://www.antlr.org/wiki/pages/viewpage.action?pageId=728 //指南(雖然使用IM antlrworks,所以我並不真正需要任何其他安裝) http://www.antlr.org/wiki/pages/viewpage.action?pageId=29130826 // CplusTARGET(它沒有對AST樹的支持,我已經閱讀它計算器,這就是爲什麼我試圖現在ç目標) http://www.antlr.org/wiki/display/ANTLR3/Using+the+ANTLR3+C+Target // C TARGET https://github.com/antlr/examples-v3 //考試實現對象
你好,感謝您的幫助,我試圖在eclipse中構建項目與目標包,我得到它建立成功,但是當我啓動antlrworks-1.5.1-SNAPSHOT.jar我馬上得到一個java異常。我能以某種方式構建項目並立即使用它嗎?有沒有其他的方法讓windows從語法中生成c文件? –
我目前正在使用它作爲eclipse的運行,並且如你所說問題已經消失,但我可以從那裏建立一個超級罐子嗎?如果是,請給我一些指示? –
你解決了你的問題嗎?我得到相同的消息.. :( –