Rev 227 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/******************************************************************************** File: jminus.flex** Copyright (c) 2006, Ira W. Snyder (devel@irasnyder.com)* License: GNU General Public License v2** This file will create a scanner for the J-Minus language using the* JFlex tool, available from http://jflex.de.******************************************************************************/%%%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} { }