diff options
author | Yves Orton <demerphq@gmail.com> | 2022-12-03 00:12:07 +0100 |
---|---|---|
committer | Yves Orton <demerphq@gmail.com> | 2022-12-24 01:17:22 +0100 |
commit | d655b7ce0d9f884dc0965633e816e31c75a953a1 (patch) | |
tree | eb9c110e92bf8b3949451cd147603fcb0bf3273d /autodoc.pl | |
parent | 915f2e86e7f36f03ca41bf068e9679a75bc301ae (diff) | |
download | perl-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