Changeset 2602


Ignore:
Timestamp:
Nov 1, 2012, 2:33:27 PM (6 years ago)
Author:
ksherdy
Message:

Refactored CarryQ implementation as an Java enum.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/pablo/src/compiler/codeGeneration/CarryQ.java

    r2598 r2602  
    11package compiler.codeGeneration;
    22
    3 public class CarryQ {
     3public enum CarryQ {
     4               
     5        CARRYTEST("CarryTest",2),
     6        GETCARRYIN("get_carry_in",1),
     7        GETPENDING64("get_pending64",1),
     8        CARRYCOMBINE("CarryCombine",3),
     9        CARRYQADJUST("CarryQ_Adjust",1),
     10        CARRYFLIP("carry_flip",1),
     11        CARRYDEQUEUEENQUEUE("CarryDequeueEnqueue",2),
     12        VALUEOF("cq[%d]",1);
     13                       
     14        private final String cPPName;
     15        private final int argCount;
    416
    517        public static String CarryQ_PACKAGE_NAME = "CarryQ";
    618       
    7         public enum Builtins {
    8                
    9                 CARRYTEST("CarryTest",2),
    10                 GETCARRYIN("get_carry_in",1),
    11                 GETPENDING64("get_pending64",1),
    12                 CARRYCOMBINE("CarryCombine",3),
    13                 CARRYQADJUST("CarryQ_Adjust",1),
    14                 CARRYFLIP("carry_flip",1),
    15                 CARRYDEQUEUEENQUEUE("CarryDequeueEnqueue",2),
    16                 VALUEOF("cq[%d]",1);
    17                                
    18                 private final String cPPName;
    19                 private final int argCount;
    20                
    21                 Builtins(String cName, int argCount) {
    22                         this.cPPName = cName;
    23                         this.argCount = argCount;
    24                 }
    25                
    26                 public String cPPCode() {
    27                         return this.cPPName;
    28                 }
    29                
    30                 public int argCount() {
    31                         return this.argCount;
    32                 }
     19        CarryQ(String cName, int argCount) {
     20                this.cPPName = cName;
     21                this.argCount = argCount;
    3322        }
    3423       
     24        public String cPPCode() {
     25                return this.cPPName;
     26        }
     27       
     28        public int argCount() {
     29                return this.argCount;
     30        }
    3531}
     32       
     33
Note: See TracChangeset for help on using the changeset viewer.