summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorScott Lawrence <scott+git@ineffectivetheory.com>2024-06-25 21:11:01 -0700
committerScott Lawrence <scott+git@ineffectivetheory.com>2024-06-25 21:11:01 -0700
commit062d3944ee86c273ad3919993185d5901768ef2d (patch)
tree585eeff84f1885c7d8748c267eb5ee171d3271e6 /bin
parent5c245e98d57be64bc329ba7b813a03260e6281c6 (diff)
downloadagate-062d3944ee86c273ad3919993185d5901768ef2d.tar.gz
agate-062d3944ee86c273ad3919993185d5901768ef2d.tar.bz2
agate-062d3944ee86c273ad3919993185d5901768ef2d.zip
Attempting to use sedlex (and maybe Menhir)
Diffstat (limited to 'bin')
-rw-r--r--bin/dune3
-rw-r--r--bin/main.ml12
2 files changed, 13 insertions, 2 deletions
diff --git a/bin/dune b/bin/dune
index 33c70b5..edad4dc 100644
--- a/bin/dune
+++ b/bin/dune
@@ -1,4 +1,5 @@
(executable
(public_name agate)
(name main)
- (libraries agate))
+ (libraries agate sedlex)
+ (preprocess (pps sedlex.ppx)))
diff --git a/bin/main.ml b/bin/main.ml
index 7bf6048..de7cd87 100644
--- a/bin/main.ml
+++ b/bin/main.ml
@@ -1 +1,11 @@
-let () = print_endline "Hello, World!"
+let rec token buf =
+ match%sedlex buf with
+ | white_space -> token buf
+ | "a" -> token buf
+ | "b" -> 2
+ | eof -> 0
+ | _ -> failwith "Unknown token"
+
+let () =
+ let lexbuf = Sedlexing.Utf8.from_string "ab" in
+ print_newline (print_int (token lexbuf))