Adding some notes on the exit matcher loop issue.
This commit is contained in:
parent
188fdaacbc
commit
e7397f818d
35
notes/exit_matcher_loop_notes.txt
Normal file
35
notes/exit_matcher_loop_notes.txt
Normal file
@ -0,0 +1,35 @@
|
||||
Headings add exit matcher for heading
|
||||
|
||||
Paragraphs add exit matcher for elements (but it should be sans paragraph)
|
||||
|
||||
|
||||
|
||||
|
||||
* foo
|
||||
* bar
|
||||
* baz
|
||||
|
||||
context tree -> ()
|
||||
|
||||
match * foo
|
||||
|
||||
context tree -> exit(heading matcher)
|
||||
|
||||
check exit
|
||||
invoke heading matcher
|
||||
check exit
|
||||
invoke heading matcher
|
||||
check exit
|
||||
invoke heading matcher
|
||||
adds second heading matcher exit
|
||||
|
||||
|
||||
Ways around this:
|
||||
- Always parse SOMETHING before checking for exit
|
||||
- Doesn't always seem possible
|
||||
- Disable exit matchers during exit check
|
||||
- Seems like it would break syntax
|
||||
- Have separate parsers for the beginning of the exit condition (for example, checking for just the headline instead of the full heading parser)
|
||||
- Won't be possible with paragraphs ending at any other element
|
||||
- Check exit matchers in parent parser
|
||||
- Will this work? seems like it would just create larger loops
|
@ -0,0 +1,2 @@
|
||||
foo bar baz
|
||||
1. lorem
|
Loading…
Reference in New Issue
Block a user