我想從命令行運行ANTLR C語法文件(DummyC.g)來解析C源文件和頭文件(a.h)。當我用antlr.jar文件運行它時,它會生成解析器和詞法分析器文件。但是當我編譯測試文件Main.java。它會給出錯誤的ANTLR包,如下所示。使用ANTLR v3編譯Java源代碼問題
C:\ ANTLR-2.7.6 \測試>的javac Main.java
Main.java:1:包org.antlr.tool不存在 進口org.antlr.tool。 ;
^ Main.java:2:package org.antlr.runtime不存在 import org.antlr.runtime。;
^ Main.java:3:package org.antlr.runtime.tree不存在 import org.antlr.runtime.tree。 ;
^ Main.java:4:package org.antlr.stringtemplate不存在 import org.antlr.stringtemplate。;
^ Main.java:8:找不到符號 符號:class CommonTree location:class Main CommonTree tree = DummyCParser.start(「a.h」);
Main.java
import org.antlr.tool.*;
import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;
import org.antlr.stringtemplate.*;
public class Main {
public static void main(String[] args) throws Exception {
CommonTree tree = DummyCParser.start("a.h");
DOTTreeGenerator gen = new DOTTreeGenerator();
StringTemplate st = gen.toDOT(tree);
System.out.println(st);
}
}
可能是什麼問題呢?
爲什麼不下載免費的IDE,比如Eclipse或intelliJ?它會幫助您直觀地看到哪裏出現問題。在這種情況下,編譯時可能需要引用類路徑上相關jar的位置。 – 2011-02-26 14:36:35
'antlr-2.7.6' ??? – 2011-02-27 10:08:35
此外,我以前建議你通過我的其他ANTLR答案來看看如何編譯類,但我沒有建議像現在你想要做的那樣編譯它。 – 2011-02-27 11:02:03