+// Context is a collection of everything that can be defined in a namespace\r
+// that is reused for bodies so that the hierarchy can be walked uniformly\r
+// both up and down using the parent variable\r
+struct Context\r
+{\r
+ std::optional<std::string> name;\r
+ std::shared_ptr<Context> parent;\r
+ std::vector<Variable> variables;\r
+ std::vector<Function> functions;\r
+ std::vector<Struct> structs;\r
+ std::vector<Namespace> namespaces;\r
+};\r
+\r