diff --git a/include/xo/reader/define_xs.hpp b/include/xo/reader/define_xs.hpp index dc5a5944..5e70012c 100644 --- a/include/xo/reader/define_xs.hpp +++ b/include/xo/reader/define_xs.hpp @@ -44,9 +44,9 @@ namespace xo { bool admits_rightparen() const; bool admits_colon() const; + bool admits_semicolon() const; virtual bool admits_symbol() const override; - virtual bool admits_semicolon() const override; virtual bool admits_singleassign() const override; // virtual void on_f64(..) override diff --git a/include/xo/reader/exprstate.hpp b/include/xo/reader/exprstate.hpp index b6807776..c75870ce 100644 --- a/include/xo/reader/exprstate.hpp +++ b/include/xo/reader/exprstate.hpp @@ -74,8 +74,10 @@ namespace xo { /** true iff this parsing state admits a symbol as next token **/ virtual bool admits_symbol() const; +#ifdef OBSOLETE /** true iff this parsing state admits a semicolon as next token **/ virtual bool admits_semicolon() const; +#endif /** true iff this parsing state admits a singleassign '=' as next token **/ virtual bool admits_singleassign() const; diff --git a/include/xo/reader/paren_xs.hpp b/include/xo/reader/paren_xs.hpp index 61a057ae..058cdf37 100644 --- a/include/xo/reader/paren_xs.hpp +++ b/include/xo/reader/paren_xs.hpp @@ -35,7 +35,6 @@ namespace xo { bool admits_rightparen() const; virtual bool admits_symbol() const override; - virtual bool admits_semicolon() const override; virtual bool admits_singleassign() const override; virtual void on_expr(ref::brw expr, diff --git a/include/xo/reader/progress_xs.hpp b/include/xo/reader/progress_xs.hpp index 47912d20..9ec61099 100644 --- a/include/xo/reader/progress_xs.hpp +++ b/include/xo/reader/progress_xs.hpp @@ -25,12 +25,7 @@ namespace xo { bool admits_f64() const; virtual bool admits_symbol() const override; - virtual bool admits_semicolon() const override; virtual bool admits_singleassign() const override; -#ifdef OBSOLETE - virtual bool admits_leftparen() const override; - virtual bool admits_rightparen() const override; -#endif virtual void on_expr(ref::brw expr, exprstatestack * p_stack, diff --git a/src/reader/exprstate.cpp b/src/reader/exprstate.cpp index 2eaac5bb..3416f7d1 100644 --- a/src/reader/exprstate.cpp +++ b/src/reader/exprstate.cpp @@ -76,6 +76,7 @@ namespace xo { return false; } +#ifdef OBSOLETE bool exprstate::admits_semicolon() const { switch (exs_type_) { @@ -97,6 +98,7 @@ namespace xo { return false; } +#endif bool exprstate::admits_singleassign() const { @@ -202,14 +204,9 @@ namespace xo { constexpr const char * self_name = "exprstate::on_semicolon"; - if (!this->admits_semicolon()) - { - throw std::runtime_error(tostr(self_name, - ": unexpected semicolon for parsing state", - xtag("state", *this))); - } - - assert(false); + throw std::runtime_error(tostr(self_name, + ": unexpected semicolon for parsing state", + xtag("state", *this))); } void diff --git a/src/reader/paren_xs.cpp b/src/reader/paren_xs.cpp index 232bdb72..448e0faa 100644 --- a/src/reader/paren_xs.cpp +++ b/src/reader/paren_xs.cpp @@ -17,9 +17,6 @@ namespace xo { bool paren_xs::admits_symbol() const { return true; } - bool - paren_xs::admits_semicolon() const { return false; } - bool paren_xs::admits_singleassign() const { return false; } diff --git a/src/reader/progress_xs.cpp b/src/reader/progress_xs.cpp index 16f31ce2..3a978505 100644 --- a/src/reader/progress_xs.cpp +++ b/src/reader/progress_xs.cpp @@ -17,20 +17,14 @@ namespace xo { bool progress_xs::admits_symbol() const { return false; } +#ifdef OSBOLETE bool progress_xs::admits_semicolon() const { return true; } +#endif bool progress_xs::admits_singleassign() const { return false; } -#ifdef OBSOLETE - bool - progress_xs::admits_rightparen() const { - /* satisfies expression form */ - return true; - } -#endif - bool progress_xs::admits_f64() const { return false; }