#
3de6da44 |
|
27-Mar-2018 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix examples/l3-machine-code
|
#
d530f31c |
|
21-Sep-2017 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Add conversion INT_WORD_GROUND_CONV.
|
#
268ca9e2 |
|
06-Sep-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Avoid "inventing new type variable" messages when loading some Lib files.
|
#
6f9db12d |
|
14-Jul-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Add some extra helper functions within utilsLib.
|
#
996ac857 |
|
19-Jun-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Use <=> instead of = for some boolean equalities
|
#
d424454c |
|
19-Jun-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make l3-machine-code/utilsLib parse wrt a specific grammar
|
#
9e04470a |
|
19-Jun-2016 |
Yong Kiam <tanyongkiam@gmail.com> |
Add brackets to reduce sensitivity to equality looseness
|
#
a26cf18e |
|
06-May-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Speedup CASE_RAND_CONV.
|
#
2d952b27 |
|
05-May-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Remove a print_thm in CASE_RAND_CONV (used in testing).
|
#
e4b57460 |
|
06-May-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Implement CASE_RAND_CONV. This is still somewhat experimental - it can convert instances of f (case x of .. => y1 | .. => y2 | .. => yn) to case x of .. => f y1 | .. => f y2 | .. => f yn
|
#
25bc4063 |
|
06-May-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update some Holmake files to use CLINE_OPTIONS.
|
#
fdeae967 |
|
29-Apr-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update for the latest version of L3. Changes have been made when exporting operations of the form: `f : args -> state -> value * state` If the state is not changed then this is now exported as `f : args -> state -> value` If the state is changed but the `value` type is `unit` then it this is now exported as `f : args -> state -> state`.
|
#
9652789f |
|
29-Mar-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Support for simplifying and evaluating enumerated type representation/abstraction maps. For example, given Datatype `enum = one | two`; the following now works > EVAL ``num2enum 1``; val it = |- num2enum 1 = two: thm > EVAL ``enum2num two``; val it = |- enum2num two = 1: thm > SIMP_CONV (srw_ss()) [] ``enum2num two``; val it = |- enum2num two = 1: thm > SIMP_CONV (srw_ss()) [] ``num2enum 1``; val it = |- num2enum 1 = two: thm This also works when building custom compsets using computeLib. add_datatype_info. NOTE: This change may break some proofs (some in example/ARM have been fixed).
|
#
d7726677 |
|
15-Feb-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update L3 examples. Most changes relate to Poly/ML moving to fixed-width integers.
|
#
d5ee45bd |
|
20-Jan-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Various updates to the L3 examples. Most changes are brought about by improvements and generalisations within stateLib and utilsLib. A Holmakefile has been added to a new decompilers sub-directory and some *decomp_demoScript files have also been added. This makes it easier to perform regression testing.
|
#
61ada824 |
|
11-Nov-2015 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Print out configuration options when an unrecognised option is supplied.
|
#
f69520e1 |
|
16-Oct-2015 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update model for latest version of L3.
|
#
cd6c9672 |
|
05-Mar-2015 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Towards decompilation of MIPS. Fails for code with branches. Contains minor changes elsewhere (e.g. handling of endianness and quotations).
|
#
5119d3f3 |
|
05-Feb-2015 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update ARM tools. Provides support for a few more instructions.
|
#
a43765ce |
|
01-Sep-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Improvement for utilsLib.add_datatypes.
|
#
bbe4fa68 |
|
27-Jul-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Update for L3 examples. Fixes a potential problem with the handling of word replicate. Moves some shared code into stateLib (the register_combinations function). Some other minor fixes.
|
#
8651dcdc |
|
11-Jul-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Fix for utilsLib.Run_CONV.
|
#
94a38f25 |
|
10-Jul-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Tweaks within utilsLib.
|
#
4a32990b |
|
08-Jul-2014 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Move some shared code into utilsLib.
|
#
e5073aed |
|
04-Nov-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Updates for machine-code tools. Added support for introducing SEP_ARRAY predicates for memory operations (applied to the ARM and M0 models).
|
#
e609174b |
|
16-Oct-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
The ARM-M0 model is now hooked up to the "core/fast" decompiler.
|
#
ea82f495 |
|
30-Aug-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
The Hoare-triples for PC-relative loads now have immediate values appearing in the code-pool. This affects the triples that are generated for instruction such as "ldr r1, [pc, #12]". The tools for the other ISA models need minor updates following changes in stateLib.
|
#
b3d73d40 |
|
22-Aug-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Support more ARM VFP instructions. Adds VMOV, VCMP and VMRS.
|
#
788183c5 |
|
21-Jun-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Changes to the standard L3 ARM model. These have been brought about by minor modifications to the L3 export (a little bit more simplification occurs).
|
#
1b7b89d9 |
|
10-May-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Updates to l3-machine-code. Includes a monadic version of the ARM model, which includes data aborts.
|
#
88836d23 |
|
22-Jan-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Add tool support for LDM instructions that load to the PC, i.e. those that perform a branch.
|
#
bb9064c1 |
|
09-Jan-2013 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
New ARM and x86 instruction set models, with tool support for generating Hoare triples. The new models are generated using a domain specific language; see ITP 2012 paper: "Directions in ISA Specification" (LNCS 7406). The tools should be quite a bit faster than those found in examples/ARM/v7 and examples/machine-code. However, they are less extensive (this is work-in-progress).
|