xo-reader: simplify: drop redundant virtual admits_xxx()

This commit is contained in:
Roland Conybeare 2024-08-10 17:30:45 -05:00
commit 18a4b51d3c
7 changed files with 10 additions and 26 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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