Skip to content
Snippets Groups Projects
Commit 019b1fad authored by Philippe Suter's avatar Philippe Suter
Browse files

one less bug

parent fb3de75a
No related branches found
No related tags found
No related merge requests found
...@@ -111,21 +111,23 @@ class Analysis(val program: Program) { ...@@ -111,21 +111,23 @@ class Analysis(val program: Program) {
} }
} }
verifiedVCs = verifiedVCs.reverse if(verifiedVCs.size > 0) {
val col1wdth = verifiedVCs.map(_._1).map(_.length).max + 2 verifiedVCs = verifiedVCs.reverse
val col2wdth = verifiedVCs.map(_._2).map(_.length).max + 2 val col1wdth = verifiedVCs.map(_._1).map(_.length).max + 2
val col3wdth = verifiedVCs.map(_._3).map(_.length).max + 2 val col2wdth = verifiedVCs.map(_._2).map(_.length).max + 2
val col4wdth = verifiedVCs.map(_._4).map(_.length).max val col3wdth = verifiedVCs.map(_._3).map(_.length).max + 2
def mk1line(line: (String,String,String,String)) : String = { val col4wdth = verifiedVCs.map(_._4).map(_.length).max
line._1 + (" " * (col1wdth - line._1.length)) + def mk1line(line: (String,String,String,String)) : String = {
line._2 + (" " * (col2wdth - line._2.length)) + line._1 + (" " * (col1wdth - line._1.length)) +
line._3 + (" " * (col3wdth - line._3.length)) + line._2 + (" " * (col2wdth - line._2.length)) +
line._4 line._3 + (" " * (col3wdth - line._3.length)) +
line._4
}
val dashes : String = "=" * (col1wdth + col2wdth + col3wdth + col4wdth)
reporter.info("Summary:\n" + dashes + "\n" + verifiedVCs.map(mk1line(_)).mkString("\n") + "\n" + dashes)
} else {
reporter.info("No verification conditions were generated.")
} }
val dashes : String = "=" * (col1wdth + col2wdth + col3wdth + col4wdth)
reporter.info("Summary:\n" + dashes + "\n" + verifiedVCs.map(mk1line(_)).mkString("\n") + "\n" + dashes)
} }
def postconditionVC(functionDefinition: FunDef) : Expr = { def postconditionVC(functionDefinition: FunDef) : Expr = {
......
...@@ -14,8 +14,10 @@ object MergeSort { ...@@ -14,8 +14,10 @@ object MergeSort {
def is_sorted(l: List): Boolean = l match { def is_sorted(l: List): Boolean = l match {
case Nil() => true case Nil() => true
case Cons(x,Nil()) => true case Cons(x,xs) => xs match {
case Cons(x,Cons(y,xs)) => x<=y && is_sorted(Cons(y,xs)) case Nil() => true
case Cons(y, ys) => x <= y && is_sorted(Cons(y, ys))
}
} }
def length(list:List): Int = list match { def length(list:List): Int = list match {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment