/* zweic -- a compiler for zwei
*
* Stephane Micheloud & LAMP
*
* $Id$
*/
package zweic;
/**
* This class defines all binary operators of zwei.
*/
object Operators extends Enumeration {
type Operator = Value;
// binary
val ADD = Value("+");
val SUB = Value("-");
val MUL = Value("*");
val DIV = Value("/");
val MOD = Value("%");
val EQ = Value("==");
val NE = Value("!=");
val LT = Value("<");
val LE = Value("<=");
val GT = Value(">");
val GE = Value(">=");
val AND = Value("&&");
// unary
val NEG = Value("-");
val NOT = Value("!");
import scala.collection.mutable.HashMap;
val token2op = new HashMap[Tokens.Token, Operator]();
token2op += Tokens.ADD -> ADD;
token2op += Tokens.SUB -> SUB;
token2op += Tokens.MUL -> MUL;
token2op += Tokens.DIV -> DIV;
token2op += Tokens.MOD -> MOD;
token2op += Tokens.EQ -> EQ;
token2op += Tokens.NE -> NE;
token2op += Tokens.LT -> LT;
token2op += Tokens.LE -> LE;
token2op += Tokens.GT -> GT;
token2op += Tokens.GE -> GE;
token2op += Tokens.AND -> AND;
token2op += Tokens.NOT -> NOT;
}