這裏簡單的文件是語法文件:ANTLR的問題:無法獲得ANTLR的工具編譯從ANTLRWorks
grammar fred;
test : 'fred';
這裏是批處理文件來啓動該工具:
SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_24
SET PATH=%PATH%;%JAVA_HOME%\bin
SET ANTLR_HOME=c:/users/don/workspace/antlrAssign/lib/
java -cp %ANTLR_HOME%/antlr-3.3-complete.jar antlr.Tool fred.g
這裏的結果:
ANTLR Parser Generator Version 2.7.7 (20060906) 1989-2005
fred.g:1:1: unexpected token: grammar
error: Token stream error reading grammar(s):
fred.g:3:19: expecting ''', found 'r'
fred.g:1:1: rule grammar trapped:
fred.g:1:1: unexpected token: grammar
TokenStreamException: expecting ''', found 'r'
以前的貼子指的是「org.antlr.Tool」,但3.3的jar版本位於上面。這個想法是創建一個樹解析器的調試版本,根據文檔,你必須使用命令行工具。
有沒有人見過這個?我瘋了嗎?這是兩行長,並在文件中的第一個詞死亡。
當然這編譯在antlrworks。
任何幫助表示讚賞,我無法再對我的藥物進行任何調整。
追問:
我發現,如果你使用的運行 - 在ANTLRWORKS>調試菜單選項它會產生一個樹分析器的調試版本,但在我手中的命令行工具不。生成的調試源生存在輸出文件夾中進行生成。在ANTLRWORKS中獲取非調試版本使用「生成」菜單選項。在eclipse中使用樹解析器的調試版本,啓動測試工具並等待,然後在treegrammar解析器文件上通過運行遠程調試與ANTRWORKS連接。它遍歷樹的解析器,並給了我一個不匹配的樹節點錯誤(不是解析器錯誤,這很好,因爲我正在調試樹解析器)。所以現在我只需要找出我做過的其他愚蠢的事情。 HTH除了我之外有人。
非常感謝您的回覆!現在我的問題似乎是調試選項不會更改樹語法文件。但它確實可以用於解析器文件。你或者其他人是否能夠進行調試以處理樹語法? – 2011-03-20 11:52:28
@唐,對不起,我不使用ANTLRWorks進行調試,所以不能評論。你最好爲此創建一個新問題,或者試試ANTLR郵件列表:http://www.antlr.org/mailman/listinfo/antlr-interest祝你好運! – 2011-03-20 12:22:32