diff --git a/src/ludus/grammar.cljc b/src/ludus/grammar.cljc index 7badf19..a786b1e 100644 --- a/src/ludus/grammar.cljc +++ b/src/ludus/grammar.cljc @@ -11,9 +11,7 @@ (declare expression pattern) -; (defp separator choice [:comma :newline :break]) - -(defn separator [] (choice :separator [:comma :newline :break])) +(defp separator choice [:comma :newline :break]) (defp separators quiet one+ separator) diff --git a/src/ludus/scanner.cljc b/src/ludus/scanner.cljc index 4c79bb4..aa64541 100644 --- a/src/ludus/scanner.cljc +++ b/src/ludus/scanner.cljc @@ -84,10 +84,16 @@ [scanner] (subs (:source scanner) (:start scanner) (:current scanner))) +(defn- char-code [char] + #?( + :clj (int char) + :cljs (.charCodeAt char 0) + )) + (defn- char-in-range? [start end char] (and char - (>= (int char) (int start)) - (<= (int char) (int end)))) + (>= (char-code char) (char-code start)) + (<= (char-code char) (char-code end)))) (defn- digit? [c] (char-in-range? \0 \9 c))