/** * A transformation from the integer comparison language to * "signedArith.l" + "logic.l" * * @author Jacob Andersen */ (| "compare.l" -> "signedArith.l" + "logic.l" [ Exp -> Exp ] Exp.eq = 'zero?($1 - $2)' ; Exp.neq = '!zero?($1 - $2)' ; Exp.gt = 'positive?($1 - $2)' ; Exp.gte = '!negative?($1 - $2)' ; Exp.lt = 'negative?($1 - $2)' ; Exp.lte = '!positive?($1 - $2)' ; |)