xo-reader2: DefineSsm: respond to = token

This commit is contained in:
Roland Conybeare 2026-01-21 17:35:01 -05:00
commit c60aeda12a
8 changed files with 105 additions and 4 deletions

View file

@ -98,6 +98,13 @@ namespace xo {
obj<AAllocator> expr_mm,
ParserStateMachine * p_psm);
///@}
/** @defgroup scm-definessm-access-methods **/
///@{
/** identify define-expression state **/
defexprstatetype defstate() const noexcept { return defstate_; }
///@}
/** @defgroup scm-define-ssm-facet syntaxstatemachine facet methods **/
///@{

View file

@ -54,6 +54,9 @@ namespace xo {
/** true iff state machine currently has incomplete expression **/
bool has_incomplete_expr() const noexcept;
/** top of parser stack **/
obj<ASyntaxStateMachine> top_ssm() const;
///@}
/** @defgroup scm-parserstatemachine-bookkeeping bookkeeping methods **/

View file

@ -172,6 +172,9 @@ namespace xo {
obj<AAllocator> expr_alloc,
bool debug_flag);
/** scm-schematikaparser-access-methods **/
///@{
bool debug_flag() const { return debug_flag_; }
/** true if parser is at top-level,
@ -185,6 +188,13 @@ namespace xo {
**/
bool has_incomplete_expr() const;
/** top of parser stack **/
obj<ASyntaxStateMachine> top_ssm() const;
///@}
/** scm-schematikaparser-general-methods **/
///@{
/** put parser into state for beginning an interactive session.
**/
void begin_interactive_session();
@ -215,11 +225,17 @@ namespace xo {
**/
void reset_to_idle_toplevel();
///@}
/** scm-schematikaparser-pretty-methods **/
///@{
/** print human-readable representation on stream @p os **/
void print(std::ostream & os) const;
/** pretty-printer support **/
bool pretty(const ppindentinfo & ppii) const;
///@}
private:
/** state machine **/
ParserStateMachine psm_;