/** @file expression2_register_facets.cpp * * @author Roland Conybeare, Jan 2026 **/ #include "expression2_register_facets.hpp" #include //#include //#include #include //#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace xo { using xo::mm::AGCObject; using xo::print::APrintable; using xo::facet::FacetRegistry; using xo::facet::TypeRegistry; using xo::facet::typeseq; namespace scm { bool expression2_register_facets() { scope log(XO_DEBUG(true)); FacetRegistry::register_impl(); FacetRegistry::register_impl(); // Expression // +- Constant // +- Variable // +- VarRef // +- DefineExpr // +- ApplyExpr // +- LambdaExpr // +- IfElseExpr // \- SequenceExpr FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); //FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); // SymbolTable // +- LocalSymtab // \- GlobalSymtab FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); FacetRegistry::register_impl(); // until we register facets TypeRegistry::register_type(); TypeRegistry::register_type(); log && log(xtag("DUniqueString.tseq", typeseq::id())); log && log(xtag("DDefineExpr.tseq", typeseq::id())); log && log(xtag("DVariable.tseq", typeseq::id())); log && log(xtag("DVarRef.tseq", typeseq::id())); log && log(xtag("DConstant.tseq", typeseq::id())); log && log(xtag("DApplyExpr.tseq", typeseq::id())); log && log(xtag("DLambdaExpr.tseq", typeseq::id())); 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())); log && log(xtag("ASymbolTable.tseq", typeseq::id())); return true; } } /*namespace scm*/ } /*namespace xo*/ /* end expression2_register_facets.cpp */