Skip to content

Combine merge tools #977

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

Merged
merged 8 commits into from
Oct 31, 2023
Merged

Conversation

BillWagner
Copy link
Member

This PR combines the section renumbering tool with the grammar extraction tool.

The grammar extractor runs after the section renumbering tool. Both tools use the same JSON input to determine the input files.

As part of this PR, update the grammar extraction algorithm to read the existing text from the grammar.md source, discarding the existing grammar productions. That way, any future updates made to the MD source will be automatically picked up by the tool.

This also removes the grammar extractor source from the repo and updates the workflows to run the renumbering tool, but not the grammar extractor when a PR is merged.

Fixes #933

This may be easier to review commit by commit.

For the grammar, we separate the unsafe code extensions. Make that distinction in the clauses.json, the code that reads it, and the section renumbering tool.
The section renumbering tool now replicates the output from the grammar extraction tool.

Refactoring to come.
It's no longer needed because it's functionality has been replicated in the section renumber tool.
Simplify the loop that reads all the grammar productions from parts of the standard, and writes them to the grammar annex.
Read the existing text outside of the ANTLR productions from the existing annex.

That way, we can make any edits  to this text (including any changing section numbers) in the markdown file, rather than in the program source code.
Copy link
Contributor

@jskeet jskeet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good - a few comments, but generally seems like a very useful change :)

@BillWagner BillWagner merged commit 2fb8425 into dotnet:draft-v8 Oct 31, 2023
@BillWagner BillWagner deleted the combine-merge-tools branch October 31, 2023 15:05
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.

[Tools] Single source of truth for clauses in the standard
2 participants