summaryrefslogtreecommitdiff
path: root/Source/Dafny/Printer.cs
Commit message (Collapse)AuthorAge
* Print system module (in a comment) with /rprint.Gravatar leino2014-09-09
| | | | Cleaner printing of .reads and .requires members of the built-in arrow "classes".
* Disallow parentheses-less declarations of predicates and co-predicates, ↵Gravatar leino2014-08-27
| | | | along with a backward-compatibility warning message if such declarations are attempted
* Refactoring: renamed DerivedTypeDecl to NewtypeDeclGravatar leino2014-08-26
|
* Changed syntax of newtypeGravatar leino2014-08-26
|
* Type check and pretty print newtype constraintsGravatar leino2014-08-22
|
* Start of derived types (aka "new types")Gravatar leino2014-08-20
| | | | Fixed bug in type checking for integer division.
* Refactor: Change ApplyExpr's Receiver to FunctionGravatar Dan Rosén2014-08-14
|
* MergeGravatar leino2014-08-13
|\
* | Check for proper use of equality-supporting types also in local variables ↵Gravatar leino2014-08-13
| | | | | | | | and forall statements, and more expressions
| * 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.)