Ed_
2200bcde9a
Need to make the debug_str provided by the AST type aware to provide as much contextual information as possible (finally got to this point with validation). Singleheader test now directly calls clang-format to cleanup the reconstructed copy of the singleheader. Its needed to remove any sort of formatting discrepancies found by the parser since its sensistive to that for new-lines, etc. |
||
---|---|---|
.. | ||
helpers | ||
.clang-format | ||
build.ci.ps1 | ||
build.ps1 | ||
clean.ps1 | ||
genccp.natstepfilter | ||
gencpp.natvis | ||
gencpp.refactor | ||
package_release.ps1 | ||
Readme.md | ||
refactor.ps1 |
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).
Note: The following macros are used with specifiers and token parsing within the library:
- global
- internal
- local_persist
- forceinline
- neverinline
IF they are changed the following files would need adjustment:
./project/enums/ESpecifier.csv
./project/enums/ETokType.csv
./project/helpers/helper.hpp
Build & Run Scripts
clean.ps1
Remove any generated content from the repository.
build.ps1
Build bootstrap, singleheader, or tests. Supports MSVC or clang, release or debug.
args:
bootstrap
singleheader
test
clang
msvc : By default this project builds with clang, specifying msvc will build with MSVC.
debug
release : By default this project builds in debug mode, specifying release will build with optimizations.
package_release.ps1
Will build the project as fast as possible, then package the release into a zip file.
Note: My env is Windows 11 with MSVC 2022 and clang 16.0.6