Readme update

This commit is contained in:
Edward R. Gonzalez 2023-07-16 03:26:07 -04:00
parent 1f77e39694
commit 8879b757ed
2 changed files with 10 additions and 0 deletions

View File

@ -589,6 +589,8 @@ Editor and Scanner are disabled by default, use `GEN_FEATURE_EDITOR` and `GEN_FE
### Editor is for editing a series of files based on a set of requests provided to it ### Editor is for editing a series of files based on a set of requests provided to it
**Note: Not implemented yet**
* The purpose is to overrite a specific file, it places its contents in a buffer to scan. * The purpose is to overrite a specific file, it places its contents in a buffer to scan.
* Requests are populated using the following interface: * Requests are populated using the following interface:
* add : Add code. * add : Add code.
@ -611,6 +613,8 @@ It will on call add a request to the queue to run the refactor script on the fil
### Scanner allows the user to generate Code ASTs by reading files ### Scanner allows the user to generate Code ASTs by reading files
**Note: Not implemented yet**
* The purpose is to grab definitions to generate metadata or generate new code from these definitions. * The purpose is to grab definitions to generate metadata or generate new code from these definitions.
* Requests are populated using the add( SymbolInfo, Policy ) function. The symbol info is the same as the one used for the editor. So is the case with Policy. * Requests are populated using the add( SymbolInfo, Policy ) function. The symbol info is the same as the one used for the editor. So is the case with Policy.
@ -668,6 +672,9 @@ Names or Content fields are interned strings and thus showed be cached using `ge
* Make a more robust test suite. * Make a more robust test suite.
* Generate a single-header library. * Generate a single-header library.
* Improve the allocation strategy for strings in `Builder`, `AST::to_string`, `Parser::lex`, all three can use some form of slab allocation strategy... * Improve the allocation strategy for strings in `Builder`, `AST::to_string`, `Parser::lex`, all three can use some form of slab allocation strategy...
* Can most likely use a simple slag allocator.
* May be in need of a better name, I found a few repos with this same one... * May be in need of a better name, I found a few repos with this same one...
* Support module and attribute parsing (Marked with TODOs for now..) * Support module and attribute parsing (Marked with TODOs for now..)
* Suffix specifiers for functions (const, override, final) * Suffix specifiers for functions (const, override, final)
* Implement the Scanner
* Implement the Editor

View File

@ -13,6 +13,9 @@ Feature Macros:
* `GEN_FEATURE_EDITOR` : Defines the file editing features for changing definitions based on ASTs * `GEN_FEATURE_EDITOR` : Defines the file editing features for changing definitions based on ASTs
* `GEN_FEATURE_SCANNER` : Defines the file scanning features for generating ASTs * `GEN_FEATURE_SCANNER` : Defines the file scanning features for generating ASTs
`GEN_USE_RECURSIVE_AST_DUPLICATION` is available but its not well tested and should not need to be used.
If constructing ASTs properly. There should be no modification of ASTs, and thus this would never become an issue.
Due to the design of `gen.hpp` to support being written alongside runtime intended code (in the same file), all the code is wrapped in a `gen_time` `#ifdef` and then wrapped further in a `gen` namespace to avoid pollution of the global scope. Due to the design of `gen.hpp` to support being written alongside runtime intended code (in the same file), all the code is wrapped in a `gen_time` `#ifdef` and then wrapped further in a `gen` namespace to avoid pollution of the global scope.
*Note: Its possible with the scanner feature to support parsing runtime files that use "generic" macros or identifiers with certain patterns. *Note: Its possible with the scanner feature to support parsing runtime files that use "generic" macros or identifiers with certain patterns.