summaryrefslogtreecommitdiff
path: root/Source/Dafny/Parser.cs
Commit message (Collapse)AuthorAge
* 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.
* Added ghost let expressions.Gravatar Rustan Leino2014-01-05
|
* Make ModuleDefinition inherit from TopLevelDecl instead of just DeclarationGravatar Bryan Parno2014-01-03
|
* MergeGravatar Rustan Leino2013-12-30
|\
* | 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.
| * Changed the iterator class hover text back to the iterator name (which is ↵Gravatar Rustan Leino2013-12-20
|/ | | | consistent with everything else), not the "iterator" keyword
* Added an .EndTok for every statement. (Note, in some places, especially in ↵Gravatar Rustan Leino2013-12-19
| | | | | | | VarDecl statements, there's often no good .EndTok information.) Used the .EndTok in CaptureState information. In other words, move the blue dots in the IDE to after the statement just executed. Removed /*!*/ comments in some parts of the source code -- CodeContracts reveal this information.
* 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.
* Add support for the :axiom attribute for ghost methods.Gravatar Bryan Parno2013-12-13
| | | | | | This suppresses compiler errors for ghost methods and functions without bodies. Also changed the parser to complain about bodyless methods and functions without bodies if /noCheating:1 is specified.
* Add support for the "include" keyword, which accepts a (possibly relative) pathGravatar Bryan Parno2013-12-10
| | | | | to another Dafny file. That file's functions and methods are included but not checked. This is intended to support incremental verification on a per-file basis.
* Added support for attributes on variable declarations.Gravatar wuestholz2013-11-18
|
* Allow calls to side-effect-free ghost methods from expressionsGravatar Rustan Leino2013-08-06
|
* 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
* 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)
* Regenerated Parser after a merge.Gravatar Nadia Polikarpova2013-07-31
|
* Add support for hexidecimal numbers.Gravatar parno2013-07-30
|
* Fixed build failure.Gravatar wuestholz2013-07-25
|
* Allow field names to be sequences of digits (this is nice, for example, to ↵Gravatar Rustan Leino2013-07-24
| | | | define a Tuple with fields .0 and .1)
* Because of neighboring parse conflict handlers, must call ResetPeek()Gravatar Rustan Leino2013-07-10
|
* Fixed parsing bug in "if" and "while" guardsGravatar Rustan Leino2013-07-10
|
* Made the semi-colon after "type" and "module" declarations optional.Gravatar Rustan Leino2013-05-10
|
* Make semi-colon after datatype/codatatype declaration optional (in the ↵Gravatar Rustan Leino2013-04-19
| | | | future, it will not be allowed at all)
* 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;
* Finished support for ==# in calc, changed Paulson example to use it.Gravatar Nadia Polikarpova2013-03-20
|
* Added explies support to calculations.Gravatar Nadia Polikarpova2013-03-15
|
* 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.
* Support for paren-free guards in if and while statements.Gravatar Nadia Polikarpova2013-02-15
|
* First take on calc expressions.Gravatar Nadia Polikarpova2013-02-14
|
* Changed calc syntax (custom operators are now written before the hint)Gravatar Nadia Polikarpova2013-02-08
|
* "!!" can now be parsed as two "!". More concise parsing for "!in".Gravatar Nadia Polikarpova2013-02-07
|
* Added parsing and resolution of a new let-such-that expression. Translation ↵Gravatar Rustan Leino2013-01-21
| | | | has yet to be implemented.
* Added some co- test cases. Fixed some bugs.Gravatar Rustan Leino2013-01-20
|
* Removed the syntactic form copredicate #-form with the implicit argument.Gravatar Rustan Leino2013-01-16
| | | | Added syntactic support for codatatype #-form equalities.
* Improved error message for making the mistake of saying 'returns' instead of ↵Gravatar Rustan Leino2012-11-25
| | | | 'yields' for an iterator
* Parse prefix predicates/methodsGravatar Rustan Leino2012-11-24
|
* renamed "abstract module" to "module facade"Gravatar Rustan Leino2012-10-22
| | | | renamed "ghost module" to "abstract module", adding a keyword "abstract"
* New feature:Gravatar Rustan Leino2012-10-11
| | | | | | | * Added "comethod" declarations and support for writing manual co-inductive proofs (but currently blindly assume comethod postconditions to, in positive positions, only have copredicates and codatatype equalities--other cases still need to be dealt with) Code restructuring: * New set of Boogie procedure stubs generated for each other * Start of improvements around TrSplitExpr
* Support default (which, here, means nameless) class-instance constructorsGravatar Rustan Leino2012-10-05
|
* Put all sources under \Source directoryGravatar Rustan Leino2012-10-04