xo-reader2: + assemble lambda function type in DLambdaSsm

This commit is contained in:
Roland Conybeare 2026-01-30 12:41:09 -05:00
commit fcf171dfb6
8 changed files with 97 additions and 137 deletions

View file

@ -32,8 +32,7 @@ namespace xo {
bool allow_defs,
bool cxl_on_rightparen,
ParserStateMachine * p_psm);
static void start(DArena & parser_mm,
ParserStateMachine * p_psm);
static void start(ParserStateMachine * p_psm);
/** @defgroup scm-expectexpr-access-methods access methods **/
///@{

View file

@ -88,6 +88,12 @@ namespace xo {
void on_lambda_token(const Token & tk,
ParserStateMachine * p_psm);
/** update ssm on yield token @p tk,
* with overall parser state in @p p_psm
**/
void on_yields_token(const Token & tk,
ParserStateMachine * p_psm);
///@}
/** @defgroup scm-lambdassm-syntaxstatemachine-facet **/
///@{
@ -174,13 +180,11 @@ namespace xo {
/** lambda environment (for formal parameters) **/
DLocalSymtab * local_symtab_ = nullptr;
#ifdef NOT_YET
/** explicit return type (if supplied) **/
TypeDescr explicit_return_td_ = nullptr;
/** lambda signature (when known) **/
TypeDescr lambda_td_ = nullptr;
#endif
/** body expression **/
obj<AExpression> body_;