[antlr-interest] How to tell the lexer to stop?(C runtime target )

chain one chainone at gmail.com
Thu Jan 15 22:37:03 PST 2009


While compiling the SEMI rule (SEMI : ';' .*;), the follow error message
pops up:
                   " The following alternatives can never be matched: 1"

Seems it is necessary to put an end to the SEMI rule.


On Fri, Jan 16, 2009 at 1:17 AM, Jim Idle <jimi at temporal-wave.com> wrote:

>  chain one wrote:
>
> I want to only parse the beginning of a file. And I don't want the
> recognizer to beak the whole file into huge number of tokens which will make
> the memory consuming very high. So after the lexer having recognized one
> specified TOKEN such as ";", I want to tell the lexer to stop, and pass the
> tokens to the parser.
> Is it possible in C runtime target? If it is, could you tell me how?
>
>
>  SEMI: ';'  { // throw the EOF token?}
> ;
>
>  If the trigger point is as simple as this, then why not just:
>
> SEMI : ';' .* ;
>
> Remember that the text is not copied into the token, it is just a pointer
> to the start and end of the text and so does not take up any memory.
>
> Jim
>
>
>  Thanks
>
> ------------------------------
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20090116/e96b1d1a/attachment.html 


More information about the antlr-interest mailing list