summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-08-14Merge remote-tracking branch 'origin/mono-experiments' into experimentsAlasdair Armstrong
2017-08-14More constructs in menhir parser, plus support for both left and right infix ↵Alasdair Armstrong
operators.
2017-08-11Menhir for new parser, ocamlyacc for oldBrian Campbell
2017-08-11Merge branch 'experiments' into mono-experimentsBrian Campbell
2017-08-11Make type checking just clever enough to solve 8*n = constantBrian Campbell
2017-08-10Merge remote-tracking branch 'origin/sail_new_tc' into experimentsAlasdair Armstrong
Conflicts: src/pretty_print_common.ml
2017-08-10Fix bug with subtyping in let bindingsAlasdair Armstrong
2017-08-10Improved operator support for test menhir parserAlasdair Armstrong
2017-08-10Experimenting with alternate parserAlasdair 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-10Disable menhir on this branchBrian Campbell
(until location information is updated)
2017-08-10Merge branch 'experiments' into mono-experimentsBrian Campbell
2017-08-10Existentials in Lem AST outputBrian Campbell
2017-08-10Experimental removal of existentialsBrian Campbell
2017-08-10Improved existentials and type synonymsAlasdair Armstrong
2017-08-09Pretty-print some more type annotationsThomas Bauereiss
2017-08-08Add infrastructure to play with new menhir parsers.Alasdair Armstrong
Added a copy of the current parser/lexer in parser2.mly and lexer2.mll. They can be used with the -new_parser flag. Currently they are just copies of the existing files.
2017-08-08Switch to using menhir for sail parser in experiments branchAlasdair Armstrong
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 add_typ_var to mli fileAlastair Reid
This function is used by asl_to_sail2.ml
2017-08-07Improvements to existentials for ASL parserAlasdair Armstrong
2017-08-07Fixed pretty printing of E_consAlasdair Armstrong
2017-08-07Fixed various issues regarding typechecking lists.Alasdair 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-02Improve pretty-printing of register declaration and assignmentThomas Bauereiss
2017-08-02Changed some aspects of the typechecker to better support ASL l-valuesAlasdair Armstrong
2017-08-02Add debugging option to dump AST after rewriting stepsThomas Bauereiss
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