summaryrefslogtreecommitdiff
path: root/language
AgeCommit message (Collapse)Author
2016-11-23Add new type checking file. Small changes to type inference, temporary ↵Kathy Gray
change to printing
2016-10-19Revert "file missed in previous commit"Christopher Pulte
This reverts commit d836ac35d82311ae7522937b8b01c140f8616b97.
2016-10-19file missed in previous commitChristopher Pulte
2016-09-25Catch formal type system up to reality, in progressKathy Gray
2016-08-17tuple assignment now implemented so (a,b) := foo() will now workKathy Gray
2016-08-14Start adding form for (a,b,c) := foo()Kathy Gray
Not working yet
2016-07-23Add effect annotation for return, and actually keep a return after type check.Kathy Gray
2016-07-23Add a return exp form to Sail, supported in type checker and in interpreter.Kathy Gray
TODO: add an event for a return so that rewriters can find and remove them as needed for OCaml and Lem
2016-05-27Also add to ottKathy Gray
2016-03-03Fix typo in manual which had true instead of false on assert documentationKathy Gray
Fix bug in local register access
2016-03-02Add new language feature to permit definitions of items of kind Nat, etc as ↵Kathy Gray
well as items of kind Type. Syntax for the feature is: def Nat id = nexp Note: some useful nexps may not parse properly. All typedef forms can also be used as def Type ... if desired, but this is not required.
2016-02-25A bit better readmeKathy Gray
A few more tips Trying to fix up and bring up to date the built-in types and library
2016-02-25Expand what advice and information is in the manual slightlyKathy Gray
2016-02-25Add the manual, such as it is, for others to be able to use and have without ↵Kathy Gray
needing ott
2016-02-25Restore manual.tex mysteriously deleted by peter in May 2015.Robert Norton
2016-02-23Several fixesKathy Gray
Improve printing for asl to sail readability; Add -o option for selecting the name of file generation; Add additional initial check module for turning generated ast nodes into ready-to-type-check ast nodes
2016-01-06Add new assert expression to SailKathy Gray
This splits the former functionality of exit into errors, which should now use assert(bool,option<string>), and a means of signalling actions such as instruction-level exceptions, interrupts, or other features that impact the ISA. The latter will now be tracked with an effect escape, and so any function containing exit and declared pure will generate a type error. WARNING: ARM spec will not build with this commit until I modify it. MIPS spec will not build with this commit until modified.
2015-12-17First bit of gluing mips onto interpreter and eventually ppcmem infrastructureKathy Gray
2015-12-14Adding new location constructor for location of generated termsKathy Gray
2015-11-24Add BE_escape effect when an E_exit is seenKathy Gray
Close #20
2015-10-19progress on lem backendChristopher Pulte
2015-10-08Add another internal let for ChristopherKathy Gray
2015-10-07Start expanding annot for more refined effect trackingKathy Gray
2015-09-30Alias support for ocaml modeKathy Gray
2015-09-24Parameterise the rewriter's for multiple different rewritingsKathy Gray
Add a new internal node for moving assignments into scope-preserving expressions that more explicitly define the scope
2015-08-06Update analysis to merge states and values after branches taken due to ↵Kathy Gray
unknown conditions. Does not merge if one path has resulted in an exit
2015-07-24Begin doing better analysis on case splits over unknownsKathy Gray
2015-06-24Support new memory write events in the sail front end and pretty printerKathy Gray
Events are eamem to signal the memory address to write to and wmv to pass the value to write
2015-06-02changes to compare and equality instances to make lem generate isabelle outputcp526
2015-06-02Fix errors around ARM not being able to decode due to instruction_extractor ↵Kathy Gray
being very power-specific. Note: slight interface change to instruction_extractor
2015-05-13Add dynamic footprint dependency check event/outcomeKathy Gray
Also fix type checker bug in not reporting modifications to parameter values
2015-05-09towards buildability - l2.ml and l2_parse.ml as regenerated with current OttPeter Sewell
2015-05-09use less confusing Ott binaryPeter Sewell
2015-03-31Fix int -> nat bug. Now something with type int cannot be used as something ↵Kathy Gray
of type nat (at least not without a >= 0 check)
2015-03-26Add subtraction to nexp grammar (removing the need to do a + (-1 * b))Kathy Gray
Fix up parsing on 2** precedence Fix errors on type variables in function definition
2015-03-15Many changes:Kathy Gray
Split out specification specific memory and external functions Reduce the presence of big_int Reduce the use of inc direction, instead using a default from the spec. Still a few places need to be parameterised over direction Also some bug fixes exposed by above and running ARM second instruction
2015-02-24Overloading formal relationKathy Gray
2015-02-18All existing type rules in line with implementation (and no more red)Kathy Gray
Still to do: type rules for register aliases and relation for overloading selection
2015-02-18expression type checking inline with rules, lexp still out of date; ↵Kathy Gray
overloading resolution not modelled
2015-02-17Bring type rules more into modern state of type checkerKathy Gray
2015-02-13Actually use new dependency information in generation of lem/etc.Kathy Gray
Also stop rewriting code in the pretty printer, instead move it all into a new general rewriting pass
2015-01-26update ott pathKathy Gray
2015-01-23remove dependency on having ott in ones pathKathy Gray
2015-01-12Add specialised support for numeric singleton types (i.e. what used to be ↵Kathy Gray
range<'N,'N>) Non-sugar syntax is -- forall Nat 'N. atom<'N> Sugar syntax is -- [: 'N :] Also begin adding pp support for generating ocaml from ast types.
2014-12-18More type rulesKathy Gray
2014-12-09Some of the type rules for expressionsKathy Gray
2014-12-04ott rules for type checking pattern matchKathy Gray
2014-12-03Type rules unto coercion now represented in ottKathy Gray
2014-11-28full list of built-in functions in rudimentary manualKathy Gray
2014-11-27Start having a manual of sorts. At least specify the built in functionsKathy Gray
(list not complete)