Commit Graph

32 Commits

Author SHA1 Message Date
Gerwin Klein 3b0699b656 autocorres: Isabelle2019 update 2019-06-13 16:22:33 +10:00
Edward Pierzchalski caf2d2cfef autocorres: use c-parser name demangler
The C parser tracks what short names a given long name corresponds to.
Change AutoCorres to use that information, instead of trying to demangle
the names 'manually'.
2019-03-07 13:34:32 +11:00
Alejandro Gomez-Londono 796887d9b1 Removes all trailing whitespaces 2017-07-12 15:13:51 +10:00
Matthew Brecknell 30122b5d80 Isabelle2016-1: update to new ML API
Update references to renamed ML constants; supply default arguments to
functions with additional parameters; etc.
2017-01-05 14:26:14 +11:00
Japheth Lim 35e260ec0b autocorres: add conceptual documentation for AutoCorresUtil
This is the “hub” that ties most of the other phases together,
so documenting its control/data flow is quite important.
2016-06-30 17:48:20 +10:00
Japheth Lim 62b43e360c autocorres: remove Statistics and print_stats code
The “statistics” output has been disabled for some time, and the
print_stats option has never been part of the publicly documented
interface, so hopefully this removal will go unnoticed.

Some of the terms measured by the stats code are available through
the recently-added trace_* options (but not all).
2016-06-30 10:00:39 +10:00
Japheth Lim b7f8aa0ba3 autocorres: move new modules over the old ones
This is the “last” step of the Jira VER-517/VER-522 refactoring
(still does not support pausing between phases, but the relevant
infrastructure is there now).

Ought to pass AutoCorresTest suite now.
2016-06-30 10:00:39 +10:00
Japheth Lim 4453635a8d autocorres: global context cleanup; minor tweaks to proofs
This removes some modifications that the theories make to the simpset
and other global context, which slightly reduces breakage when importing
AutoCorres into other theories.

Unfortunately, some of the tests/examples seem to rely on specific
modifications to simp and wp, so removing those will be harder.
Also some simplification stages still seem to use the global simpset
instead of AUTOCORRES_SIMPSET; need to debug later.
2016-06-02 16:50:03 +10:00
Japheth Lim 5b0f2ebbcd autocorres: upgrade from Named_Thm to named_theorems
This gets rid of the attribute setup boilerplate (but see Utils.get_rules).
Closes issue VER-293.
2016-06-02 16:50:03 +10:00
Japheth Lim b645a60e87 autocorres: record all intermediate translation data
This allows us to perform incremental translation (VER-518) without
resorting to hacks.
2016-06-02 16:50:03 +10:00
Japheth Lim 45c5aaa875 autocorres: finer control of Collect simps.
Fixes translation of empty Specs.
2016-05-16 21:11:40 +10:00
Japheth Lim f06d5267e6 autocorres: fix translation for Spec, which should work again for simple cases.
Also add basic regression test.
2016-05-11 17:31:17 +10:00
Japheth Lim 0524f8bbe1 autocorres: update AutoCorresFunctionInfo with correct data. 2016-04-20 18:26:07 +10:00
Matthew Brecknell 00c5ab4407 Isabelle2016: autocorres: fixup after merge 2016-02-17 12:52:59 +11:00
Matthew Brecknell c65e290a8b Isabelle2016: merge master into 2016 2016-02-16 12:52:24 +11:00
Japheth Lim 4409abb7d7 autocorres: update thm and cterm instantiations to work in Isabelle2016. 2016-02-11 11:16:00 +11:00
Japheth Lim 594c8a2911 autocorres: syntactic update for Isabelle2016. Now builds, but is not tested. 2016-02-11 11:16:00 +11:00
Japheth Lim 02c008d34c autocorres: add c_locale option for running in a different locale.
Solves issue VER-505.
2016-01-22 14:52:36 +11:00
Japheth Lim 4e386568d3 autocorres: minor cleanup, mostly from previous commit. 2016-01-22 14:49:48 +11:00
Japheth Lim 8954c3ca11 autocorres: use SIMPL semantics for un-translated functions.
Previously, these functions were unsatisfyingly translated to “fail”.
By default, functions are wrapped in the constructs AC_call_simpl
and L1_call_simpl.
2016-01-22 14:49:13 +11:00
Japheth Lim c9b94b5064 autocorres: change generated names more consistently. Add example/regression file.
Closes VER-459 for now.
2015-10-01 15:40:28 +10:00
Japheth Lim da21a822a5 autocorres: remove an expensive rule from the no_opt simpset. 2015-06-11 15:34:56 +10:00
Gerwin Klein 854b89f071 autocorres: 2015 update 2015-05-21 19:49:11 +10:00
Japheth Lim 8025988556 trivial: autocorres: add some type conversions in light of cc996ca.
TODO: look more closely at the newmunge if it potentially affects VER-351.
2015-04-09 17:42:50 +10:00
Japheth Lim 73e28343ae autocorres: no_opt now disables optimisations in SimplConv and TypeStrengthen.
This moves some mandatory optimisations to the L2unfold attribute, which marks
the first use of this attribute only three years after it was defined.
2014-12-04 20:19:26 +11:00
Japheth Lim 5591b0ebf9 autocorres: record which rules were used by L2Opt; enable using "trace_opt" option.
The traces are stored in AutoCorresData under the keys "{L2,HL,WA} {peephole,flow} opt".

"Trace" is currently a misnomer because we actually use Apply_Trace to
dig out the used facts afterward. Completeness is not guaranteed.
2014-12-02 14:31:39 +11:00
Japheth Lim 26b389ae54 autocorres: add "no_opt" option to turn off some simplifications.
No guarantee that this will make autocorres produce the output you want, or produce output at all.

JIRA issue: VER-428
2014-11-24 11:39:21 +11:00
Japheth Lim be9947f3e1 autocorres: experimental support for tracing heap_lift and word_abstract.
See tests/examples/TraceDemo.thy for an example.
2014-10-31 20:02:58 +11:00
David Greenaway 0c004d2a93 Merge branch 'master' into 'isabelle-2014'.
Conflicts:
	proof/drefine/Arch_DR.thy
	proof/drefine/Finalise_DR.thy
	proof/drefine/StateTranslation_D.thy
	sys-init/DuplicateCaps_SI.thy
	sys-init/Proof_SI.thy
	tools/autocorres/tests/examples/SchorrWaite.thy
2014-09-23 14:31:33 +10:00
Japheth Lim 1b2f347e5d autocorres: restore old translation behaviour for heap_update, and fudge L2 cleanup simpset. 2014-09-20 13:05:25 +10:00
Lars Noschinski fe36a97b4d Port AutoCorres to Isabelle 2014-RC0 2014-08-08 17:29:54 +10:00
Gerwin Klein 2a03e81df4 Import release snapshot. 2014-07-14 21:32:44 +02:00