Skip to content

Implement DeadNTermTagsElim transform with tests - #15

Open
AlanPietrasz wants to merge 4 commits into
fram-lang:masterfrom
AlanPietrasz:feature/9-dead-nterm-tags-elim
Open

Implement DeadNTermTagsElim transform with tests#15
AlanPietrasz wants to merge 4 commits into
fram-lang:masterfrom
AlanPietrasz:feature/9-dead-nterm-tags-elim

Conversation

@AlanPietrasz

@AlanPietrasz AlanPietrasz commented Jun 27, 2026

Copy link
Copy Markdown

#9
Implemented DeadNTermTagsElim.

The transform computes a conservative set of possible non-terminal tags with a fixed-point analysis and removes tag rules whose conditions cannot be satisfied.
It handles unless by checking satisfiability of cond AND NOT unless.
It assumes valid RichGrammar; invalid tag-condition bindings should be caught by ToRichGrammar/InternalCheck.
Added regression tests for impossible argument tags, fixed-point propagation, unless, multiple tags, and split-level-generated dead tags.

@AlanPietrasz
AlanPietrasz force-pushed the feature/9-dead-nterm-tags-elim branch from cfe9e1d to 7bf2b0e Compare June 27, 2026 14:50
@AlanPietrasz
AlanPietrasz marked this pull request as ready for review June 27, 2026 15:07
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.

1 participant