Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit61f138b20a2a26a08155f414049acc0bb348ed31 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-11-01 17:19:28 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-11-01 17:19:28 +0200
Filesa9765005fab4894081197000836fa8053c895cb1
cool-self-hosted-61f138b20a2a26a08155f414049acc0bb348ed31.tar
cool-self-hosted-61f138b20a2a26a08155f414049acc0bb348ed31.tar.gz
cool-self-hosted-61f138b20a2a26a08155f414049acc0bb348ed31.zip
Parent8e9fcf5323a5089ac889115f2ba055d69afe72d4 (diff)
feat(main): Try to consume the entire input
2 files changed, 9 insertions, 4 deletions
-rw-r--r--src/StringConsumer/StringConsumerEngine.cl4
-rw-r--r--src/main.cl9
diff --git a/src/StringConsumer/StringConsumerEngine.cl b/src/StringConsumer/StringConsumerEngine.cl
index 585b76d..6fe4403 100644
--- a/src/StringConsumer/StringConsumerEngine.cl
+++ b/src/StringConsumer/StringConsumerEngine.cl
@@ -33,4 +33,8 @@ class StringConsumerEngine inherits System {
out() : Object {
out_string(str)
};
+
+ empty() : Bool {
+ str = ""
+ };
};
diff --git a/src/main.cl b/src/main.cl
index 9ebb87b..4040444 100644
--- a/src/main.cl
+++ b/src/main.cl
@@ -2,9 +2,10 @@ class Main inherits System {
sce: StringConsumerEngine <- new StringConsumerEngine;
main() : Object {{
- sce.init(" abc");
- sce.try_consume();
- sce.try_consume();
- sce.out();
+ sce.init(" ");
+ while not sce.empty()
+ loop
+ assert(sce.try_consume(), "main", "couldn't consume entire input!")
+ pool;
}};
};