xo-reader: simplify: drop exprstate.admits_colon()

This commit is contained in:
Roland Conybeare 2024-08-10 17:12:52 -05:00
commit 2b436850cf
7 changed files with 4 additions and 49 deletions

View file

@ -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;

View file

@ -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 **/

View file

@ -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<Expression> expr,
exprstatestack * p_stack,

View file

@ -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

View file

@ -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);
}

View file

@ -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; }

View file

@ -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; }