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

Refactor code of left-recursive rules processing and get rid of LeftRecursiveRuleWalker.g #38

Merged
merged 3 commits into from
Feb 27, 2024

Conversation

KvanTTT
Copy link
Member

@KvanTTT KvanTTT commented Feb 18, 2024

It simplifies code of processing left-recursive rules and it removes LeftRecursiveRuleWalker.g that will help you to get rid of ANTLR 3 dependency in the future.

…ker.g` dependency

Use handwritten DFS for analyzing rule alternatives.
Improve performance.

Signed-off-by: Ivan Kochurkin <[email protected]>
…e, improve performance

Signed-off-by: Ivan Kochurkin <[email protected]>
@ericvergnaud ericvergnaud requested a review from parrt February 19, 2024 10:09
@ericvergnaud
Copy link
Contributor

@parrt adding you as a reviewer since you may have concerns that we're not aware of. It'd be useful to understand why you chose to rely on antlr rather than hand code processing of left-recursive rules ?

@parrt
Copy link
Member

parrt commented Feb 21, 2024

@parrt adding you as a reviewer since you may have concerns that we're not aware of. It'd be useful to understand why you chose to rely on antlr rather than hand code processing of left-recursive rules ?

We had that tree pattern matcher back in the day so it was easier just to use that then hand code a subtree matcher. at least that's what I remember.

@ericvergnaud ericvergnaud merged commit 1ae5bf4 into dev Feb 27, 2024
10 checks passed
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.

3 participants