summaryrefslogtreecommitdiff
path: root/autodoc.pl
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2022-12-03 00:12:07 +0100
committerYves Orton <demerphq@gmail.com>2022-12-24 01:17:22 +0100
commitd655b7ce0d9f884dc0965633e816e31c75a953a1 (patch)
treeeb9c110e92bf8b3949451cd147603fcb0bf3273d /autodoc.pl
parent915f2e86e7f36f03ca41bf068e9679a75bc301ae (diff)
downloadperl-d655b7ce0d9f884dc0965633e816e31c75a953a1.tar.gz
regen/HeaderParser.pm - A module to parse our header files
Consistent proper header file parsing with an OO interface. There are various traps and zaps parsing header files, such as line continuations, and multiline comments acting as a line continuation. There are also issues that the naive may overlook such as indented preprocessor directives, and such things. There are also some specialized tasks which we perform to construct header files from other header files, such as grouping content under similar guard clauses together, normalizing guard clauses, and the like. HeaderParser provides an API to handle these issues. The code which needs to read header files, or write header files, can use the HeaderParser to group and normalize the content they are reading or writing. This also frees the code generators from needing to worry about indentation, or such artifacts, HeaderParser normalizes it all away. This patch includes migrating everything to use the new infra, but it does not include some of the changes that would come with that new infra, so it would not pass test on THIS commit. Running make regen should "fix" this, although it is deliberate to make rebasing the branch easier. One of the notable changes in this commit is that embed.fnc is now under control of `make regen` (even though it is an input to `make regen`) and any changes will be automatically tied by running it, even if those changes also trigger other changes. HeaderParser sits underneath it all, so there is no chicken and egg problem that would require running `make regen` twice, the output of processing the modified embed.fnc would be identical to the output of processing the original. fixup
Diffstat (limited to 'autodoc.pl')
0 files changed, 0 insertions, 0 deletions