summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xagate2
-rwxr-xr-xagate.ml19
-rw-r--r--bin/main.ml18
3 files changed, 34 insertions, 5 deletions
diff --git a/agate b/agate
deleted file mode 100755
index 6b4eeee..0000000
--- a/agate
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec dune exec agate -- $*
diff --git a/agate.ml b/agate.ml
new file mode 100755
index 0000000..0e44939
--- /dev/null
+++ b/agate.ml
@@ -0,0 +1,19 @@
+#!/usr/bin/env ocaml
+
+type interpreter = {
+ mutable stack : int list
+}
+
+type token = Word of string
+
+let tokenize line : token list =
+ String.split_on_char ' ' line |> List.map (fun s -> Word s)
+
+let parse line =
+ let _tokens = tokenize line in
+ ()
+
+let () =
+ let line = input_line stdin |> parse in
+ print_string "HI" |> print_newline
+
diff --git a/bin/main.ml b/bin/main.ml
index 2472a93..bb0d6ac 100644
--- a/bin/main.ml
+++ b/bin/main.ml
@@ -1,5 +1,17 @@
-open Angstrom
+type interpreter = {
+ stack : int list
+}
-let parse (str:string) : unit = num str
+type token = Word of string
+
+let tokenize line : token list =
+ String.split_on_char ' ' line |> List.map (fun s -> Word s)
+
+let parse line =
+ let _tokens = tokenize line in
+ ()
+
+let () =
+ let line = input_line stdin |> parse in
+ print_string "HI" |> print_newline
-let () = parse ""