import java_cup.runtime.*; %% %implements java_cup.runtime.Scanner %type Symbol %function next_token %class CalcScanner %eofval{ return null; %eofval} IDENTIFIER = [a-zA-Z_][a-zA-Z0-9_]* NUMBER = [0-9]+ %% "+" { return new Symbol(CalcSymbol.PLUS); } "-" { return new Symbol(CalcSymbol.MINUS); } "*" { return new Symbol(CalcSymbol.TIMES); } "/" { return new Symbol(CalcSymbol.DIVIDE); } {NUMBER} { return new Symbol(CalcSymbol.NUMBER, new Integer(yytext()));} \r\n {} . {}