%{ /* C definitions */ #define YY_SKIP_YYWRAP int yywrap(void) { return 1; } %} /* definitions */ %option always-interactive %% /* rules */ [ \t]+ { putchar('_'); } [0-9]+(\.[0-9]+)?(E[+\-]?[0-9]+)? { printf(""); ECHO; printf(""); } [A-Za-z]([A-Za-z0-9])* { printf(""); ECHO; printf(""); } "." { ECHO; exit(1); } .|\n { ECHO; } %% /* user code */ int main(void) { return yylex(); }