Blame | Last modification | View Log | RSS feed
%%
%byaccj
%{
/* store a reference to the parser object */
private parser yyparser;
/* constructor taking an additional parser object */
public Yylex(java.io.Reader r, parser yyparser) {
this(r);
this.yyparser = yyparser;
}
%}
ID = [a-zA-Z_]([a-zA-Z_] | [0-9])*
ADDOP = "+" | "-"
MULOP = "*" | "/"
NUM = [0-9]+ ("." [0-9]+)?
WSPACE = [\ \t]+ | \n | \r | \r\n
%%
"class" { return parser.CLASS; }
"public" { return parser.PUBLIC; }
"private" { return parser.PRIVATE; }
"int" { return parser.INT; }
"float" { return parser.FLOAT; }
"void" { return parser.VOID; }
"if" { return parser.IF; }
"else" { return parser.ELSE; }
"while" { return parser.WHILE; }
"return" { return parser.RETURN; }
"(" { return parser.LPAREN; }
")" { return parser.RPAREN; }
"{" { return parser.LBRACE; }
"}" { return parser.RBRACE; }
";" { return parser.SEMI; }
"=" { return parser.ASSIGNOP; }
{ID} { return parser.ID; }
{ADDOP} { return parser.ADDOP; }
{MULOP} { return parser.MULOP; }
{NUM} { return parser.NUM; }
{WSPACE} { }