From 2b436850cf3e12f4cab6d7dd04f62dae568c1dcf Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Sat, 10 Aug 2024 17:12:52 -0500 Subject: [PATCH] xo-reader: simplify: drop exprstate.admits_colon() --- include/xo/reader/define_xs.hpp | 2 +- include/xo/reader/exprstate.hpp | 2 -- include/xo/reader/paren_xs.hpp | 4 ---- include/xo/reader/progress_xs.hpp | 1 - src/reader/exprstate.cpp | 38 +++---------------------------- src/reader/paren_xs.cpp | 3 --- src/reader/progress_xs.cpp | 3 --- 7 files changed, 4 insertions(+), 49 deletions(-) diff --git a/include/xo/reader/define_xs.hpp b/include/xo/reader/define_xs.hpp index 8c9ef9c1..dc5a5944 100644 --- a/include/xo/reader/define_xs.hpp +++ b/include/xo/reader/define_xs.hpp @@ -43,9 +43,9 @@ namespace xo { defexprstatetype defxs_type() const { return defxs_type_; } bool admits_rightparen() const; + bool admits_colon() const; virtual bool admits_symbol() const override; - virtual bool admits_colon() const override; virtual bool admits_semicolon() const override; virtual bool admits_singleassign() const override; diff --git a/include/xo/reader/exprstate.hpp b/include/xo/reader/exprstate.hpp index b3cdf24e..4da51d5d 100644 --- a/include/xo/reader/exprstate.hpp +++ b/include/xo/reader/exprstate.hpp @@ -85,8 +85,6 @@ namespace xo { /** true iff this parsing state admits a symbol as next token **/ virtual bool admits_symbol() const; - /** true iff this parsing state admits a colon as next token **/ - virtual bool admits_colon() const; /** true iff this parsing state admits a semicolon as next token **/ virtual bool admits_semicolon() const; /** true iff this parsing state admits a singleassign '=' as next token **/ diff --git a/include/xo/reader/paren_xs.hpp b/include/xo/reader/paren_xs.hpp index d00dc384..61a057ae 100644 --- a/include/xo/reader/paren_xs.hpp +++ b/include/xo/reader/paren_xs.hpp @@ -35,12 +35,8 @@ namespace xo { bool admits_rightparen() const; virtual bool admits_symbol() const override; - virtual bool admits_colon() const override; virtual bool admits_semicolon() const override; virtual bool admits_singleassign() const override; -#ifdef OBSOLETE - virtual bool admits_leftparen() const override; -#endif virtual void on_expr(ref::brw expr, exprstatestack * p_stack, diff --git a/include/xo/reader/progress_xs.hpp b/include/xo/reader/progress_xs.hpp index d4a0c190..47912d20 100644 --- a/include/xo/reader/progress_xs.hpp +++ b/include/xo/reader/progress_xs.hpp @@ -25,7 +25,6 @@ namespace xo { bool admits_f64() const; virtual bool admits_symbol() const override; - virtual bool admits_colon() const override; virtual bool admits_semicolon() const override; virtual bool admits_singleassign() const override; #ifdef OBSOLETE diff --git a/src/reader/exprstate.cpp b/src/reader/exprstate.cpp index 051a023d..2eaac5bb 100644 --- a/src/reader/exprstate.cpp +++ b/src/reader/exprstate.cpp @@ -76,35 +76,6 @@ namespace xo { return false; } - bool - exprstate::admits_colon() const { - switch (exs_type_) { - case exprstatetype::expect_toplevel_expression_sequence: - case exprstatetype::defexpr: - case exprstatetype::parenexpr: - /* unreachable -- redirects to define_xs::admits_colon() etc */ - assert(false); - return false; - - case exprstatetype::expect_rhs_expression: - case exprstatetype::expect_symbol: - case exprstatetype::expect_type: - return false; - - case exprstatetype::expr_progress: - /* unreachable */ - assert(false); - return false; - - case exprstatetype::invalid: - case exprstatetype::n_exprstatetype: - /* unreachable */ - return false; - } - - return false; - } - bool exprstate::admits_semicolon() const { switch (exs_type_) { @@ -214,12 +185,9 @@ namespace xo { constexpr const char * self_name = "exprstate::on_colon"; /* lots of illegal states */ - if (!this->admits_colon()) - { - throw std::runtime_error(tostr(self_name, - ": unexpected colon for parsing state", - xtag("state", *this))); - } + throw std::runtime_error(tostr(self_name, + ": unexpected colon for parsing state", + xtag("state", *this))); assert(false); } diff --git a/src/reader/paren_xs.cpp b/src/reader/paren_xs.cpp index 2fcf427b..1f882b9f 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_colon() const { return false; } - bool paren_xs::admits_semicolon() const { return false; } diff --git a/src/reader/progress_xs.cpp b/src/reader/progress_xs.cpp index f518374a..16f31ce2 100644 --- a/src/reader/progress_xs.cpp +++ b/src/reader/progress_xs.cpp @@ -17,9 +17,6 @@ namespace xo { bool progress_xs::admits_symbol() const { return false; } - bool - progress_xs::admits_colon() const { return false; } - bool progress_xs::admits_semicolon() const { return true; }