fix expr chain parsing; fix panel tree building

This commit is contained in:
Ryan Fleury
2025-02-10 09:44:32 -08:00
parent 3de43b8c74
commit 4b85df0725
9 changed files with 84 additions and 151 deletions
+3 -2
View File
@@ -153,7 +153,8 @@ typedef struct E_Parse E_Parse;
struct E_Parse
{
E_Token *last_token;
E_Expr *expr;
E_Expr *first_expr;
E_Expr *last_expr;
E_MsgList msgs;
};
@@ -290,7 +291,7 @@ internal E_TypeKey e_leaf_type_from_name(String8 name);
internal E_TypeKey e_type_from_expr(E_Expr *expr);
internal void e_push_leaf_ident_exprs_from_expr__in_place(Arena *arena, E_String2ExprMap *map, E_Expr *expr);
internal E_Parse e_parse_type_from_text_tokens(Arena *arena, String8 text, E_TokenArray *tokens);
internal E_Parse e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *tokens, S64 max_precedence);
internal E_Parse e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *tokens, S64 max_precedence, U64 max_chain_count);
internal E_Parse e_parse_expr_from_text_tokens(Arena *arena, String8 text, E_TokenArray *tokens);
internal E_Expr *e_parse_expr_from_text(Arena *arena, String8 text);
internal E_Parse e_parse_expr_from_text__cached(String8 text);