gencpp/scripts
Ed_ d36c3fa847 Single header generates again, some more cleanup.
Looking into properly dealing with empty lines...

I want to preserve the text's empty lines in the AST for serialization purposes (perserve formatting for gapes between definitions).
Don't want to introduce the possibility of it breaking though, so will have to ignore empty_lines in a general way (if they are in a bad spot).
Attempted to cover that by having TokArray::current() auto-skip empty lines and eat as well if the type doesn't match.
2023-08-03 23:18:33 -04:00
..
msvc Progress toward preprocessor parsing, lexing works, parsing does not. 2023-07-30 18:55:57 -04:00
.clang-format Heavy refactor.. 2023-08-03 11:01:43 -04:00
bootstrap.ci.ps1 Single header generates again, some more cleanup. 2023-08-03 23:18:33 -04:00
bootstrap.ps1 some cleanup of unused macros in test files, preparing bootstrap and single header code + scripts 2023-07-24 18:51:49 -04:00
clean.ps1 Update to scripts, readme 2023-07-28 03:15:50 -04:00
genccp.natstepfilter Fixes to memory mangment, library is much faster now. 2023-07-16 18:00:07 -04:00
gencpp.natvis Suppeort for trailing specifiers for member functions, operators, and operator type casts (Untested) 2023-07-24 00:27:13 -04:00
gencpp.refactor Added refactor.ps1 script, fixed the gencpp.refactor script (missing commas) 2023-07-24 23:47:04 -04:00
Readme.md Reorganization of files, refactors, doc updates (WIP) 2023-07-29 05:52:06 -04:00
refactor.ps1 Added refactor.ps1 script, fixed the gencpp.refactor script (missing commas) 2023-07-24 23:47:04 -04:00
singleheader.ci.ps1 Heavy refactor.. 2023-08-03 11:01:43 -04:00
singleheader.ps1 some cleanup of unused macros in test files, preparing bootstrap and single header code + scripts 2023-07-24 18:51:49 -04:00
test.gen_build.ci.ps1 Reorganization of files, refactors, doc updates (WIP) 2023-07-29 05:52:06 -04:00
test.gen_build.ps1 Fixes for test generation (sanity, soa). 2023-07-29 13:15:53 -04:00
test.gen_run.ps1 Heavy refactor.. 2023-08-03 11:01:43 -04:00

Scripts

Generation, testing, and cleanup scripts for the test directory are found here along with natvis and natstepfilter files for debugging.

Refactoring

refactor.ps1 Provides a way to run the refactor program. It uses the gencpp.refactor script to complete a mass refactor of all content within the files of the specified within the script.

Currently refactor only supports naive sort of find and replace feature set and will not be able to rename identifiers excluisvely to a specific context (such as only renaming member names of a specific struct, etc).

Build & Run Scripts

clean.ps1
Remove any generated content from the repository.

bootstrap.ps1
Generate a version of gencpp where components are inlined directly to gen.<hpp/cpp> and gen. <hpp/cpp>
Any heavily preprocessed code is not inlined and are instead generated using the code in the helpers directory.

singlheader.build.ps1
Generate a single-header version of the library where all code that would normally good in the usual four files (see bootstrap) are inlined into a single gen.hpp file.
As with the bootstrap, any heavily preprocessed code is not inlined and instead generated with helper code.

test.gen.build.ps1
Build the metaprogram for generating the test code.

test.gen.ps1
Build (if not already) the metaprogram for generating test code, then run it to generate code.

test.build.ps1
Build and run metaprogram, build test program.

test.run.ps1
Build and run metaprogram, build and run test program.