[e-lang] ANTLR help needed for lambda-args

Kevin Reid kpreid at attglobal.net
Tue Jul 25 12:06:02 EDT 2006


I'm implementing lambda-args in E-on-CL, and ANTLR is reporting  
nondeterminism warnings. The parser appears to produce correct  
results for my test cases.

I would like help in figuring out what the cause is. Dean?

Here is the patch against revision 626, and the warnings.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: lambda-args.patch
Type: application/octet-stream
Size: 1288 bytes
Desc: not available
Url : http://www.eros-os.org/pipermail/e-lang/attachments/20060725/f4b78a5b/attachment.obj 
-------------- next part --------------

ANTLR Parser Generator   Version 2.7.5rc2 (2005-01-08)   1989-2005  
jGuru.com
(e.g:335)@13: warning:nondeterminism between alts 1 and 2 of block upon
(e.g:335)@13:     k==1:"else"
(e.g:335)@13:     k==2:"if","{"
(e.g:339)@50: warning:nondeterminism between alts 1 and 2 of block upon
(e.g:339)@50:     k==1:"catch"
(e.g:339)@50:      
k==2:QUASIOPEN,SOURCE_VALUE_HOLE,SOURCE_PATTERN_HOLE,URIGetter,IDENT,"(" 
,"&","_","bind","var","[","==","!=","<","<=","<=>",">=",">","::","via"
(e.g:374)@69: warning:nondeterminism between alts 1 and 2 of block upon
(e.g:374)@69:     k==1:"catch"
(e.g:374)@69:      
k==2:QUASIOPEN,SOURCE_VALUE_HOLE,SOURCE_PATTERN_HOLE,URIGetter,IDENT,"(" 
,"&","_","bind","var","[","==","!=","<","<=","<=>",">=",">","::","via"
(e.g:388): warning:nondeterminism upon
(e.g:388):     k==1:"catch"
(e.g:388):      
k==2:QUASIOPEN,SOURCE_VALUE_HOLE,SOURCE_PATTERN_HOLE,URIGetter,IDENT,"(" 
,"&","_","bind","var","[","==","!=","<","<=","<=>",">=",">","::","via"
(e.g:388):     between alt 1 and exit branch of block
(e.g:389)@17: warning:nondeterminism between alts 1 and 2 of block upon
(e.g:389)@17:     k==1:"finally"
(e.g:389)@17:     k==2:"{"
(e.g:370): warning:nondeterminism between alts 1 and 2 of block upon
(e.g:370):     k==1:"catch"
(e.g:370):      
k==2:QUASIOPEN,SOURCE_VALUE_HOLE,SOURCE_PATTERN_HOLE,URIGetter,IDENT,"(" 
,"&","_","bind","var","[","==","!=","<","<=","<=>",">=",">","::","via"
(e.g:371): warning:nondeterminism upon
(e.g:371):     k==1:"catch"
(e.g:371):      
k==2:QUASIOPEN,SOURCE_VALUE_HOLE,SOURCE_PATTERN_HOLE,URIGetter,IDENT,"(" 
,"&","_","bind","var","[","==","!=","<","<=","<=>",">=",">","::","via"
(e.g:371):     between alt 1 and exit branch of block
(e.g:493): warning:nondeterminism between alts 1 and 2 of block upon
(e.g:493):     k==1:"finally"
(e.g:493):     k==2:"{"
(e.g:748): warning:nondeterminism between alts 1 and 2 of block upon
(e.g:748):     k==1:"catch"
(e.g:748):      
k==2:QUASIOPEN,SOURCE_VALUE_HOLE,SOURCE_PATTERN_HOLE,URIGetter,IDENT,"(" 
,"&","_","bind","var","[","==","!=","<","<=","<=>",">=",">","::","via"
(e.g:683)@22: warning:nondeterminism between alts 1 and 2 of block upon
(e.g:683)@22:     k==1:STRING,IDENT
(e.g:683)@22:      
k==2:QUASIOPEN,SOURCE_VALUE_HOLE,SOURCE_PATTERN_HOLE,URIGetter,IDENT,"(" 
,"{","&","_","bind","var","[","==","! 
=","<","<=","<=>",">=",">","::","via"
(e.g:683): warning:nondeterminism upon
(e.g:683):     k==1:STRING,IDENT
(e.g:683):      
k==2:QUASIOPEN,SOURCE_VALUE_HOLE,SOURCE_PATTERN_HOLE,URIGetter,IDENT,"(" 
,"{","&","_","bind","var","[","==","! 
=","<","<=","<=>",">=",">","::","via"
(e.g:683):     between alt 1 and exit branch of block
(e.g:689)@17: warning:nondeterminism between alts 1 and 7 of block upon
(e.g:689)@17:     k==1:"guards"
(e.g:689)@17:      
k==2:QUASIOPEN,SOURCE_VALUE_HOLE,SOURCE_PATTERN_HOLE,URIGetter,IDENT,"(" 
,"{","&","_","bind","var","[","==","! 
=","<","<=","<=>",">=",">","::","via"


-- 
Kevin Reid                            <http://homepage.mac.com/kpreid/>




More information about the e-lang mailing list