diff --git a/xo-reader2/include/xo/reader2/reader2_register_facets.hpp b/xo-reader2/include/xo/reader2/reader2_register_facets.hpp new file mode 100644 index 00000000..6e606e40 --- /dev/null +++ b/xo-reader2/include/xo/reader2/reader2_register_facets.hpp @@ -0,0 +1,15 @@ +/** @file reader2_register_facets.hpp + * + * @author Roland Conybeare, Jan 2026 + **/ + +#pragma once + +namespace xo { + namespace scm { + /** Register reader2 (facet,impl) combinations with FacetRegistry **/ + bool reader2_register_facets(); + } +} + +/* end reader2_register_facets.hpp */ diff --git a/xo-reader2/src/reader2/CMakeLists.txt b/xo-reader2/src/reader2/CMakeLists.txt index e8bfb1d7..ee214f56 100644 --- a/xo-reader2/src/reader2/CMakeLists.txt +++ b/xo-reader2/src/reader2/CMakeLists.txt @@ -13,7 +13,7 @@ set(SELF_SRCS DExprSeqState.cpp ISyntaxStateMachine_DExprSeqState.cpp - #reader2_register_facets.cpp + reader2_register_facets.cpp #reader2_register_types.cpp ) diff --git a/xo-reader2/src/reader2/ParserStack.cpp b/xo-reader2/src/reader2/ParserStack.cpp index 7e8f6b1b..3648cb4d 100644 --- a/xo-reader2/src/reader2/ParserStack.cpp +++ b/xo-reader2/src/reader2/ParserStack.cpp @@ -10,6 +10,10 @@ namespace xo { using xo::facet::typeseq; namespace scm { + ParserStack::ParserStack(obj ssm, + ParserStack * parent) + : ssm_{ssm}, parent_{parent} + {} ParserStack * ParserStack::push(obj mm, diff --git a/xo-reader2/src/reader2/reader2_register_facets.cpp b/xo-reader2/src/reader2/reader2_register_facets.cpp new file mode 100644 index 00000000..e5b1d157 --- /dev/null +++ b/xo-reader2/src/reader2/reader2_register_facets.cpp @@ -0,0 +1,33 @@ +/** @file reader2_register_facets.cpp + * + * @author Roland Conybeare, Jan 2026 + **/ + +#include "reader2_register_facets.hpp" + +#include + +#include +#include +#include + +namespace xo { + using xo::facet::FacetRegistry; + using xo::facet::typeseq; + + namespace scm { + bool + reader2_register_facets() + { + scope log(XO_DEBUG(true)); + + FacetRegistry::register_impl(); + + log && log(xtag("DExprSeqState.tseq", typeseq::id())); + + return true; + } + } /*namespace scm*/ +} /*namespace xo*/ + +/* end reader2_register_facets.cpp */