lh-l4v/tools/c-parser
Japheth Lim 26b45dc466 c-parser: automated testing for JIRA VER-881 2018-03-14 17:56:53 +11:00
..
Simpl Isabelle2017: re-import Simpl from the AFP 2017-10-30 12:23:26 +11:00
doc Import release snapshot. 2014-07-14 21:32:44 +02:00
recursive_records Isabelle2016-1: update to new ML API 2017-01-05 14:26:14 +11:00
standalone-parser c-parser: VER-881: process more function calls. 2018-03-14 17:56:53 +11:00
testfiles c-parser: automated testing for JIRA VER-881 2018-03-14 17:56:53 +11:00
tools manually adjust non-obvious cases of tab to space replacement 2017-10-20 14:22:36 +11:00
umm_heap Isabelle2017: remove String_Compare 2017-10-30 12:23:26 +11:00
.gitignore cparser: add support for ARM_HYP platform: umm_heap specs 2017-06-19 14:32:30 +10:00
Absyn-CType.ML c-parser: fix architecture refactor bugs arising 2016-05-10 15:59:00 +10:00
Absyn-Expr.ML Standalone parser now handles large enum consts 2015-04-29 12:04:22 +10:00
Absyn-Serial.ML Removes all trailing whitespaces 2017-07-12 15:13:51 +10:00
Absyn-StmtDecl.ML Standalone C parser: scan for unhandled ASM. 2016-12-06 16:01:23 +11:00
Absyn.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
Binaryset.ML remove most tab characters 2017-10-20 14:22:36 +11:00
CLanguage.thy x64: add new modifies prover 2017-06-22 17:26:51 +10:00
CProof.thy manually adjust non-obvious cases of tab to space replacement 2017-10-20 14:22:36 +11:00
CTranslation.thy Isabelle2017: remove String_Compare 2017-10-30 12:23:26 +11:00
Feedback.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
FunctionalRecordUpdate.ML Export file containing varname munging info 2016-02-15 16:17:19 +11:00
General.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
HPInter.ML Isabelle2017: update c-parser for RC0 2017-10-30 12:23:26 +11:00
INSTALL c-parser: update install instructions 2018-03-02 13:08:16 +11:00
IndirectCalls.thy Removes all trailing whitespaces 2017-07-12 15:13:51 +10:00
IsaMakefile c-parser: fix release script 2018-03-02 15:04:52 +11:00
MANIFEST Finish serialisation code for AST. 2016-07-05 17:37:14 +10:00
MLton-LICENSE Import release snapshot. 2014-07-14 21:32:44 +02:00
MString.ML license-tool: missing license headers + .licenseignore [VER-551] 2016-07-14 16:34:31 +10:00
Makefile c-parser: Removes automatically generated lexer and parser files 2017-07-27 11:19:19 +10:00
MemoryModelExtras-sig.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
MemoryModelExtras.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
ModifiesProofs.thy x64: add new modifies prover 2017-06-22 17:26:51 +10:00
PackedTypes.thy manually adjust non-obvious cases of tab to space replacement 2017-10-20 14:22:36 +11:00
PrettyProgs.thy Isabelle2016-1: syntax: use semantic markup instead of "header" 2017-01-05 14:22:24 +11:00
README c-parser: make munge_info available from standalone-parser 2016-06-14 12:39:03 +10:00
RELEASES Import release snapshot. 2014-07-14 21:32:44 +02:00
ROOT Isabelle2017: update c-parser for RC0 2017-10-30 12:23:26 +11:00
Region.ML remove most tab characters 2017-10-20 14:22:36 +11:00
RegionExtras.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
SourceFile.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
SourcePos.ML remove most tab characters 2017-10-20 14:22:36 +11:00
StaticFun.thy start work on Isabelle 2015 update 2015-04-17 16:19:32 +01:00
StrictC.grm remove most tab characters 2017-10-20 14:22:36 +11:00
StrictC.lex Refactoring as a prelude to handling static/extern 2015-03-17 16:42:46 +11:00
StrictCParser.ML Handle cpp in both standalone and Isabelle parsers 2015-04-10 14:51:36 +10:00
Target-generic32.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
TargetNumbers-sig.ML c-parser: fix architecture refactor bugs arising 2016-05-10 15:59:00 +10:00
UMM_Proofs.ML remove most tab characters 2017-10-20 14:22:36 +11:00
UMM_termstypes.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
basics.ML Properly fix JIRA VER-439 2015-04-09 15:09:29 +10:00
calculate_state.ML remove most tab characters 2017-10-20 14:22:36 +11:00
complit.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
expression_translation.ML Isabelle2016-1: update references to renamed constants and facts 2017-01-05 14:23:05 +11:00
expression_typing.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
globalmakevars manually adjust non-obvious cases of tab to space replacement 2017-10-20 14:22:36 +11:00
heapstatetype.ML remove most tab characters 2017-10-20 14:22:36 +11:00
hp_termstypes.ML remove most tab characters 2017-10-20 14:22:36 +11:00
isa_termstypes.ML Isabelle2016-1: update CParser and AutoCorres to new character representation 2017-01-05 14:27:07 +11:00
isar_install.ML Isabelle2017: update c-parser for RC0 2017-10-30 12:23:26 +11:00
mkrelease c-parser: fix release script 2018-03-02 15:04:52 +11:00
modifies_proofs.ML Isabelle2017: update c-parser for RC0 2017-10-30 12:23:26 +11:00
name_generation.ML Properly fix JIRA VER-439 2015-04-09 15:09:29 +10:00
openUnsynch.ML Import release snapshot. 2014-07-14 21:32:44 +02:00
program_analysis.ML Revert designs, fix with more processing. 2018-03-14 17:56:53 +11:00
smlnj-license.html Import release snapshot. 2014-07-14 21:32:44 +02:00
static-fun.ML remove most tab characters 2017-10-20 14:22:36 +11:00
stmt_translation.ML remove most tab characters 2017-10-20 14:22:36 +11:00
syntax_transforms.ML Handling of AsmStmt in c-parser, more tests. 2016-12-01 17:07:54 +11:00
termstypes-sig.ML Add a facility for ignoring complex asm. 2016-12-01 17:08:00 +11:00
termstypes.ML Add a facility for ignoring complex asm. 2016-12-01 17:08:00 +11:00
topo_sort.ML Remove Isabelle warnings in ML 2015-11-09 14:55:47 +11:00
use.ML Import release snapshot. 2014-07-14 21:32:44 +02:00

