summaryrefslogtreecommitdiff
path: root/Source/Dafny/Printer.cs
Commit message (Collapse)AuthorAge
...
| * MergeGravatar Dan Rosén2014-08-11
| |\ | |/ |/|
| * Add higher-order-functions and some other goodiesGravatar Dan Rosén2014-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The reads clause now needs to be self framing. * The requires clause now needs to be framed by the reads clause. * There are one-shot lambdas, with a single arrow, but they will probably be removed. * There is a {:heapQuantifier} attribute to quantifiers, but they will probably be removed. * Add smart handling of type variables * Add < and > for datatype & type parameter
* | Resolved further merge issuesGravatar leino2014-08-05
| |
* | added trait feature:Gravatar Reza Ahmadi2014-07-18
|/ | | | | | -possibility to declare traits in Dafny -possibility to extend a class by a trait -possibility to override body-less methods
* Renamed "arbitrary type" to "opaque type"Gravatar Rustan Leino2014-07-15
|
* Added type synonyms. (No support yet for these in refinements.)Gravatar Rustan Leino2014-07-11
|
* MergeGravatar Rustan Leino2014-07-08
|\
* | Implemented compilation of the int<->real conversions, and changed the ↵Gravatar Rustan Leino2014-07-08
| | | | | | | | | | | | resolution and verification implementations of these. Changed FreshExpr to be a UnaryExpr, and also introduced the UnaryOpExpr subclass.
| * MergeGravatar Dan Rosén2014-07-07
| |\ | |/ |/|
| * New logical encoding of types with Is and IsAllocGravatar Dan Rosén2014-07-07
| |
* | Added tuples and tuple types. Syntax is the expected one, namely parentheses ↵Gravatar Rustan Leino2014-06-27
| | | | | | | | around a comma-delimited list of expressions or types. Unit and the unit type are denoted ().
* | Make syntax of "match" expressions and "match" statements the same -- curly ↵Gravatar Rustan Leino2014-06-24
| | | | | | | | braces around the cases are now supported for both and are optional for both
* | Added support for 'dirty' forall statements.Gravatar chmaria2014-06-03
|/ | | | | | | | | | | One can now write forall statements without bodies (but with ensures clauses) as follows: forall s | s in S ensures s < 0; where S is set<int>. The ensures clauses are assumed but not checked.
* MergeGravatar Rustan Leino2014-04-04
|\
* | Support the transition from "modify Frame;" to "modify Frame { Body }" by ↵Gravatar Rustan Leino2014-04-04
| | | | | | | | refinement.
* | Added "modify Frame { Body }" statement.Gravatar Rustan Leino2014-04-04
| |
* | Added "modify" statement.Gravatar Rustan Leino2014-04-03
| | | | | | | | In a frame govered by a ghost context, ignore explicit mentions of `g if g is a ghost field.
| * Basic support for datatype-update syntatic sugarGravatar Bryan Parno2014-04-03
|/
* Refactoring: renamed VarDecl to LocalVariable, and renamed VarDeclStmt.Lhss ↵Gravatar Rustan Leino2014-03-17
| | | | to VarDeclStmt.Locals
* AST refactoring:Gravatar Rustan Leino2014-03-17
| | | | | Changed VarDecl to no longer inherit from Statement. Removed ConcreteSyntaxStatement and changed VarDeclStmt's superclass be Statement.
* Deprecated "comethod" keyword in favor of "colemma". (Also, "prefix method" ↵Gravatar Rustan Leino2014-02-23
| | | | -> "prefix lemma")
* Allow unary minus on realsGravatar Rustan Leino2014-02-13
|
* Preliminary support for reals in Dafny specs. No compiler suport yet.Gravatar Bryan Parno2014-02-10
|
* Removed some blank lines at the end of hover texts.Gravatar Rustan Leino2014-02-06
|
* Produce hover text for many of the refinement omissions (i.e., "..." and the ↵Gravatar Rustan Leino2014-01-31
| | | | like).
* MergeGravatar Rustan Leino2014-01-08
|\
* | Allow left-hand sides of a let expression to be patterns (like in the case ↵Gravatar Rustan Leino2014-01-08
| | | | | | | | | | | | | | of a match expression). Moved the implementation of CondApplyBox, BoxIfNecessary, CondApplyUnbox, and ModeledAsBoxType from class ExpressionTranslator to class Translator. Fixed compilation of match expressions, to allow them anywhere.
| * Add autoReq support for matches.Gravatar Bryan Parno2014-01-08
| | | | | | | | Add better handling of resolved data types in autoReq.
| * Added support for automatic generation of function requirements via the ↵Gravatar Bryan Parno2014-01-08
|/ | | | :autoReq attribute.
* Print and translate "match" expressions in general positions, not just at ↵Gravatar Rustan Leino2014-01-03
| | | | the top-level of function bodies. (Note, resolver also needs to allow this before the user can take advantage of this.)
* Added proper parsing for StmtExpr's in all contexts.Gravatar Rustan Leino2013-12-30
| | | | | | Adjusted printer accordingly. Fixed bug in Substituter for CalcStmt in StmtExpr's. Always show terminating semi-colon in hover-text for default decreases clauses.
* Compute default decreases clauses in Resolver instead of in the Translator.Gravatar Rustan Leino2013-12-19
| | | | Make this information available as AdditionalInformation, that is, as hover text in the IDE.
* Fixed pretty printing of calc statements to use the new(-since-long) format.Gravatar Rustan Leino2013-12-17
| | | | | Disallow dangling operator in calc (which had also allowed soundness bug). Don't reprove the test files in dafny0 after testing their pretty printing.
* MergeGravatar Rustan Leino2013-11-18
|\
| * Added support for attributes on variable declarations.Gravatar wuestholz2013-11-18
| |
* | Let compiler complain about body-less functions and methods, even if these ↵Gravatar Rustan Leino2013-11-14
|/ | | | are ghost
* Merged PredicateExpr and CalcExpr into a single StmtExprGravatar Rustan Leino2013-08-06
| | | | In that process, added a SubstStmt method (and entourage) for substituting into statements
* Added hover text ("additional information") in places where co-methods ↵Gravatar Rustan Leino2013-08-04
| | | | provide syntactic shorthands
* Set up call-graph to keep track of edges between functions and methods. (To ↵Gravatar Rustan Leino2013-08-04
| | | | be done: replace InMethodContext with a Function/Method-Height in translator.)
* Introduced keywords "lemma" (like a "ghost method", but not allowed to have ↵Gravatar Rustan Leino2013-08-02
| | | | a "modifies" clause) and "colemma" (synonymous with "comethod"; perhaps "comethod" will go away at some point)
* Fixed printer bug to handle static receivers in function call expressions. ↵Gravatar chmaria2013-07-11
| | | | (Thanks to Patrick Spettel.)
* Fixed an issue in the computation of checksums.Gravatar wuestholz2013-07-07
|
* DafnyExtension: Worked on integrating the verification result caching.Gravatar wuestholz2013-06-06
|
* Made the semi-colon after "type" and "module" declarations optional.Gravatar Rustan Leino2013-05-10
|
* The "choose" statement, hacky and specialized as it was, is now gone. Use ↵Gravatar Rustan Leino2013-03-27
| | | | the assign-such-that statement instead. For example: x :| x in S;
* Beefed up assign/let-such-that to generate possible witnesses for ↵Gravatar Rustan Leino2013-03-25
| | | | | | | set/multiset/sequence/map display expressions Run SmallTests.dfy and LetExpr.dfy only once in the test suite Fixed some translation bugs (and a pretty-printing bug) for map display expressions
* Finished support for ==# in calc, changed Paulson example to use it.Gravatar Nadia Polikarpova2013-03-20
|
* Added the <== operator.Gravatar Nadia Polikarpova2013-03-14
|
* Renamed "parallel" statement to "forall" statement, and made the parentheses ↵Gravatar Rustan Leino2013-03-06
| | | | around the bound variables optional.
* Pretty print the new parentheses-less "if" and "while" statements as such.Gravatar Rustan Leino2013-02-21
|