diff --git a/include/xo/reader/expect_type_xs.hpp b/include/xo/reader/expect_type_xs.hpp index 86e5adf7..1a388f54 100644 --- a/include/xo/reader/expect_type_xs.hpp +++ b/include/xo/reader/expect_type_xs.hpp @@ -16,7 +16,7 @@ namespace xo { public: expect_type_xs(); - static void start(exprstatestack * p_stack); + static void start(parserstatemachine * p_stack); virtual void on_symbol_token(const token_type & tk, parserstatemachine * p_psm) override; diff --git a/src/reader/define_xs.cpp b/src/reader/define_xs.cpp index 4a21a0d7..04c37c5b 100644 --- a/src/reader/define_xs.cpp +++ b/src/reader/define_xs.cpp @@ -112,12 +112,10 @@ namespace xo { //constexpr const char * self_name = "define_xs::on_colon_token"; - auto p_stack = p_psm->p_stack_; - if (this->defxs_type_ == defexprstatetype::def_2) { this->defxs_type_ = defexprstatetype::def_3; - expect_type_xs::start(p_stack); + expect_type_xs::start(p_psm); } else { exprstate::on_colon_token(tk, p_psm); } diff --git a/src/reader/expect_formal_xs.cpp b/src/reader/expect_formal_xs.cpp index e60b77b0..28e19ce4 100644 --- a/src/reader/expect_formal_xs.cpp +++ b/src/reader/expect_formal_xs.cpp @@ -64,11 +64,9 @@ namespace xo { expect_formal_xs::on_colon_token(const token_type & tk, parserstatemachine * p_psm) { - auto p_stack = p_psm->p_stack_; - if (this->formalxs_type_ == formalstatetype::formal_1) { this->formalxs_type_ = formalstatetype::formal_2; - expect_type_xs::start(p_stack); + expect_type_xs::start(p_psm); /* control reenters via expect_formal_xs::on_typedescr() */ } else { exprstate::on_colon_token(tk, diff --git a/src/reader/expect_type_xs.cpp b/src/reader/expect_type_xs.cpp index f8efd265..d994257e 100644 --- a/src/reader/expect_type_xs.cpp +++ b/src/reader/expect_type_xs.cpp @@ -19,8 +19,8 @@ namespace xo { } void - expect_type_xs::start(exprstatestack * p_stack) { - p_stack->push_exprstate(expect_type_xs::make()); + expect_type_xs::start(parserstatemachine * p_psm) { + p_psm->push_exprstate(expect_type_xs::make()); } expect_type_xs::expect_type_xs()