From aa23697f85f44ddd3f37467d8a0bb7e5b92ec120 Mon Sep 17 00:00:00 2001 From: Etienne Kneuss <ekneuss@gmail.com> Date: Tue, 11 Aug 2015 15:17:07 +0200 Subject: [PATCH] Correctly parenthesize implications --- src/main/scala/leon/purescala/PrettyPrinter.scala | 2 +- src/main/scala/leon/purescala/ScalaPrinter.scala | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/scala/leon/purescala/PrettyPrinter.scala b/src/main/scala/leon/purescala/PrettyPrinter.scala index 6952542d6..b36b2e1cc 100644 --- a/src/main/scala/leon/purescala/PrettyPrinter.scala +++ b/src/main/scala/leon/purescala/PrettyPrinter.scala @@ -609,7 +609,7 @@ class PrettyPrinter(opts: PrinterOptions, case (_: Modulo) => 1 case (_: Or | BinaryMethodCall(_, "||", _)) => 2 case (_: And | BinaryMethodCall(_, "&&", _)) => 3 - case (_: GreaterThan | _: GreaterEquals | _: LessEquals | _: LessThan) => 4 + case (_: GreaterThan | _: GreaterEquals | _: LessEquals | _: LessThan | _: Implies) => 4 case (_: Equals | _: Not) => 5 case (_: Plus | _: BVPlus | _: Minus | _: BVMinus | _: SetUnion| _: SetDifference | BinaryMethodCall(_, "+" | "-", _)) => 7 case (_: Times | _: BVTimes | _: Division | _: BVDivision | _: Remainder | _: BVRemainder | BinaryMethodCall(_, "*" | "/", _)) => 8 diff --git a/src/main/scala/leon/purescala/ScalaPrinter.scala b/src/main/scala/leon/purescala/ScalaPrinter.scala index 979ccd38c..5fd883b94 100644 --- a/src/main/scala/leon/purescala/ScalaPrinter.scala +++ b/src/main/scala/leon/purescala/ScalaPrinter.scala @@ -25,17 +25,16 @@ class ScalaPrinter(opts: PrinterOptions, case f: FunDef if f.isSynthetic => false case _ => true })) - case Not(Equals(l, r)) => p"$l != $r" - case Implies(l,r) => p"$l ==> $r" + case Not(Equals(l, r)) => optP { p"$l != $r" } case Choose(pred) => p"choose($pred)" case s @ FiniteSet(rss, t) => p"Set[$t](${rss.toSeq})" case m @ FiniteMap(els, k, v) => p"Map[$k,$v]($els)" case ElementOfSet(e,s) => p"$s.contains(e)" - case SetUnion(l,r) => p"$l ++ $r" - case MapUnion(l,r) => p"$l ++ $r" - case SetDifference(l,r) => p"$l -- $r" - case SetIntersection(l,r) => p"$l & $r" + case SetUnion(l,r) => optP { p"$l ++ $r" } + case MapUnion(l,r) => optP { p"$l ++ $r" } + case SetDifference(l,r) => optP { p"$l -- $r" } + case SetIntersection(l,r) => optP { p"$l & $r" } case SetCardinality(s) => p"$s.size" case InfiniteIntegerLiteral(v) => p"BigInt($v)" -- GitLab