[antlr-interest] lexer doubts ..
Sriram Durbha
cintyram at yahoo.com
Wed Oct 16 07:39:07 PDT 2002
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/
More information about the antlr-interest
mailing list