Summary Files Commits Branches @commit @diff @stats
path: root / src / StringConsumer / WhitespaceConsumer.cl
diff options
context:
space:
mode:
Commitac5b073138ed3cd8073eed8eea053a1f4799fc25 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-11-01 16:45:32 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-11-01 16:46:02 +0200
Filesb1a6dc7f14a0944b6a3dadf36ca5e315d832e3a3 /src/StringConsumer/WhitespaceConsumer.cl
cool-self-hosted-ac5b073138ed3cd8073eed8eea053a1f4799fc25.tar
cool-self-hosted-ac5b073138ed3cd8073eed8eea053a1f4799fc25.tar.gz
cool-self-hosted-ac5b073138ed3cd8073eed8eea053a1f4799fc25.zip
Parentb43c94ca62a747f2f9fb222cdf887c041dd544bb (diff)
feat(StringConsumer): Move most whitespace consumer logic into a more generic class
1 files changed, 7 insertions, 9 deletions
-rw-r--r--src/StringConsumer/WhitespaceConsumer.cl16
diff --git a/src/StringConsumer/WhitespaceConsumer.cl b/src/StringConsumer/WhitespaceConsumer.cl
index 4c0b8b5..8f20385 100644
--- a/src/StringConsumer/WhitespaceConsumer.cl
+++ b/src/StringConsumer/WhitespaceConsumer.cl
@@ -1,12 +1,10 @@
-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;
+class WhitespaceConsumer inherits IWordConsumer {
+ init() : IStringConsumer {{
+ matched_words <- matched_words
+ .push(" ")
+ .push("\t")
+ ;
+ self;
}};
token() : IToken {