Skip to content

Implement eager pruning of shadowed configs #1

@sharwell

Description

@sharwell

In local prediction, a config is shadowed if a higher-priority configuration (according to conflict resolution rules) consumes a superset of its potential inputs. Shadowing occurs in at least the following cases:

  • The local configuration (1, 1, [3]) accepts a superset of the inputs of (1, 1, [3 4]) since the invoking state 4 will be in the global follow of state 3.
  • The local configuration (1, 1, []) is ambiguous with the configuration (1, 2, []), but the former will always be chosen according to min-alts conflict resolution policy.
  • The local configuration (1, 1, []) is ambiguous with the configuration (1, 1, [], {1:0}?). The predicated config is shadowed by a containing unpredicated config. Note: pruning predicated configs is only valid if the rules for predicate resolution are changed from the "first true predicate" policy to a "minimum valid alt" policy.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions