#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
* NOOVERFLOW -- client has ensured that overflow is impossible
*/
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