| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2018-07-25 | Remove unused internal AST nodes | Alasdair Armstrong | |
| E_internal_cast, E_sizeof_internal, E_internal_exp, E_internal_exp_user, E_comment, and E_comment_struc were all unused. For a lem based interpreter, we want to be able to compile it to iUsabelle, and due to slowness inherent in Isabelle's datatype package we want to remove unused constructors in our AST type. Also remove the lem_ast backend - it's heavily bitrotted, and for loading the ARM ast into the interpreter it's just not viable to use this approach as it just doesn't scale. We really need a way to be able to serialise and deserialise the AST efficiently in Lem. | |||
| 2018-01-05 | Removed legacy parser/lexer and pretty printer | Alasdair Armstrong | |
| 2017-12-05 | Update license headers for Sail source | Alasdair Armstrong | |
| 2017-11-24 | Use unbound precision big_ints throughout sail. | Alasdair Armstrong | |
| Alastair's test cases revealed that using regular ints causes issues throughout sail, where all kinds of things can internally overflow in edge cases. This either causes crashes (e.g. int_of_string fails for big ints) or bizarre inexplicable behaviour. This patch switches the sail AST to use big_int rather than int, and updates everything accordingly. This touches everything and there may be bugs where I mistranslated things, and also n = m will still typecheck with big_ints but fail at runtime (ocaml seems to have decided that static typing is unnecessary for equality...), as it needs to be changed to eq_big_int. I also got rid of the old unused ocaml backend while I was updating things, so as to not have to fix it. | |||
| 2017-07-21 | Everything moved to new typechecker | Alasdair Armstrong | |
| Modified initial_check.ml so it no longer requires type_internal. It's still needs cleaned up in a few ways. Most of the things it's trying to do could be done nicer if we took some time to re-factor it, and some of the things should just be handled by the main typechecker, leaving it as a think layer between the parse_ast and the ast. Now that's done everything can be switched to the new typechecker and the _new suffixes were deleted from everything except the monomorphisation pass because I don't know the status of that. | |||
| 2017-07-21 | Switch to new typechecker (almost) | Thomas Bauereiss | |
| Initial typecheck still uses previous typechecker | |||
| 2017-03-29 | Factor out pretty printers into separate files. Hopefully this will make ↵ | Robert Norton | |
| searching easier. | |||
| 2017-03-24 | Checkpoint work-in-progress mips sequential interpreter using ocaml shallow ↵ | Robert Norton | |
| embedding. | |||
| 2017-03-24 | changes to ocaml pp to allow mips->ocaml to compile | Robert Norton | |
| 2017-02-09 | group initial type environment into meaningful sections; pretty-print in ↵ | Peter Sewell | |
| user-readable way | |||
| 2017-02-09 | tweak pp of initial type environment and l2.ott comments | Peter Sewell | |
| 2017-02-05 | command-line option to dump initial type environment | Peter Sewell | |
| 2017-02-03 | fix headers | Peter Sewell | |
| 2017-01-31 | Kathy, Peter: pp of initial type environment | Peter Sewell | |
| 2017-01-14 | update pretty printing to actually reflect lem ast changes | Kathy Gray | |
| 2016-12-12 | pp fix | Christopher Pulte | |
| 2016-12-12 | cheri sail export progress | Christopher Pulte | |
| 2016-12-09 | sail changes for making lem embedding Isabelle-friendlier | Christopher Pulte | |
| 2016-12-01 | move interpreter-specific types from Sail_impl_base to Interp_interface | Christopher Pulte | |
| 2016-11-30 | shallow embedding fix, rename 'copy' to 'reset_vector_start', don't print ↵ | Christopher Pulte | |
| shallow/deep ast conversion type class instances anymore, add herdtools ast / shallow ast conversion functions, add mips ImplementationDefinedStopFetching instruction | |||
| 2016-11-28 | make sail produce prompt and state version of shallow embedding files at the ↵ | Christopher Pulte | |
| same time with the types both have in common factored out into separate file, rename one mips shallow embedding _extras file as required by this | |||
| 2016-11-23 | Make type checker not run to fix point on resolving case-split type ↵ | Kathy Gray | |
| variables; modern implementation of nexp unification seems not to need it | |||
| 2016-11-23 | Add new type checking file. Small changes to type inference, temporary ↵ | Kathy Gray | |
| change to printing | |||
| 2016-11-14 | add option -lem_sequential for producing shallow embedding that refers to ↵ | Christopher Pulte | |
| state monad, library fixes | |||
| 2016-11-08 | fixes | Christopher Pulte | |
| 2016-11-07 | factor out regfp analysis types into etc/regfp.sail | Christopher Pulte | |
| 2016-11-05 | fixes | Christopher Pulte | |
| 2016-10-28 | shallow embedding progress | Christopher Pulte | |
| 2016-10-27 | more shallow embedding fixes | Christopher Pulte | |
| 2016-10-26 | shallow embedding fixes | Christopher Pulte | |
| 2016-10-24 | fixes, check in Shaked's sail_impl_base changes | Christopher Pulte | |
| 2016-10-21 | shallow embedding progress | Christopher Pulte | |
| 2016-10-20 | fix previous FromToInterpValue typeclass issue, factor out intpreter's ↵ | Christopher Pulte | |
| interp_value_to_instr_external | |||
| 2016-10-19 | typeclass instances for converting between shallow and deep embedding | Christopher Pulte | |
| 2016-10-13 | make sail-to-lem rewriting passes use dependency analysis, make dependency ↵ | Christopher Pulte | |
| analysis include type information, small pp fix | |||
| 2016-10-11 | move armv8_extras and power_extras to idl/power and idlarm, fixes | Christopher Pulte | |
| 2016-10-10 | changed the way registers/register fields work, fixes, nicer names for new ↵ | Christopher Pulte | |
| letbound variables | |||
| 2016-10-06 | move type definitions that both interpreter and shallow embedding use to ↵ | Christopher Pulte | |
| sail_impl_base, add sail_impl_base.outcome, add interp_inter_imp auxiliary functions, make prompt use sail_impl_base.outcome | |||
| 2016-09-26 | minor changes | Christopher Pulte | |
| 2016-09-26 | nicer lem output: fewer unnecessary letbinds, monad binds and returns | Christopher Pulte | |
| 2016-09-25 | nicer lem output: no more unecessary 'unit' returns if if-expressions, ↵ | Christopher Pulte | |
| for-loops or case-expressions also return updated variables | |||
| 2016-09-24 | nicer lem output: fewer unecessary 'return's | Christopher Pulte | |
| 2016-09-23 | sail-to-lem progress | Christopher Pulte | |
| 2016-09-21 | fixes | Christopher Pulte | |
| 2016-09-19 | sail-to-lem progress | Christopher Pulte | |
| 2016-09-16 | make vector concatenation pattern removal deal with vector patterns of ↵ | Christopher Pulte | |
| unknown length (in the last item) | |||
| 2016-09-09 | update instruction_analysis to support nias and instruction kind | Christopher Pulte | |
| 2016-09-07 | push some lem pp changes | Christopher Pulte | |
| 2016-08-17 | Fix pattern match bug in interp where vector accesses were using the wrong ↵ | Kathy Gray | |
| start index | |||
| 2016-08-14 | Start adding form for (a,b,c) := foo() | Kathy Gray | |
| Not working yet | |||
