xo-reader: simplify rightparen logic

This commit is contained in:
Roland Conybeare 2024-08-09 20:45:06 -04:00
commit fb30451684
6 changed files with 11 additions and 71 deletions

View file

@ -42,15 +42,12 @@ namespace xo {
defexprstatetype defxs_type() const { return defxs_type_; }
#ifdef OBSOLETE
bool admits_leftparen() const;
#endif
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;
virtual bool admits_rightparen() const override;
// virtual void on_f64(..) override
virtual void on_expr(ref::brw<Expression> expr,
@ -69,11 +66,6 @@ namespace xo {
rp<Expression> * /*p_emit_expr*/) override;
virtual void on_singleassign_token(const token_type & tk,
exprstatestack * p_stack) override;
#ifdef OBSOLETE
virtual void on_leftparen_token(const token_type & tk,
exprstatestack * p_stack,
rp<Expression> * /*p_emit_expr*/) override;
#endif
virtual void on_rightparen_token(const token_type & tk,
exprstatestack * p_stack,
rp<Expression> * /*p_emit_expr*/) override;

View file

@ -90,9 +90,9 @@ namespace xo {
#ifdef OBSOLETE
/** true iff this parsing state admits a leftparen '(' as next token **/
virtual bool admits_leftparen() const;
#endif
/** truee iff this parsing state admits a rightparen ')' as next token **/
virtual bool admits_rightparen() const;
#endif
/** update exprstate in response to incoming token @p tk,
* forward instructions to parent parser

View file

@ -32,6 +32,7 @@ namespace xo {
static std::unique_ptr<paren_xs> lparen_0();
bool admits_f64() const;
bool admits_rightparen() const;
virtual bool admits_symbol() const override;
virtual bool admits_colon() const override;
@ -40,7 +41,6 @@ namespace xo {
#ifdef OBSOLETE
virtual bool admits_leftparen() const override;
#endif
virtual bool admits_rightparen() const override;
virtual void on_expr(ref::brw<Expression> expr,
exprstatestack * p_stack,

View file

@ -30,8 +30,8 @@ namespace xo {
virtual bool admits_singleassign() const override;
#ifdef OBSOLETE
virtual bool admits_leftparen() const override;
#endif
virtual bool admits_rightparen() const override;
#endif
virtual void on_expr(ref::brw<Expression> expr,
exprstatestack * p_stack,