From 8de4383aa0a01acefe9944233f311bd32361ba0c Mon Sep 17 00:00:00 2001 From: John Kerl Date: Wed, 23 Nov 2016 08:57:12 -0500 Subject: [PATCH] mlhmmv reorg --- c/containers/local_stack.c | 6 +++--- c/containers/mlhmmv.c | 18 +++++++++--------- c/containers/mlhmmv.h | 10 +++++----- .../mlr_dsl_cst_map_assignment_statements.c | 8 ++++---- c/mapping/rxval_expr_evaluators.c | 14 +++++++------- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/c/containers/local_stack.c b/c/containers/local_stack.c index 0e9205a1b..bf5a81a8f 100644 --- a/c/containers/local_stack.c +++ b/c/containers/local_stack.c @@ -134,7 +134,7 @@ mv_t local_stack_frame_get_scalar_from_indexed(local_stack_frame_t* pframe, // x if (pbase_xval->is_terminal) { return mv_absent(); } else { - pxval = mlhmmv_get_value_from_level(pbase_xval->pnext_level, pmvkeys, &error); + pxval = mlhmmv_level_look_up_and_reference_xvalue(pbase_xval->pnext_level, pmvkeys, &error); } } if (pxval == NULL) { @@ -178,7 +178,7 @@ mlhmmv_value_t* local_stack_frame_get_extended_from_indexed(local_stack_frame_t* if (pmvkeys == NULL || pmvkeys->length == 0) { return pmvalue; } else { - return mlhmmv_get_value_from_level(pmvalue->pnext_level, pmvkeys, &error); + return mlhmmv_level_look_up_and_reference_xvalue(pmvalue->pnext_level, pmvkeys, &error); } } @@ -204,7 +204,7 @@ void local_stack_frame_assign_scalar_indexed(local_stack_frame_t* pframe, pmvalue->is_terminal = FALSE; pmvalue->pnext_level = mlhmmv_level_alloc(); } - mlhmmv_put_terminal_from_level(pmvalue->pnext_level, pmvkeys->phead, &terminal_value); + mlhmmv_level_put_terminal(pmvalue->pnext_level, pmvkeys->phead, &terminal_value); LOCAL_STACK_TRACE(printf("VALUE IS:\n")); LOCAL_STACK_TRACE(mlhmmv_level_print_stacked(pmvalue->pnext_level, 0, TRUE, TRUE, "", stdout)); diff --git a/c/containers/mlhmmv.c b/c/containers/mlhmmv.c index 4057869f0..258fa918b 100644 --- a/c/containers/mlhmmv.c +++ b/c/containers/mlhmmv.c @@ -190,14 +190,14 @@ static int mlhmmv_level_find_index_for_key(mlhmmv_level_t* plevel, mv_t* plevel_ // ---------------------------------------------------------------- // Example: keys = ["a", 2, "c"] and value = 4. void mlhmmv_root_put_terminal(mlhmmv_root_t* pmap, sllmv_t* pmvkeys, mv_t* pterminal_value) { - mlhmmv_put_terminal_from_level(pmap->proot_level, pmvkeys->phead, pterminal_value); + mlhmmv_level_put_terminal(pmap->proot_level, pmvkeys->phead, pterminal_value); } // Example on recursive calls: // * level = map, rest_keys = ["a", 2, "c"] , terminal value = 4. // * level = map["a"], rest_keys = [2, "c"] , terminal value = 4. // * level = map["a"][2], rest_keys = ["c"] , terminal value = 4. -void mlhmmv_put_terminal_from_level(mlhmmv_level_t* plevel, sllmve_t* prest_keys, mv_t* pterminal_value) { +void mlhmmv_level_put_terminal(mlhmmv_level_t* plevel, sllmve_t* prest_keys, mv_t* pterminal_value) { if ((plevel->num_occupied + plevel->num_freed) >= (plevel->array_length * LOAD_FACTOR)) mlhmmv_level_enlarge(plevel); mlhmmv_level_put_no_enlarge(plevel, prest_keys, pterminal_value); @@ -237,7 +237,7 @@ static void mlhmmv_level_put_no_enlarge(mlhmmv_level_t* plevel, sllmve_t* prest_ plevel->num_occupied++; if (prest_keys->pnext != NULL) { // RECURSE - mlhmmv_put_terminal_from_level(pentry->level_value.pnext_level, prest_keys->pnext, pterminal_value); + mlhmmv_level_put_terminal(pentry->level_value.pnext_level, prest_keys->pnext, pterminal_value); } } else if (plevel->states[index] == OCCUPIED) { // Existing key found in chain @@ -257,7 +257,7 @@ static void mlhmmv_level_put_no_enlarge(mlhmmv_level_t* plevel, sllmve_t* prest_ pentry->level_value.pnext_level = mlhmmv_level_alloc(); } // RECURSE - mlhmmv_put_terminal_from_level(pentry->level_value.pnext_level, prest_keys->pnext, pterminal_value); + mlhmmv_level_put_terminal(pentry->level_value.pnext_level, prest_keys->pnext, pterminal_value); } } else { @@ -267,16 +267,16 @@ static void mlhmmv_level_put_no_enlarge(mlhmmv_level_t* plevel, sllmve_t* prest_ } // ---------------------------------------------------------------- -mlhmmv_level_t* mlhmmv_put_empty_map_from_level(mlhmmv_level_t* plevel, sllmve_t* prest_keys) { +mlhmmv_level_t* mlhmmv_level_put_empty_map(mlhmmv_level_t* plevel, sllmve_t* prest_keys) { mv_t x = mv_absent(); - mlhmmv_put_terminal_from_level(plevel, prest_keys, &x); // xxx optimize to avoid 2nd lookup + mlhmmv_level_put_terminal(plevel, prest_keys, &x); // xxx optimize to avoid 2nd lookup int error; sllmv_t s = { // xxx simplify API .phead = prest_keys, .ptail = prest_keys, .length = 1 }; - mlhmmv_value_t* pxval = mlhmmv_get_value_from_level(plevel, &s, &error); + mlhmmv_value_t* pxval = mlhmmv_level_look_up_and_reference_xvalue(plevel, &s, &error); *pxval = mlhmmv_value_alloc_empty_map(); return pxval->pnext_level; } @@ -344,7 +344,7 @@ mv_t* mlhmmv_root_look_up_and_reference_terminal(mlhmmv_root_t* pmap, sllmv_t* p return &plevel_entry->level_value.terminal_mlrval; } -mv_t* mlhmmv_get_terminal_from_level(mlhmmv_level_t* plevel, sllmv_t* pmvkeys, int* perror) { +mv_t* mlhmmv_level_look_up_and_reference_terminal(mlhmmv_level_t* plevel, sllmv_t* pmvkeys, int* perror) { mlhmmv_level_entry_t* plevel_entry = mlhmmv_get_entry_at_level(plevel, pmvkeys->phead, perror); if (plevel_entry == NULL) { return NULL; @@ -507,7 +507,7 @@ static mlhmmv_value_t* mlhmmv_get_next_level_entry_value(mlhmmv_level_t* plevel, } // ---------------------------------------------------------------- -mlhmmv_value_t* mlhmmv_get_value_from_level(mlhmmv_level_t* pstart_level, sllmv_t* pmvkeys, int* perror) { +mlhmmv_value_t* mlhmmv_level_look_up_and_reference_xvalue(mlhmmv_level_t* pstart_level, sllmv_t* pmvkeys, int* perror) { *perror = MLHMMV_ERROR_NONE; sllmve_t* prest_keys = pmvkeys->phead; if (prest_keys == NULL) { diff --git a/c/containers/mlhmmv.h b/c/containers/mlhmmv.h index 7ac007547..8b33240e7 100644 --- a/c/containers/mlhmmv.h +++ b/c/containers/mlhmmv.h @@ -81,11 +81,11 @@ mlhmmv_level_t* mlhmmv_level_alloc(); void mlhmmv_clear_level(mlhmmv_level_t* plevel); -mv_t* mlhmmv_get_terminal_from_level(mlhmmv_level_t* plevel, sllmv_t* pmvkeys, int* perror); // xxx rename -mlhmmv_value_t* mlhmmv_get_value_from_level(mlhmmv_level_t* plevel, sllmv_t* pmvkeys, int* perror); -mlhmmv_level_t* mlhmmv_put_empty_map_from_level(mlhmmv_level_t* plevel, sllmve_t* prest_keys); -void mlhmmv_level_put_value(mlhmmv_level_t* plevel, sllmve_t* prest_keys, mlhmmv_value_t* pvalue); // xxx rename w/ xval -void mlhmmv_put_terminal_from_level(mlhmmv_level_t* plevel, sllmve_t* prest_keys, mv_t* pterminal_value); +mv_t* mlhmmv_level_look_up_and_reference_terminal(mlhmmv_level_t* plevel, sllmv_t* pmvkeys, int* perror); +mlhmmv_value_t* mlhmmv_level_look_up_and_reference_xvalue (mlhmmv_level_t* plevel, sllmv_t* pmvkeys, int* perror); +mlhmmv_level_t* mlhmmv_level_put_empty_map (mlhmmv_level_t* plevel, sllmve_t* prest_keys); +void mlhmmv_level_put_value (mlhmmv_level_t* plevel, sllmve_t* prest_keys, mlhmmv_value_t* pvalue); // xxx rename w/ xval +void mlhmmv_level_put_terminal (mlhmmv_level_t* plevel, sllmve_t* prest_keys, mv_t* pterminal_value); // Used by for-loops over map-valued local variables sllv_t* mlhmmv_copy_keys_from_submap_xxx_rename(mlhmmv_value_t* pmvalue, sllmv_t* pmvkeys); diff --git a/c/mapping/mlr_dsl_cst_map_assignment_statements.c b/c/mapping/mlr_dsl_cst_map_assignment_statements.c index 64b8c7133..efed39acf 100644 --- a/c/mapping/mlr_dsl_cst_map_assignment_statements.c +++ b/c/mapping/mlr_dsl_cst_map_assignment_statements.c @@ -522,14 +522,14 @@ static void handle_oosvar_from_full_srec_assignment( mlhmmv_clear_level(plevel); for (lrece_t* pe = pvars->pinrec->phead; pe != NULL; pe = pe->pnext) { - mv_t k = mv_from_string(pe->key, NO_FREE); // mlhmmv_put_terminal_from_level will copy + mv_t k = mv_from_string(pe->key, NO_FREE); // mlhmmv_level_put_terminal will copy sllmve_t e = { .value = k, .free_flags = 0, .pnext = NULL }; mv_t* pomv = lhmsmv_get(pvars->ptyped_overlay, pe->key); if (pomv != NULL) { - mlhmmv_put_terminal_from_level(plevel, &e, pomv); + mlhmmv_level_put_terminal(plevel, &e, pomv); } else { - mv_t v = mv_from_string(pe->value, NO_FREE); // mlhmmv_put_terminal_from_level will copy - mlhmmv_put_terminal_from_level(plevel, &e, &v); + mv_t v = mv_from_string(pe->value, NO_FREE); // mlhmmv_level_put_terminal will copy + mlhmmv_level_put_terminal(plevel, &e, &v); } } diff --git a/c/mapping/rxval_expr_evaluators.c b/c/mapping/rxval_expr_evaluators.c index dd244851c..7b6002ca5 100644 --- a/c/mapping/rxval_expr_evaluators.c +++ b/c/mapping/rxval_expr_evaluators.c @@ -183,7 +183,7 @@ static void rxval_evaluator_from_map_literal_aux( for (sllve_t* pe = plist_evaluator->pkvpair_evaluators->phead; pe != NULL; pe = pe->pnext) { map_literal_kvpair_evaluator_t* pkvpair = pe->pvvalue; - // mlhmmv_put_terminal_from_level will copy keys and values + // mlhmmv_level_put_terminal will copy keys and values mv_t mvkey = pkvpair->pkey_evaluator->pprocess_func(pkvpair->pkey_evaluator->pvstate, pvars); if (pkvpair->is_terminal) { sllmve_t e = { .value = mvkey, .free_flags = 0, .pnext = NULL }; @@ -196,7 +196,7 @@ static void rxval_evaluator_from_map_literal_aux( } } else { sllmve_t e = { .value = mvkey, .free_flags = 0, .pnext = NULL }; - mlhmmv_level_t* pnext_level = mlhmmv_put_empty_map_from_level(plevel, &e); + mlhmmv_level_t* pnext_level = mlhmmv_level_put_empty_map(plevel, &e); rxval_evaluator_from_map_literal_aux(pstate, pkvpair->plist_evaluator, pnext_level, pvars); } } @@ -379,7 +379,7 @@ static boxed_xval_t rxval_evaluator_from_oosvar_keylist_func(void* pvstate, vari if (all_non_null_or_error) { int lookup_error = FALSE; - mlhmmv_value_t* pxval = mlhmmv_get_value_from_level(pvars->poosvars->proot_level, + mlhmmv_value_t* pxval = mlhmmv_level_look_up_and_reference_xvalue(pvars->poosvars->proot_level, pmvkeys, &lookup_error); sllmv_free(pmvkeys); if (pxval != NULL) { @@ -461,16 +461,16 @@ static boxed_xval_t rxval_evaluator_from_full_srec_func(void* pvstate, variables boxed_xval.xval = mlhmmv_value_alloc_empty_map(); for (lrece_t* pe = pvars->pinrec->phead; pe != NULL; pe = pe->pnext) { - // mlhmmv_put_terminal_from_level will copy mv keys and values so we needn't (and shouldn't) + // mlhmmv_level_put_terminal will copy mv keys and values so we needn't (and shouldn't) // duplicate them here. mv_t k = mv_from_string(pe->key, NO_FREE); sllmve_t e = { .value = k, .free_flags = 0, .pnext = NULL }; mv_t* pomv = lhmsmv_get(pvars->ptyped_overlay, pe->key); if (pomv != NULL) { - mlhmmv_put_terminal_from_level(boxed_xval.xval.pnext_level, &e, pomv); // xxx make a simpler 1-level API call + mlhmmv_level_put_terminal(boxed_xval.xval.pnext_level, &e, pomv); // xxx make a simpler 1-level API call } else { - mv_t v = mv_from_string(pe->value, NO_FREE); // mlhmmv_put_terminal_from_level will copy - mlhmmv_put_terminal_from_level(boxed_xval.xval.pnext_level, &e, &v); + mv_t v = mv_from_string(pe->value, NO_FREE); // mlhmmv_level_put_terminal will copy + mlhmmv_level_put_terminal(boxed_xval.xval.pnext_level, &e, &v); } }