[antlr-interest] Positioning input stream (was EOL sequence)

Arnar Birgisson arnarb at oddi.is
Wed Dec 17 09:23:02 PST 2003


I have this, and it doesn't generate any ambiguity warnings (k=2):

/* Whitespace and comments */

WS
	: ('\t' | ' ' | EndOfLine {newline();} )+
{$setType(antlr::Token::SKIP);};

COMMENT
	: '%' (~('\n' | '\r'))* EndOfLine {$setType(antlr::Token::SKIP);
newline(); };

protected
EndOfLine
	: (options{generateAmbigWarnings = false;}:
		"\r\n"
	|	'\r'
	|	'\n'
	);
		

Arnar

> -----Original Message-----
> From: skapp at rochester.rr.com [mailto:skapp at rochester.rr.com] 
> Sent: 17. desember 2003 05:04
> To: antlr-interest at yahoogroups.com
> Subject: [antlr-interest] Positioning input stream (was EOL sequence)
> 
> 
> I have worked out enough details with the EOL sequences to 
> understand where my PostScript parser is failing. PostScript parsers 
> have to be able to handle the following four example sequences 
> identically:
> 
> currentfile read 3
> currentfile read<CR>3
> currentfile read<LF>3
> currentfile read<CR><LF>3
> 
> where the "currentfile read" operator sequence instructs the 
> PostScript interpreter to read one byte from the input stream.
> 
> There is no issue with the first three examples. The input stream 
> point just past the EOL byte once the "read" operator has been 
> recognized. Then the read operator simply has to pull one byte from 
> the input stream (a FileInputStream in this case).
> 
> However, in the fourth case, the input stream points to the <LF> 
> character when the "read" operator has been recognized. The 
> PostScript spec states that "Any of the three forms of EOL ... is 
> treated as a single white-space character."
> 
> How do I handle this? What can or should I do in the lexer versus in 
> the parser?
> 
> Regards,
> 
>    Steve
> 
> 
> 
>  
> 
> 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/ 
> 
> 
> 


 

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