[antlr-interest] problems building antlr using antlr.build.Tool
John Clayton
neuroboy at optonline.net
Mon May 26 09:04:30 PDT 2003
Hi Everyone,
I am new to ANTLR, and foolishly making changes ;-) So, I want to
build the java version and following the instructions in install.html,
I build the antlr/build/ dir, no problems there. Then, from
antlr-2.7.2 I run through the following:
% java antlr.build.Tool build
Exception in thread "main" java.lang.NoClassDefFoundError:
antlr/build/Tool
Ok, set the classpath to here:
% java -cp . antlr.build.Tool build
antlr.build.Tool: no such action for application antlr.build.ANTLR
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at antlr.build.Tool.perform(Tool.java:98)
at antlr.build.Tool.main(Tool.java:62)
Caused by: java.lang.NoClassDefFoundError: antlr/Tool
at antlr.build.Tool.antlr(Tool.java:150)
at antlr.build.ANTLR.build(ANTLR.java:35)
... 6 more
Hmmm, found the Tool now, but seems to have a problem reflecting a
method in ANTLR because antlr.Tool isn't compiled. Let's try giving it
the jar to bootstrap:
% java -cp antlr.jar:. antlr.build.Tool build
executing: java antlr.Tool -o
/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr
./antlr/antlr.g
cannot write to
'/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/
ANTLRParser.java'
executing: java antlr.Tool -o
/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr
./antlr/tokdef.g
cannot write to
'/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/
ANTLRTokdefLexer.java'
executing: java antlr.Tool -o
/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/preprocessor
./antlr/preprocessor/preproc.g
cannot write to
'/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/
preprocessor/PreprocessorLexer.java'
executing: java antlr.Tool -o
/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/actions/java
./antlr/actions/java/action.g
cannot write to
'/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/actions/
java/ActionLexer.java'
executing: java antlr.Tool -o
/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/actions/cpp
./antlr/actions/cpp/action.g
cannot write to
'/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/actions/
cpp/ActionLexer.java'
executing: java antlr.Tool -o
/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/actions/
csharp ./antlr/actions/csharp/action.g
cannot write to
'/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr/actions/
csharp/ActionLexer.java'
executing: javac -d . ./antlr/*.java
./antlr/ANTLRGrammarParseBehavior.java:10: package
antlr.collections.impl does not exist
import antlr.collections.impl.BitSet;
^
Ok, so it has permissions problems and some compiler errors. Let's
deal with permissions:
% sudo java -cp antlr.jar:. antlr.build.Tool build
executing: java antlr.Tool -o
/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr
./antlr/antlr.g
executing: java antlr.Tool -o
/Users/johnclay/Cocoa/Parsers/ANTLR/antlr-2.7.2-objc/antlr
./antlr/tokdef.g
./antlr/tokdef.g:175:36: warning:lexical nondeterminism between alts 1
and 2 of block upon
./antlr/tokdef.g:175:36: k==1:'0'..'9'
./antlr/tokdef.g:175:36: k==2:'\u0003'..'\u00ff'
./antlr/tokdef.g:175:44: warning:lexical nondeterminism between alts 1
and 2 of block upon
... processing lots of g files with lots of nondeterminism errors ...
executing: javac -d . ./antlr/*.java
./antlr/ANTLRGrammarParseBehavior.java:10: package
antlr.collections.impl does not exist
import antlr.collections.impl.BitSet;
^
... ad infinitum ...
All right, we have fixed everything except that now as soon as the
build tool starts compiling it wigs out and can't find anything. I
tried sending in:
-Dantlr.build.root=/Users/me/antlr-2.7.2 (on OS X) but got:
antlr.build.Tool: Property antlr.build.root==/Users/me/antlr-2.7.2 does
not exist
Can anyone point me in the right direction? Thanks a whole big bunch.
I'll keep horsing with the classpath.
Regards,
John Clayton
----------------------------------
neuroboy at optonline.net
----------------------------------
How glorius it is to be an Exception, and how painful.
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list