xo-expression2 xo-reader2: local symtab stack in PSM

This commit is contained in:
Roland Conybeare 2026-01-30 10:26:35 -05:00
commit d953246acd
18 changed files with 319 additions and 12 deletions

View file

@ -27,6 +27,9 @@
#include <xo/expression2/detail/IExpression_DIfElseExpr.hpp>
#include <xo/expression2/detail/IPrintable_DIfElseExpr.hpp>
#include <xo/expression2/symtab/ISymbolTable_DLocalSymtab.hpp>
#include <xo/expression2/symtab/IPrintable_DLocalSymtab.hpp>
#include <xo/gc/detail/AGCObject.hpp>
#include <xo/printable2/detail/APrintable.hpp>
#include <xo/facet/FacetRegistry.hpp>
@ -74,6 +77,9 @@ namespace xo {
FacetRegistry::register_impl<AExpression, DIfElseExpr>();
FacetRegistry::register_impl<APrintable, DIfElseExpr>();
FacetRegistry::register_impl<ASymbolTable, DLocalSymtab>();
FacetRegistry::register_impl<APrintable, DLocalSymtab>();
log && log(xtag("DUniqueString.tseq", typeseq::id<DUniqueString>()));
log && log(xtag("DDefineExpr.tseq", typeseq::id<DDefineExpr>()));
log && log(xtag("DVariable.tseq", typeseq::id<DVariable>()));
@ -82,7 +88,10 @@ namespace xo {
log && log(xtag("DLambdaExpr.tseq", typeseq::id<DLambdaExpr>()));
log && log(xtag("DIfElseExpr.tseq", typeseq::id<DIfElseExpr>()));
log && log(xtag("DLocalSymtab.tseq", typeseq::id<DLocalSymtab>()));
log && log(xtag("AExpression.tqseq", typeseq::id<AExpression>()));
log && log(xtag("ASymbolTable.tseq", typeseq::id<ASymbolTable>()));
return true;
}