From 97fba5537d7229b74d70bf234b5ee85414f787aa Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Fri, 6 Jul 2018 14:41:56 +0700 Subject: [PATCH] Write lexer to parse %{deps[i]} Signed-off-by: Rudi Grinberg --- src/dune_vars.mli | 1 + src/dune_vars.mll | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 src/dune_vars.mli create mode 100644 src/dune_vars.mll diff --git a/src/dune_vars.mli b/src/dune_vars.mli new file mode 100644 index 00000000..29190372 --- /dev/null +++ b/src/dune_vars.mli @@ -0,0 +1 @@ +val deps : string -> int option diff --git a/src/dune_vars.mll b/src/dune_vars.mll new file mode 100644 index 00000000..8481d9b5 --- /dev/null +++ b/src/dune_vars.mll @@ -0,0 +1,13 @@ +{ + open Stdune +} + +let digit = ['0'-'9'] + +rule deps = parse + | "deps[" (digit+ as i) "]" eof { Some (Int.of_string_exn i) } + | _ { None } + +{ +let deps s = deps (Lexing.from_string s) +}