Skip to content

Make every normative tag a normative rule; drop rule definitions and params tools - #262

Merged
Bill Traynor (wmat) merged 1 commit into
riscv:mainfrom
davidharrishmc:tags-only-norm-rules
Sep 25, 2026
Merged

Bill Traynor (wmat) merged 1 commit into
riscv:mainfrom
davidharrishmc:tags-only-norm-rules

Conversation

@davidharrishmc

Copy link
Copy Markdown
Contributor

create_normative_rules.py now builds the normative rules from the tag files alone: each norm: tag is one rule, named by the tag without the norm: prefix, with its chapter taken from the tag file's section tree (tags.rb now records each section's level). The rule-definition YAML (-d), its schema, the many:1/1:many rule-to-tag mapping, context tags and the implementation-defined behavior metadata and tables are removed, along with the params tools that consumed that metadata (create_params.py, create_param_tables.py, export_params_to_udb.py and their schemas and tests). The output JSON is now a flat list of {name, chapter_name, text, tag_filename, stds_doc_url}. riscv-isa-manual switches to this in a companion PR.

🤖 Generated with Claude Code

…params tools

create_normative_rules.py now reads only the tag files: each norm: tag is one
normative rule named by the tag without the norm: prefix, and its chapter comes
from the tag file's section tree (tags.rb now records each section's level).
The rule-definition YAML (-d), its schema, the many:1/1:many mapping, context
tags, implementation-defined behavior metadata and tables, and the params tools
that depended on them (create_params.py, create_param_tables.py,
export_params_to_udb.py and their schemas and tests) are removed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>
@jordancarlin

Copy link
Copy Markdown

Bill Traynor (@wmat) can you please merge? We are simplifying the normative rule flow.

@wmat
Bill Traynor (wmat) merged commit a1ec3ed into riscv:main Sep 25, 2026
3 checks passed
@wmat

Copy link
Copy Markdown
Collaborator

Done.

David Harris (davidharrishmc) added a commit to davidharrishmc/riscv-isa-manual that referenced this pull request Sep 25, 2026
Point the submodule at a1ec3edf, the merge of riscv/docs-resources#262
on docs-resources main, instead of the PR's head commit 71a0f2ff.
The two commits have the same tree.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>
Jordan Carlin (jordancarlin) added a commit to riscv/riscv-isa-manual that referenced this pull request Sep 26, 2026
… YAML (#3422)

* Make every normative tag a normative rule; delete the rule definition YAML

A normative rule is now simply a norm: tag, named by the tag without the norm:
prefix, so the per-chapter rule definition files in normative_rule_defs/ and
their rule-to-tag mapping (including implementation-defined behavior metadata)
are removed. The Makefile no longer passes definition files to
create_normative_rules.py, docs-resources is updated to the version of that
tool that reads only the tags, and tagging_normative_rules.adoc drops the
mapping and definition-file guidance.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>

* tagging_normative_rules: drop two sentences and refresh the rv64 example

Drop the sentence that says one-to-many and many-to-one mappings are not
done, and the sentence about tagging implementation-defined behaviors,
neither of which is needed once every tag is a rule.

The example quoted rv64.adoc tags that have since been renamed
(rv64_x_sz, shamt_rv64, lw_rv64i_op, lwu_rv64i_op, subword_rv64i_load).
Quote the current text and tag names instead, and add sllw_srlw_sraw_op
to show the paragraph-anchor form next to the inline form.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>

* Bump docs-resources to the merged riscv/docs-resources#262

Point the submodule at a1ec3edf, the merge of riscv/docs-resources#262
on docs-resources main, instead of the PR's head commit 71a0f2ff.
The two commits have the same tree.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>

---------

Signed-off-by: David Harris <David_Harris@hmc.edu>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Jordan Carlin <jcarlin@qti.qualcomm.com>
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.

3 participants