xo-reader2: use DUniqueString* to report parsed formal
This commit is contained in:
parent
fb48c94be6
commit
1c2352c008
50 changed files with 377 additions and 65 deletions
|
|
@ -104,18 +104,6 @@ namespace xo {
|
|||
void on_token(const Token & tk,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update this ssm when nested parser
|
||||
* emits expression @p expr
|
||||
**/
|
||||
void on_parsed_expression_with_semicolon(obj<AExpression> expr,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update this ssm when nested parser
|
||||
* emits expression @p expr
|
||||
**/
|
||||
void on_parsed_expression(obj<AExpression> expr,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update this ssm when nested parser
|
||||
* emits @p td.
|
||||
**/
|
||||
|
|
@ -128,17 +116,30 @@ namespace xo {
|
|||
void on_parsed_typedescr(TypeDescr td,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update this ssm to consume parsed formal (name,value)
|
||||
* from nested (and now expired) ssm
|
||||
**/
|
||||
void on_parsed_formal(const DUniqueString * sym,
|
||||
TypeDescr td,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update this ssm when nested parser
|
||||
* emits expression @p expr
|
||||
**/
|
||||
void on_parsed_expression(obj<AExpression> expr,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update this ssm when nested parser
|
||||
* emits expression @p expr
|
||||
**/
|
||||
void on_parsed_expression_with_semicolon(obj<AExpression> expr,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
#ifdef NOT_YET
|
||||
virtual const char * get_expect_str() const override;
|
||||
|
||||
virtual void on_typedescr(TypeDescr td,
|
||||
parserstatemachine * p_psm) override;
|
||||
virtual void on_formal_arglist(const std::vector<rp<Variable>> & argl,
|
||||
parserstatemachine * p_psm) override;
|
||||
virtual void on_expr(bp<Expression> expr,
|
||||
parserstatemachine * p_psm) override;
|
||||
virtual void on_expr_with_semicolon(bp<Expression> expr,
|
||||
parserstatemachine * p_psm) override;
|
||||
virtual void on_leftbrace_token(const token_type & tk,
|
||||
parserstatemachine * p_psm) override;
|
||||
virtual void on_colon_token(const token_type & tk,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue