Finished updating Parer_Algo.md

This commit is contained in:
Edward R. Gonzalez 2024-12-16 17:59:30 -05:00
parent 3133977b0f
commit 0829603262
2 changed files with 5 additions and 10 deletions

View File

@ -5518,13 +5518,6 @@ CodeVar parser_parse_variable()
} }
// <ModuleFlags> <Attributes> <Specifiers> // <ModuleFlags> <Attributes> <Specifiers>
// 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); CodeTypename type = parser_parse_type(parser_not_from_template, nullptr);
// <ModuleFlags> <Attributes> <Specifiers> <ValueType> // <ModuleFlags> <Attributes> <Specifiers> <ValueType>

View File

@ -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: 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) 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 ) 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) 5. Parse specifiers (postfix)
6. We need to now look ahead to see If we're dealing with a function typename 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: 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: 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) 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 ) 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) 4. Parse specifiers (postfix)
1. If any specifiers are found populate specifiers code with them. 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 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 6. Decl_Union
7. Preprocess_Define 7. Preprocess_Define
8. Preprocess_Conditional (if, ifdef, ifndef, elif, else, endif) 8. Preprocess_Conditional (if, ifdef, ifndef, elif, else, endif)
9. Preprocess_Macro 9. Preprocess_Macro (`MT_Statement` or `MT_Typename`)
10. Preprocess_Pragma 10. Preprocess_Pragma
11. Unsupported preprocess directive 11. Unsupported preprocess directive
12. Variable 12. Variable