diff --git a/c/mapping/mlr_dsl_cst.c b/c/mapping/mlr_dsl_cst.c index d8484eb68..7c358f88c 100644 --- a/c/mapping/mlr_dsl_cst.c +++ b/c/mapping/mlr_dsl_cst.c @@ -278,7 +278,7 @@ static void mlr_dsl_cst_resolve_subr_callsites(mlr_dsl_cst_t* pcst) { exit(1); } if (psubr_defsite->arity != psubr_callsite->arity) { - fprintf(stderr, "%s: subroutine \"%s\" expects argument count %d but argument count %d was provied.\n", + fprintf(stderr, "%s: subroutine \"%s\" expects argument count %d but argument count %d was provided.\n", MLR_GLOBALS.bargv0, psubr_callsite->name, psubr_defsite->arity, psubr_callsite->arity); exit(1); } diff --git a/c/mapping/mlr_dsl_cst_analyze.c b/c/mapping/mlr_dsl_cst_analyze.c index 9c442b3a5..67cc736a9 100644 --- a/c/mapping/mlr_dsl_cst_analyze.c +++ b/c/mapping/mlr_dsl_cst_analyze.c @@ -345,13 +345,21 @@ static void analyzed_ast_allocate_locals_for_node(mlr_dsl_ast_node_t* pnode, sll for (sllve_t* pe = pnode->pchildren->phead; pe != NULL; pe = pe->pnext) { mlr_dsl_ast_node_t* pchild = pe->pvvalue; + // xxx special case for triple-for: only the body statement list is curly braced. + // the triple elements are not. maybe make some ast-node-type help here in the parser? if (pchild->type == MD_AST_NODE_TYPE_STATEMENT_LIST) { lhmsi_t* pnames_to_indices = lhmsi_alloc(); + for (int i = 0; i < pframe_group->length; i++) + printf(":: "); + printf("PUSH FRAME\n"); sllv_prepend(pframe_group, pnames_to_indices); analyzed_ast_allocate_locals_for_statement_list(pchild, pframe_group); sllv_pop(pframe_group); + for (int i = 0; i < pframe_group->length; i++) + printf(":: "); + printf("POP FRAME\n"); lhmsi_free(pnames_to_indices); } else { analyzed_ast_allocate_locals_for_node(pchild, pframe_group); diff --git a/doc/manpage.html b/doc/manpage.html index 718fa6a0c..7afdafd0d 100644 --- a/doc/manpage.html +++ b/doc/manpage.html @@ -1871,7 +1871,7 @@ SEE ALSO - 2016-10-04 MILLER(1) + 2016-10-05 MILLER(1)
diff --git a/doc/manpage.txt b/doc/manpage.txt index 3f424bf7f..18207ecab 100644 --- a/doc/manpage.txt +++ b/doc/manpage.txt @@ -1724,4 +1724,4 @@ SEE ALSO - 2016-10-04 MILLER(1) + 2016-10-05 MILLER(1) diff --git a/doc/mlr.1 b/doc/mlr.1 index 66f9a44a3..bf005e0fb 100644 --- a/doc/mlr.1 +++ b/doc/mlr.1 @@ -2,12 +2,12 @@ .\" Title: mlr .\" Author: [see the "AUTHOR" section] .\" Generator: ./mkman.rb -.\" Date: 2016-10-04 +.\" Date: 2016-10-05 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" -.TH "MILLER" "1" "2016-10-04" "\ \&" "\ \&" +.TH "MILLER" "1" "2016-10-05" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Portability definitions .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~