indexed-emit iterate

This commit is contained in:
John Kerl 2016-03-06 16:31:33 -05:00
parent 5eb58e4e06
commit 67e46bbda9

View file

@ -526,9 +526,11 @@ md_emitf_args(A) ::= md_emitf_args(B) MD_TOKEN_COMMA md_oosvar_name(C). {
A = mlr_dsl_ast_node_append_arg(B, C);
}
// ----------------------------------------------------------------
md_emit(A) ::= MD_TOKEN_EMIT(O) MD_TOKEN_ALL(B). {
A = mlr_dsl_ast_node_alloc_unary(O->text, MD_AST_NODE_TYPE_EMIT, B);
}
md_emit(A) ::= MD_TOKEN_EMIT(O) md_oosvar_name(B). {
A = mlr_dsl_ast_node_alloc_unary(O->text, MD_AST_NODE_TYPE_EMIT, B);
}
@ -537,6 +539,14 @@ md_emit(A) ::= MD_TOKEN_EMIT(O) md_oosvar_name(B) MD_TOKEN_COMMA md_emit_args(C)
A = mlr_dsl_ast_node_set_function_name(B, O->text);
}
md_emit(A) ::= MD_TOKEN_EMIT(O) md_keyed_oosvar_name(B). {
A = mlr_dsl_ast_node_alloc_unary(O->text, MD_AST_NODE_TYPE_EMIT, B);
}
md_emit(A) ::= MD_TOKEN_EMIT(O) md_keyed_oosvar_name(B) MD_TOKEN_COMMA md_emit_args(C). {
B = mlr_dsl_ast_node_prepend_arg(C, B);
A = mlr_dsl_ast_node_set_function_name(B, O->text);
}
md_emit_args(A) ::= md_rhs(B). {
A = mlr_dsl_ast_node_alloc_unary("temp", MD_AST_NODE_TYPE_EMIT, B);
}