From fd941cffdee6c6bbeff679eb5cfc78f31ec1cf2a Mon Sep 17 00:00:00 2001 From: John Kerl Date: Wed, 11 May 2016 22:01:32 -0400 Subject: [PATCH] neaten --- c/mapping/mlr_dsl_cst.c | 36 ++++++++++++++++++++++++++++++++++++ c/mapping/mlr_dsl_cst.h | 3 ++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/c/mapping/mlr_dsl_cst.c b/c/mapping/mlr_dsl_cst.c index 090c53a8b..2ed938927 100644 --- a/c/mapping/mlr_dsl_cst.c +++ b/c/mapping/mlr_dsl_cst.c @@ -279,6 +279,42 @@ static mlr_dsl_cst_t* mlr_dsl_cst_alloc_from_ast(mlr_dsl_ast_t* past, int type_i return pcst; } +// ---------------------------------------------------------------- +// begin {} +// end {} +// ---------------------------------------------------------------- +// cond-expr {} +// while (expr) {} +// for (k, v in $*) {} +// for (k1, k2, v in @v["a"]) {} +// if (expr) {} elif (expr) {} elif (expr) else {} +// $srec = RHS +// @v["a"] = $* +// $* = @v["a"] +// bare-boolean +// @v["a"] = RHS +// filter +// unset +// emitf +// emitp +// emit +// dump +// break +// continue + +// LHS: +// * pfunc +// * srec_lhs_field_name +// * poosvar_lhs_keylist_evaluators +// * poosvar_lhs_namelist_evaluators +// * all_flag +// * prhs_evaluator +// * pbody_statements: cond, while, for +// * poosvar_rhs_keylist_evaluators +// * if-elif-elif-else -- ??? +// * for-srec -- ??? +// * for-oosvar -- ??? + // ---------------------------------------------------------------- void mlr_dsl_cst_free(mlr_dsl_cst_t* pcst) { if (pcst == NULL) diff --git a/c/mapping/mlr_dsl_cst.h b/c/mapping/mlr_dsl_cst.h index dbcd6c9b7..84515ec36 100644 --- a/c/mapping/mlr_dsl_cst.h +++ b/c/mapping/mlr_dsl_cst.h @@ -60,8 +60,9 @@ typedef void mlr_dsl_cst_node_evaluator_func_t( typedef struct _mlr_dsl_cst_statement_item_t { // LHS: char* output_field_name; + // E.g. emit @a[$b]["c"], "d", @e: keylist is [$b, "c"] and namelist is ["d", @e]. sllv_t* poosvar_lhs_keylist_evaluators; - sllv_t* poosvar_lhs_namelist_evaluators; + sllv_t* poosvar_lhs_namelist_evaluators; // for emit int all_flag; // for emit all and unset all // RHS: