diff options
| Commit | 26fa0559b0689a4647c38a2275c5880148248718 (patch) | |
|---|---|---|
| Author | 2025-11-01 18:13:33 +0200 | |
| Committer | 2025-11-01 18:13:33 +0200 | |
| Files | c6e3ad8bcb2a873607bc9d619f5cee22185f1765 /src/StringConsumer/IHigherOrderConsumer.cl | |
| cool-self-hosted-main.tar cool-self-hosted-main.tar.gz cool-self-hosted-main.zip | ||
| Parent | beccf376ecbcc3819cc0d102b3635b6e5f39fa9e (diff) | |
feat(src/StringConsumer): Add higher order consumers, integer, binary operation and if keywords consumers HEAD main
Higher order consumers are called that way because they use other (base)
consumers in their logic. In a sense, the other consumers are parameters
to the higher order consumers.
1 files changed, 11 insertions, 0 deletions
| -rw-r--r-- | src/StringConsumer/IHigherOrderConsumer.cl | 11 |
diff --git a/src/StringConsumer/IHigherOrderConsumer.cl b/src/StringConsumer/IHigherOrderConsumer.cl new file mode 100644 index 0000000..e7325d2 --- /dev/null +++ b/src/StringConsumer/IHigherOrderConsumer.cl @@ -0,0 +1,11 @@ +class IHigherOrderConsumer inherits IStringConsumer { + token: IToken; + + token() : IToken { + token + }; + + did(length: Int) : Bool { + 0 < (consumed_length <- consumed_length + length) + }; +}; |
