Skip to content

Add reference implementation of parser#1152

Merged
Gabriella439 merged 2 commits intomasterfrom
gabriel/standard_parser_2
Apr 12, 2021
Merged

Add reference implementation of parser#1152
Gabriella439 merged 2 commits intomasterfrom
gabriel/standard_parser_2

Conversation

@Gabriella439
Copy link
Copy Markdown
Contributor

The main motivation for this change is to enable testing the reference
implementation before proceeding any further, to make it easier for
people to review changes to the code.

This change adds a reference implementation of the parser using an
LL parsing package (megaparsec) and adds a test suite to verify that
the parser passes all of the parsing success acceptance tests. I have
not yet checked any of the parsing failure tests.

This also begins adding an executable for ease of testing. Currently
all the executable does is print the binary encoding of an expression.

The main motivation for this change is to enable testing the reference
implementation before proceeding any further, to make it easier for
people to review changes to the code.

This change adds a reference implementation of the parser using an
LL parsing package (`megaparsec`) and adds a test suite to verify that
the parser passes all of the parsing success acceptance tests.  I have
not yet checked any of the parsing failure tests.

This also begins adding an executable for ease of testing.  Currently
all the executable does is print the binary encoding of an expression.
@Nadrieril
Copy link
Copy Markdown
Member

Wow that is a lot of work! Thanks!
It looks like you tried to match the abnf grammar closely, will that make updating both at once easy?

@Gabriella439
Copy link
Copy Markdown
Contributor Author

@Nadrieril: Hopefully! 🙂

@Gabriella439 Gabriella439 merged commit e73c6b9 into master Apr 12, 2021
@Gabriella439 Gabriella439 deleted the gabriel/standard_parser_2 branch April 12, 2021 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants