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
(* SPDX-License-Identifier: AGPL-3.0-or-later *)
(* Copyright © 2021-2026 OCamlPro *)
(* Written by the Owi programmers *)
open Syntax
let link_state () =
Link.State.empty ()
|> Link.Extern.modul ~name:"owi" Abstract_wasm_ffi.symbolic_extern_module
let cmd ~source_file ~unsafe =
let link_state = link_state () in
let+ m, link_state =
Compile.File.until_link ~unsafe ~name:None link_state source_file
in
let (_abstract_invariant : Abstract_invariant.t) =
Abstract_driver.expr link_state m
in
()
let from_binary m ~unsafe =
let link_state = link_state () in
let+ m, link_state =
Compile.Binary.until_link ~unsafe ~name:None link_state m
in
Abstract_driver.expr link_state m