diff options
| -rwxr-xr-x | agate | 2 | ||||
| -rwxr-xr-x | agate.ml | 19 | ||||
| -rw-r--r-- | bin/main.ml | 18 |
3 files changed, 34 insertions, 5 deletions
@@ -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 "" |