README

#
# Copyright 2014, NICTA
#
# This software may be distributed and modified according to the terms of
# the BSD 2-Clause license. Note that NO WARRANTY is provided.
# See "LICENSE_BSD2.txt" for details.
#
# @TAG(NICTA_BSD)
#

This is the NICTA StrictC translation tool.

To install, see the file INSTALL in the src/c-parser directory.

To use:

1. Use the heap CParser that is created by installation
2. Import the theory CTranslation
3. Load ('install') C files into your theories with the Isar command
   install_C_file.

See many examples in the testfiles directory.  For example,
breakcontinue.thy is a fairly involved demonstration of doing things
the hard way.

----------------------------------------------------------------------
The translation tool builds on various open source projects by others.

1. Norbert Schirmer's Simpl language and associated VCG tool.

   Sources for this are found in the Simpl/ directory.  The
   code is covered by an LGPL licence.

   See http://afp.sourceforge.net/entries/Simpl.shtml

2. Code from SML/NJ:
   - an implementation of binary sets (Binaryset.ML)
   - the mllex and mlyacc tools (tools/{mllex,mlyacc})
   - command-line option parsing (standalone-parser/GetOpt)

   This code is covered by SML/NJ's BSD-ish licence.

   See http://www.smlnj.org

3. Code from the mlton compiler:
   - regions during lexing and parsing (Region.ML, SourceFile.ML and
     SourcePos.ML)

   This code is governed by a BSD licence.

   See http://mlton.org