From 0829603262a1286973a75647d0e13fe9bdfb6582 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 16 Dec 2024 17:59:30 -0500 Subject: [PATCH] Finished updating Parer_Algo.md --- base/components/parser.cpp | 7 ------- docs/Parser_Algo.md | 8 +++++--- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/base/components/parser.cpp b/base/components/parser.cpp index e98475f..5fd41b9 100644 --- a/base/components/parser.cpp +++ b/base/components/parser.cpp @@ -5518,13 +5518,6 @@ CodeVar parser_parse_variable() } // - // Note(Ed): We're enforcing that using this codepath requires non-macro jank. - // Code macro_stmt = parse_macro_as_definiton(attributes, specifiers); - // if (macro_stmt) { - // parser_pop(& _ctx->parser); - // return macro_stmt; - // } - CodeTypename type = parser_parse_type(parser_not_from_template, nullptr); // diff --git a/docs/Parser_Algo.md b/docs/Parser_Algo.md index eee48dd..842eb2a 100644 --- a/docs/Parser_Algo.md +++ b/docs/Parser_Algo.md @@ -1101,7 +1101,8 @@ Anything that is in the qualifier capture of the function typename is treated as 1. If its an in-place definition of a class, enum, struct, or union: 2. If its a decltype (Not supported yet but draft impl there) 3. If its a compound native type expression (unsigned, char, short, long, int, float, dobule, etc ) - 4. Ends up being a regular type alias of an identifier + 4. If its a typename amcro + 5. A regular type alias of an identifier 5. Parse specifiers (postfix) 6. We need to now look ahead to see If we're dealing with a function typename 7. If wer're dealing with a function typename: @@ -1129,7 +1130,8 @@ Anything that is in the qualifier capture of the function typename is treated as 1. If its an in-place definition of a class, enum, struct, or union: 2. If its a decltype (Not supported yet but draft impl there) 3. If its a compound native type expression (unsigned, char, short, long, int, float, dobule, etc ) - 4. Ends up being a regular type alias of an identifier + 4. If its a typename amcro + 5. A regular type alias of an identifier 4. Parse specifiers (postfix) 1. If any specifiers are found populate specifiers code with them. 5. We need to now look ahead to see If we're dealing with a function typename @@ -1190,7 +1192,7 @@ Anything that is in the qualifier capture of the function typename is treated as 6. Decl_Union 7. Preprocess_Define 8. Preprocess_Conditional (if, ifdef, ifndef, elif, else, endif) - 9. Preprocess_Macro + 9. Preprocess_Macro (`MT_Statement` or `MT_Typename`) 10. Preprocess_Pragma 11. Unsupported preprocess directive 12. Variable