Commit Graph

636 Commits

Author SHA1 Message Date
Michael McInerney 6812e6d0b6 haskell-translator: use new comment syntax 2019-06-13 16:22:33 +10:00
Gerwin Klein c0a2d54c15 asmrefine: update to Isabelle2019; reduce warnings 2019-06-13 16:22:33 +10:00
Gerwin Klein ea831ceb5c autocorres tests: port to Isabelle2019 2019-06-13 16:22:33 +10:00
Gerwin Klein b812c74c00 autocorres SchorrWaite example: clean up and update to Isabelle2019 2019-06-13 16:22:33 +10:00
Gerwin Klein f3db601e35 autocorres: minor cleanup, remove some warnings 2019-06-13 16:22:33 +10:00
Gerwin Klein 1cbefe0eb7 autocorres: update cartouches for Isabelle2019 2019-06-13 16:22:33 +10:00
Gerwin Klein 3b0699b656 autocorres: Isabelle2019 update 2019-06-13 16:22:33 +10:00
Gerwin Klein 0e48f483bf c-parser: expand $USER_HOME in cpp path name; export cpp_path config 2019-06-13 16:22:33 +10:00
Gerwin Klein e95d1691e1 c-parser: cleanup of horribly old CTypes.thy
Purging old sins, remove all non-terminal auto, indent, etc.
2019-06-13 16:22:33 +10:00
Gerwin Klein 14589157b1 c-parser cleanup: eliminate typ_struct_splits 2019-06-13 16:22:33 +10:00
Gerwin Klein 3ebeaeffab c-parser: more pair-like setup for DTPair (splitting, collapsing) 2019-06-13 16:22:33 +10:00
Gerwin Klein 512c134761 c-parser cleanup: remove warnings, avoid Local_Theory.reset 2019-06-13 16:22:33 +10:00
Gerwin Klein dadcd8f65b c-parser: update to cartouches 2019-06-13 16:22:33 +10:00
Gerwin Klein 081742b738 c-parser: sync Simpl with AFP 2019-06-13 16:22:33 +10:00
Japheth Lim 211fbe6d28 asmrefine: print running time for each function's graph proof
These summary statistics should be useful while not being too verbose.
2019-05-29 14:23:29 +10:00
Japheth Lim f21e440c15 asmrefine: add some rules to help array-of-struct subgoals
This handles the new implementation of `init_freemem` in seL4, and thus
the workaround of seL4 d0d97779cb is no longer required.
2019-05-29 14:23:29 +10:00
Japheth Lim 071ebbd398 lib: move @{mk_term} antiquotation from AutoCorres; add examples 2019-05-17 18:07:59 +10:00
Matthew Brecknell e9ac64ba2d binary: improve support for array access via pointer addition 2019-05-15 14:49:20 +10:00
Matthew Brecknell 976eca1a28 binary: improve support for array access via pointer addition 2019-05-03 13:52:52 +10:00
Edward Pierzchalski 85ec1a61cb c-parser: add type syntax for Ptr and ptr_coerce
A common frustration is seeing a term `Ptr x :: foo ptr` and not being
able to inspect the inferred type `foo` (this is especially true when
`Ptr` occurs within another expression).

Copying the style of `UCAST`, this adds syntax rules for displaying `Ptr
x :: foo ptr` as `PTR(foo) x` and `ptr_coerce (bar :: a ptr) :: b ptr`
as `PTR_COERCE(a -> b) bar`.
2019-05-02 10:34:25 +10:00
Edward Pierzchalski 7cea1ad1b4 lib: don't extend core signatures.
Just because we *can* extend the core SML `List` signature, that doesn't
mean we *should*. It's a neat trick, but it makes it harder to find uses
of the new modules, and obfuscates definitions for very little gain.
2019-03-07 15:29:13 +11: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
Edward Pierzchalski 7ec43436ba c-parser: update test files.
Short-name constants don't exist any more, so we change the (single)
explicit reference to a short name into a long name.
2019-03-07 13:34:32 +11:00
Edward Pierzchalski 5beef4b4e6 c-parser: always emit long names.
Previously, the C parser would define locals differently depending on
the order they appear in the source (the first instance got a short
name, the second etc. got a longer one). This would sometimes make
things break when source was reordered.

Now, the C parser emits the long name for _every_ local, and emits an
abbreviation for backwards-compatibility and convenience for common
variables (like loop indexes `int i`).

