[antlr-interest] Re: generated code not compilable - with paramet ers.
praveen_c
praveen_c at yahoo.com
Wed Oct 30 11:59:00 PST 2002
This rule( TEXT ) is referred in some other rule with a slightly
different twist ( which is why I had the boolean in the first
place ). I wanted to reuse the same rule without having to code
another one again.
I could use an instance variable, but I wanted to stay away from it
because then I will have to make sure that I set/reset the instance
variables at various points. I can see it getting a bit complex.
I'll go with copying the rule into the place where I was referring to
this one. If you guys can think of other alternatives please let me
know.
Thanks,
Praveen.
--- In antlr-interest at y..., mzukowski at y... wrote:
> Where is that param coming from? nextToken() doesn't know anything
about
> it. It doesn't make sense to have a parameter passed in to a non-
protected
> rule in the lexer. Why don't you use an instance variable?
>
> Monty
>
> > -----Original Message-----
> > From: praveen_c [mailto:praveen_c at y...]
> > Sent: Wednesday, October 30, 2002 9:54 AM
> > To: antlr-interest at y...
> > Subject: [antlr-interest] generated code not compilable - with
> > parameters.
> >
> >
> > I got ANT 2.7.2 and got rid of the previous problem. Thanks guys.
> >
> > Looks like I'm onto the next one. I pasted the rule and code
fragment
> > at the end of this message. Line 15 of the generated code should
have
> > an additional boolean parameter. How do I tell ant to generate an
> > additional param?? I don't think I've control on that.
> >
> > Please help.
> >
> > Thanks,
> > Praveen.
> >
> > ------------------------GRAMMAR-----------------------
> > TEXT [boolean stopAtEndingAngleBracket]: (END_LOOP) => END_LOOP
{
> > $setType(END_LOOP); } |
> > (
> > options
> > {
> > generateAmbigWarnings=false;
> > }:
> > ( { !isEndOfText(stopAtEndingAngleBracket) }? . )*
> > );
> > ------------------------END GRAMMAR-----------------------
> >
> > ------------------------GENERATED CODE--------------------
> > 1 public Token nextToken() throws TokenStreamException {
> > 2 Token theRetToken=null;
> > 3 tryAgain:
> > 4 for (;;) {
> > 5 Token _token = null;
> > 6 int _ttype = Token.INVALID_TYPE;
> > 7 resetText();
> > 8 try { // for char stream error handling
> > 9 try { // for lexical error handling
> > 10 if ((LA(1)=='<') && (LA(2)=='@')) {
> > 11 mTAG(true);
> > 12 theRetToken=_returnToken;
> > 13 }
> > 14 else {
> > 15 mTEXT(true);
> > 16 theRetToken=_returnToken;
> > 17 }
> > -------------------------------------------------------------
> >
> >
> >
> >
> >
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list