Sprint 2 Step 2: child links, Function and Variable concepts

Adds generic child link support to ASTNode (addChild/setChild for multi/single-
valued roles, getChildren/getChild/allChildren for traversal). Function and
Variable as first child concepts of Module. Test builds Module->Function tree,
walks parent/child pointers in both directions, verifies single-valued replace.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Bill
2026-02-06 18:54:18 -07:00
parent 586914df4e
commit 0f90bec21f
5 changed files with 152 additions and 0 deletions

14
editor/src/ast/Variable.h Normal file
View File

@@ -0,0 +1,14 @@
#pragma once
#include "ASTNode.h"
class Variable : public ASTNode {
public:
std::string name;
Variable() { conceptType = "Variable"; }
Variable(const std::string& id, const std::string& name)
: name(name) {
this->id = id;
this->conceptType = "Variable";
}
};