summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-10-05added funcl pattern rewriting to remove vector concat patternsChristopher Pulte
2015-10-04add find_updated_vars to support for-loops for lem or prover backend, add ↵Christopher Pulte
normalise_exp exp that should transform expressions into a form where they can be embedded into monadic lem or prover definitions. Both untested
2015-09-30Alias support for ocaml modeKathy Gray
2015-09-29capitalise and uncapitalise according to ocaml requirementsKathy Gray
2015-09-29ml output passing simple test suite, except for register aliasesKathy Gray
Known todo: Write library functions in ocaml Properly upper-case/lower-case the first letter of names to conform to ocaml requirements Handle register aliases Turn id reads to dereferences for local ref variables
2015-09-29Boiler plate to generate an ml file from a sail spec. Now debugging the ↵Kathy Gray
output of such
2015-09-28for loop variant without closure requiredKathy Gray
2015-09-28basic untested ocaml boiler plateKathy Gray
2015-09-28Merge branch 'master' of https://bitbucket.org/Peter_Sewell/l2Christopher Pulte
2015-09-28completed pp for E_for expressions, necessary OCaml foreach_inc and ↵Christopher Pulte
foreach_dec declarations in comment
2015-09-28Add initial support for register fieldsKathy Gray
2015-09-28tweak what the output expectsKathy Gray
2015-09-28added rewriter rewrite_defs_remove_vector_concat that should get rid of ↵Christopher Pulte
vector-concat patterns. Not tested.
2015-09-25added something for remove_vector_string_patterns that for a give ↵Christopher Pulte
pattern-match expression produces one without vector_concat patterns, plus a list of variable bindings for slices of the vector. Not finished yet
2015-09-25added something for remove_vector_string_patterns that for a give ↵Christopher Pulte
pattern-match expression produces one without vector_concat patterns, plus a list of variable bindings for slices of the vector. Not finished yet
2015-09-25Potentially working ocaml mode, minus registers with fields, awaiting ↵Kathy Gray
pattern-match rewriting
2015-09-25building version of last change, removing stray )Kathy Gray
2015-09-25Rewrite expressions for ocaml, lifting assignment introductions into a ↵Kathy Gray
special let form to set the scope
2015-09-24Beginning of expression rewriter for ocamlKathy Gray
2015-09-24basic pattern rewriterKathy Gray
2015-09-24Parameterise the rewriter's for multiple different rewritingsKathy Gray
Add a new internal node for moving assignments into scope-preserving expressions that more explicitly define the scope
2015-09-24added 'remove_vector_string_patterns and .._expressions functionsChristopher Pulte
2015-09-23More pretty printingKathy Gray
A few more expressive tags for introducing mutable variables and for tracking local mutations A new pred for detecting bit vectors
2015-09-22Start pretty printing ocaml for sequentialKathy Gray
2015-09-17Type checker checking on case splits properly, and dependency ↵Kathy Gray
transformations restored :)
2015-09-06Turn off debug print outsKathy Gray
2015-09-06Improved type system, so that it catches int where there should be natKathy Gray
Note: the resulting Lem file generated may or may not actually work properly with the interpreter (i.e. it might have too many unknowns); still in the process of debugging some changes there.
2015-08-18Make register fields with concatenated ranges compile nowKathy Gray
2015-08-14Steps towards making constraint solver smarterKathy Gray
2015-08-06Update analysis to merge states and values after branches taken due to ↵Kathy Gray
unknown conditions. Does not merge if one path has resulted in an exit
2015-07-24Turn back off new analysis style until it worksKathy Gray
2015-07-24Merge branch 'master' of bitbucket.org:Peter_Sewell/l2Shaked Flur
2015-07-24added signed_integerShaked Flur
2015-07-24Begin doing better analysis on case splits over unknownsKathy Gray
2015-07-20minor fixesKathy Gray
2015-07-19abbreviate printing of memory values <=9Peter Sewell
2015-07-02fix match_pattern reverse bugKathy Gray
2015-07-01fix equality comparisonKathy Gray
2015-07-01Use set instead of list for tainted valuesKathy Gray
2015-07-01Go on despite the presence of an exit in exhaustive modeKathy Gray
2015-06-30Change rewriter to better reset dec vectors to count from (length - 1) ↵Kathy Gray
instead of whatever random spot they might be in, where functions expect length-n to 0
2015-06-30Fix updating dec vector start bugsKathy Gray
2015-06-29Fix pattern match errorKathy Gray
2015-06-29Return unknown for a == unknown or unknown == a. Fixes issue #15Kathy Gray
2015-06-28Tag enumeration variables properly when introducing themKathy Gray
2015-06-26Better handling of literal true and false (turn them into the expected bit0 ↵Kathy Gray
and bit1); also fix some handling of wmv and eamem.
2015-06-24Support new write memory eventsKathy Gray
2015-06-24Support new memory write events in the sail front end and pretty printerKathy Gray
Events are eamem to signal the memory address to write to and wmv to pass the value to write
2015-06-24Add new outcomes/events separating effective address and value for memory writesKathy Gray
2015-06-22Fixes issue #12Kathy Gray