summaryrefslogtreecommitdiff
path: root/Dafny/Compiler.cs
Commit message (Collapse)AuthorAge
* Dafny: internal renamingGravatar Unknown2012-08-10
|
* Dafny: fixed datatype GetHashCode() to make it consistent with Equals()Gravatar Jason Koenig2012-07-18
|
* Dafny: allowed strictly finite datatypes in comprehensions, quantifiers, and ↵Gravatar Jason Koenig2012-07-17
| | | | parallel statements.
* Dafny: compilation of abstract modules, including local definitions (as in ↵Gravatar Jason Koenig2012-07-17
| | | | | | | module A as B = C) * * * Dafny: compilation of abstract modules, including local definitions (as in module A as B = C)
* Dafny: fixed ghost checking for labeled (i.e. named) expressions, changed to ↵Gravatar Jason Koenig2012-07-10
| | | | parallel syntax, other minor fixes
* Dafny: Implemented abstract modulesGravatar Jason Koenig2012-06-26
|
* Dafny: in compiler, respect C#'s different scoping rules and lack of support ↵Gravatar Unknown2012-06-14
| | | | for special characters in identifiers
* Dafny: fixed a couple of compiler bugsGravatar Unknown2012-06-14
|
* Dafny: Changed the semantics of the assign-such-that statement "x :| P;" to ↵Gravatar Unknown2012-06-13
| | | | check the existence of a value. The previous "assume only" version is available by supplying the keyword "assume" in front of "P".
* Dafny: change labels to use a generic singly linked listGravatar Jason Koenig2012-06-06
|
* Dafny: Added map comprehensions and updated display syntaxGravatar Unknown2012-05-31
|
* Dafny: Added compilation of finite mapsGravatar Unknown2012-05-25
|
* Dafny: more correct checking of co-inductive productivityGravatar Unknown2012-05-18
|
* Dafny: improve printing of inductive datatypesGravatar Unknown2012-05-01
| | | | Dafny: don't consider co-datatypes as candidates for default decreases components
* Dafny: print inductive datatypesGravatar Rustan Leino2012-05-01
|
* Dafny: added support for co-recursive callsGravatar Rustan Leino2012-05-01
|
* Dafny: compile co-inductive datatypesGravatar Unknown2012-04-26
| | | | Dafny: for inductive datatypes, cache any default value computed and also produce slightly tidier target code
* Dafny: fixed resolution bug for inductive datatypes (previous check did not ↵Gravatar Unknown2012-04-25
| | | | | | | handle generic datatypes correctly) Dafny: fixed compiler bug in inductive datatypes (missing type parameters in emitted code) Dafny: added "codatatype" declaration (syntax only for now)
* Dafny: added assign-such-that statements; syntax: x,y,a[i],o.f :| Expr;Gravatar Unknown2012-03-15
|
* Dafny: added ghost modules (the meaning is simply that such a module will ↵Gravatar Rustan Leino2012-03-07
| | | | | | | not be compiled) Dafny: improved :autocontracts heuristic for detecting "simple query method" Dafny: fixed some bugs
* Dafny: fixed a couple of compiler bugsGravatar Rustan Leino2012-02-16
|
* Dafny: fixed bug in compilation of let expressions.Gravatar Rustan Leino2012-01-26
|
* Dafny: fixed bug in compilation of generic datatypesGravatar Rustan Leino2012-01-18
|
* Dafny: allow parallel statements with an empty list of bound variablesGravatar Rustan Leino2012-01-17
|
* Dafny: some bug fixesGravatar Rustan Leino2012-01-10
|
* Dafny: Start of new refinement features -- clean out old onesGravatar Rustan Leino2012-01-04
|
* Dafny: compile let expressions efficiently (i.e., with an extra variable, ↵Gravatar Rustan Leino2012-01-04
| | | | not with a substitution)
* Dafny: compile to .exe only if there is a Main method; otherwise, compile to ↵Gravatar Rustan Leino2011-12-19
| | | | a .dll
* MergeGravatar Rustan Leino2011-12-07
|\
* | Dafny: Forward attributes on Dafny functions to Boogie (e.g., to disable ↵Gravatar wuestholz2011-12-07
| | | | | | | | wellformedness checks).
| * Dafny: Added "type" declaration (syntax: "type X;"), which introduces an ↵Gravatar Rustan Leino2011-11-21
|/ | | | arbitrary type (like a global type parameter). In the future, a refined module may allow such types to be instantiated.
* Dafny: added let expressions (syntax: "var x := E0; E1")Gravatar Rustan Leino2011-11-14
| | | | | Dafny: firmed up semantics of assert/assume expressions (the condition is now good for all program control paths that pass through the expression) Dafny: various implementation clean-ups
* Dafny: added assert/assume expressionsGravatar Rustan Leino2011-11-09
|
* Dafny induction:Gravatar Rustan Leino2011-10-29
| | | | | | | * implemented induction tactic for result-less, non-mutating ghost methods * refine heuristics for determining if a variables is usefully passed to a recursive function * disallow certain "ensures" to use two-state features (needed for soundness of the parallel-statement translation, see comments in Resolver.cs and ParallelResolveErrors.dfy) * added command-line flags /induction and /inductionHeuristic (everything is on by default)
* Dafny: removed Dafny's "foreach" statements (replaced by the new "parallel" ↵Gravatar Rustan Leino2011-10-26
| | | | statement)
* Dafny: removed support for assigning to an array-range (that is, an ↵Gravatar Rustan Leino2011-10-26
| | | | assignment statement where the LHS has the form a[lo..hi])
* Dafny: implemented compilation of parallel statementsGravatar Rustan Leino2011-10-25
| | | | Dafny: beefed up resolution of parallel statements
* Dafny: changed triggers (which are never really used, anyhow) from having a ↵Gravatar Rustan Leino2011-10-21
| | | | | | | special syntactic form to being just an attribute Dafny: added "parallel" statement (so far, only parsing and resolving) Dafny: allow types on bound variables in "match" expressions/statements (there's never any incentive to list them explicitly in the program text, but it nevertheless seemed silly to forbid them)
* MergeGravatar Rustan Leino2011-09-28
|\
| * Dafny: Added some assertions.Gravatar wuestholz2011-09-23
| |
* | Dafny: generate a compiler error upon encountering an assume statementGravatar Rustan Leino2011-09-11
| | | | | | | | Dafny: don't compile programs unless all methods have been verified (or a forced compile is requested)
* | Dafny: fixed compilation bug (datatype equality had used pointer equality, ↵Gravatar Rustan Leino2011-09-11
| | | | | | | | not member equality)
* | Dafny: fixed compilation error where type of target "null" was undeterminedGravatar Rustan Leino2011-09-11
|/
* MergeGravatar Jason Koenig2011-07-15
|\
* | Added compilation support for multisets and sequences from arrays.Gravatar Jason Koenig2011-07-15
| |
| * Updated the Parser.cs and Scanner.cs files in Boogie and Dafny and removed ↵Gravatar wuestholz2011-07-15
|/ | | | some trailing whitespace.
* Dafny: Dafny now uses the Euclidean definition of division. (Verifier and ↵Gravatar Jason Koenig2011-07-08
| | | | runtime.)
* Fixed bug in compiler relating to returns with parameters.Gravatar Jason Koenig2011-06-29
|
* Initial implementation of return statments with parameters.Gravatar Jason Koenig2011-06-29
|
* Dafny: better error message when "decreases *" is attempted on a function or ↵Gravatar Rustan Leino2011-06-20
| | | | | | | method Dafny: fixed compilation bug with parallel assignment involving a ghost LHS Dafny: added sequence-to-set conversion if a function's reads clause is used implicitly as the decreases clause