use*_*127 6 java parsing antlr
我试图从命令行运行ANTLR C语法文件(DummyC.g)来解析C源文件和头文件(啊).当我使用antlr.jar文件运行它时,它会生成解析器和词法分析器文件.但是当我编译测试文件Main.java时.它给出了缺少ANTLR包的错误,如下所示.
C:\ antlr-2.7.6\test> javac Main.java
Main.java:1:package org.antlr.tool不存在import org.antlr.tool.;
^ Main.java:2:包org.antlr.runtime不存在import org.antlr.runtime.;
^ Main.java:3:包org.antlr.runtime.tree不存在import org.antlr.runtime.tree.;
^ Main.java:4:包org.antlr.stringtemplate不存在import org.antlr.stringtemplate.;
^ Main.java:8:找不到符号符号:class CommonTree location:class Main CommonTree tree = DummyCParser.start("ah");
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);
}
}
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?
您正在使用antlr运行时,因此您必须将antlr jar文件指定为类路径的一部分,以便编译器可以找到您使用的antlr类,例如
javac -classpath c:\java\antlr-3.3\lib\antlr-3.3-complete.jar Main.java
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9117 次 |
| 最近记录: |