xo-reader2: + assemble lambda function type in DLambdaSsm
This commit is contained in:
parent
f5ccd99dd2
commit
fcf171dfb6
8 changed files with 97 additions and 137 deletions
|
|
@ -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 **/
|
||||
///@{
|
||||
|
|
|
|||
|
|
@ -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_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue