Re: (f)lex Regular Expression for C++ comment. (Vern Paxson)
1 Mar 1996 17:57:59 -0500

          From comp.compilers

Related articles
(f)lex Regular Expression for C++ comment. (1996-03-01)
Re: (f)lex Regular Expression for C++ comment. (1996-03-01)
| List of all articles for this month |

From: (Vern Paxson)
Newsgroups: comp.compilers
Date: 1 Mar 1996 17:57:59 -0500
Organization: Lawrence Berkeley Laboratory, Berkeley CA
References: 96-03-019
Keywords: lex

> [I strongly discourage attempts to handle comments this way, because they
> fail as soon as a comment is longer than the token buffer. It's easy to do
> this with exclusive start states, e.g.:
> %%
> "/*" begin COMMENT ;
> <COMMENT>"*/" begin NORMAL;
> <COMMENT>.|\n /* ignore */;

Flex's own scanner (written in flex) deals with C comments. It uses
slightly more complicated rules than John gives above, in an effort
to match as much text as possible, to improve performance. (But not
more than one line at a time, for the reason John mentions.)

"*/" ACTION_ECHO; yy_pop_state();
[^*\n]+ ACTION_ECHO;
[^*\n]*{NL} ++linenum; ACTION_ECHO;

- Vern

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.