-
Notifications
You must be signed in to change notification settings - Fork 164
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
Remove untested parts of BNFC [#265] #307
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This experimental feature has never been integrated into BNFC. It is dead code from the point of view of BNFC. There was some dedicated driver `MultiView.hs` not part of the compilation process or the testsuite. This feature, should interest exist, could be maintained in a fork of BNFC.
Alex 1 has long disappeared, it is not even on hackage. This backend has not been untested for a long time. It is just a burden to keep it compilable when refactorings happen.
Alex version 2 does not support unicode and requires GHC <= 7.0 to build. It is unlikely that Alex 2 is still used actively. The --alex2 backend has not been tested for a while. (BNFC requires now GHC >= 7.10.)
This option has been untested for a long time. The code produced by this module does not readily compile with GHC.
There is only one Alex backend left: Alex3.
This backend hasn't had a maintainer and has never been covered by the testsuite. Alternative language-agnostic tools to generate C# parsers exist, e.g. https://www.npmjs.com/package/syntax-cli .
This module might have been used in isolation, or it was the start of a project to add a GF backend.
Tool https://hackage.haskell.org/package/weeder suggested some unused functions of which I removed some.
Profiles were documented but not tested and did not work out of the box. The profile mode was not really core functionality of BNFC, and design never progressed over the initial stage. (The syntax remained ad-hoc: lists/tuples, no nice syntax for the default cases.) Profiles could be maintained on a fork of BNFC.
Labels can only be identifiers since profiles have been removed.
This BNFC-generated file is not needed to compile BNFC (in the same way as TestBNF is not needed and not in the repo).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Remove untested parts of BNFC [#265].
This PR is not supposed to be merged. It just gathers the patches that remove the untested components of BNFC 2.8.4:
Those will be excluded from BNFC 2.9.