Related articles |
---|
Flex and EOF matteo.corti@gmail.com (Matteo Corti) (2006-04-08) |
Re: Flex and EOF cdodd@acm.org (Chris Dodd) (2006-04-09) |
Re: Flex and EOF rsc@swtch.com (Russ Cox) (2006-04-09) |
Re: Flex and EOF tmk@netvision.net.il (Michael Tiomkin) (2006-04-09) |
Re: Flex and EOF DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2006-04-10) |
Re: Flex and EOF matteo.corti@gmail.com (Matteo Corti) (2006-04-12) |
Re: Flex and EOF idbaxter@semdesigns.com (Ira Baxter) (2006-04-12) |
From: | "Michael Tiomkin" <tmk@netvision.net.il> |
Newsgroups: | comp.compilers |
Date: | 9 Apr 2006 17:26:37 -0400 |
Organization: | http://groups.google.com |
References: | 06-04-035 |
Keywords: | lex, comment |
Posted-Date: | 09 Apr 2006 17:26:37 EDT |
Matteo Corti wrote:
> Hi,
>
> I have a rule in my lexer to skip shell-like comments:
>
> #.*$ /* skip comments */
>
> which works just fine if there is \n at the end of the line.
> If the comment is in the last line wich is terminated by EOF the rule
> obviously fails.
>
> I tried something like:
>
> #.*<<EOF>>
>
> but flex complains about an "unrecognized rule". Any hint?
The easiest way is to introduce the new state, shell_comment, switch
to it on a '#', do nothing on ., and switch back on a $ or '\n'.
Michael
[That'd work, but I like #.* with separate \n better. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.