1
0
mirror of https://github.com/Ed94/gencpp.git synced 2025-07-10 07:35:48 -07:00

Fixes (Doc typos, pragma once worng type, non-debug fatal compile fail)

This commit is contained in:
2023-08-09 09:50:12 -04:00
parent b5fa864318
commit 5aff89262b
8 changed files with 46 additions and 63 deletions

@ -30,7 +30,7 @@ CodeVar parse_variable ( StrC var_def );
***Parsing will aggregate any tokens within a function body or expression statement to an untyped Code AST.***
Everything is done in one pass for both the preprocessor directives and the rest of the language.
The parser performs no macro expansion as the scope of gencpp feature-set is to only support the preprocessor for the goal of having rudimentary awareness of preprocessor ***conditionals***, ***defines***, and ***includes***, and ***pragmas**.
The parser performs no macro expansion as the scope of gencpp feature-set is to only support the preprocessor for the goal of having rudimentary awareness of preprocessor ***conditionals***, ***defines***, and ***includes***, and ***pragmas***.
The keywords supported for the preprocessor are:
@ -69,4 +69,4 @@ The lexing and parsing takes shortcuts from whats expected in the standard.
* *Upfront constructors are not necessarily used in the parsing constructors, this is just a good metric to know what can be parsed.*
* Parsing attributes can be extended to support user defined macros by defining `GEN_DEFINE_ATTRIBUTE_TOKENS` (see `gen.hpp` for the formatting)
Empty lines used throughout the file are preserved for formatting purposes for ast serialization.
Empty lines used throughout the file are preserved for formatting purposes during ast serialization.

@ -40,15 +40,6 @@ Otherwise the library is free of any templates.
### *WHAT IS NOT PROVIDED*
Keywords kept from "Modern C++":
* constexpr : Great to store compile-time constants.
* consteval : Technically fine, need to make sure to execute in moderation.
* constinit : Better than constexpr at doing its job, however, its only c++ 20.
* export : Useful if c++ modules ever come around to actually being usable.
* import : ^^
* module : ^^
**There is no support for validating expressions.**
Its difficult to parse without enough benefits (At the metaprogramming level).
@ -70,7 +61,7 @@ Use at your own mental peril.
As mentioned in root readme, the user is provided Code objects by calling the constructor's functions to generate them or find existing matches.
The AST is managed by the library and provided the user via its interface.
The AST is managed by the library and provided to the user via its interface.
However, the user may specifiy memory configuration.
Data layout of AST struct: