mirror of
https://github.com/CatalaLang/catala.git
synced 2024-11-08 07:51:43 +03:00
33 lines
1.1 KiB
OCaml
33 lines
1.1 KiB
OCaml
open Catala_utils
|
|
open Driver
|
|
open Js_of_ocaml
|
|
|
|
let () =
|
|
Js.export_all
|
|
(object%js
|
|
method interpret
|
|
(contents : Js.js_string Js.t)
|
|
(scope : Js.js_string Js.t)
|
|
(language : Js.js_string Js.t)
|
|
(trace : bool) =
|
|
let contents = Js.to_string contents in
|
|
let scope = Js.to_string scope in
|
|
let language = Js.to_string language in
|
|
let language =
|
|
try List.assoc (String.lowercase_ascii language) Cli.languages
|
|
with Not_found ->
|
|
Message.error "Unrecognised input locale %S" language
|
|
in
|
|
let options =
|
|
Global.enforce_options
|
|
~input_src:(Contents (contents, "-inline-"))
|
|
~language:(Some language) ~debug:false ~color:Never ~trace ()
|
|
in
|
|
let prg, _type_order =
|
|
Passes.dcalc options ~includes:[] ~optimize:false
|
|
~check_invariants:false ~typed:Shared_ast.Expr.typed
|
|
in
|
|
Shared_ast.Interpreter.interpret_program_dcalc prg
|
|
(Commands.get_scope_uid prg.decl_ctx scope)
|
|
end)
|