[antlr-interest] (error)Reference to TreeAdaptor and Common Tree are ambiguous.(newbie)
Randall R Schulz
rschulz at sonic.net
Sun Jul 15 15:15:39 PDT 2007
On Sunday 15 July 2007 13:11, ali azimi wrote:
> Hi,
>
> I have produced a Lexer and a Parser. When I try to implemnt them
> Using java netBeans, I face some error message as following:
>
> C:\MyProjects\Final
> Project\src\finalprojectsim2\FinalProjectSim2Parser.java:74:
> reference to TreeAdaptor is ambiguous, both class
> org.antlr.runtime.tree.TreeAdaptor in org.antlr.runtime.tree and
> class org.antlr.runtime.TreeAdaptor in org.antlr.runtime match
> protected TreeAdaptor adaptor = new CommonTreeAdaptor();
>
> and
>
> C:\MyProjects\Final
> Project\src\finalprojectsim2\FinalProjectSim2Parser.java:139:
> reference to CommonTree is ambiguous, both class
> org.antlr.runtime.tree.CommonTree in org.antlr.runtime.tree and class
> org.antlr.runtime.CommonTree in org.antlr.runtime match CommonTree
> tree;
>
>
> According to the error messages I have two classes of TreeAdaptor
> and two classes of CommonTree one in "org.antlr.runtime.tree" and
> one in "org.antlr.runtime". But I have just one class which is called
> TreeAdaptor and one class which is called CommonTree and both are
> located in "org.antlr.runtime.tree". So why do I get these errors?
I'd look at both your import statements and your IDE's source-path and
class-path setup. It's possible you've established a kind of alias:
more than one way of interpreting the contents of a given unqualified
name or more than one way of accessing a given set of classes in your
library JAR files or class file directories.
Perhaps you have both the antlr-3.0.jar and the antlr-runtime-3.0.jar
files in your classpath? The former is for the ANTLR processor, used
only when transforming your grammar specification to Java code. Running
that code requires only the antlr-runtime-3.0.jar file. Likewise for
the antlr.2.7.7.jar (for the moment, ANTLR 3.0 parses its
specifications using a bootstrapping parser written using antlr 2.7)
and for stringtemplate-3.0.jar (used for modular source code
synthesis). Conversely, all the classes in the antlr-runtime-3.0.jar
are also present in antlr-3.0.jar.
The upshot is that to compile or run an ANTLR-generated parser you need
only antlr-runtime-3.0.jar.
> Thank you so much in advance.
>
> Best wishes,
>
> Al
Randall Schulz
More information about the antlr-interest
mailing list