summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-14Minor change to x86 specification.Anthony Fox
2017-08-10Fix bug with subtyping in let bindingsAlasdair Armstrong
2017-08-10Add support for early return to Lem backendThomas Bauereiss
Implemented using the exception monad, by throwing and catching the return value
2017-08-09Pretty-print some more type annotationsThomas Bauereiss
2017-08-08Fix Lem bindings in test casesThomas Bauereiss
Add a test case with the MIPS spec using the TLB stub. Use the sequential monad for Lem testing for now; the free monad (in "prompt.lem") has not been updated for machine words yet.
2017-08-08Glue together Sail prelude and Lem libraryThomas Bauereiss
2017-08-08Various fixes and improvements for the Lem pretty-printingThomas Bauereiss
- Add some missing "wreg" effect annotations in the type checker - Improve pretty-printing of register type definitions: In addition to a "build" function, output an actual type definition, and some getter/setter functions for register fields - Fix a bug in sizeof rewriting that caused it to fail when rewriting nested calls of functions that contained sizeof expressions - Fix pretty-printing of user-defined union types with type variables (cf. test case option_either.sail) - Simplify nexps, e.g. "(8 * 8) - 1" becomes "63", in order to be able to output more type annotations with bitvector lengths - Add (back) some support for specifying Lem bindings in val specs using "val extern ... foo = bar" - Misc bug fixes
2017-08-08Add x86 decoder.Anthony Fox
2017-08-08Add add_typ_var to mli fileAlastair Reid
This function is used by asl_to_sail2.ml
2017-08-07Fixed pretty printing of E_consAlasdair Armstrong
2017-08-07Merge branch 'sail_new_tc' of https://bitbucket.org/Peter_Sewell/sail into ↵Alasdair Armstrong
sail_new_tc
2017-08-07Fixed various issues regarding typechecking lists.Alasdair Armstrong
2017-08-07Merged in acjf3/sail/sail_new_tc (pull request #2)Anthony Fox
Initial commit of x86 model (ported from L3).
2017-08-07Initial commit of x86 model (ported from L3).Anthony Fox
2017-08-02Fix run_tests.sh so it cleans up generated ml files when testing ocaml backendAlasdair Armstrong
2017-08-02Improve pretty-printing of register declaration and assignmentThomas Bauereiss
2017-08-02Tune vector_subrangeThomas Bauereiss
2017-08-02Add debugging option to dump AST after rewriting stepsThomas Bauereiss
2017-08-01Add missing lexp case to Ocaml pretty-printerThomas Bauereiss
2017-08-01Added ocaml generation to run_tests.shAlasdair Armstrong
2017-08-01Fixed a bug where type_synonyms were not being expanded properly when ↵Alasdair Armstrong
considering possible casts
2017-08-01Fixed a bug where as patterns weren't binding their variable correctlyAlasdair Armstrong
2017-08-01Added more patterns to ast_util and improved type checking of patternsAlasdair Armstrong
2017-08-01Remove some hardcoded calls to obsolete Lem library functionsThomas Bauereiss
2017-08-01Fix some effect propagation bugs in rewriterThomas Bauereiss
2017-07-28Add true and false to n_constraint language. Also small tweaks for ASL ↵Alasdair Armstrong
generation.
2017-07-27Rewrite guarded patterns for Lem backendThomas Bauereiss
2017-07-27Add cons patterns to pretty-printersThomas Bauereiss
2017-07-27Merge branch 'sail_new_tc' of https://bitbucket.org/Peter_Sewell/sail into ↵Alasdair Armstrong
sail_new_tc
2017-07-27Merge branch 'master' into sail_new_tcAlasdair Armstrong
2017-07-27Some more test casesAlasdair Armstrong
2017-07-27Parameterise convert_ast by the bitvector orderAlasdair Armstrong
2017-07-27Fixed a bug where sail would run out of file descriptors when passed a large ↵Alasdair Armstrong
number of files
2017-07-27P_cons in monomorphisationBrian Campbell
2017-07-27Fix up constructor handling in monomorphisationBrian Campbell
2017-07-27Mirror AST changeBrian Campbell
2017-07-27Add test cases for overlapping record field namesAlasdair Armstrong
2017-07-27Allow local mutable records, and fix bugs with overlapping record field names.Alasdair Armstrong
2017-07-27Fixed bug with pattern synonyms in Cons and List patternsAlasdair Armstrong
2017-07-27implement RV64I based on version 2.0 user spec.Robert Norton
2017-07-26Add right shift to lib/prelude.sail, and add case for E_exit in ↵Alasdair Armstrong
Ast_util.string_of_exp
2017-07-26Allow arbitrary identifiers in nexp expressionsAlasdair Armstrong
Fixed some bugs in the initial check that caused valid code to fail to parse Add a nid utility function that creates an id n-expression, similar to nvar, nconstant etc
2017-07-26mips_extras.lem: fix references to Interp.V_fooJon French
2017-07-26Interpreter doesn't build with new typechecker + changes from masterAlasdair Armstrong
Makes it so that the jenkins buildserver will only try to build sail and not the interpreter for sail_new_tc
2017-07-26Merge remote-tracking branch 'origin/master' into sail_new_tcAlasdair Armstrong
2017-07-26Merged in ojno/sail (pull request #1)Jonathan French
Footprint exhaustive evaluation fixes Approved-by: Jonathan French <me@jonathanfrench.net>
2017-07-26Improve rewriting of sizeof expressionsThomas Bauereiss
If some type-level variables in a sizeof expression in a function body cannot be directly extracted from the parameters of the function, add a new parameter for each unresolved parameter, and rewrite calls to the function accordingly
2017-07-26MergeThomas Bauereiss
2017-07-25Fixed bug where strings were not escaped correctly within stringAlasdair Armstrong
literals when pretty printing sail.
2017-07-25Add instantiation_of helper function to type_check.mli that returnsAlasdair Armstrong
the instantiated type variables in a function application