[antlr-interest] Lexer issues when block ends with EOF instead of EOL

Brent Yates brent.yates at gmail.com
Wed Feb 11 09:52:23 PST 2009


Assuming a standard LINE comment form such as:
SL_COMMENT
    : '//'  ( options {greedy=false;} : . )*  '\r'? '\n' {$channel=HIDDEN;}
    ;

What is the best way to handle a file which ends with a single line comment
but no EOL?

If I add the EOF to the rule I get the following error:

SL_COMMENT
    : '//'  ( options {greedy=false;} : . )*  '\r'? ('\n'|EOF)
{$channel=HIDDEN;}
    ;

ANTLR Parser Generator  Version 3.1.1
error(201): SystemVerilogLexer.g:592:43: The following alternatives can
never be matched: 1

This problem occurs with other rules as well.  Is it expected that files
which end with no EOL are bad or should the lexer handle it?

Thanks.

Brent Yates
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20090211/57437f48/attachment.html 


More information about the antlr-interest mailing list