summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-08-08Switch to using menhir for sail parser in experiments branchAlasdair Armstrong
2017-08-07Improvements to existentials for ASL parserAlasdair Armstrong
2017-08-04Various improvements for ASL generationAlasdair Armstrong
Fixed a bug where existential constraint's weren't used to solve function quantifiers correctly
2017-08-02Changed some aspects of the typechecker to better support ASL l-valuesAlasdair Armstrong
2017-08-02Merge remote-tracking branch 'origin/sail_new_tc' into experimentsAlasdair Armstrong
2017-08-02Modified loop typechecking code to generate a new type variable for the loop ↵Alasdair Armstrong
index, seems to work better for complex cases in ASL
2017-08-01Add missing lexp case to Ocaml pretty-printerThomas Bauereiss
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-01Merge remote-tracking branch 'origin/sail_new_tc' into experimentsAlasdair Armstrong
2017-08-01Added more patterns to ast_util and improved type checking of patternsAlasdair Armstrong
2017-08-01Modified the typechecker for ASL generationAlasdair 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-31Fixed a bug in the pretty printer that caused ASL parser to output ↵Alasdair Armstrong
unparseable sail code
2017-07-31Changed behavior of return to better match ASLAlasdair Armstrong
2017-07-31Removed redundant code in infer_funapp'Alasdair Armstrong
2017-07-31Fixed bug in existential return typesAlasdair Armstrong
2017-07-28Mips TLB existential exampleAlasdair Armstrong
2017-07-28Fix break caused by mergeAlasdair Armstrong
2017-07-28Merge remote-tracking branch 'origin/sail_new_tc' into experimentsAlasdair Armstrong
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-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-27Allow local mutable records, and fix bugs with overlapping record field names.Alasdair Armstrong
2017-07-27Merge remote-tracking branch 'origin/sail_new_tc' into experimentsAlasdair Armstrong
2017-07-27Fixed bug with pattern synonyms in Cons and List patternsAlasdair Armstrong
2017-07-27Fixed some bugs with existentials, and added test casesAlasdair Armstrong
2017-07-27Fixed pretty printer for existentialsAlasdair Armstrong
Also fixed substitution functions so as to not substitute captured kind identifiers
2017-07-26More work on existentials in function callsAlasdair Armstrong
2017-07-26Experimental existentials in function callsAlasdair Armstrong
2017-07-26Experiment in adding existential typesAlasdair Armstrong
2017-07-26Added syntax for existential typesAlasdair Armstrong
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-26Merge remote-tracking branch 'origin/master' into sail_new_tcAlasdair Armstrong
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
2017-07-25Improved l-expressionsAlasdair Armstrong
- Fixed a bug where some l-expressions which wrote registers wern't picking up register writes. - Can now write to registers with record types. e.g. ARM's ProcState record from ASL.
2017-07-25Add partial support for rewriting of sizeof expressionsThomas Bauereiss
Tries to extract values of nexps from the (type annotations of) parameters passed to the function. This seems to correspond to the behaviour of the previous typechecker.
2017-07-24interpreter: optionally print debugging tracesJon French