Summary Files Commits Branches @commit @diff @stats
path: root / src / StringConsumer / HigherOrderConsumers / IfConsumer.cl
diff options
context:
space:
mode:
1 files changed, 14 insertions, 0 deletions
-rw-r--r--src/StringConsumer/HigherOrderConsumers/IfConsumer.cl14
diff --git a/src/StringConsumer/HigherOrderConsumers/IfConsumer.cl b/src/StringConsumer/HigherOrderConsumers/IfConsumer.cl
new file mode 100644
index 0000000..431f79b
--- /dev/null
+++ b/src/StringConsumer/HigherOrderConsumers/IfConsumer.cl
@@ -0,0 +1,14 @@
+class IfConsumer inherits IHigherOrderConsumer {
+ ifc: IStringConsumer <- (new KeywordsIfConsumer).init();
+
+ consume(s: String) : Int {{
+ consumed_length <- 0;
+ if did(ifc.consume(s))
+ then
+ token <- ifc.token()
+ else
+ void
+ fi;
+ consumed_length;
+ }};
+};