From b43c94ca62a747f2f9fb222cdf887c041dd544bb Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 1 Nov 2025 16:28:08 +0200 Subject: feat!: Add basic lexer components --- src/StringConsumer/WhitespaceConsumer.cl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/StringConsumer/WhitespaceConsumer.cl (limited to 'src/StringConsumer/WhitespaceConsumer.cl') diff --git a/src/StringConsumer/WhitespaceConsumer.cl b/src/StringConsumer/WhitespaceConsumer.cl new file mode 100644 index 0000000..4c0b8b5 --- /dev/null +++ b/src/StringConsumer/WhitespaceConsumer.cl @@ -0,0 +1,15 @@ +class WhitespaceConsumer inherits IStringConsumer { + consume(s: String) : Int {{ + consumed_length <- 0; + while or(s.substr(consumed_length, 1) = " ", + s.substr(consumed_length, 1) = "\t") + loop + consumed_length <- consumed_length + 1 + pool; + consumed_length; + }}; + + token() : IToken { + new WhitespaceToken + }; +}; -- cgit v1.3.1-26-gb76a