blob: 9c48e564718e65a85a181333df93fae13a02a643 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
(************************************************************************)
(* v * The Coq Proof Assistant / The Coq Development Team *)
(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
(* \VV/ **************************************************************)
(* // * This file is distributed under the terms of the *)
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
(* Certification of Imperative Programs / Jean-Christophe Filliâtre *)
(* $Id$ *)
Require Export Extraction.
Extract Inductive unit => unit [ "()" ].
Extract Inductive bool => bool [ true false ].
Extract Inductive sumbool => bool [ true false ].
Require Export Correctness.
Declare ML Module "pextract".
Grammar vernac vernac : ast :=
imperative_ocaml [ "Write" "Caml" "File" stringarg($file)
"[" ne_identarg_list($idl) "]" "." ]
-> [ (IMPERATIVEEXTRACTION $file (VERNACARGLIST ($LIST $idl))) ]
| initialize [ "Initialize" identarg($id) "with" comarg($c) "." ]
-> [ (INITIALIZE $id $c) ]
.
|