1 package gnu.ecmascript; 2 import gnu.mapping.*; 3 4 public class Reserved 5 { 6 String name; 7 int prio; 8 Procedure proc; 9 10 public static final int VAR_TOKEN = 30; 11 public static final int IF_TOKEN = 31; 12 public static final int WHILE_TOKEN = 32; 13 public static final int FOR_TOKEN = 33; 14 public static final int CONTINUE_TOKEN = 34; 15 public static final int BREAK_TOKEN = 35; 16 public static final int RETURN_TOKEN = 36; 17 public static final int WITH_TOKEN = 37; 18 public static final int ELSE_TOKEN = 38; 19 public static final int NEW_TOKEN = 39; 20 public static final int THIS_TOKEN = 40; 21 public static final int FUNCTION_TOKEN = 41; 22 23 public static final int PLUS_OP = 1; 24 public static final int MINUS_OP = 2; 25 public static final int TIMES_OP = 3; 26 public static final int LSHIFT_OP = 4; 27 public static final int LESS_OP = 5; 28 29 public Reserved (String name, int prio, Procedure proc) 30 { 31 this.name = name; 32 this.prio = prio; 33 this.proc = proc; 34 } 35 36 public Reserved (String name, int prio) 37 { 38 this.name = name; 39 this.prio = prio; 40 } 41 42 public Reserved (String name, int prio, int op) 43 { 44 this.name = name; 45 this.prio = prio; 46 this.proc = new BinaryOp(name, op); 47 } 48 49 final static Reserved opBoolOr = new Reserved("||", 1, 0); 50 final static Reserved opBoolAnd = new Reserved("&&", 2, 0); 51 final static Reserved opBitOr = new Reserved("|", 3, 0); 52 final static Reserved opBitXor = new Reserved("^", 4, 0); 53 final static Reserved opBitAnd = new Reserved("&", 5, 0); 54 final static Reserved opEqual = new Reserved("=", 6, 0); 55 final static Reserved opNotEqual = new Reserved("!=", 6, 0); 56 final static Reserved opLess = new Reserved("<", 7, LESS_OP); 57 final static Reserved opGreater = new Reserved(">", 7, 0); 58 final static Reserved opLessEqual = new Reserved("<=", 7, 0); 59 final static Reserved opGreaterEqual = new Reserved(">=", 7, 0); 60 final static Reserved opLshift = new Reserved("<<", 8, LSHIFT_OP); 61 final static Reserved opRshiftSigned = new Reserved(">>", 8, 0); 62 final static Reserved opRshiftUnsigned = new Reserved(">>>", 8, 0); 63 final static Reserved opPlus = new Reserved("+", 9, PLUS_OP); 64 final static Reserved opMinus = new Reserved("-", 9, MINUS_OP); 65 final static Reserved opTimes = new Reserved("*", 10, TIMES_OP); 66 final static Reserved opDivide = new Reserved("/", 10, 0); 67 final static Reserved opRemainder = new Reserved("%", 10, 0); 68 69 static Reserved opPlusPlus, opMinusMinus; 71 public String toString() { return "[Reserved \""+name+"\" prio:"+prio+"]"; } 72 73 public boolean isAssignmentOp() { return false; } 74 } 75 | Popular Tags |