%{
#include <stdio.h>
int yywrap(void) {
return 1;
}
%}
%%
\"([^\\\"]|\\.)*\" { printf("STRING: %s\n", yytext); }
[a-zA-Z0-9_!#$%^&*()_+.]+ { printf("IDENTIFIER: %s\n", yytext); }
[ \t\n]+ { /* skip whitespace */ }
. { printf("UNKNOWN: %s\n", yytext); }
%%
int main(void) {
return yylex();
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgeXl3cmFwKHZvaWQpIHsKICAgIHJldHVybiAxOwp9CiV9CgolJQoKXCIoW15cXFwiXXxcXC4pKlwiICAgIHsgcHJpbnRmKCJTVFJJTkc6ICVzXG4iLCB5eXRleHQpOyB9ClthLXpBLVowLTlfISMkJV4mKigpXysuXSsgICB7IHByaW50ZigiSURFTlRJRklFUjogJXNcbiIsIHl5dGV4dCk7IH0KWyBcdFxuXSsgICAgICAgICAgICAgIHsgLyogc2tpcCB3aGl0ZXNwYWNlICovIH0KLiAgICAgICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJVTktOT1dOOiAlc1xuIiwgeXl0ZXh0KTsgfQoKJSUKCmludCBtYWluKHZvaWQpIHsKICAgIHJldHVybiB5eWxleCgpOwp9Cg==