summaryrefslogtreecommitdiff
path: root/Util/Emacs
Commit message (Collapse)AuthorAge
* Removed Dafny, Jennisys, Chalice, and BCT, which now live in different ↵Gravatar Rustan Leino2013-03-05
| | | | Codeplex repositories.
* MergeGravatar Rustan Leino2012-10-04
|\
| * Boogie: updated syntax highlighting ("real")Gravatar Unknown2012-09-28
| |
| * Boogie: new syntax for integer division and modulus: use div and mod instead ↵Gravatar boehmes2012-09-27
| | | | | | | | of / and %
* | Dafny: added iterators; for now, only parsing and resolving (and printing ↵Gravatar Rustan Leino2012-09-25
| | | | | | | | and refining), no compilation or verification
| * Added the new keyword (calc) to UtilGravatar Nadia Polikarpova2012-09-16
|/
* Dafny: removed the defunct "havoc" keyword from various source-code highlightersGravatar Unknown2012-08-15
|
* Dafny emacs mode: changed a menu name (Does anyone ever use this menu anyhow?)Gravatar Unknown2012-08-14
|
* Dafny: removed allocated keyword, changed module import syntax. "opened" ↵Gravatar Jason Koenig2012-07-30
| | | | keyword is parsed but ignored.
* Dafny: fixed ghost checking for labeled (i.e. named) expressions, changed to ↵Gravatar Jason Koenig2012-07-10
| | | | parallel syntax, other minor fixes
* Dafny: added copredicatesGravatar Rustan Leino2012-07-03
|
* Dafny: removed support for the old keyword "unlimited" (all functions are ↵Gravatar Unknown2012-06-11
| | | | limited)
* 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 predicatesGravatar Rustan Leino2012-01-10
|
* Dafny: Start of new refinement features -- clean out old onesGravatar Rustan Leino2012-01-04
|
* 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 "multiset" keyword to syntax highlighting in emacs, vim, latex, VSXGravatar Rustan Leino2011-11-09
|
* 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)
* Jennisys: added "ensures" to emacs modeGravatar Rustan Leino2011-10-19
|
* Jennisys: change of keywords, now: interface/datamodel/codeGravatar Rustan Leino2011-09-28
| | | | Jennisys: allow assignment statements in interfaces (for now, these are syntactic sugar for ensures clauses)
* Chalice: added string type and string literals (but no other string operations)Gravatar Rustan Leino2011-07-26
|
* Dafny: removed deprecated "call" and "use" keywords from syntax highlightersGravatar Rustan Leino2011-06-20
|
* Dafny: added constructorsGravatar Rustan Leino2011-05-28
|
* Dafny: added type "nat"Gravatar Rustan Leino2011-04-19
|
* Jennisys: Parse and printGravatar Rustan Leino2011-04-07
|
* Dafny: added "choose" operator on setsGravatar rustanleino2011-03-26
|
* Dafny:Gravatar rustanleino2011-02-17
| | | | | | | | | | | | | | | | | | * Big change: Add type and allocatedness information everywhere in the Boogie translation. This not only fixes some potential soundness problems (see Test/dafny1/TypeAntecedents.dfy), but it also gives more information about the program. On the downside, it also requires discharging more antecedents in order to use some axioms. Another downside is that overall performance has gone down (however, this may be just an indirect consequence of the change, as it was in one investigated case). * Increase the applicability of function axioms (extending the coarse-grain function/module height mechanism used as an antecedent of function axioms). (Internally, this uses the new canCall mechanism.) * Extend language with "allocated( Expr )" expressions, which for any type of expression "Expr" says that "Expr" is allocated and has the expected type. * More details error messages about ill-defined expressions (internally, by using CheckWellformedness instead of "assert IsTotal") * Add axioms about idempotence of set union and intersection * The compiler does not support (the experimental feature) coupling invariants, so generate error if the compiler ever gets one * In the implementation, combine common behavior of MatchCaseStmt and MatchCaseExpr into a superclass MatchCase * Fixed error in translation of while(*)
* Miscellaneous changes:Gravatar rustanleino2010-10-22
| | | | | | | * Also copy CodeContractExtender in PrepareBoogieZip.bat * Added some comments and a new program in Test/textbook * Included refinement keywords in Chalice emacs mode * Used assignment instead of spec statement in DuplicatesVideo.chalice
* Chalice:Gravatar rustanleino2010-10-09
| | | | | * extended the cheap type inference to also consider "in" expressions and quantifiers * added some refinement keywords to the Emacs mode for Chalice
* Dafny:Gravatar rustanleino2010-09-17
| | | | | | * Added full support for multi-dimensional arrays (except for one issue that still needs to be added in compilation) * Changed syntax of array length from |a| to a.Length (for one-dimensional arrays). The syntax for either dimensions is, for example, b.Length0 and b.Length1 for 2-dimensional arrays. * Internally, this meant adding support for built-in classes and readonly fields
* Chalice: No longer use Mask for "held" field; instead, only use the value ↵Gravatar rustanleino2010-07-14
| | | | of the "held" field in the heap
* Dafny:Gravatar rustanleino2010-07-06
| | | | | * changed rule about scoping of out-parameters * added "refines", "replaces", and "by" as keywords in emacs, vim, and latex style files
* Chalice:Gravatar rustanleino2010-06-25
| | | | | * renamed keyword "maxlock" to "waitlevel" * added -vs switch, for I/O suitable for VS integration
* Dafny:Gravatar rustanleino2010-05-21
| | | | | | | * Added arrays * Beefed up set axiomatization to know more things about set displays * Added a simple heuristic that can infer some simple decreases clauses for loops * Added Dafny solutions to a couple of VACID benchmarks
* Boogie:Gravatar rustanleino2010-05-15
| | | | | | | | | | * Added support for polymorphism in lambda expressions * Little clean-up here and there * Added 'then' keyword to emacs and latex modes Dafny: * Added support for fine-grained framing, using the back-tick syntax from Region Logic * Internally, changed checking of reads clauses to use a local variable $_Frame, analogous to the $_Frame variable used in checking modifies clauses
* Dafny:Gravatar rustanleino2010-05-08
| | | | | Previously, a "use" function was one whose definition was applied only in limited ways, namely when the function was uttered in a program (possibly in a "use" statement). Now, recursive functions are always limited, unless declared with the new modifier "unlimited". Non-recursive functions are always unlimited. Also new is that only function calls within the same SCC of the call graph use the limited form of the callee. The "use" modifier is no longer supported. The "use" statement is still supported, now for both limited and unlimited functions; but it's probably better and easier to just explicitly mention a function in an assertion, if needed.
* Dafny:Gravatar rustanleino2010-05-06
| | | | | | | | * First crack at a compiler (/compile:1 writes out.cs, if Dafny program verifies) * Added "print" statement (to make running compiled programs more interesting) * Changed name of default class from $default to _default Boogie: * Included "lambda" as a keyword in emacs and latex style files
* Dafny:Gravatar rustanleino2010-03-16
| | | | | * Beginning of module implementation * Changed "class" modifier (for functions and methods) to "static"
* Removed files that were under GPL.Gravatar mikebarnett2010-02-22
|
* Boogie (Util): Added an Emacs flymake extension for BoogiePL.Gravatar wuestholz2010-02-19
|
* Boogie (Emacs mode): Added an alternative Emacs mode for BoogiePL. It ↵Gravatar wuestholz2010-02-19
| | | | supports syntax-highlighting, auto-indentation and imenu.
* Dafny: Added if-then-else expressions (replacing and extending the previous ↵Gravatar rustanleino2010-02-04
| | | | | | | | boolean-only if-then-else expressions) Dafny: Added 'class' functions and methods (i.e., functions and methods with a receiver parameter) Dafny grammar changes: Tthe 'use' keyword now goes before 'function' (akin to 'ghost' and 'class'), and quantifier triggers now go before the '::' Dafny: Check for division-by-zero for both '/' and '%'
* Dafny:Gravatar rustanleino2010-01-14
| | | | | | | * Allow (and currently ignore) "ghost" modifier. * Fixed bug in boxing. * Check for div-by-zero error for modulo operator. * Improved emacs and latex modes.
* Start (some parsing and resolution) of adding algebraic datatypes to Dafny.Gravatar rustanleino2009-11-08
| | | | Included VSI-Benchmarks in standard tests.
* Dafny: Added axioms for division and modulo.Gravatar rustanleino2009-09-15
| | | | | Dafny: Make use of function preconditions in function well-definedness checks. Chalice: Changed old "install" to current "reorder" keyword in Emacs mode.
* * Implemented channelsGravatar rustanleino2009-08-16
| | | | | | | | | | | | | | | | - channel declarations - send and receive statements - bounds clause for new, to accommodate channels - Added ProdConsChannel.chalice test case - Resolve and Translate (but no Compile yet) - Added Credits to global state in encoding (this caused changes to lots of source lines) * Simplified meaning of maxlock==E * Various parser improvements * Added alternative syntax for eval statements * Some renamings in error messages (e.g., install -> reorder) * Added preliminary parsing for condition variables and their wait and signal operations * Added new keywords to Chalice emacs mode
* Initial set of files.Gravatar mikebarnett2009-07-15