Commit Graph

7 Commits

Author SHA1 Message Date
Thomas Sewell dffc8cf0df c-parser: improve tracing
Unify some tracing features that didn't go through the Feedback structure.

Add config to isar_install allowing Feedback to be traced to a file in real
time as well as to standard Isabelle output channels.
2017-05-18 15:23:09 +10:00
Thomas Sewell a04a489c21 c-parser: add hook to ignore more asm statements if needed 2017-05-16 11:27:03 +10:00
Thomas Sewell cc4b4102b7 Add a facility for ignoring complex asm.
To restore some previous functionality, add a mechanism by which an __asm__
statement too complex to be translated can still be ignored (handled as an
empty statement). A demo file does this for a wrapper around "nop".

Also use this facility to support legacy camkes-glue proofs which assume
that the software interrupt operator "swi" doesn't break anything.
2016-12-01 17:08:00 +11:00
Thomas Sewell 8e7c55c1a5 Handling of AsmStmt in c-parser, more tests.
The C-parser contains a full parser for __asm__ syntax but
up until now hasn't done anything with it. Instead we export
some semantics. It's unspecified exactly what these semantics
are but they are parametrised with the __asm__ semantics that
went in to them, so the translation validation has something
to reason about.

Tweak modifies proofs as a result, and add some more test files.
2016-12-01 17:07:54 +11:00
Gerwin Klein b3dba84255 C-Parser 2015 update 2015-05-02 21:43:17 +02:00
Michael Norrish cc996ca9ca Properly fix JIRA VER-439
The handling of local static variables is now part of a general
improvement in the handling of all the "munging" that the parser does.

*Munging* is the process of renaming variables so that Isabelle can cope
with them.  There are at least three different forms of munging at the
moment:

- static locals get munged so that multiple static locals (which have to
  be treated as globals) can co-exist with the same source name.
- local variables of the same source name but different types have to be
  able to co-exist
- variables with legitimate C names but illegal Isabelle names have to
  be allowed

The new structure MString implements an opaque version of string
designed to make it clear to the typechecker that certain strings are
"munged".
2015-04-09 15:09:29 +10:00
Gerwin Klein 2a03e81df4 Import release snapshot. 2014-07-14 21:32:44 +02:00