| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2017-09-28 | Use (K)Bindings from ast_util rather than making new ones | Brian Campbell | |
| 2017-09-28 | Add loops to monomorphisation | Brian Campbell | |
| 2017-09-28 | Merge branch 'experiments' into mono-experiments | Brian Campbell | |
| 2017-09-28 | Refine constructors during monomorphisation | Brian Campbell | |
| 2017-09-27 | Add while-loops to Lem backend | Thomas Bauereiss | |
| 2017-09-26 | Remove obsolete existential removal code | Brian Campbell | |
| 2017-09-26 | Added while-do and repeat-until loops to sail for translating ASL | Alasdair Armstrong | |
| 2017-09-26 | Remove debugging statements included accidentally | Brian Campbell | |
| 2017-09-26 | Add propagation of local assignments to monomorphisation | Brian Campbell | |
| 2017-09-21 | Support more functions and vector construction in mono for hexapod | Brian Campbell | |
| 2017-09-21 | Substitute into constraints to make assert work with mono | Brian Campbell | |
| 2017-09-21 | Disable existential removal for now | Brian Campbell | |
| 2017-09-20 | Handle let (exists 't...[:'t:]) 't = lit in mono | Brian Campbell | |
| 2017-09-20 | Remove obsolete nexp refinement | Brian Campbell | |
| 2017-09-20 | Support splitting on multiple variables in mono | Brian Campbell | |
| 2017-09-19 | Added additional case for tuple l-expressions to increase compatability for ASL. | Alasdair Armstrong | |
| 2017-09-18 | Added additional utility functions in ast_util | Alasdair Armstrong | |
| Also fixed basic ocaml test suite | |||
| 2017-09-18 | Merge branch 'experiments' into mono-experiments | Brian Campbell | |
| 2017-09-14 | Merge branch 'experiments' of https://bitbucket.org/Peter_Sewell/sail into ↵ | Alasdair Armstrong | |
| experiments | |||
| 2017-09-14 | Two thirds of monomorphising union types with an existential | Brian Campbell | |
| Still need some way of picking the appropriate constructor | |||
| 2017-09-14 | Fix bug in topological sorting | Thomas Bauereiss | |
| 2017-09-14 | Fix some more test cases | Thomas Bauereiss | |
| 2017-09-14 | Fix a regression when writing to a register via a reference in a vector such ↵ | Thomas Bauereiss | |
| as GPR This was wrongly translated as an update of the vector of references. | |||
| 2017-09-13 | Fixed code display in error messages that span multiple lines | Alasdair Armstrong | |
| 2017-09-13 | Work on improving Sail error messages | Alasdair Armstrong | |
| - Modified how sail type error messages are displayed. The typechecker, rather than immediately outputing a string has a datatype for error types, which are the pretty-printed using a PPrint pretty-printer. Needs more work for all the error messages. - Error messages now attempt to highlight the part of the file where the error occurred, by printing the line the error is on and highlighting where the error message is in red. Again, this needs to be made more robust, especially when the error messages span multiple lines. Other things - Improved new parser and lexer. Made the lexer & parser handling of colons simpler and more intuitive. - Added some more typechecking test cases | |||
| 2017-09-08 | Fixed bug when printing Typ_args in Lem AST output | Alasdair Armstrong | |
| 2017-09-07 | Merge branch 'experiments' of https://bitbucket.org/Peter_Sewell/sail into ↵ | Alasdair Armstrong | |
| experiments | |||
| 2017-09-07 | Add ocaml run-time and updates to sail for ocaml backend | Alasdair Armstrong | |
| 2017-09-05 | Fix printing of negative numbers | Alastair Reid | |
| 2017-09-04 | Merge branch 'experiments' of bitbucket.org:Peter_Sewell/sail into ↵ | Brian Campbell | |
| mono-experiments | |||
| 2017-09-02 | Various fixes for Hexapod | Thomas Bauereiss | |
| - Support tuples in lexps - Rewrite trivial sizeofs - Rewrite early returns more aggressively - Support let bindings with ticked variables (binding both a type-level and term-level variable at the same time) | |||
| 2017-09-02 | Remove dependency of state.lem on bitvector operations | Thomas Bauereiss | |
| 2017-09-02 | Add command line flags to toggle sequential monad and native machine words | Thomas Bauereiss | |
| 2017-09-01 | Testing typedef generation for ocaml | Alasdair Armstrong | |
| 2017-09-01 | Started work on test suite for ocaml backend | Alasdair Armstrong | |
| 2017-08-30 | Remove debug print statement from rewriter | Alasdair Armstrong | |
| 2017-08-30 | Improved ocaml backend to the point where the hexapod spec produces ↵ | Alasdair Armstrong | |
| syntactically correct ocaml | |||
| 2017-08-30 | Merge branch 'experiments' of https://bitbucket.org/Peter_Sewell/sail into ↵ | Alasdair Armstrong | |
| experiments | |||
| 2017-08-30 | Ocaml backend can now run ocamlbuild automatically to build ocaml | Alasdair Armstrong | |
| files into runable executable. | |||
| 2017-08-30 | Fix another bug in local variable update rewriting | Thomas Bauereiss | |
| E_internal_let is only used for introducing local variables, not updating existing ones. | |||
| 2017-08-29 | Merge branch 'experiments' of https://bitbucket.org/Peter_Sewell/sail into ↵ | Alasdair Armstrong | |
| experiments | |||
| 2017-08-29 | More work on ocaml backend. | Alasdair Armstrong | |
| Works for basic examples with arbitrary register types, so for example we can compile: val extern string -> unit effect pure print = "print_endline" val unit -> string effect pure hello_world function hello_world () = { return "Hello, World!"; "Unreachable" } val unit -> unit effect {wreg, rreg} main register string REG function main () = { REG := "Hello, Sail!"; print(REG); REG := hello_world (); print(REG); return () } into open Sail_lib;; let zhello_world () = with_return (fun r -> begin r.return "Hello, World!"; "Unreachable" end);; let zREG : (string) ref = ref (undefined_string ());; let zmain () = with_return (fun r -> begin zREG := "Hello, Sail!"; print_endline !zREG; zREG := zhello_world (); print_endline !zREG; r.return () end);; let initialize_registers () = with_return (fun r -> zREG := undefined_string ());; with the arbitrary register types and early returns being handled appropriately, given a suitable implementation for Sail_lib | |||
| 2017-08-29 | Make Lem export of CHERI(-256) typecheck | Thomas Bauereiss | |
| Note: The effect annotations of the execute function differ between CHERI and MIPS, so I split out a new file mips_ast_decl.sail for MIPS with just the initial declarations of ast, decode, and execute (with the right effects for MIPS). | |||
| 2017-08-29 | Fix bug in rewriting local variable updates | Thomas Bauereiss | |
| Don't pull out local variables that are introduced inside a sub-block. | |||
| 2017-08-29 | Expand Nexp_id's in sizeof rewriting (e.g. cap_size_t in CHERI) | Thomas Bauereiss | |
| Also, rewrite expressions in global let bindings (not only function bodies) | |||
| 2017-08-29 | Improve flow typing | Thomas Bauereiss | |
| Can now handle nexps such as (2**65 - 1). Uses big_ints for comparisons, and keeps original nexps in the AST. | |||
| 2017-08-28 | Eta expand lem for OCaml generation | Brian Campbell | |
| 2017-08-28 | Merge branch 'experiments' into mono-experiments | Brian Campbell | |
| 2017-08-28 | Correct indexing and equality for bitvectors | Brian Campbell | |
| 2017-08-28 | Merge branch 'experiments' of bitbucket.org:Peter_Sewell/sail into ↵ | Brian Campbell | |
| mono-experiments # Conflicts: # src/gen_lib/sail_values.lem | |||
