[Arc] Refactor C++ header generator script to use Jinja templates #7929
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.
This commit refactors the Python script for generating C++ headers by replacing hard-coded
printstatements with Jinja templates. The template is now independently defined within the script, improving code readability and maintainability. The output remains consistent with the previous version.The bare statements are also refactored into several functions. They are put into the
if __name__ == "__main__":block to avoid being executed when imported by other modules.A test has been run to see that this change does not make the output differ. Selected test sources include simple circuits, existing circuits in the arcilator's tests, and risc-v mini. The circt source code does not have a test for this Python script, so this test is not provided in the committed files.