[antlr-interest] DoubleLinkedTree
David Holroyd
dave at badgers-in-foil.co.uk
Thu Mar 1 10:05:56 PST 2007
On Thu, Mar 01, 2007 at 05:07:38PM +0100, Alexander G?ngel wrote:
> Can anybody give me hint how to get DoublelinkTrees to work?
You have to tell the Parser to use a TreeAdapter implementation that
you've created that can construct and manipulate the custom class that
you've implemented.
'ASTLabelType' only controls the creation of local variable
declarations, and typecasting in the generated parser code, I think.
Sorry I've I've missunderstood, or you are already doing this.
> Alexander G?ngel schrieb:
> > The exception comes when call the parser.Rule
> >
> > 19 CharStream input = new ANTLRFileStream(args[0]);
> > 20 oclLexer lex = new oclLexer(input);
> > 21 CommonTokenStream tokens = new CommonTokenStream(lex);
> > 22
> > 23 oclParser parser = new oclParser(tokens);
> > 24 oclParser.start_return r = parser.start();
> >
> >
> > Exception in thread "main" java.lang.ClassCastException:
> > org.antlr.runtime.tree.CommonTree
> > at ocl_parser.oclParser.ocl(oclParser.java:186)
> > at ocl_parser.oclParser.start(oclParser.java:122)
> > at tests.ImBaumsuchen.main(ImBaumsuchen.java:24)
> >
> > (oclParser.java:122)
> > 117 try {
> > 118 // src/ocl_parser/ocl.g:102:9: ( ocl -> ^( OCL ocl ) )
> > 119 // src/ocl_parser/ocl.g:102:9: ocl
> > 120 {
> > 121 pushFollow(FOLLOW_ocl_in_start193);
> > 122 ocl1=ocl();
> > 123 _fsp--;
> > 124 if (failed) return retval;
> > 125 if ( backtracking==0 ) list_ocl.add(ocl1.getTree());
> >
> > (oclParser.java:186)
> > 182 try {
> > 183 // src/ocl_parser/ocl.g:105:2: ( ( package_decl | context
> > )+ )
> > 184 // src/ocl_parser/ocl.g:105:2: ( package_decl | context )+
> > 185 {
> > 186 root_0 = (OclAst)adaptor.nil();
> > 187
> > 188 // src/ocl_parser/ocl.g:105:2: ( package_decl | context )+
> > 189 int cnt1=0;
> > 190 loop1:
> > 191 do {
> >
> > I tried to make myAst extend DoublelinkTree or Commontree both with same
> > effect
> >
> > when I use Commontree in my Grammar everything works fine.
> >
> > Alexander
> >
> > Terence Parr schrieb:
> >
> >> Where does it get the exception? Is it for the UP and DOWN nodes?
> >> Ter
> >> On Feb 20, 2007, at 2:50 AM, Alexander G?ngel wrote:
> >>
> >>
> >>> Can Somebody give me a hint how to use DoubleLinkTrees.
> >>>
> >>> I tried it this way:
> >>>
> >>> I have
> >>> ASTLabelType=MyAst; in my V3 Grammar
> >>>
> >>> I created a Class MyAst extends DoubleLinkTree
> >>>
> >>> I Implemented the Abstract functions from BaseTree like in CommonTree
> >>>
> >>> but when I try to use the Grammar I get Exception in thread "main"
> >>> java.lang.ClassCastException: org.antlr.runtime.tree.CommonTree
--
http://david.holroyd.me.uk/
More information about the antlr-interest
mailing list