[antlr-interest] Re: lexical nondeterminism between IDENT & LABEL
    thoth2487 
    thoth2487 at libero.it
       
    Wed Nov  3 23:30:33 PST 2004
    
    
  
--- In antlr-interest at yahoogroups.com, "John D. Mitchell"
<johnm-antlr at n...> wrote:
> Stop trying to do that in the lexer.  
> Let the lexer return the ID for both and then have your
> parsing rules distinguish between ID ":" being a label
> or the ID is just an ID.
I've tried your suggested parser way with:
ident:  IDENT;
label:  IDENT
        COLON
	;
but in this way a LABEL could be either:
MAIN:     // right LABEL
or
MAIN :    // wrong LABEL due space(s)
so I need to change WS rule from:
 WS: (' '|'\t'|'\f') {$setType(Token.SKIP);};
to
 WS: (' '|'\t'|'\f')*;
Now parser work fine with 'ident' & 'label'
but new WS behaviour make more complex parsers
rules which must check always also presence of WS. Eg:
conditional:
  IF
  (WS)?
  expression
  (WS)?
  goto
  ........ and so on
What I've mistaked ? What do you suggest about ?
Thank you very much
Silverio Diquigiovanni
 
Yahoo! Groups Links
<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/antlr-interest/
<*> To unsubscribe from this group, send an email to:
    antlr-interest-unsubscribe at yahoogroups.com
<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 
    
    
More information about the antlr-interest
mailing list