Reputation: 5351
I have tried to run ANTLR 3.4 in these ways:
java -classpath "d:\extracted\antlrworks1.4.3" org.antlr.Tool %p%\parser.g -o %p%\output
or
java -classpath "%p%lib\antlrworks-1.4.3.jar" org.antlr.Tool %p%\parser.g -o %p%\output
or
java -classpath "%p%lib\antlr-3.4.jar;%p%lib\antlr-runtime-3.4.jar;%p%lib\ST4-4.0.4.jar" org.antlr.Tool %p%\parser.g -o %p%\output
Each of them resulted in the same error message;
Message ILLEGAL_OPTION_VALUE in locale en_US not found
Message ALL_OPS_NEED_SAME_ASSOC in locale en_US not found
ANTLR installation corrupted; English messages file en.stg incomplete
Exception in thread "main" java.lang.Error: ANTLR ErrorManager panic
at org.antlr.tool.ErrorManager.panic(ErrorManager.java:918)
at org.antlr.tool.ErrorManager.setLocale(ErrorManager.java:427)
at org.antlr.tool.ErrorManager.<clinit>(ErrorManager.java:390)
at org.antlr.tool.CompositeGrammar.createNFAs(CompositeGrammar.java:379)
at org.antlr.Tool.process(Tool.java:466)
at org.antlr.Tool.main(Tool.java:93)
Any idea how to fix this?
Upvotes: 2
Views: 3550
Reputation: 3734
I no longer use v3, except to answer some questions. I use
$ export CLASSPATH=.:/usr/local/lib/antlr-3.4-complete-no-antlrv2.jar
once for all, and "compile" the grammar with
$ java org.antlr.Tool Question.g
then compile
$ javac Question*.java Test.java
then execute
$ java Test
Precision : the file Test.java contains :
import org.antlr.runtime.*;
public class Test {
public static void main(String[] args) throws Exception {
ANTLRInputStream input = new ANTLRInputStream(System.in);
QuestionLexer lexer = new QuestionLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
QuestionParser parser = new QuestionParser(tokens);
parser.question();
}
}
Upvotes: 3
Reputation: 5351
I fIgured out. The current directory has to be the same as the location of jars.
Upvotes: 0