summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Lawrence <scott+git@ineffectivetheory.com>2024-06-26 21:16:21 -0700
committerScott Lawrence <scott+git@ineffectivetheory.com>2024-06-26 21:16:21 -0700
commita4c197dea1a0192b93e205daf8738f99a4f039b2 (patch)
tree0d6ff8063a1c0df0174524b1ea239b36821912a6
parent490ab998999e033e91929f63d2deae4900c90375 (diff)
downloadagate-a4c197dea1a0192b93e205daf8738f99a4f039b2.tar.gz
agate-a4c197dea1a0192b93e205daf8738f99a4f039b2.tar.bz2
agate-a4c197dea1a0192b93e205daf8738f99a4f039b2.zip
Possibly shifting to a single script
-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 ""