Adjusts the Simpl syntax modifiers to work with abbreviations.

Modifies the VCG tactic to try and convert long-name bound variables in
the goal to their abbreviated names.
2019-03-07 13:34:32 +11:00
Thibaut Perami ddf222700f haskell: Update for GrantReply (SELFOUR-6) 2018-12-10 20:01:37 +11:00
Gerwin Klein c53f7850d7 Base ASpec + machine on OptionMonad_ND; fix proof fallout 2018-10-25 12:54:02 +11:00
Edward Pierzchalski d75740201c Remove pure word lemmas from proof/*
Removes redundant lemmas after moving them up to Word_Lib.
2018-10-10 14:15:00 +11:00
Japheth Lim dc626e99d3 autocorres, crefine: remove early AutoCorres–CRefine experiment
This has been superseded by actual AutoCorres integration with CRefine.
2018-09-27 15:03:25 +10:00
Japheth Lim 1b4c3d06cf autocorres: fix external_file declaration 2018-09-26 17:08:34 +10:00
Mitchell Buckley 8173a37c2d Updated specs and proofs for SELFOUR-1491: control IRQ triggering on ARM. 2018-09-19 16:18:09 +10:00
Japheth Lim 38d30a895a autocorres: record date of 1.5 release 2018-09-10 14:18:25 +10:00
Japheth Lim 1af23137f0 autocorres: update release tool for Isabelle2018
Note that we have removed the LIB_FILES manifest and no longer intend
to maintain it manually. Instead, we just extract the entire Lib and
CLib sessions from the L4.verified repository. This means that the
next AutoCorres release will have some unneeded theories and a couple
of files with GPL licenses.
2018-09-06 20:34:59 +10:00
Japheth Lim 703c43fa2b c-parser: update release script and README 2018-09-06 20:34:59 +10:00
Japheth Lim fc94ed7539 c-parser/doc: describe reality of evaluation order semantics (see VER-503) 2018-09-06 20:34:59 +10:00
Japheth Lim 0847265be3 c-parser/doc: better example for target arch files 2018-09-06 20:34:59 +10:00
Japheth Lim cb9492c4fb c-parser/doc: update with x64 array sizes; other minor fixes 2018-09-06 20:34:59 +10:00
Michael Norrish 423606ae60 c-parser: always attach GCC attributes to vars.
Some attributes attached to global variables weren't kept in
the AST if they appeared at the front of the declaration rather
than the back.

For instance, the aligned attribute was lost in this declaration:
   int __attribute__((aligned(16))) x;
but kept if it appeared last:
   int y __attribute__((aligned(16)));

Now fixed.
2018-08-23 18:57:09 +10:00
Gerwin Klein 3101eba8e7 remove trailing whitespace from ulem.sty 2018-08-21 15:15:08 +10:00
Gerwin Klein af056bc00d Isabelle2018 riscv: theory import for c-parser 2018-08-20 09:06:37 +10:00
Gerwin Klein 8af6b2ec1a Isabelle2018: add ulem.sty which is now required by isabelle.sty
(available by default in newer tetex installs, but not older ones)
2018-08-20 09:06:37 +10:00
Gerwin Klein 1383f4ceee Isabelle2018 autocorres: declare external files 2018-08-20 09:06:37 +10:00
Gerwin Klein d4738b079f Isabelle2018: AutoCorresTest 2018-08-20 09:06:36 +10:00
Gerwin Klein 7e29504194 Isabelle2018: AutoCorresDoc 2018-08-20 09:06:36 +10:00
Gerwin Klein 1c82254a3c Isabelle2018: AutoCorres 2018-08-20 09:06:36 +10:00
Gerwin Klein eea38b25c4 Isabelle2018: READMEs and docs 2018-08-20 09:06:36 +10:00
Gerwin Klein 75b38be012 Isabelle2018: new AsmRefine session + test 2018-08-20 09:06:36 +10:00
Gerwin Klein 1ae3a8d65b Isabelle2018: Lib update 2018-08-20 09:06:36 +10:00
Gerwin Klein 4dc3ffb1ba Isabelle2018 c-parser: declare external files 2018-08-20 09:06:36 +10:00
Gerwin Klein 86bad831e2 Isabelle2018: C parser tests 2018-08-20 09:06:36 +10:00
Gerwin Klein b213aa9ba0 Isabelle2018: CParser 2018-08-20 09:06:36 +10:00