From 95b02926670d1caaa818f917b7f1c522bb56c2b2 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Mon, 16 Feb 2026 00:48:00 -0500 Subject: [PATCH] xo-expression2 stack: expand MemorySizeInfo w/ per-type detail --- include/xo/expression2/GlobalSymtab.hpp | 13 +++++++++++++ src/expression2/expression2_register_facets.cpp | 16 ++++++++++++---- 2 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 include/xo/expression2/GlobalSymtab.hpp diff --git a/include/xo/expression2/GlobalSymtab.hpp b/include/xo/expression2/GlobalSymtab.hpp new file mode 100644 index 00000000..0c0dabf4 --- /dev/null +++ b/include/xo/expression2/GlobalSymtab.hpp @@ -0,0 +1,13 @@ +/** @file GlobalSymtab.hpp + * + * @author Roland Conybeare, Feb 2026 + **/ + +#pragma once + +#include "DGlobalSymtab.hpp" +//#include "symtab/ISymbolTable_DGlobalSymtab.hpp" +//#include "symtab/IGCObject_DGlobalSymtab.hpp" +//#include "symtab/IPrintable_DGlobalSymtab.hpp" + +/* end GlobalSymtab.hpp */ diff --git a/src/expression2/expression2_register_facets.cpp b/src/expression2/expression2_register_facets.cpp index 16bfac2a..f14ceae6 100644 --- a/src/expression2/expression2_register_facets.cpp +++ b/src/expression2/expression2_register_facets.cpp @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -37,6 +38,7 @@ namespace xo { using xo::mm::AGCObject; using xo::print::APrintable; using xo::facet::FacetRegistry; + using xo::facet::TypeRegistry; using xo::facet::typeseq; namespace scm { @@ -45,6 +47,8 @@ namespace xo { { scope log(XO_DEBUG(true)); + + FacetRegistry::register_impl(); FacetRegistry::register_impl(); @@ -58,10 +62,6 @@ namespace xo { // +- IfElseExpr // \- SequenceExpr - // SymbolTable - // +- LocalSymtab - // \- GlobalSymtab - FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); @@ -94,10 +94,17 @@ namespace xo { FacetRegistry::register_impl(); FacetRegistry::register_impl(); + // SymbolTable + // +- LocalSymtab + // \- GlobalSymtab + FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); + // until we register facets + TypeRegistry::register_type(); + log && log(xtag("DUniqueString.tseq", typeseq::id())); log && log(xtag("DDefineExpr.tseq", typeseq::id())); log && log(xtag("DVariable.tseq", typeseq::id())); @@ -108,6 +115,7 @@ namespace xo { log && log(xtag("DIfElseExpr.tseq", typeseq::id())); log && log(xtag("DSequenceExpr.tseq", typeseq::id())); + log && log(xtag("DGlobalSymtab.tseq", typeseq::id())); log && log(xtag("DLocalSymtab.tseq", typeseq::id())); log && log(xtag("AExpression.tseq", typeseq::id()));