Add support for rust-peg output when working with slices #4
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.
Motivation for change
rust-peg trace statements are in one of two forms.
When the input is a
str
, then the statements are line/column:When the input is a slice, then the statements are indices:
pegviz failed when parsing the index form because it expected only the line/column form.
What changed
This pull request adds support for the index form. There are two parts to the proposed change:
Location
struct to an enum to support both formspos
function to support eitherLocation
formHow do I know it works?
I wrote two integration tests that parse output that I generated from rust-peg. I also tested with output from ironplc (a project I'm building that uses rust-peg) using both the
str
and slice variations of the parser.