mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-10-29 22:10:53 -07:00 
			
		
		
		
	Updated AST_Types.md doc
This commit is contained in:
		| @@ -19,13 +19,13 @@ These are containers representing a scope body of a definition that can be of th | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| Code         Front; | Code           Front; | ||||||
| Code         Back; | Code           Back; | ||||||
| Token*       Token; | parser::Token* Tok; | ||||||
| Code         Parent; | Code           Parent; | ||||||
| StringCached Name; | StringCached   Name; | ||||||
| CodeT        Type; | CodeT          Type; | ||||||
| s32          NumEntries; | s32            NumEntries; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| The `Front` member represents the start of the link list and `Back` the end. | The `Front` member represents the start of the link list and `Back` the end. | ||||||
| @@ -49,12 +49,13 @@ Represent standard or vendor specific C/C++ attributes. | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| StringCached  Content; | StringCached   Content; | ||||||
| Code          Prev; | Code           Prev; | ||||||
| Code          Next; | Code           Next; | ||||||
| Code          Parent; | parser::Token* Tok; | ||||||
| StringCached  Name; | Code           Parent; | ||||||
| CodeT         Type; | StringCached   Name; | ||||||
|  | CodeT          Type; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -131,14 +132,15 @@ You'll notice that only one parent type is supported only with parent access. Th | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| CodeComment InlineCmt;  // Only supported by forward declarations | CodeComment    InlineCmt;  // Only supported by forward declarations | ||||||
| Code        InitializerList; | Code           InitializerList; | ||||||
| CodeParam   Params; | CodeParam      Params; | ||||||
| Code        Body; | Code           Body; | ||||||
| Code        Prev; | Code           Prev; | ||||||
| Code        Next; | Code           Next; | ||||||
| Code        Parent; | parser::Token* Tok; | ||||||
| CodeT       Type; | Code           Parent; | ||||||
|  | CodeT          Type; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -162,12 +164,13 @@ Represents a preprocessor define | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| StringCached  Content; | StringCached   Content; | ||||||
| Code          Prev; | Code           Prev; | ||||||
| Code          Next; | Code           Next; | ||||||
| Code          Parent; | parser::Token* Tok; | ||||||
| StringCached  Name; | Code           Parent; | ||||||
| CodeT         Type; | StringCached   Name; | ||||||
|  | CodeT          Type; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -186,6 +189,7 @@ CodeSpecifiers Specs; | |||||||
| Code           Body; | Code           Body; | ||||||
| Code           Prev; | Code           Prev; | ||||||
| Code           Next; | Code           Next; | ||||||
|  | parser::Token* Tok; | ||||||
| Code           Parent; | Code           Parent; | ||||||
| CodeT          Type; | CodeT          Type; | ||||||
| ``` | ``` | ||||||
| @@ -214,6 +218,7 @@ CodeType       UnderlyingType; | |||||||
| CodeBody       Body; | CodeBody       Body; | ||||||
| Code           Prev; | Code           Prev; | ||||||
| Code           Next; | Code           Next; | ||||||
|  | parser::Token* Tok; | ||||||
| Code           Parent; | Code           Parent; | ||||||
| StringCached   Name; | StringCached   Name; | ||||||
| CodeT          Type; | CodeT          Type; | ||||||
| @@ -241,12 +246,13 @@ Will be obsolute when function body parsing is implemented. | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| StringCached Content; | StringCached   Content; | ||||||
| Code         Prev; | Code           Prev; | ||||||
| Code         Next; | Code           Next; | ||||||
| Code         Parent; | parser::Token* Tok; | ||||||
| StringCached Name; | Code           Parent; | ||||||
| CodeT        Type; | StringCached   Name; | ||||||
|  | CodeT          Type; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -260,12 +266,13 @@ Serialization: | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| CodeBody     Body; | CodeBody       Body; | ||||||
| Code         Prev; | Code           Prev; | ||||||
| Code         Next; | Code           Next; | ||||||
| Code         Parent; | parser::Token* Tok; | ||||||
| StringCached Name; | Code           Parent; | ||||||
| CodeT        Type; | StringCached   Name; | ||||||
|  | CodeT          Type; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -282,12 +289,13 @@ extern "<Name>" | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| StringCached Content; | StringCached   Content; | ||||||
| Code         Prev; | Code           Prev; | ||||||
| Code         Next; | Code           Next; | ||||||
| Code         Parent; | Code           Parent; | ||||||
| StringCached Name; | parser::Token* Tok; | ||||||
| CodeT        Type; | StringCached   Name; | ||||||
|  | CodeT          Type; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -303,13 +311,14 @@ This library (until its necessary become some third-party library to do otherwis | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| CodeComment  InlineCmt; | CodeComment    InlineCmt; | ||||||
| Code         Declaration; | Code           Declaration; | ||||||
| Code         Prev; | Code           Prev; | ||||||
| Code         Next; | Code           Next; | ||||||
| Code         Parent; | parser::Token* Tok; | ||||||
| StringCached Name; | Code           Parent; | ||||||
| CodeT        Type; | StringCached   Name; | ||||||
|  | CodeT          Type; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -330,8 +339,9 @@ CodeType       ReturnType; | |||||||
| CodeParam      Params; | CodeParam      Params; | ||||||
| CodeBody       Body; | CodeBody       Body; | ||||||
| Code           Prev; | Code           Prev; | ||||||
| Code           Parent; |  | ||||||
| Code           Next; | Code           Next; | ||||||
|  | parser::Token* Tok; | ||||||
|  | Code           Parent; | ||||||
| StringCached   Name; | StringCached   Name; | ||||||
| CodeT          Type; | CodeT          Type; | ||||||
| ModuleFlag     ModuleFlags; | ModuleFlag     ModuleFlags; | ||||||
| @@ -355,12 +365,13 @@ Serialization: | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| Code         Prev; | Code           Prev; | ||||||
| Code         Next; | Code           Next; | ||||||
| Code         Parent; | parser::Token* Tok; | ||||||
| StringCached Name; | Code           Parent; | ||||||
| CodeT        Type; | StringCached   Name; | ||||||
| ModuleFlag   ModuleFlags; | CodeT          Type; | ||||||
|  | ModuleFlag     ModuleFlags; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -374,13 +385,14 @@ Serialization: | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| CodeBody     Body; | CodeBody       Body; | ||||||
| Code         Prev; | Code           Prev; | ||||||
| Code         Next; | Code           Next; | ||||||
| Code         Parent; | parser::Token* Tok; | ||||||
| StringCached Name; | Code           Parent; | ||||||
| CodeT        Type; | StringCached   Name; | ||||||
| ModuleFlag   ModuleFlags; | CodeT          Type; | ||||||
|  | ModuleFlag     ModuleFlags; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -405,6 +417,7 @@ CodeParam      Params; | |||||||
| CodeBody       Body; | CodeBody       Body; | ||||||
| Code           Prev; | Code           Prev; | ||||||
| Code           Next; | Code           Next; | ||||||
|  | parser::Token* Tok; | ||||||
| Code           Parent; | Code           Parent; | ||||||
| StringCached   Name; | StringCached   Name; | ||||||
| CodeT          Type; | CodeT          Type; | ||||||
| @@ -436,6 +449,7 @@ CodeType       ValueType; | |||||||
| CodeBody       Body; | CodeBody       Body; | ||||||
| Code           Prev; | Code           Prev; | ||||||
| Code           Next; | Code           Next; | ||||||
|  | parser::Token* Tok; | ||||||
| Code           Parent; | Code           Parent; | ||||||
| StringCached   Name; | StringCached   Name; | ||||||
| CodeT          Type; | CodeT          Type; | ||||||
| @@ -459,14 +473,15 @@ Serialization: | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| CodeType     ValueType; | CodeType       ValueType; | ||||||
| Code         Value; | Code           Value; | ||||||
| CodeParam    Last; | CodeParam      Last; | ||||||
| CodeParam    Next; | CodeParam      Next; | ||||||
| Code         Parent; | parser::Token* Tok; | ||||||
| StringCached Name; | Code           Parent; | ||||||
| CodeT        Type; | StringCached   Name; | ||||||
| s32          NumEntries; | CodeT          Type; | ||||||
|  | s32            NumEntries; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -480,12 +495,13 @@ Serialization: | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| StringCached Content; | StringCached   Content; | ||||||
| Code         Prev; | Code           Prev; | ||||||
| Code         Next; | Code           Next; | ||||||
| Code         Parent; | parser::Token* Tok; | ||||||
| StringCached Name; | Code           Parent; | ||||||
| CodeT        Type; | StringCached   Name; | ||||||
|  | CodeT          Type; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -499,12 +515,13 @@ Serialization: | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| StringCached Content; | StringCached  Content; | ||||||
| Code         Prev; | Code          Prev; | ||||||
| Code         Next; | Code          Next; | ||||||
| Code         Parent; | paser::Token* Tok; | ||||||
| StringCached Name; | Code          Parent; | ||||||
| CodeT        Type; | StringCached  Name; | ||||||
|  | CodeT         Type; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -518,13 +535,15 @@ Serialization: | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| SpecifierT        ArrSpecs[ AST::ArrSpecs_Cap ]; | SpecifierT     ArrSpecs[ AST::ArrSpecs_Cap ]; | ||||||
| Code              Prev; | CodeSpecifiers NextSpecs; | ||||||
| Code              Next; | Code           Prev; | ||||||
| Code              Parent; | Code           Next; | ||||||
| StringCached      Name; | parser::Token* Tok; | ||||||
| CodeT             Type; | Code           Parent; | ||||||
| s32               NumEntries; | StringCached   Name; | ||||||
|  | CodeT          Type; | ||||||
|  | s32            NumEntries; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -538,14 +557,15 @@ Serialization: | |||||||
| Fields: | Fields: | ||||||
|  |  | ||||||
| ```cpp | ```cpp | ||||||
| CodeParam    Params; | CodeParam      Params; | ||||||
| Code         Declaration; | Code           Declaration; | ||||||
| Code         Prev; | Code           Prev; | ||||||
| Code         Next; | Code           Next; | ||||||
| Code         Parent; | parser::Token* Tok; | ||||||
| StringCached Name; | Code           Parent; | ||||||
| CodeT        Type; | StringCached   Name; | ||||||
| ModuleFlag   ModuleFlags; | CodeT          Type; | ||||||
|  | ModuleFlag     ModuleFlags; | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Serialization: | Serialization: | ||||||
| @@ -570,6 +590,7 @@ CodeParam      Params; | |||||||
| Code           ArrExpr; | Code           ArrExpr; | ||||||
| Code           Prev; | Code           Prev; | ||||||
| Code           Next; | Code           Next; | ||||||
|  | parser::Token* Tok; | ||||||
| Code           Parent; | Code           Parent; | ||||||
| StringCached   Name; | StringCached   Name; | ||||||
| CodeT          Type; | CodeT          Type; | ||||||
| @@ -609,7 +630,8 @@ Serialization: | |||||||
| <ModuleFlags> typedef <UnderlyingType> <Name>; <InlineCmt> | <ModuleFlags> typedef <UnderlyingType> <Name>; <InlineCmt> | ||||||
|  |  | ||||||
| // Functions | // Functions | ||||||
| <ModuleFlags> typedef <Name>; <InlineCmt> | <ModuleFlags> typedef <ReturnType> <Name>( <Parameters> ); <InlineCmt> | ||||||
|  | <ModuleFlags> typedef <ReturnType> ( <Expression that yeilds an Identifier signature> )( <Parameters> ); <InlineCmt> | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ## Union | ## Union | ||||||
|   | |||||||
| @@ -90,7 +90,7 @@ struct AST_Class | |||||||
| 	}; | 	}; | ||||||
| 	CodeType                Prev; | 	CodeType                Prev; | ||||||
| 	CodeType                Next; | 	CodeType                Next; | ||||||
| 	parser::Token*          Token; | 	parser::Token*          Tok; | ||||||
| 	Code                    Parent; | 	Code                    Parent; | ||||||
| 	StringCached            Name; | 	StringCached            Name; | ||||||
| 	CodeT                   Type; | 	CodeT                   Type; | ||||||
| @@ -116,7 +116,7 @@ struct AST_Constructor | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	char              _PAD_NAME_[ sizeof(StringCached) ]; | 	char              _PAD_NAME_[ sizeof(StringCached) ]; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -132,7 +132,7 @@ struct AST_Define | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -156,7 +156,7 @@ struct AST_Destructor | |||||||
| 	}; | 	}; | ||||||
| 	Code                   Prev; | 	Code                   Prev; | ||||||
| 	Code                   Next; | 	Code                   Next; | ||||||
| 	parser::Token*         Token; | 	parser::Token*         Tok; | ||||||
| 	Code                   Parent; | 	Code                   Parent; | ||||||
| 	char                   _PAD_NAME_[ sizeof(StringCached) ]; | 	char                   _PAD_NAME_[ sizeof(StringCached) ]; | ||||||
| 	CodeT                  Type; | 	CodeT                  Type; | ||||||
| @@ -181,7 +181,7 @@ struct AST_Enum | |||||||
| 	}; | 	}; | ||||||
| 	Code                   Prev; | 	Code                   Prev; | ||||||
| 	Code                   Next; | 	Code                   Next; | ||||||
| 	parser::Token*         Token; | 	parser::Token*         Tok; | ||||||
| 	Code                   Parent; | 	Code                   Parent; | ||||||
| 	StringCached           Name; | 	StringCached           Name; | ||||||
| 	CodeT                  Type; | 	CodeT                  Type; | ||||||
| @@ -198,7 +198,7 @@ struct AST_Exec | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -214,7 +214,7 @@ struct AST_Expr | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -229,7 +229,7 @@ struct AST_Expr_Assign | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -244,7 +244,7 @@ struct AST_Expr_Alignof | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -259,7 +259,7 @@ struct AST_Expr_Binary | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -274,7 +274,7 @@ struct AST_Expr_CStyleCast | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -289,7 +289,7 @@ struct AST_Expr_FunctionalCast | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -304,7 +304,7 @@ struct AST_Expr_CppCast | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -319,7 +319,7 @@ struct AST_Expr_ProcCall | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -334,7 +334,7 @@ struct AST_Expr_Decltype | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -349,7 +349,7 @@ struct AST_Expr_Comma | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -364,7 +364,7 @@ struct AST_Expr_AMS | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -379,7 +379,7 @@ struct AST_Expr_Sizeof | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -394,7 +394,7 @@ struct AST_Expr_Subscript | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -409,7 +409,7 @@ struct AST_Expr_Ternary | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -424,7 +424,7 @@ struct AST_Expr_UnaryPrefix | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -439,7 +439,7 @@ struct AST_Expr_UnaryPostfix | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -454,7 +454,7 @@ struct AST_Expr_Element | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -476,7 +476,7 @@ struct AST_Extern | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -492,7 +492,7 @@ struct AST_Include | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -514,7 +514,7 @@ struct AST_Friend | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -539,7 +539,7 @@ struct AST_Fn | |||||||
| 	}; | 	}; | ||||||
| 	Code                    Prev; | 	Code                    Prev; | ||||||
| 	Code                    Next; | 	Code                    Next; | ||||||
| 	parser::Token*          Token; | 	parser::Token*          Tok; | ||||||
| 	Code                    Parent; | 	Code                    Parent; | ||||||
| 	StringCached            Name; | 	StringCached            Name; | ||||||
| 	CodeT                   Type; | 	CodeT                   Type; | ||||||
| @@ -553,7 +553,7 @@ struct AST_Module | |||||||
| 	char              _PAD_[ sizeof(SpecifierT) * AST::ArrSpecs_Cap + sizeof(AST*) ]; | 	char              _PAD_[ sizeof(SpecifierT) * AST::ArrSpecs_Cap + sizeof(AST*) ]; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -574,7 +574,7 @@ struct AST_NS | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -600,7 +600,7 @@ struct AST_Operator | |||||||
| 	}; | 	}; | ||||||
| 	Code           Prev; | 	Code           Prev; | ||||||
| 	Code           Next; | 	Code           Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -626,7 +626,7 @@ struct AST_OpCast | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -649,7 +649,7 @@ struct AST_Param | |||||||
| 	}; | 	}; | ||||||
| 	CodeParam         Last; | 	CodeParam         Last; | ||||||
| 	CodeParam         Next; | 	CodeParam         Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -666,7 +666,7 @@ struct AST_Pragma | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -682,7 +682,7 @@ struct AST_PreprocessCond | |||||||
| 	}; | 	}; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -696,7 +696,7 @@ struct AST_Specifiers | |||||||
| 	CodeSpecifiers    NextSpecs; | 	CodeSpecifiers    NextSpecs; | ||||||
| 	Code              Prev; | 	Code              Prev; | ||||||
| 	Code              Next; | 	Code              Next; | ||||||
| 	parser::Token*    Token; | 	parser::Token*    Tok; | ||||||
| 	Code              Parent; | 	Code              Parent; | ||||||
| 	StringCached      Name; | 	StringCached      Name; | ||||||
| 	CodeT             Type; | 	CodeT             Type; | ||||||
| @@ -713,7 +713,7 @@ struct AST_Stmt | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -728,7 +728,7 @@ struct AST_Stmt_Break | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -743,7 +743,7 @@ struct AST_Stmt_Case | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -758,7 +758,7 @@ struct AST_Stmt_Continue | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -773,7 +773,7 @@ struct AST_Stmt_Decl | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -788,7 +788,7 @@ struct AST_Stmt_Do | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -803,7 +803,7 @@ struct AST_Stmt_Expr | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -818,7 +818,7 @@ struct AST_Stmt_Else | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -833,7 +833,7 @@ struct AST_Stmt_If | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -848,7 +848,7 @@ struct AST_Stmt_For | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -863,7 +863,7 @@ struct AST_Stmt_Goto | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -878,7 +878,7 @@ struct AST_Stmt_Label | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -893,7 +893,7 @@ struct AST_Stmt_Switch | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -908,7 +908,7 @@ struct AST_Stmt_While | |||||||
| 	} | 	} | ||||||
| 	CodeExpr       Prev; | 	CodeExpr       Prev; | ||||||
| 	CodeExpr       Next; | 	CodeExpr       Next; | ||||||
| 	parser::Token* Token; | 	parser::Token* Tok; | ||||||
| 	Code           Parent; | 	Code           Parent; | ||||||
| 	StringCached   Name; | 	StringCached   Name; | ||||||
| 	CodeT          Type; | 	CodeT          Type; | ||||||
| @@ -934,7 +934,7 @@ struct AST_Struct | |||||||
| 	}; | 	}; | ||||||
| 	CodeType               Prev; | 	CodeType               Prev; | ||||||
| 	CodeType               Next; | 	CodeType               Next; | ||||||
| 	parser::Token*         Token; | 	parser::Token*         Tok; | ||||||
| 	Code                   Parent; | 	Code                   Parent; | ||||||
| 	StringCached           Name; | 	StringCached           Name; | ||||||
| 	CodeT                  Type; | 	CodeT                  Type; | ||||||
| @@ -957,7 +957,7 @@ struct AST_Template | |||||||
| 	}; | 	}; | ||||||
| 	Code                   Prev; | 	Code                   Prev; | ||||||
| 	Code                   Next; | 	Code                   Next; | ||||||
| 	parser::Token*         Token; | 	parser::Token*         Tok; | ||||||
| 	Code                   Parent; | 	Code                   Parent; | ||||||
| 	StringCached           Name; | 	StringCached           Name; | ||||||
| 	CodeT                  Type; | 	CodeT                  Type; | ||||||
| @@ -986,7 +986,7 @@ struct AST_Type | |||||||
| 	}; | 	}; | ||||||
| 	Code                   Prev; | 	Code                   Prev; | ||||||
| 	Code                   Next; | 	Code                   Next; | ||||||
| 	parser::Token*         Token; | 	parser::Token*         Tok; | ||||||
| 	Code                   Parent; | 	Code                   Parent; | ||||||
| 	StringCached           Name; | 	StringCached           Name; | ||||||
| 	CodeT                  Type; | 	CodeT                  Type; | ||||||
| @@ -1013,7 +1013,7 @@ struct AST_Type | |||||||
| 	}; | 	}; | ||||||
| 	Code                   Prev; | 	Code                   Prev; | ||||||
| 	Code                   Next; | 	Code                   Next; | ||||||
| 	parser::Token*         Token; | 	parser::Token*         Tok; | ||||||
| 	Code                   Parent; | 	Code                   Parent; | ||||||
| 	StringCached           Name; | 	StringCached           Name; | ||||||
| 	CodeT                  Type; | 	CodeT                  Type; | ||||||
| @@ -1036,7 +1036,7 @@ struct AST_Typedef | |||||||
| 	}; | 	}; | ||||||
| 	Code                   Prev; | 	Code                   Prev; | ||||||
| 	Code                   Next; | 	Code                   Next; | ||||||
| 	parser::Token*         Token; | 	parser::Token*         Tok; | ||||||
| 	Code                   Parent; | 	Code                   Parent; | ||||||
| 	StringCached           Name; | 	StringCached           Name; | ||||||
| 	CodeT                  Type; | 	CodeT                  Type; | ||||||
|   | |||||||
| @@ -166,16 +166,16 @@ namespace parser { | |||||||
| } | } | ||||||
|  |  | ||||||
| struct ParseInfo | struct ParseInfo | ||||||
| { |  | ||||||
| 	Arena file_mem; |  | ||||||
| 	Arena token_mem; |  | ||||||
| 	Arena code_mem; |  | ||||||
|  |  | ||||||
| 	FileContents         file_content; | 	Arena FileMem; | ||||||
| 	Array<parser::Token> tokens; | 	Arena TokMem; | ||||||
| 	Array<parser::Error> errors; | 	Arena CodeMem; | ||||||
|  |  | ||||||
|  | 	FileContents         FileContent; | ||||||
|  | 	Array<parser::Token> Tokens; | ||||||
|  | 	Array<parser::Error> Errors; | ||||||
| 	// Errors are allocated to a dedicated general arena. | 	// Errors are allocated to a dedicated general arena. | ||||||
| }; | ; | ||||||
|  |  | ||||||
| CodeBody parse_file( StrC path ); | CodeBody parse_file( StrC path ); | ||||||
| #endif | #endif | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user