summaryrefslogtreecommitdiff
path: root/notes.md
diff options
context:
space:
mode:
authorJuan Manuel Tomás <jtomas1815@gmail.com>2024-10-12 04:31:28 -0300
committerJuan Manuel Tomás <jtomas1815@gmail.com>2024-10-12 04:31:28 -0300
commit26653bc01c3ed47983d1c618eef03ff5a73672bf (patch)
tree3c9761cd945c16132681126e72e44133077e7254 /notes.md
parent79d0c7ca053d2eb2dc7df5728e0696bbd11def76 (diff)
downloadmonparser-26653bc01c3ed47983d1c618eef03ff5a73672bf.tar.gz
monparser-26653bc01c3ed47983d1c618eef03ff5a73672bf.zip
Error out on (many (optional x))
Diffstat (limited to 'notes.md')
-rw-r--r--notes.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/notes.md b/notes.md
index 03ea43e..717613a 100644
--- a/notes.md
+++ b/notes.md
@@ -24,3 +24,10 @@ This will give control to the one-of block to call the next parsing step.
# lazy binding
## Problem
If defining a parser that surrounds another, the inner parser must know about what the delimiter parser is attempting to parse, specially after the inner parser.
+
+## Solution
+Implement lazy binding. This sweeps the next parser across the input until it finds where it first parses, then takes the distance from the current input and calls the current parser with a limit on how much input to parse equal to said difference.
+
+# TODO
+* Change the parser entry so that it takes streams as input. This will make it easier to interact with other packages.
+* Change literal parser into a macro that chains unit parsers. This will take advantage of the BF feature in one-of block.