Newer
Older
zweic / sources / zweic / Tokens.scala
@glproj03 glproj03 on 22 Nov 2005 1 KB Adapted tokens to new grammar
/*  zweic -- a compiler for zwei
 *
 *  Stephane Micheloud & LAMP
 *
 *  $Id$
 */

package zweic;


/**
 * This class defines all token classes of zwei.
 */
object Tokens extends Enumeration {
	type Token = Value;

	val EOF		= Value("<eof>");
	val BAD		= Value("<bad>");

	val IDENT	= Value("ident");
	val NUMBER	= Value("number");
	val STRING	= Value("string");

	val TRUE	= Value("true");
	val FALSE	= Value("false");
	val THIS	= Value("this");
	val NULLTYPE	= Value("Null");
	val NULLFACTOR	= Value("null");

	val READINT	= Value("readInt");
	val READCHAR	= Value("readChar");
	val PRINTINT	= Value("printInt");
	val PRINTCHAR	= Value("printChar");

	val INT         = Value("Int");
	val CLASS	= Value("class");
	val NEW		= Value("new");
	val EXTENDS	= Value("extends");
	val RETURN	= Value("return");

	val SUB		= Value("-");
	val NOT		= Value("!");
	val ADD		= Value("+");
	val MUL		= Value("*");
	val MOD		= Value("%");
	val DIV		= Value("/");
	val EQ		= Value("==");
	val NE		= Value("!=");
	val LT		= Value("<");
	val GT		= Value(">");
	val LE		= Value("<=");
	val GE		= Value(">=");

	val AND		= Value("and");
	val OR		= Value("or");
	val IF		= Value("if");
	val ELSE	= Value("else");
	val WHILE	= Value("while");

	val LPAREN	= Value("(");
	val RPAREN	= Value(")");
	val LACCOLADE	= Value("{");
	val RACCOLADE	= Value("}");
	val EQUALS	= Value("=");
	val SEMICOLON	= Value(";");
	val PERIOD	= Value(",");
	val DOT		= Value(".");
}