summaryrefslogtreecommitdiff
path: root/Dafny/Scanner.cs
Commit message (Collapse)AuthorAge
* Dafny: removed allocated keyword, changed module import syntax. "opened" ↵Gravatar Jason Koenig2012-07-30
| | | | keyword is parsed but ignored.
* Dafny: removed allocated, changed semantics of freshGravatar Jason Koenig2012-07-29
| | | | | -allocated(x) removed, as really only useful in old(...) -old(allocated(x)) and !fresh(x) are equivalent (for x with type ref, set, sequence, and datatype).
* Dafny: fixed ghost checking for labeled (i.e. named) expressions, changed to ↵Gravatar Jason Koenig2012-07-10
| | | | parallel syntax, other minor fixes
* Dafny: rebuilt parser/scanner after previous mergeGravatar Rustan Leino2012-07-09
|
* Dafny: added copredicatesGravatar Rustan Leino2012-07-03
|
* Dafny: MergeGravatar Jason Koenig2012-06-27
|\
* | Dafny: Implemented abstract modulesGravatar Jason Koenig2012-06-26
| |
| * Dafny: Since it's no longer true that all types support equality at run-time ↵Gravatar Unknown2012-06-21
|/ | | | (in particular, codatatypes), Dafny needs to check this. In these changes, Dafny supports the "(==)" suffix to type parameters, infers that suffix in some cases, and enforces equality support in many places. Refinement and datatypes still need more attention in the Dafny implementation.
* 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: allow types to be qualified with the name of the module that declares ↵Gravatar Unknown2012-06-11
| | | | them (for now, this is supported only in type expressions and "new" allocations, not in places where the type name is used to qualify some other type member)
* Dafny: removed support for the old keyword "unlimited" (all functions are ↵Gravatar Unknown2012-06-11
| | | | limited)
* Dafny: added finite mapsGravatar Unknown2012-05-25
|
* 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: allow signatures to be omitted on refining functions/methodsGravatar Unknown2012-02-16
|
* Dafny: re-ran parser generator to use latest .frame filesGravatar Rustan Leino2012-02-16
|
* Dafny: added predicatesGravatar Rustan Leino2012-01-10
|
* Dafny: firmed up the module systemGravatar Rustan Leino2012-01-05
|
* Dafny: Start of new refinement features -- clean out old onesGravatar Rustan Leino2012-01-04
|
* Dafny: Added support for attributes on various specification constructs ↵Gravatar wuestholz2011-12-07
| | | | (assert, ensures, modifies, decreases, invariant).
* Dafny: reran Coco on merged Dafny.atgGravatar Rustan Leino2011-12-07
|
* MergeGravatar Rustan Leino2011-12-07
|\
* | Dafny: Made some minor changes to the grammar.Gravatar wuestholz2011-12-06
| |
| * 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: removed Dafny's "foreach" statements (replaced by the new "parallel" ↵Gravatar Rustan Leino2011-10-26
| | | | statement)
* 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)
* Dafny: fixed parsing bug with "!in"Gravatar Rustan Leino2011-09-08
| | | | | Dafny: fixed translation bug with missing match cases (where the constructor has some parameters) Dafny: fixed translation bug where the program had forward references to members of a datatype
* Dafny: re-ran parser generator to include semicolon-less body-less ↵Gravatar Rustan Leino2011-07-26
| | | | functions/methods, and updated some test files accordingly (compare with changesets 1429 and 1366)
* Multiset forming operators added.Gravatar Jason Koenig2011-07-11
|
* Partial implementation of multisets.Gravatar Jason Koenig2011-07-11
|
* Added loop modifies clause syntax.Gravatar Jason Koenig2011-06-23
|
* 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
* Dafny: changed syntax of havoc statements from "havoc X;" to "X := *;"Gravatar Rustan Leino2011-05-28
|
* Dafny: added constructorsGravatar Rustan Leino2011-05-28
|
* Dafny: fixed parsing bug that prevented all expressions from occurring in ↵Gravatar Rustan Leino2011-05-27
| | | | match-case expressions
* Dafny: permanently changed the syntax of "datatype" declarations to what ↵Gravatar Rustan Leino2011-05-27
| | | | previously was an alternative syntax
* Dafny: retired "use" statementsGravatar Rustan Leino2011-05-27
|
* Dafny: retired the "call" keywordGravatar Rustan Leino2011-05-26
|
* Dafny: cleaned up parser, moved foreach statement from AssignStmt<> parsing ↵Gravatar Rustan Leino2011-05-25
| | | | to UpdateStmt, automatically infer ghosts when local variables are introduced with a call RHS
* Dafny: changed local "var" introductions to use new VarDeclStmt instead of ↵Gravatar Rustan Leino2011-05-24
| | | | | | parsing as the old VarDecl's with RHS's To-do: automatically make some variables introduce ghost variables, depending on RHS of initial assignment
* Dafny:Gravatar Rustan Leino2011-05-24
| | | | | | | | | | | | | | | * fixed parsing problem with a block ending a block * replaced AssignStmt and "call" statements with UpdateStmt's * fixed some minor printing problems * changed implementation to check for ghost expressions in a pass separate from ResolveExpr To-dos: * compile and translate multi-assignments * handle non-identifier LHSs of call statements * change "var" statements in a similar way * tighten up parsing of LHSs to allow only things like SelectExpr * code and grammar clean-up to remove unused parts (e.g., "call" grammar productions and the "allowGhostFeatures" parameters) * include the commented-out precondition of TrAssignment * check in changes to the test suite
* Dafny:Gravatar Rustan Leino2011-05-21
| | | | | | | | | | * started rewriting parsing of qualified identifiers in expressions * annoyingly, had to introduce AST nodes for concrete syntax * previous syntax for invoking datatype constructors: #List.Cons(h, t) new syntax: List.Cons(h, t) or, if only one datatype has a constructor named Cons: Cons(h, t) * Removed type parameters for datatype constructors from the grammar * Helped Test/VSI-Benchmarks/b4.dfy along with a couple of assertions (previously, its proving performance was highly varied)
* Dafny: added alternative statement and alternative-loop statementGravatar Rustan Leino2011-05-19
|
* Dafny: added set comprehension expressionsGravatar Rustan Leino2011-05-18
|
* Dafny: fixed typo in parser codeGravatar Rustan Leino2011-05-13
|
* Dafny: fixed bugs in resolution of multi-dimensional arraysGravatar Rustan Leino2011-05-12
|
* Dafny: Fix parsing of if-then-else expressions, and don't require ↵Gravatar Rustan Leino2011-04-21
| | | | parentheses around forall/exists expressions
* Dafny: Alternative (and candidate replacement) syntax for declaring datatypesGravatar Rustan Leino2011-04-20
| | | | Dafny: Additional induction test cases