Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add reference implementation of parser #1152

Merged
merged 2 commits into from
Apr 12, 2021
Merged

Conversation

Gabriella439
Copy link
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
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
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.

None yet

2 participants