[antlr-interest] lexer doubts ..
Paramjeet Saini
saini20800 at yahoo.com
Thu Oct 17 03:21:36 PDT 2002
Please remove me from your mail list ... Thanks
--- Sriram Durbha <cintyram at yahoo.com> wrote:
> ===== 2 ====== has been solved like this
>
> DOT : '.' ;
> protected
> DIGIT : '0'..'9' ;
>
> ID : ('a'..'z' | 'A'..'Z'|'_')('a'..'z' |
> 'A'..'Z'|'_'|DIGIT)* ;
>
> protected SUFFIX :
> ('a'|'f'|'p'|'n'|'u'|'m'|'k'|'M'|'g'|'t') ;
> protected EXPONENT : ( ('e')('+'|'-')?(DIGIT)+ )
> ;
> protected INT : (DIGIT) + ; /// match
> the integral part
> 123
> protected FLOATING : ( '.' (DIGIT)+ ) ;
>
> NUM : INT ( FLOATING ) ? ( SUFFIX )? (EXPONENT )
> ? ;
>
>
> i still dont understand why this works and the
> otherone doesnt.. all i
> did was re organise it and use some more sub rules
> to make it more
> readable ..
> if any one understands .. please explain
> cheers
> ram
>
>
> --- Sriram Durbha <cintyram at yahoo.com> wrote:
> > 1. how to give the same character two names .
> > eg:
> > BOOLEAN_OR : '|' ;
> > PIPE : '|' ;
> >
> > but antlr cribs for this ..
> > ====== 2 ============================
> > also i have a grammar which i dont know how to
> debug.. so please help
> > ..
> >
> > DOT : '.' ;
> > protected
> > DIGIT : '0'..'9' ;
> > NUM : (DIGIT) + /// match the integral part 123
> > ( /// the floating part is optional
>
> > DOT (DIGIT)+ /// 123. atleast one digit
> after dot
> > ( /// scientific claculators have k
> for kilo etc
> > ('a'|'f'|'p'|'n'|'u'|'m'|'k'|'M'|'g'|'t')
>
> > |
> > ( ('e'|'d'|)('+'|'-')?(DIGIT)+ )
> >
> > )? /// end of scientific
> > )? ///end of optional floating part
> > |
> > ( /// use this alt for .123e-10 no
> integral part
> > DOT (DIGIT)+
> > (
> > ('a'|'f'|'p'|'n'|'u'|'m'|'k'|'M'|'g'|'t')
>
> > |
> > ( ('e'|'d'|)('+'|'-')?(DIGIT)+ )
> > )?
> > ) /// end of alt2 for only floating part
> > ;
> >
> > ID : ('a'..'z' | 'A'..'Z'|'_')('a'..'z' |
> 'A'..'Z'|'_'|DIGIT)*
> > ;
> >
> > i am getting lexical nondeterminism warning.. but
> i dont see why i
> > should get any except for DOT and NUM's second
> alt..
> >
> > warning: lexical nondeterminism between rules DOT
> and NUM upon
> > scical.g:0: k==1:'.'
> > scical.g:0: k==2:<end-of-token>
> > scical.g:0: k==3:<end-of-token>
> > scical.g:0: k==4:<end-of-token>
> > scical.g:0: k==5:<end-of-token>
> > scical.g:204: warning: lexical nondeterminism upon
> > scical.g:204: k==1:'0'..'9'
> > scical.g:204:
> k==2:<end-of-token>,'+','-','0'..'9','e','u'
> > scical.g:204:
> k==3:<end-of-token>,'0'..'9','g'
> > scical.g:204: k==4:<end-of-token>,'0'..'9'
> > scical.g:204: k==5:<end-of-token>,'0'..'9'
> > scical.g:204: between alt 1 and exit branch
> of block
> > scical.g:212: warning: lexical nondeterminism upon
> > scical.g:212: k==1:'0'..'9'
> > scical.g:212:
> k==2:<end-of-token>,'+','-','0'..'9','e','u'
> > scical.g:212:
> k==3:<end-of-token>,'0'..'9','g'
> > scical.g:212: k==4:<end-of-token>,'0'..'9'
> > scical.g:212: k==5:<end-of-token>,'0'..'9'
> > scical.g:212: between alt 1 and exit branch
> of block
> >
> > if i have to use syntax prediacte how do i use it?
> and due to what
> > reason? plese explain .. i could not understand
> clearly about it from
> > the example and documentation.
> >
> > ====== 3 ============================
> >
> > if in future i add structures and complex data
> types.. is it better
> > to
> > recognize structure definitions at lexing time or
> parsing time? same
> > for structure references ..
> > should it be TYPE_STRUCT
> > or KWD_STRUCT LBRACE TYPE ID and so on...
> >
> >
> > should it be KWD_STRUCT DOT ID
> > or STRUCT_REF
> >
> > ==========
> >
> > thank you
> > ram
> >
> >
> >
> >
> >
> >
> > __________________________________________________
> > Do you Yahoo!?
> > Faith Hill - Exclusive Performances, Videos & More
> > http://faith.yahoo.com
> >
> >
> >
> > Your use of Yahoo! Groups is subject to
> > http://docs.yahoo.com/info/terms/
> >
> >
>
>
> __________________________________________________
> Do you Yahoo!?
> Faith Hill - Exclusive Performances, Videos & More
> http://faith.yahoo.com
>
>
>
> Your use of Yahoo! Groups is subject to
> http://docs.yahoo.com/info/terms/
>
>
__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list