xo-reader2: refactor: push token dispatch to satellite SSMs

This commit is contained in:
Roland Conybeare 2026-01-23 19:01:12 -05:00
commit e4cfb57bef
32 changed files with 590 additions and 816 deletions

View file

@ -57,26 +57,8 @@ public:
virtual std::string_view get_expect_str(Copaque data) const noexcept = 0;
// nonconst methods
/** operate state machine for incoming symbol-token @p tk **/
virtual void on_symbol_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update state machine for incoming define-keyword-token @p tk **/
virtual void on_def_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update state machine for incoming if-keyword-token @p tk **/
virtual void on_if_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update state machine for incoming colon-token @p tk **/
virtual void on_colon_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update state machine for incoming singleassign-token @p tk **/
virtual void on_singleassign_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update state machine for incoming f64-token @p tk **/
virtual void on_f64_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update state machine for incoming i64-token @p tk **/
virtual void on_i64_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update state machine for incoming bool-token @p tk **/
virtual void on_bool_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update state machine for incoming string-token @p tk **/
virtual void on_string_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update state machine for incoming semicolon-token @p tk **/
virtual void on_semicolon_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** operate state machine for incoming token @p tk **/
virtual void on_token(Opaque data, const Token & tk, ParserStateMachine * p_psm) = 0;
/** update stat machine for incoming parsed symbol @p sym **/
virtual void on_parsed_symbol(Opaque data, std::string_view sym, ParserStateMachine * p_psm) = 0;
/** operate state machine for incoming type description @p td **/