[antlr-interest] Re: When does AST construction go through factory?
slightlynew <gackle at shaw.ca>
gackle at shaw.ca
Fri Jan 17 14:19:24 PST 2003
Micheal,
Many thanks for the replies. I will try to get something to you over
the weekend.
Daniel
--- In antlr-interest at yahoogroups.com, "micheal_jor <open.zone at v...>"
<open.zone at v...> wrote:
> > Perhaps they have to do with a version mismatch between RC2 and
> > the C# codegen? (The latest C# version if I am not mistaken is
> 2.7.2a4?)
>
> ANTLR 2.7.2rc2 contains a matching C# codegen.
>
> > My previous example was something like this (where IDENT is a
lexer
> token
> > and MYTOKEN is not):
> >
> > tokens {
> > IDENT<AST=MyIdentifierNode>;
> > MYTOKEN<AST=MyASTNode>;
> > }
> >
> > (Problem 1) For IDENT, the parser does:
> >
> > astFactory.create(LT(1), "MyIdentifierNode");
>
> This would be a bug. ASTFactory.create(Token, string) doesn't exist
> Can you post a simple repro-grammar please?
>
> > which is wonderful in that it is a call to the factory, but it
> fails to
> > compile against the C# runtime with an error that says "cannot
> convert Token
> > to int".
> >
> > (Problem 2) For MYTOKEN, I don't see any generated code that maps
to
> > MyASTNode. The parser used to do this:
> >
> > astFactory.registerFactory(MYTOKEN, "MyASTNode");
> >
> > But that's gone, and I can't find anything in the generated code
> that
> > replaces it. As a result, when the AST for MYTOKEN gets created,
> its type
> > is not MyASTNode but simply the default AST type.
>
> Hmm...this isn't right. Please post a repro-grammar and I'll fix it
> before Ter's planned 2.7.2 release party ;-)
>
> > Would anyone (Micheal? :) care to comment?
>
> Ahem..uh..well...
>
> > Based on a brief look at the
> > improved ASTFactory class, there appear to be methods I can call
to
> set up
> > the mappings in my own code, and bypass the Tokens section
> altogether. Does
> > that sound like a valid workaround for now?
>
> Yes. Just remember that if the issues are reproducible here, they
> will be fixed asap and you won't need the workarounds.
>
> Cheers,
>
> Micheal
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list