Support Choose in evaluation, range positions, tracing.
- Simplify code generation by replacing CompilationEnvironment with a simple scope state. - Support Choose construct in both evaluators. - Introduce RecursiveEvaluator (renamed from Naive) and TracingEvaluator which tracks intermediate values as well. - Introduce offset as well as ranged positions, extract all positions from trees. Try to propagate them as much as possible. Introduced .copiedFrom - Remove dead-code, and improve TreeOps a bit. - Introduce Pretty-printer arguments
Showing
- src/main/scala/leon/codegen/CodeGenPhase.scala 8 additions, 8 deletionssrc/main/scala/leon/codegen/CodeGenPhase.scala
- src/main/scala/leon/codegen/CodeGeneration.scala 91 additions, 61 deletionssrc/main/scala/leon/codegen/CodeGeneration.scala
- src/main/scala/leon/codegen/CompilationEnvironment.scala 0 additions, 85 deletionssrc/main/scala/leon/codegen/CompilationEnvironment.scala
- src/main/scala/leon/codegen/CompilationUnit.scala 154 additions, 77 deletionssrc/main/scala/leon/codegen/CompilationUnit.scala
- src/main/scala/leon/codegen/CompiledExpression.scala 3 additions, 3 deletionssrc/main/scala/leon/codegen/CompiledExpression.scala
- src/main/scala/leon/codegen/runtime/ChooseEntryPoint.scala 82 additions, 0 deletionssrc/main/scala/leon/codegen/runtime/ChooseEntryPoint.scala
- src/main/scala/leon/datagen/VanuatooDataGen.scala 2 additions, 2 deletionssrc/main/scala/leon/datagen/VanuatooDataGen.scala
- src/main/scala/leon/evaluators/CodeGenEvaluator.scala 1 addition, 3 deletionssrc/main/scala/leon/evaluators/CodeGenEvaluator.scala
- src/main/scala/leon/evaluators/DefaultEvaluator.scala 9 additions, 312 deletionssrc/main/scala/leon/evaluators/DefaultEvaluator.scala
- src/main/scala/leon/evaluators/RecursiveEvaluator.scala 423 additions, 0 deletionssrc/main/scala/leon/evaluators/RecursiveEvaluator.scala
- src/main/scala/leon/evaluators/TracingEvaluator.scala 106 additions, 0 deletionssrc/main/scala/leon/evaluators/TracingEvaluator.scala
- src/main/scala/leon/frontends/scalac/CodeExtraction.scala 48 additions, 31 deletionssrc/main/scala/leon/frontends/scalac/CodeExtraction.scala
- src/main/scala/leon/purescala/Common.scala 12 additions, 1 deletionsrc/main/scala/leon/purescala/Common.scala
- src/main/scala/leon/purescala/FunctionClosure.scala 16 additions, 14 deletionssrc/main/scala/leon/purescala/FunctionClosure.scala
- src/main/scala/leon/purescala/PrettyPrinter.scala 28 additions, 10 deletionssrc/main/scala/leon/purescala/PrettyPrinter.scala
- src/main/scala/leon/purescala/PrinterOptions.scala 7 additions, 0 deletionssrc/main/scala/leon/purescala/PrinterOptions.scala
- src/main/scala/leon/purescala/ScalaPrinter.scala 12 additions, 4 deletionssrc/main/scala/leon/purescala/ScalaPrinter.scala
- src/main/scala/leon/purescala/ScopeSimplifier.scala 150 additions, 0 deletionssrc/main/scala/leon/purescala/ScopeSimplifier.scala
- src/main/scala/leon/purescala/SimplifierWithPaths.scala 118 additions, 0 deletionssrc/main/scala/leon/purescala/SimplifierWithPaths.scala
- src/main/scala/leon/purescala/Transformer.scala 11 additions, 0 deletionssrc/main/scala/leon/purescala/Transformer.scala
Loading
Please register or sign in to comment