Fix warnings, merge, and check my code in
[satune.git] / src / AST / ops.h
index 3990aec8080b666088ed96ba1d151a0e5a7692b4..b330d1bedfd77a1a5cdc53508ada60dfb2bd51ad 100644 (file)
@@ -1,9 +1,16 @@
 #ifndef OPS_H
 #define OPS_H
-enum LogicOp {AND, OR, NOT, XOR, IMPLIES};
+enum LogicOp {L_AND, L_OR, L_NOT, L_XOR, L_IMPLIES};
+typedef enum LogicOp LogicOp;
+
 enum ArithOp {ADD, SUB};
+typedef enum ArithOp ArithOp;
+
 enum CompOp {EQUALS};
+typedef enum CompOp CompOp;
+
 enum OrderType {PARTIAL, TOTAL};
+typedef enum OrderType OrderType;
 
 /**
  *    FLAGFORCESOVERFLOW forces the operation to overflow if the boolean flag is true
@@ -11,9 +18,14 @@ enum OrderType {PARTIAL, TOTAL};
  *  FLAGIFFOVERFLOW -- flag is set iff the operation overflows
  *  IGNORE -- doesn't constrain output if the result cannot be represented
  *  WRAPAROUND -- wraps around like stand integer arithmetic
+ *  NOOVERFLOW -- client has ensured that overflow is impossible
  */
-enum OverFlowBehavior {IGNORE, WRAPAROUND, FLAGFORCESOVERFLOW, OVERFLOWSETSFLAG, FLAGIFFOVERFLOW};
+enum OverFlowBehavior {IGNORE, WRAPAROUND, FLAGFORCESOVERFLOW, OVERFLOWSETSFLAG, FLAGIFFOVERFLOW, NOOVERFLOW};
+typedef enum OverFlowBehavior OverFlowBehavior;
 
-enum BooleanType {_ORDER, _BOOLEAN};
+enum BooleanType {ORDERCONST, BOOLEANVAR, LOGICOP, COMPARE};
+typedef enum BooleanType BooleanType;
 
+enum FunctionType {TABLEFUNC, OPERATORFUNC};
+typedef enum FunctionType FunctionType;
 #endif