From 26fa0559b0689a4647c38a2275c5880148248718 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 1 Nov 2025 18:13:33 +0200 Subject: feat(src/StringConsumer): Add higher order consumers, integer, binary operation and if keywords consumers 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. --- src/StringConsumer/BaseConsumers/IntegerConsumer.cl | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/StringConsumer/BaseConsumers/IntegerConsumer.cl (limited to 'src/StringConsumer/BaseConsumers/IntegerConsumer.cl') diff --git a/src/StringConsumer/BaseConsumers/IntegerConsumer.cl b/src/StringConsumer/BaseConsumers/IntegerConsumer.cl new file mode 100644 index 0000000..5b4cd82 --- /dev/null +++ b/src/StringConsumer/BaseConsumers/IntegerConsumer.cl @@ -0,0 +1,21 @@ +class IntegerConsumer inherits IWordsConsumer { + init() : IStringConsumer {{ + matched_words <- matched_words + .push("0") + .push("1") + .push("2") + .push("3") + .push("4") + .push("5") + .push("6") + .push("7") + .push("8") + .push("9") + ; + self; + }}; + + token() : IToken { + new IntegerToken + }; +}; -- cgit v1.3.1-26-gb76a