From cbd411bbf82be627a7e714c18f55df874ac1e33a Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Thu, 8 Aug 2024 15:15:07 -0400 Subject: [PATCH] xo-reader: refactor: mv exprstate.cvt_expr -> define_xs --- include/xo/reader/define_xs.hpp | 9 +++++++++ include/xo/reader/exprstate.hpp | 13 ------------- src/reader/define_xs.cpp | 11 +++++++++++ src/reader/exprstate.cpp | 2 -- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/include/xo/reader/define_xs.hpp b/include/xo/reader/define_xs.hpp index 0f872007..6e15c21f 100644 --- a/include/xo/reader/define_xs.hpp +++ b/include/xo/reader/define_xs.hpp @@ -27,6 +27,9 @@ namespace xo { * @brief state to provide parsing of a define-expression **/ class define_xs : public exprstate { + public: + using ConvertExprAccess = xo::ast::ConvertExprAccess; + public: define_xs(rp def_expr); virtual ~define_xs() = default; @@ -66,6 +69,8 @@ namespace xo { exprstatestack * p_stack, rp * /*p_emit_expr*/) override; + virtual void print(std::ostream & os) const override; + private: /** * def foo : f64 = 1 ; @@ -88,6 +93,10 @@ namespace xo { * **/ defexprstatetype defxs_type_; + /** scafford a convert-expression here. + * May be nested within a def_expr + **/ + rp cvt_expr_; }; } /*namespace scm*/ } /*namespace xo*/ diff --git a/include/xo/reader/exprstate.hpp b/include/xo/reader/exprstate.hpp index ea37b934..0d051292 100644 --- a/include/xo/reader/exprstate.hpp +++ b/include/xo/reader/exprstate.hpp @@ -21,14 +21,6 @@ namespace xo { expect_toplevel_expression_sequence, defexpr, -#ifdef OBSOLETE - def_0, - def_1, - def_2, - def_3, - def_4, - def_5, -#endif /* lparen_0: look for expression; capture + advance to lparen_1 */ lparen_0, @@ -74,7 +66,6 @@ namespace xo { public: using Expression = xo::ast::Expression; using DefineExprAccess = xo::ast::DefineExprAccess; - using ConvertExprAccess = xo::ast::ConvertExprAccess; using exprtype = xo::ast::exprtype; using token_type = token; using TypeDescr = xo::reflect::TypeDescr; @@ -173,10 +164,6 @@ namespace xo { rp gen_expr_; /** scaffold a define-expression here **/ rp def_expr_; - /** scafford a convert-expression here. - * May be nested within a def_expr - **/ - rp cvt_expr_; }; /*exprstate*/ inline std::ostream & diff --git a/src/reader/define_xs.cpp b/src/reader/define_xs.cpp index 15ff0130..932d011c 100644 --- a/src/reader/define_xs.cpp +++ b/src/reader/define_xs.cpp @@ -462,6 +462,17 @@ namespace xo { assert(false); } + + void + define_xs::print(std::ostream & os) const { + os << ""; + } } /*namespace scm*/ } /*namespace xo*/ diff --git a/src/reader/exprstate.cpp b/src/reader/exprstate.cpp index c61ecc60..5b15ef42 100644 --- a/src/reader/exprstate.cpp +++ b/src/reader/exprstate.cpp @@ -930,8 +930,6 @@ namespace xo { << xtag("type", exs_type_); if (def_expr_) os << xtag("def_expr", def_expr_); - if (cvt_expr_) - os << xtag("cvt_expr", cvt_expr_); os << ">"; }