xo-reader2: parse list types + utest

This commit is contained in:
Roland Conybeare 2026-03-11 14:13:48 -05:00
commit 46637ec16a
19 changed files with 787 additions and 34 deletions

View file

@ -85,14 +85,14 @@ namespace xo {
obj<AAllocator> expr_mm,
ParserStateMachine * p_psm);
static const char * ssm_classname() { return "DIfElseSsm"; }
DSyntaxStateMachine<DIfElseSsm> * super() { return this; }
///@}
/** @defgroup scm-ifelsessm-expression-methods general methods **/
///@{
static const char * ssm_classname() { return "DIfElseSsm"; }
DSyntaxStateMachine<DIfElseSsm> * super() { return this; }
/** operate state machine on if-token input @p tk,
* with overall parser state in @p p_psm
**/
@ -178,6 +178,9 @@ namespace xo {
#endif
private:
/** @defgroup scm-expectlisttypessm-instance-vars instance variables **/
///@{
ifexprstatetype ifstate_ = ifexprstatetype::invalid;
/** scaffold ifelse-expression here.
* This will eventually be the output of this ssm
@ -186,6 +189,8 @@ namespace xo {
**/
obj<AExpression,DIfElseExpr> if_expr_;
///@}
};
} /*namespace scm*/
} /*namespace xo*/