6dc95d793ac28b91cca2ff101cb7002d8a91cf65
[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             opcode = Opcode.ADD;
32         } else if (opname.equals("sub")) {
33             opcode = Opcode.SUB;
34         } else if (opname.equals("mult")) {
35             opcode = Opcode.MULT;
36         } else if (opname.equals("div")) {
37             opcode = Opcode.DIV;
38         } else if (opname.equals("and")) {
39             opcode = Opcode.AND;
40         } else if (opname.equals("or")) {
41             opcode = Opcode.OR;
42         } else if (opname.equals("not")) {
43             opcode = Opcode.NOT;
44         } else if (opname.equals("gt")) {
45             opcode = Opcode.GT;
46         } else if (opname.equals("ge")) {
47             opcode = Opcode.GE;
48         } else if (opname.equals("lt")) {
49             opcode = Opcode.LT;
50         } else if (opname.equals("le")) {
51             opcode = Opcode.LE;
52         } else if (opname.equals("eq")) {
53             opcode = Opcode.EQ;
54         } else if (opname.equals("ne")) {
55             opcode = Opcode.NE;
56         } else {
57             return null;
58         }
59     }
60
61 }