lh-l4v/tools/c-parser/standalone-parser
Gerwin Klein 26807f74d9
c-parser: adapt standalone parser to Isabelle2023
The code draws in table.ML from the Isabelle source, which changed
in the 2023 release. This commit adds further library functions from
Isabelle library.ML and extracts the parts of unsynchronized.ML that
work with mlton.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-10-06 14:31:27 +11:00
..
GetOpt.sig spdx: review missing copyright & license info 2020-03-16 14:19:15 +08:00
GetOpt.sml spdx: review missing copyright & license info 2020-03-16 14:19:15 +08:00
Makefile c-parser: fix default target for standalone parser 2022-11-30 10:27:59 +11:00
README.md license: provide documentation under CC-BY-SA-4.0 2020-03-16 14:19:15 +08:00
basics.sml c-parser: adapt standalone parser to Isabelle2023 2023-10-06 14:31:27 +11:00
c-parser licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
c-parser.mlb c-parser: adapt standalone parser to Isabelle2023 2023-10-06 14:31:27 +11:00
library.ML c-parser: adapt standalone parser to Isabelle2023 2023-10-06 14:31:27 +11:00
main.sml cparser: annotate AST printing for top-level decls 2022-05-10 16:40:42 +10:00
mlton-cparser.sml licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
mlton-tokenizer.sml licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
poly-cparser.ML licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
poly-tokenizer.ML licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
tokenizer licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
tokenizer.mlb c-parser: adapt standalone parser to Isabelle2023 2023-10-06 14:31:27 +11:00
tokenizer.sml licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
unsynchronized.ML c-parser: adapt standalone parser to Isabelle2023 2023-10-06 14:31:27 +11:00

README.md

Standalone Isabelle/C Parser

This directory contains a standalone executable build of the Isabelle/C parser for lightweight testing whether a C program falls into the verification C subset.

Note that this is only the parser, not the Isabelle translation. Programs that pass the parse may still fail in translation.

Dependencies

This build works best with the mlton compiler, available from

http://mlton.org

PolyML has worked as well in the past, but may require some additional setup for 64bit platforms.