checkpoint on pass to majorly simplify debug frontend state, and eliminate df entities, and move from cmds -> msgs

This commit is contained in:
Ryan Fleury
2024-09-03 12:46:30 -07:00
parent 6b02c8a7d6
commit 06a685221a
21 changed files with 1573 additions and 906 deletions
+18
View File
@@ -211,6 +211,24 @@ md_node_push_tag(MD_Node *parent, MD_Node *node)
DLLPushBack_NPZ(&md_nil_node, parent->first_tag, parent->last_tag, node, next, prev);
}
//- rjf: tree building helpers
internal MD_Node *
md_push_list(Arena *arena)
{
MD_Node *n = md_push_node(arena, MD_NodeKind_List, 0, str8_zero(), str8_zero(), 0);
return n;
}
internal MD_Node *
md_list_push_ref(Arena *arena, MD_Node *list, MD_Node *ref_dst)
{
MD_Node *ref = md_push_node(arena, MD_NodeKind_Reference, 0, str8_zero(), str8_zero(), 0);
ref->first = ref->last = ref_dst;
md_node_push_child(list, ref);
return ref;
}
//- rjf: tree introspection
internal MD_Node *
+4
View File
@@ -263,6 +263,10 @@ internal MD_Node *md_push_node(Arena *arena, MD_NodeKind kind, MD_NodeFlags flag
internal void md_node_push_child(MD_Node *parent, MD_Node *node);
internal void md_node_push_tag(MD_Node *parent, MD_Node *node);
//- rjf: tree building helpers
internal MD_Node *md_push_list(Arena *arena);
internal MD_Node *md_list_push_ref(Arena *arena, MD_Node *list, MD_Node *ref_dst);
//- rjf: tree introspection
internal MD_Node * md_node_from_chain_string(MD_Node *first, MD_Node *opl, String8 string, StringMatchFlags flags);
internal MD_Node * md_node_from_chain_index(MD_Node *first, MD_Node *opl, U64 index);