diff --git a/include/xo/reader/paren_xs.hpp b/include/xo/reader/paren_xs.hpp index 65811607..dada4627 100644 --- a/include/xo/reader/paren_xs.hpp +++ b/include/xo/reader/paren_xs.hpp @@ -29,7 +29,7 @@ namespace xo { static const paren_xs * from(const exprstate * x) { return dynamic_cast(x); } - static std::unique_ptr lparen_0(); + static void start(exprstatestack * p_stack); bool admits_f64() const; bool admits_rightparen() const; @@ -68,6 +68,9 @@ namespace xo { virtual void print(std::ostream & os) const override; + private: + static std::unique_ptr make(); + private: /** * ( foo ... ) diff --git a/src/reader/expect_expr_xs.cpp b/src/reader/expect_expr_xs.cpp index 9f27d2a0..8ecc2e5b 100644 --- a/src/reader/expect_expr_xs.cpp +++ b/src/reader/expect_expr_xs.cpp @@ -57,8 +57,7 @@ namespace xo { //constexpr const char * self_name = "exprstate::on_leftparen"; /* push lparen_0 to remember to look for subsequent rightparen. */ - p_stack->push_exprstate(paren_xs::lparen_0()); - expect_expr_xs::start(p_stack); + paren_xs::start(p_stack); } void