/* Lexical scanner for truth table generator */ %% %{ private java_cup.runtime.Symbol tok(int k, Object val) { return new java_cup.runtime.Symbol(k, yychar, yychar+yylength(), val); } %} %function next_token %type java_cup.runtime.Symbol %char %eofval{ {return tok(sym.EOF,null); } %eofval} ALPHA=[A-Za-z] DIGIT=[0-9] DIGITS=[0-9]+ NONNEWLINE_WHITE_SPACE=[\ \t\b\012] WHITE_SPACE=[\n\ \t\b\012] STRING_TEXT=(\\\"|[^\n\"]|\\{WHITE_SPACE}+\\)* COMMENT_TEXT=([^/*\n]|[^*\n]"/"[^*\n]|[^/\n]"*"[^/\n]|"*"[^/\n]|"/"[^*\n])* %% {WHITE_SPACE}+ {} "0" { return tok(sym.CONST, yytext()); } /* define the rest here */