From 2751b7428f3cd1d652e550b4dd68ebb1236d1950 Mon Sep 17 00:00:00 2001 From: Scott Richmond Date: Sun, 20 Feb 2022 18:39:18 -0500 Subject: [PATCH] Whitespace should not return errors --- src/ludus/scanner.clj | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ludus/scanner.clj b/src/ludus/scanner.clj index 6fa0fa6..e620cb4 100644 --- a/src/ludus/scanner.clj +++ b/src/ludus/scanner.clj @@ -129,7 +129,7 @@ nil (::line scanner) (::start scanner)) - err-token (assoc token :msg msg) + err-token (assoc token :message msg) ] (-> scanner (update ::errors conj err-token) @@ -243,6 +243,7 @@ (add-error scanner (str "Expected <-. Got " char next))) ;; |> + ;; Consider => , with =>> for bind \| (if (= next \>) (add-token (advance scanner) ::token/pipeline) (add-error scanner (str "Expected |>. Got " char next))) @@ -294,7 +295,7 @@ ;; word matches (cond - ;; for now, don't add whitespace tokens + (whitespace? char) scanner ;; for now just skip whitespace characters (digit? char) (add-number char scanner) (alpha? char) (add-word char scanner) :else (add-error scanner (str "Unexpected character: " char)))))) @@ -309,3 +310,10 @@ {:tokens (::tokens scanner) :errors (::errors scanner)}) (recur (-> scanner (scan-token) (next-token)))))) + + +(do + (def source "abc nil") + + (pp/pprint (scan source)) +)