You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is there a recommended / working way of using Rowan to parse a grammar that requires a ton of backtracking? For my use case, forward-parsing and wrapping using checkpoints becomes incredibly hard to understand and convolutes my code up a lot.
Is there a way to "revert" the builder? A simple way to rollback would solve a lot of my problems, even if it is a little less efficient.
The text was updated successfully, but these errors were encountered:
In my parser from scratch (based on rust-analyzer's design), instead of building the tree and then discarding it, I have another function that just "parses" without pushing to the tree, only advances are performed. It does not parse the entire syntax, but only up to the point where the ambiguity is resolved. Then, the parser position is reverted and an appropriate function is called to parse disambiguated syntax. This way modifying the tree is avoided, which in theory should be faster. However, this results in (almost) duplicate code. Best ambiguity is no ambiguity. Unfortunately, the amount of available ASCII bracket characters is too limiting in my case.
Is there a recommended / working way of using Rowan to parse a grammar that requires a ton of backtracking? For my use case, forward-parsing and wrapping using checkpoints becomes incredibly hard to understand and convolutes my code up a lot.
Is there a way to "revert" the builder? A simple way to rollback would solve a lot of my problems, even if it is a little less efficient.
The text was updated successfully, but these errors were encountered: