xo-reader2: recursive top-level function definition works
This commit is contained in:
parent
27c5f66e74
commit
9cb3c4b5b6
7 changed files with 222 additions and 13 deletions
|
|
@ -51,6 +51,12 @@ namespace xo {
|
|||
/** @defgroup scm-expectexpr-methods general methods **/
|
||||
///@{
|
||||
|
||||
/** update state for this syntax on incoming leftparen token @p tk,
|
||||
* with overall parser state in @p p_psm
|
||||
**/
|
||||
void on_leftparen_token(const Token & tk,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update state for this syntax on incoming leftbrace token @p tk,
|
||||
* with overall parser state in @p p_psm
|
||||
**/
|
||||
|
|
@ -81,8 +87,18 @@ namespace xo {
|
|||
void on_string_token(const Token & tk,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update state for this syntax on incoming if-token @p tk,
|
||||
* overall parser state in @p p_psm.
|
||||
*
|
||||
* action: start nested if-else ssm
|
||||
**/
|
||||
void on_if_token(const Token & tk,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update state for this syntax on incoming lambda token @p tk,
|
||||
* overall parser state in @p p_psm
|
||||
*
|
||||
* action: start nested lambda ssm
|
||||
**/
|
||||
void on_lambda_token(const Token & tk,
|
||||
ParserStateMachine * p_psm);
|
||||
|
|
|
|||
|
|
@ -116,6 +116,14 @@ namespace xo {
|
|||
void on_parsed_expression(obj<AExpression> expr,
|
||||
ParserStateMachine * p_psm);
|
||||
|
||||
/** update ssm for expression @p expr (emitted by nested ssm)
|
||||
* that's immediately followed by token @p tk
|
||||
* with overall parser state in @p p_psm
|
||||
**/
|
||||
void on_parsed_expression_with_token(obj<AExpression> expr,
|
||||
const Token & tk,
|
||||
ParserStateMachine * p_psmn);
|
||||
|
||||
///@}
|
||||
/** @defgroup scm-parenssm-printable-facet printable facet methods **/
|
||||
///@{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue