- Feb 10, 2014
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
Improve debugging capabilities of Pretty/Scala printer w.r.t. types
-
- Feb 05, 2014
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Feb 04, 2014
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Etienne Kneuss authored
- Calling functions are now typed, FunctionInvokation takes a TypedFunDef which is basically a FunDef with type parameters' values. Instantiation of types within the signature/body is done on demand through this wrapper class. - Operations on ADTs are now taking a *ClassType instead of *ClassDef. Similarly, Case/AbstractClassType takes values for type parameters. - Introduces a GenericValue tree for models targeting abstract types. e.g. foo[T](a: T, b: T) { a == b } ensuring (_) will find a model with { a -> T#1, b -> T#2 } - Only "simple" hierarchies allowed with type parameters. All members of the hierarchy must define the same number of type parameters and correctly pass them to parent classes. - Type parameters are invariant.
-
- Feb 03, 2014
-
-
Etienne Kneuss authored
-
- Jan 31, 2014
-
-
Régis Blanc authored
Refactor the TimeoutSolver and TimeoutAssumptionSolver so that they no longer use innerCheck methods. We now only create solver as subclassing Solver or IncrementalSolver and implementing the interuptible trait, and we can turn them into TimeoutSolver at instantiation time with a mixin.
-
Régis Blanc authored
UnrollingSolver now uses an underlying incremental solver and use push and pop to drive the unrolling instead of creating a new solver each time
-
- Jan 29, 2014
-
-
Régis Blanc authored
-
- Jan 27, 2014
-
-
Régis Blanc authored
-
Régis Blanc authored
Previously, array access were generated via a code transformation in ArrayTransformation in xlang, where Array Select and Update were wrapped in if-then-else with an Error in the else branch. They are now natively supported in VC generation. Some testcases --- that would trigger bugs when --xlang is not used with functional array ---- are included in this commit The commit introduces a new abstraction to traverse Leon trees and collect path conditions. This traverser is used for the implementation of the VC generation for arrays.
-
Régis Blanc authored
-
- Jan 10, 2014
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Etienne Kneuss authored
- remove superfluous implementations doing almost the same - introduce pre/post traversal and transformers as foreach/map/fold - Redefine other operations exists, contains, as folds - Fix freshenLocals bug found by Ravi
-
- Dec 16, 2013
-
-
Etienne Kneuss authored
- 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
-
- Dec 03, 2013
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Dec 02, 2013
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Nov 29, 2013
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Nov 20, 2013
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Ivan Kuraj authored
-
Ivan Kuraj authored
-
Etienne Kneuss authored
-
- Nov 15, 2013
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Nov 13, 2013
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Nov 12, 2013
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Nicolas Voirol authored
-