/** @file SetupReader2.cpp * * @author Roland Conybeare, Jan 2026 **/ #include "SetupReader2.hpp" #include "SchematikaParser.hpp" #include "ToplevelSeqSsm.hpp" #include "DefineSsm.hpp" #include "DeftypeSsm.hpp" #include "LambdaSsm.hpp" #include "IfElseSsm.hpp" #include "ApplySsm.hpp" #include "SequenceSsm.hpp" #include "ParenSsm.hpp" #include "QuoteSsm.hpp" #include "ProgressSsm.hpp" #include "SyntaxStateMachine.hpp" #include "ExpectFormalArglistSsm.hpp" #include "ExpectFormalArgSsm.hpp" #include "ExpectSymbolSsm.hpp" #include "ExpectTypeSsm.hpp" #include "ExpectListTypeSsm.hpp" #include "ExpectExprSsm.hpp" #include "ExpectQLiteralSsm.hpp" #include "ExpectQListSsm.hpp" #include "ExpectQDictSsm.hpp" #include "ExpectQArraySsm.hpp" #include #include #include namespace xo { using xo::print::APrintable; using xo::mm::ACollector; using xo::mm::AGCObject; using xo::facet::FacetRegistry; using xo::facet::TypeRegistry; using xo::facet::typeseq; using xo::facet::impl_for; namespace scm { bool SetupReader2::register_facets() { scope log(XO_DEBUG(true)); // SchematikParser FacetRegistry::register_impl(); // GlobalEnv FacetRegistry::register_impl(); FacetRegistry::register_impl(); // SyntaxStateMachine 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(); 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(); // misc types showing up in parser stack arena TypeRegistry::register_type(); log && log(xtag("DSchematikaParser.tseq", typeseq::id())); log && log(xtag("DGlobalEnv.tseq", typeseq::id())); log && log(xtag("DToplevelSeqSsm.tseq", typeseq::id())); log && log(xtag("DDefineSsm.tseq", typeseq::id())); log && log(xtag("DDeftypeSsm.tseq", typeseq::id())); log && log(xtag("DLambdaSsm.tseq", typeseq::id())); log && log(xtag("DIfElseSsm.tseq", typeseq::id())); log && log(xtag("DExpectFormalArglistSsm.tseq", typeseq::id())); log && log(xtag("DExpectFormalArgSsm.tseq", typeseq::id())); log && log(xtag("DExpectSymbolSsm.tseq", typeseq::id())); log && log(xtag("DExpectTypeSsm.tseq", typeseq::id())); log && log(xtag("DExpectExprSsm.tseq", typeseq::id())); log && log(xtag("DExpectQLiteralSsm.tseq", typeseq::id())); log && log(xtag("DExpectQListSsm.tseq", typeseq::id())); log && log(xtag("DExpectQDictSsm.tseq", typeseq::id())); log && log(xtag("DExpectQArraySsm.tseq", typeseq::id())); log && log(xtag("DProgressSsm.tseq", typeseq::id())); log && log(xtag("DParenSsm.tseq", typeseq::id())); log && log(xtag("DQuoteSsm.tseq", typeseq::id())); log && log(xtag("ASyntaxStateMachine.tseq", typeseq::id())); return true; } bool SetupReader2::register_types(obj gc) { scope log(XO_DEBUG(true)); bool ok = true; ok &= gc.install_type(impl_for()); return ok; } } /*namespace scm*/ } /*namespace xo*/ /* end SetupReader2.cpp */