about summary refs log tree commit diff stats
path: root/modal/ocaml/_build/default/app
diff options
context:
space:
mode:
Diffstat (limited to 'modal/ocaml/_build/default/app')
-rw-r--r--modal/ocaml/_build/default/app/.main.eobjs/byte/dune__exe__Main.cmibin0 -> 204 bytes
-rw-r--r--modal/ocaml/_build/default/app/.main.eobjs/byte/dune__exe__Main.cmtibin0 -> 1533 bytes
-rw-r--r--modal/ocaml/_build/default/app/.main.eobjs/native/dune__exe__Main.cmxbin0 -> 858 bytes
-rw-r--r--modal/ocaml/_build/default/app/.merlin-conf/exe-mainbin0 -> 774 bytes
-rwxr-xr-xmodal/ocaml/_build/default/app/main.exebin0 -> 1289800 bytes
-rw-r--r--modal/ocaml/_build/default/app/main.ml34
-rw-r--r--modal/ocaml/_build/default/app/main.mli1
7 files changed, 35 insertions, 0 deletions
diff --git a/modal/ocaml/_build/default/app/.main.eobjs/byte/dune__exe__Main.cmi b/modal/ocaml/_build/default/app/.main.eobjs/byte/dune__exe__Main.cmi
new file mode 100644
index 0000000..b80dd28
--- /dev/null
+++ b/modal/ocaml/_build/default/app/.main.eobjs/byte/dune__exe__Main.cmi
Binary files differdiff --git a/modal/ocaml/_build/default/app/.main.eobjs/byte/dune__exe__Main.cmti b/modal/ocaml/_build/default/app/.main.eobjs/byte/dune__exe__Main.cmti
new file mode 100644
index 0000000..5b556ab
--- /dev/null
+++ b/modal/ocaml/_build/default/app/.main.eobjs/byte/dune__exe__Main.cmti
Binary files differdiff --git a/modal/ocaml/_build/default/app/.main.eobjs/native/dune__exe__Main.cmx b/modal/ocaml/_build/default/app/.main.eobjs/native/dune__exe__Main.cmx
new file mode 100644
index 0000000..212f7a3
--- /dev/null
+++ b/modal/ocaml/_build/default/app/.main.eobjs/native/dune__exe__Main.cmx
Binary files differdiff --git a/modal/ocaml/_build/default/app/.merlin-conf/exe-main b/modal/ocaml/_build/default/app/.merlin-conf/exe-main
new file mode 100644
index 0000000..bd3ffbf
--- /dev/null
+++ b/modal/ocaml/_build/default/app/.merlin-conf/exe-main
Binary files differdiff --git a/modal/ocaml/_build/default/app/main.exe b/modal/ocaml/_build/default/app/main.exe
new file mode 100755
index 0000000..a33810e
--- /dev/null
+++ b/modal/ocaml/_build/default/app/main.exe
Binary files differdiff --git a/modal/ocaml/_build/default/app/main.ml b/modal/ocaml/_build/default/app/main.ml
new file mode 100644
index 0000000..63ecfb9
--- /dev/null
+++ b/modal/ocaml/_build/default/app/main.ml
@@ -0,0 +1,34 @@
+module Ast = Modal.Ast
+module Parse = Modal.Parse
+module Eval = Modal.Eval
+module Program = Modal.Program
+
+let () =
+  let usage = "Usage: modal [-q] [-a] [-n] RULES.modal [INPUT]" in
+  if Array.length Sys.argv < 2 then (prerr_endline usage; exit 2);
+  let cfg = Eval.default_config () in
+  let rec parse_flags i =
+    if i < Array.length Sys.argv && String.length Sys.argv.(i) > 0 && Sys.argv.(i).[0] = '-' then (
+      (match Sys.argv.(i) with
+      | "-q" -> cfg.quiet <- true
+      | "-a" -> cfg.allow_access <- true
+      | "-n" -> cfg.cycles <- 0x7fffffff
+      | _ -> ());
+      parse_flags (i + 1))
+    else i
+  in
+  let i = parse_flags 1 in
+  if i >= Array.length Sys.argv then (prerr_endline usage; exit 2);
+  let rules_path = Sys.argv.(i) in
+  let input_arg = if i + 1 < Array.length Sys.argv then Some Sys.argv.(i + 1) else None in
+  let rules, file_input = Program.load_file rules_path in
+  let input =
+    match input_arg with
+    | Some s -> Parse.parse s
+    | None -> (
+        match file_input with Some n -> n | None -> Ast.List [])
+  in
+  let result = Eval.eval ~config:cfg rules input in
+  Format.printf "%a\n" Ast.pp result
+
+
diff --git a/modal/ocaml/_build/default/app/main.mli b/modal/ocaml/_build/default/app/main.mli
new file mode 100644
index 0000000..335ae1f
--- /dev/null
+++ b/modal/ocaml/_build/default/app/main.mli
@@ -0,0 +1 @@
+(* Auto-generated by Dune *)
\ No newline at end of file