diff options
author | Juan Manuel Tomás <jtomas1815@gmail.com> | 2024-10-12 04:31:28 -0300 |
---|---|---|
committer | Juan Manuel Tomás <jtomas1815@gmail.com> | 2024-10-12 04:31:28 -0300 |
commit | 26653bc01c3ed47983d1c618eef03ff5a73672bf (patch) | |
tree | 3c9761cd945c16132681126e72e44133077e7254 /notes.md | |
parent | 79d0c7ca053d2eb2dc7df5728e0696bbd11def76 (diff) | |
download | monparser-26653bc01c3ed47983d1c618eef03ff5a73672bf.tar.gz monparser-26653bc01c3ed47983d1c618eef03ff5a73672bf.zip |
Error out on (many (optional x))
Diffstat (limited to 'notes.md')
-rw-r--r-- | notes.md | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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. |