文件名称:verified-parser-example:使用 ocamllex 和 Menhir 的 Coq 后端的经过正式验证的解析器的最小示例
文件大小:37KB
文件格式:ZIP
更新时间:2024-07-08 00:19:48
Coq
验证解析器示例 使用 ocamllex 和 Menhir 的 Coq 后端的经过正式验证的解析器的最小示例。 这似乎比实际更简单,因为词法分析器(直接生成的 OCaml)和解析器(从生成的 Coq 中提取的 OCaml)之间的交互是不明显的、不标准化的,并且通常没有记录。 要求 考克 OCaml(应包含 ocamlfind 和 ocamllex) OCaml 电池库 门希尔 在解析器上 Menhir 中存在 Coq 后端(使用--coq标志)。 它起源于并被。 它尚未包含在 Menhir 文档中,但其部分已起草完毕并将很快添加。 CompCert 和这个 repo 是我知道的唯一用这个后端编写的解析器。 CompCert 使用了许多有趣的技术,但由于处理 C 规范中的缺陷所需的预解析器而非常复杂。 已验证解析器的作者 Jacques-Henri Jourdan 撰写了和一篇,在概念和
【文件预览】:
verified-parser-example-master
----Lexer.mll(1KB)
----includes()
--------Specif.ml(537B)
--------Streams.ml(287B)
--------Specif.mli(364B)
--------Streams.mli(171B)
----validator()
--------Validator_safe.v(13KB)
--------Interpreter_safe.v(9KB)
--------Alphabet.v(10KB)
--------Interpreter_complete.v(22KB)
--------Validator_complete.v(17KB)
--------Interpreter_correct.v(8KB)
--------Tuples.v(2KB)
--------Main.v(4KB)
--------Interpreter.v(8KB)
--------Grammar.v(6KB)
--------Automaton.v(7KB)
----LICENSE(1KB)
----Parser.vy(663B)
----Extract.v(230B)
----README.md(2KB)
----Makefile(1KB)
----run.ml(522B)
----Datatypes.v(1KB)