diff --git a/sources/zweic/Tokens.scala b/sources/zweic/Tokens.scala new file mode 100755 index 0000000..b951152 --- /dev/null +++ b/sources/zweic/Tokens.scala @@ -0,0 +1,74 @@ +/* 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(""); + val BAD = Value(""); + + 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 VAL = Value("val"); + val INT = Value("Int"); + val DEF = Value("def"); + val SET = Value("set"); + val VAR = Value("var"); + 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 DO = Value("do"); + 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("."); + val COLON = Value(":"); +}