%{ #include "java.h" #include "libjavamangling_la-java_gram.h" %} %option noyywrap %option yylineno %option nounput %option noinput %x string %% V { return V; } Z { return Z; } B { return B; } S { return S; } C { return C; } I { return I; } J { return J; } F { return F; } D { return D; } L { BEGIN(string); return L; } [[]* { java_lval.adeep = strlen(yytext); return ARRAY; } [/] { return SLASH; } [$] { return DOLLAR; } [;] { BEGIN(INITIAL); return SEMICOLON; } [A-Za-z0-9]* { java_lval.text = yytext; return TEXT; } %%