Closed
Conversation
Member
Author
|
I did some homework. To go fast we should push as much knowledge as possible into the parser. Why?
Tentative plan:
This way we get a readable/diffable/unambiguous grammar for each component. Parsers will use LALR so they will be fast. We avoid complicated transformations, and we no longer need to manually check that blocks only contain expected variables. And down the road, if for whatever reason we want to distribute parsers without depending on |
Member
Author
|
closing in favor of modflowpy/pyphoenix-project#284, though may reconsider later whether an MF6 codec should move here |
This file contains hidden or 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
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.
Draft lark parser for MF6 input files. Use LALR and refuse the temptation to let ambiguity creep in. TBD if better to keep parser minimal and do more in transformation, or let the parser do more work. If latter we may need to give it definition info to handle the looser varieties of list-based input.