diff --git a/include/xo/reader/define_xs.hpp b/include/xo/reader/define_xs.hpp index 6e3da294..50c76da5 100644 --- a/include/xo/reader/define_xs.hpp +++ b/include/xo/reader/define_xs.hpp @@ -78,8 +78,7 @@ namespace xo { exprstatestack * p_stack, rp * p_emit_expr) override; virtual void on_symbol(const std::string & symbol_name, - exprstatestack * p_stack, - rp * p_emit_expr) override; + parserstatemachine * p_psm) override; virtual void on_typedescr(TypeDescr td, parserstatemachine * p_psm) override; virtual void on_def_token(const token_type & tk, diff --git a/include/xo/reader/expect_formal_xs.hpp b/include/xo/reader/expect_formal_xs.hpp index c1b2e0d4..64663239 100644 --- a/include/xo/reader/expect_formal_xs.hpp +++ b/include/xo/reader/expect_formal_xs.hpp @@ -50,8 +50,7 @@ namespace xo { static void start(exprstatestack * p_stack); virtual void on_symbol(const std::string & symbol_name, - exprstatestack * p_stack, - rp * p_emit_expr) override; + parserstatemachine * p_psm) override; virtual void on_colon_token(const token_type & tk, parserstatemachine * p_psm) override; diff --git a/include/xo/reader/exprstate.hpp b/include/xo/reader/exprstate.hpp index f52cd65e..0f9362ab 100644 --- a/include/xo/reader/exprstate.hpp +++ b/include/xo/reader/exprstate.hpp @@ -100,8 +100,7 @@ namespace xo { /** update exprstate when expecting a symbol **/ virtual void on_symbol(const std::string & symbol, - exprstatestack * p_stack, - rp * p_emit_expr); + parserstatemachine * p_psm); /** update exprstate when expeccting a typedescr **/ virtual void on_typedescr(TypeDescr td, diff --git a/include/xo/reader/paren_xs.hpp b/include/xo/reader/paren_xs.hpp index c250f020..a45a516a 100644 --- a/include/xo/reader/paren_xs.hpp +++ b/include/xo/reader/paren_xs.hpp @@ -38,8 +38,7 @@ namespace xo { exprstatestack * p_stack, rp * p_emit_expr) override; virtual void on_symbol(const std::string & symbol, - exprstatestack * p_stack, - rp * p_emit_expr) override; + parserstatemachine * p_psm) override; virtual void on_typedescr(TypeDescr td, parserstatemachine * p_psm) override; diff --git a/src/reader/define_xs.cpp b/src/reader/define_xs.cpp index 6bc17c13..30938ce7 100644 --- a/src/reader/define_xs.cpp +++ b/src/reader/define_xs.cpp @@ -59,15 +59,14 @@ namespace xo { void define_xs::on_symbol(const std::string & symbol_name, - exprstatestack * p_stack, - rp * p_emit_expr) + parserstatemachine * p_psm) { if (this->defxs_type_ == defexprstatetype::def_1) { this->defxs_type_ = defexprstatetype::def_2; this->def_expr_->assign_lhs_name(symbol_name); return; } else { - exprstate::on_symbol(symbol_name, p_stack, p_emit_expr); + exprstate::on_symbol(symbol_name, p_psm); } } diff --git a/src/reader/expect_formal_xs.cpp b/src/reader/expect_formal_xs.cpp index 99275c02..94120e79 100644 --- a/src/reader/expect_formal_xs.cpp +++ b/src/reader/expect_formal_xs.cpp @@ -49,16 +49,13 @@ namespace xo { void expect_formal_xs::on_symbol(const std::string & symbol_name, - exprstatestack * p_stack, - rp * p_emit_expr) + parserstatemachine * p_psm) { if (this->formalxs_type_ == formalstatetype::formal_0) { this->formalxs_type_ = formalstatetype::formal_1; this->result_.assign_name(symbol_name); } else { - exprstate::on_symbol(symbol_name, - p_stack, - p_emit_expr); + exprstate::on_symbol(symbol_name, p_psm); } } diff --git a/src/reader/expect_symbol_xs.cpp b/src/reader/expect_symbol_xs.cpp index 12334e73..bae85927 100644 --- a/src/reader/expect_symbol_xs.cpp +++ b/src/reader/expect_symbol_xs.cpp @@ -28,7 +28,6 @@ namespace xo { parserstatemachine * p_psm) { auto p_stack = p_psm->p_stack_; - auto p_emit_expr = p_psm->p_emit_expr_; /* have to do pop first, before sending symbol to * the o.g. symbol-requester @@ -36,8 +35,7 @@ namespace xo { std::unique_ptr self = p_stack->pop_exprstate(); - p_stack->top_exprstate().on_symbol(tk.text(), - p_stack, p_emit_expr); + p_stack->top_exprstate().on_symbol(tk.text(), p_psm); return; } } /*namespace scm*/ diff --git a/src/reader/exprstate.cpp b/src/reader/exprstate.cpp index de77cb52..db501154 100644 --- a/src/reader/exprstate.cpp +++ b/src/reader/exprstate.cpp @@ -360,8 +360,7 @@ namespace xo { void exprstate::on_symbol(const std::string & symbol_name, - exprstatestack * /*p_stack*/, - rp * /*p_emit_expr*/) + parserstatemachine * /*p_psm*/) { /* unreachable - derived class that can receive * will override this method diff --git a/src/reader/paren_xs.cpp b/src/reader/paren_xs.cpp index a536612c..6f94b37f 100644 --- a/src/reader/paren_xs.cpp +++ b/src/reader/paren_xs.cpp @@ -207,8 +207,7 @@ namespace xo { void paren_xs::on_symbol(const std::string & /*symbol_name*/, - exprstatestack * /*p_stack*/, - rp * /*p_emit_expr*/) + parserstatemachine * /*p_psm*/) { switch(this->parenxs_type_) { case parenexprstatetype::lparen_0: