Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Disentangle grammar resolution and related PG code (#1018)
Ticks the box in #638 (_Keyword trie inclusion should be reworked to not require synthetic rules over all keywords_) This exposes the resolution step rather than treating it as an implementation detail and doesn't try to shoehorn the DSL v2 items to the old `Grammar` model as much that the PG was based on. Moreover, this breaks up the existing grammar visitor and tries to collect or calculate more properties upfront directly from DSL v2 in order to be more explicit that they not need to depend on the collector state that tracked everything. I didn't submit it initially because I felt I could polish it slightly further (see the `TODO` note) but since I'm focused on EDR now and this cleans up the last important box in #638 (the other one is simply reverting some rules for string literals), I think it's worth reviewing in the current state.
- Loading branch information