From 8879b757edab39fd98ee2731940ebca716e3b410 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Sun, 16 Jul 2023 03:26:07 -0400 Subject: [PATCH] Readme update --- Readme.md | 7 +++++++ project/Readme.md | 3 +++ 2 files changed, 10 insertions(+) diff --git a/Readme.md b/Readme.md index 7e5ac8f..d54f0a0 100644 --- a/Readme.md +++ b/Readme.md @@ -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 +**Note: Not implemented yet** + * The purpose is to overrite a specific file, it places its contents in a buffer to scan. * Requests are populated using the following interface: * 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 +**Note: Not implemented yet** + * 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. @@ -668,6 +672,9 @@ Names or Content fields are interned strings and thus showed be cached using `ge * Make a more robust test suite. * 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... + * 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... * Support module and attribute parsing (Marked with TODOs for now..) * Suffix specifiers for functions (const, override, final) +* Implement the Scanner +* Implement the Editor diff --git a/project/Readme.md b/project/Readme.md index aea68e8..d5af216 100644 --- a/project/Readme.md +++ b/project/Readme.md @@ -13,6 +13,9 @@ Feature Macros: * `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_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. *Note: Its possible with the scanner feature to support parsing runtime files that use "generic" macros or identifiers with certain patterns.