- primop_rule IntEqOp = relop (==) `or_rule` litEq True op_name_case
- primop_rule IntNeOp = relop (/=) `or_rule` litEq False op_name_case
- primop_rule CharEqOp = relop (==) `or_rule` litEq True op_name_case
- primop_rule CharNeOp = relop (/=) `or_rule` litEq False op_name_case
-
- primop_rule IntGtOp = relop (>)
- primop_rule IntGeOp = relop (>=)
- primop_rule IntLeOp = relop (<=)
- primop_rule IntLtOp = relop (<)
-
- primop_rule CharGtOp = relop (>)
- primop_rule CharGeOp = relop (>=)
- primop_rule CharLeOp = relop (<=)
- primop_rule CharLtOp = relop (<)
-
- primop_rule FloatGtOp = relop (>)
- primop_rule FloatGeOp = relop (>=)
- primop_rule FloatLeOp = relop (<=)
- primop_rule FloatLtOp = relop (<)
- primop_rule FloatEqOp = relop (==)
- primop_rule FloatNeOp = relop (/=)
-
- primop_rule DoubleGtOp = relop (>)
- primop_rule DoubleGeOp = relop (>=)
- primop_rule DoubleLeOp = relop (<=)
- primop_rule DoubleLtOp = relop (<)
- primop_rule DoubleEqOp = relop (==)
- primop_rule DoubleNeOp = relop (/=)
-
- primop_rule WordGtOp = relop (>)
- primop_rule WordGeOp = relop (>=)
- primop_rule WordLeOp = relop (<=)
- primop_rule WordLtOp = relop (<)
- primop_rule WordEqOp = relop (==)
- primop_rule WordNeOp = relop (/=)
-
- primop_rule other = \args -> Nothing
+ primop_rule IntEqOp = Just (relop (==) `or_rule` litEq True op_name_case)
+ primop_rule IntNeOp = Just (relop (/=) `or_rule` litEq False op_name_case)
+ primop_rule CharEqOp = Just (relop (==) `or_rule` litEq True op_name_case)
+ primop_rule CharNeOp = Just (relop (/=) `or_rule` litEq False op_name_case)
+
+ primop_rule IntGtOp = Just (relop (>))
+ primop_rule IntGeOp = Just (relop (>=))
+ primop_rule IntLeOp = Just (relop (<=))
+ primop_rule IntLtOp = Just (relop (<))
+
+ primop_rule CharGtOp = Just (relop (>))
+ primop_rule CharGeOp = Just (relop (>=))
+ primop_rule CharLeOp = Just (relop (<=))
+ primop_rule CharLtOp = Just (relop (<))
+
+ primop_rule FloatGtOp = Just (relop (>))
+ primop_rule FloatGeOp = Just (relop (>=))
+ primop_rule FloatLeOp = Just (relop (<=))
+ primop_rule FloatLtOp = Just (relop (<))
+ primop_rule FloatEqOp = Just (relop (==))
+ primop_rule FloatNeOp = Just (relop (/=))
+
+ primop_rule DoubleGtOp = Just (relop (>))
+ primop_rule DoubleGeOp = Just (relop (>=))
+ primop_rule DoubleLeOp = Just (relop (<=))
+ primop_rule DoubleLtOp = Just (relop (<))
+ primop_rule DoubleEqOp = Just (relop (==))
+ primop_rule DoubleNeOp = Just (relop (/=))
+
+ primop_rule WordGtOp = Just (relop (>))
+ primop_rule WordGeOp = Just (relop (>=))
+ primop_rule WordLeOp = Just (relop (<=))
+ primop_rule WordLtOp = Just (relop (<))
+ primop_rule WordEqOp = Just (relop (==))
+ primop_rule WordNeOp = Just (relop (/=))
+
+ primop_rule other = Nothing