%option noinput nounput %{ #include "proto-color.h" void echo(char *lex_cat) { fprintf(stdout,GREEN("[%s:%s]"), lex_cat, yytext); } void echonl() { fprintf(stdout,BLUE("[\\n]")"\n"); } int MaxLen=0; int Fre[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; %} U V?I{0,3}|I(V|X) D L?X{0,3}|X(L|C) C D?C{0,3}|C(D|M) M M{0,4} %% {M}{C}{D}{U} { // echo("ROM"); Fre[yyleng]++; if (yyleng>MaxLen) { echo("MAXLOCAL"); MaxLen=yyleng; } } ^\n { echo("ZERO!"); Fre[0]++; } \n // echonl(); . echo("UNK"); %% int yywrap (void) { int i; printf("\n Maxlen=%d\n",MaxLen); for(i=0;i