%{
/*
 * UNCOMMENT.l
 *
 * John Rupley 
 *
 * uucp: ..{uunet | ucbvax | cmcl2 | hao!ncar!noao}!arizona!rupley!local 
 * internet: rupley!local@megaron.arizona.edu 
 * telex: 9103508679(JARJAR) 
 * (H) 30 Calle Belleza, Tucson AZ 85716 - (602) 325-4533 
 * (O) Dept. Biochemistry, Univ. Arizona, Tucson AZ 85721 - (602) 621-3929 
 *
 * comment recognizing algorithm based on usenet posting by:
 *	Chris Thewalt; thewalt@ritz.cive.cmu.edu 
 */
%}
COMMENTBODY	([^*\n]|"*"+[^*/\n])*
COMMENTEND	([^*\n]|"*"+[^*/\n])*"*"*"*/"
QUOTECHAR	\'[^\\]\'|\'\\.\'|\'\\[x0-9][0-9]*\'
ESCAPEDCHAR	\\.
%START	COMMENT STRING
%%
<COMMENT>{COMMENTBODY}		;
<COMMENT>{COMMENTEND}		BEGIN INITIAL;
<COMMENT>.|\n			;
<STRING>\\\n|\\\"		ECHO;
<STRING>\"			{ECHO; BEGIN INITIAL;}
<STRING>.			ECHO;
<STRING>\n			{ECHO; /* fprintf(stderr, "ERROR: newline in string, line %d\n", yylineno); */ BEGIN INITIAL;}
<INITIAL>{QUOTECHAR}		ECHO;
<INITIAL>{ESCAPEDCHAR}		ECHO;
<INITIAL>"/*"			BEGIN COMMENT;
<INITIAL>\"			{ECHO; BEGIN STRING;}
<INITIAL>\'			{ECHO; /* fprintf(stderr, "ERROR: improperly used single quote character, line %d\n", yylineno); */ }
<INITIAL>.|\n			ECHO;

