Rev 226 | Go to most recent revision | Blame | Compare with Previous | 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} { }