bc062b8bed802ebecadaf8c1fa891d4e8675207a
[repair.git] / Repair / RepairCompiler / MCC / IR / Opcode.java
1 package MCC.IR;
2
3 public class Opcode {
4
5     private final String name;
6     private Opcode(String name) { this.name = name; }
7     
8     public String toString() { return name; }       
9
10     public static final Opcode ADD = new Opcode("+");
11     public static final Opcode SUB = new Opcode("-");
12     public static final Opcode MULT = new Opcode("*");
13     public static final Opcode DIV = new Opcode("/");
14
15     public static final Opcode GT = new Opcode(">");
16     public static final Opcode GE = new Opcode(">=");
17     public static final Opcode LT = new Opcode("<");
18     public static final Opcode LE = new Opcode("<=");
19
20     public static final Opcode EQ = new Opcode("==");
21     public static final Opcode NE = new Opcode("!=");
22
23     public static final Opcode AND = new Opcode("&&");
24     public static final Opcode OR = new Opcode("||");
25     public static final Opcode NOT = new Opcode("!");
26
27     public static Opcode decodeFromString(String opname) {
28         Opcode opcode;
29
30         if (opname.equals("add")) {
31             return Opcode.ADD;
32         } else if (opname.equals("sub")) {
33             return Opcode.SUB;
34         } else if (opname.equals("mult")) {
35             return Opcode.MULT;
36         } else if (opname.equals("div")) {
37             return Opcode.DIV;
38         } else if (opname.equals("and")) {
39             return Opcode.AND;
40         } else if (opname.equals("or")) {
41             return Opcode.OR;
42         } else if (opname.equals("not")) {
43             return Opcode.NOT;
44         } else if (opname.equals("gt")) {
45             return Opcode.GT;
46         } else if (opname.equals("ge")) {
47             return Opcode.GE;
48         } else if (opname.equals("lt")) {
49             return Opcode.LT;
50         } else if (opname.equals("le")) {
51             return Opcode.LE;
52         } else if (opname.equals("eq")) {
53             return Opcode.EQ;
54         } else if (opname.equals("ne")) {
55             return Opcode.NE;
56         } else {
57             return null;
58         }
59     }
60
61 }