A proposed new interface for skipping characters automatically #464
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I implemented this new interface for Scanners but haven't yet implemented it for RegexParsers; implementing it in the obvious way for RegexParsers would create performance issues (likely making a linear process quadratic). Instead, I've pushed this to start a discussion about whether this interface is something the maintainers would like to see implemented.
The term whitespace is being used somewhat generously here; comments are not whitespace but are skipped, just as whitespace is. I renamed the
apply
method toparse
so thatapply
could be called as before but that the desired skipping behavior would occur throughout. This has the added benefit of adding explicit meaning to theparse
method, which subclasses will implement.This PR begins to address #320 and #25