Remove special-casing for group(_)
#3981
Merged
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.
When we originally added
group(_)
to replace unstructured attributes, we treated it as syntactic sugar where[group(foo1,...,fooN)]
expands internally into[foo1,...,fooN]
.However, on a second look, this expansion is unnecessary -
group(_)
is only relevant in theContext
object used byKILtoKORE
which maps tags in syntax blocks to sets of correspondingProduction
s.In this PR, we then
ProcessGroupAttributes
logic and instead just parsegroup(_)
when we build theContext
.KeyType.UserGroup
group(_)
from the "unrecognized attributes" error message.group(_)
and the whitelist are more established, it feels a bit odd to assume any unrecognized attribute is an attempt to create a group.As a side effect of this change,
syntax
declarations can now only refer to productions by their klabel or group. Previously, any attribute was permitted, and the priority or associativity would apply to everything with that attribute.<cell group="foo"> </cell>
[group(function)]
be treated the same as[function]