diff options
-rw-r--r-- | src/bytecode.c | 1182 | ||||
-rw-r--r-- | src/bytecode.h | 134 | ||||
-rw-r--r-- | src/compiler.cc | 20 | ||||
-rw-r--r-- | src/compiler.h | 8 | ||||
-rw-r--r-- | src/consinit.cc | 2 | ||||
-rw-r--r-- | src/ctinput.cc | 20 | ||||
-rw-r--r-- | src/fsmcodegen.cc | 4 | ||||
-rw-r--r-- | src/input.c | 80 | ||||
-rw-r--r-- | src/internal.h | 6 | ||||
-rw-r--r-- | src/iter.c | 172 | ||||
-rw-r--r-- | src/list.c | 62 | ||||
-rw-r--r-- | src/map.c | 116 | ||||
-rw-r--r-- | src/map.h | 73 | ||||
-rw-r--r-- | src/parsetree.h | 26 | ||||
-rw-r--r-- | src/pdabuild.cc | 24 | ||||
-rw-r--r-- | src/pdacodegen.cc | 2 | ||||
-rw-r--r-- | src/pdacodegen.h | 4 | ||||
-rw-r--r-- | src/pdarun.c | 300 | ||||
-rw-r--r-- | src/pdarun.h | 70 | ||||
-rw-r--r-- | src/pool.c | 94 | ||||
-rw-r--r-- | src/pool.h | 76 | ||||
-rw-r--r-- | src/program.c | 55 | ||||
-rw-r--r-- | src/program.h | 28 | ||||
-rw-r--r-- | src/string.c | 74 | ||||
-rw-r--r-- | src/struct.c | 44 | ||||
-rw-r--r-- | src/struct.h | 48 | ||||
-rw-r--r-- | src/synthesis.cc | 8 | ||||
-rw-r--r-- | src/tree.c | 524 | ||||
-rw-r--r-- | src/tree.h | 338 | ||||
-rw-r--r-- | test/ext1.lm | 8 |
30 files changed, 1781 insertions, 1821 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index 7075f3bb..aacdb7fd 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -35,9 +35,9 @@ #include <unistd.h> #include <signal.h> -typedef struct colm_struct Struct; +typedef struct colm_struct struct_t; -Tree **host_call( Program *prg, long code, Tree **sp ); +tree_t **host_call( program_t *prg, long code, tree_t **sp ); #define TRUE_VAL 1 #define FALSE_VAL 0 @@ -108,24 +108,24 @@ Tree **host_call( Program *prg, long code, Tree **sp ); #define consume_word() instr += 8 #endif -#define read_tree( i ) read_type( Tree*, i ) -#define read_parser( i ) read_type( Parser*, i ) +#define read_tree( i ) read_type( tree_t*, i ) +#define read_parser( i ) read_type( parser_t*, i ) #define read_word( i ) read_type( word_t, i ) -#define read_stream( i ) read_type( Stream*, i ) +#define read_stream( i ) read_type( stream_t*, i ) #define read_word_p( i, p ) read_type_p( word_t, i, p ) #define consume_byte() instr += 1 #define consume_half() instr += 2 -static void rcode_downref( Program *prg, Tree **sp, code_t *instr ); +static void rcode_downref( program_t *prg, tree_t **sp, code_t *instr ); -void colm_parser_set_context( Program *prg, Tree **sp, Parser *parser, Struct *val ) +void colm_parser_set_context( program_t *prg, tree_t **sp, parser_t *parser, struct_t *val ) { parser->pdaRun->context = val; } -static Head *tree_to_str( Program *prg, Tree **sp, Tree *tree, int trim ) +static head_t *tree_to_str( program_t *prg, tree_t **sp, tree_t *tree, int trim ) { /* Collect the tree data. */ StrCollect collect; @@ -134,14 +134,14 @@ static Head *tree_to_str( Program *prg, Tree **sp, Tree *tree, int trim ) printTreeCollect( prg, sp, &collect, tree, trim ); /* Set up the input stream. */ - Head *ret = stringAllocFull( prg, collect.data, collect.length ); + head_t *ret = stringAllocFull( prg, collect.data, collect.length ); strCollectDestroy( &collect ); return ret; } -static word_t stream_append_tree( Program *prg, Tree **sp, Stream *dest, Tree *input ) +static word_t stream_append_tree( program_t *prg, tree_t **sp, stream_t *dest, tree_t *input ) { long length = 0; struct stream_impl *impl = streamToImpl( dest ); @@ -169,7 +169,7 @@ static word_t stream_append_tree( Program *prg, Tree **sp, Stream *dest, Tree *i return length; } -static word_t stream_append_stream( Program *prg, Tree **sp, Stream *dest, Tree *stream ) +static word_t stream_append_stream( program_t *prg, tree_t **sp, stream_t *dest, tree_t *stream ) { long length = 0; @@ -179,43 +179,43 @@ static word_t stream_append_stream( Program *prg, Tree **sp, Stream *dest, Tree return length; } -static void stream_undo_append( Program *prg, Tree **sp, - struct stream_impl *is, Tree *input, long length ) +static void stream_undo_append( program_t *prg, tree_t **sp, + struct stream_impl *is, tree_t *input, long length ) { if ( input->id == LEL_ID_STR ) is->funcs->undoAppendData( is, length ); else if ( input->id == LEL_ID_PTR ) is->funcs->undoAppendStream( is ); else { - Tree *tree = is->funcs->undoAppendTree( is ); + tree_t *tree = is->funcs->undoAppendTree( is ); treeDownref( prg, sp, tree ); } } -static void stream_undo_append_stream( Program *prg, Tree **sp, struct stream_impl *is, - Tree *input, long length ) +static void stream_undo_append_stream( program_t *prg, tree_t **sp, struct stream_impl *is, + tree_t *input, long length ) { is->funcs->undoAppendStream( is ); } -static Tree *stream_pull_bc( Program *prg, Tree **sp, struct pda_run *pdaRun, - Stream *stream, Tree *length ) +static tree_t *stream_pull_bc( program_t *prg, tree_t **sp, struct pda_run *pdaRun, + stream_t *stream, tree_t *length ) { long len = ((long)length); struct stream_impl *impl = streamToImpl( stream ); - Head *tokdata = colm_stream_pull( prg, sp, pdaRun, impl, len ); + head_t *tokdata = colm_stream_pull( prg, sp, pdaRun, impl, len ); return constructString( prg, tokdata ); } -static void undo_pull( Program *prg, Stream *stream, Tree *str ) +static void undo_pull( program_t *prg, stream_t *stream, tree_t *str ) { struct stream_impl *impl = streamToImpl( stream ); - const char *data = stringData( ( (Str*)str )->value ); - long length = stringLength( ( (Str*)str )->value ); + const char *data = stringData( ( (str_t*)str )->value ); + long length = stringLength( ( (str_t*)str )->value ); undoStreamPull( impl, data, length ); } -static long stream_push( Program *prg, Tree **sp, struct stream_impl *in, Tree *tree, int ignore ) +static long stream_push( program_t *prg, tree_t **sp, struct stream_impl *in, tree_t *tree, int ignore ) { if ( tree->id == LEL_ID_STR ) { /* This should become a compile error. If it's text, it's up to the @@ -245,29 +245,29 @@ static long stream_push( Program *prg, Tree **sp, struct stream_impl *in, Tree * } } -static long stream_push_stream( Program *prg, Tree **sp, - struct stream_impl *in, Stream *stream ) +static long stream_push_stream( program_t *prg, tree_t **sp, + struct stream_impl *in, stream_t *stream ) { - colm_stream_push_stream( in, (Tree*)stream ); + colm_stream_push_stream( in, (tree_t*)stream ); return -1; } -static void set_local( Execution *exec, long field, Tree *tree ) +static void set_local( Execution *exec, long field, tree_t *tree ) { if ( tree != 0 ) assert( tree->refs >= 1 ); vm_set_local( exec, field, tree ); } -static Tree *get_local_split( Program *prg, Execution *exec, long field ) +static tree_t *get_local_split( program_t *prg, Execution *exec, long field ) { - Tree *val = vm_get_local( exec, field ); - Tree *split = splitTree( prg, val ); + tree_t *val = vm_get_local( exec, field ); + tree_t *split = splitTree( prg, val ); vm_set_local( exec, field, split ); return split; } -static void downref_local_trees( Program *prg, Tree **sp, +static void downref_local_trees( program_t *prg, tree_t **sp, Execution *exec, struct local_info *locals, long localsLen ) { long i; @@ -276,13 +276,13 @@ static void downref_local_trees( Program *prg, Tree **sp, debug( prg, REALM_BYTECODE, "local tree downref: %ld\n", (long)locals[i].offset ); - Tree *tree = (Tree*) vm_get_local( exec, (long)locals[i].offset ); + tree_t *tree = (tree_t*) vm_get_local( exec, (long)locals[i].offset ); treeDownref( prg, sp, tree ); } } } -static void downref_locals( Program *prg, Tree ***psp, +static void downref_locals( program_t *prg, tree_t ***psp, Execution *exec, struct local_info *locals, long localsLen ) { long i; @@ -291,21 +291,21 @@ static void downref_locals( Program *prg, Tree ***psp, case LI_Tree: { debug( prg, REALM_BYTECODE, "local tree downref: %ld\n", (long)locals[i].offset ); - Tree *tree = (Tree*) vm_get_local( exec, (long)locals[i].offset ); + tree_t *tree = (tree_t*) vm_get_local( exec, (long)locals[i].offset ); treeDownref( prg, *psp, tree ); break; } case LI_Iter: { debug( prg, REALM_BYTECODE, "local iter downref: %ld\n", (long)locals[i].offset ); - TreeIter *iter = (TreeIter*) vm_get_plocal( exec, (long)locals[i].offset ); + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal( exec, (long)locals[i].offset ); colm_tree_iter_destroy( prg, psp, iter ); break; } case LI_RevIter: { debug( prg, REALM_BYTECODE, "local rev iter downref: %ld\n", (long)locals[i].offset ); - RevTreeIter *riter = (RevTreeIter*) vm_get_plocal( exec, + rev_tree_iter_t *riter = (rev_tree_iter_t*) vm_get_plocal( exec, (long)locals[i].offset ); colm_rev_tree_iter_destroy( prg, psp, riter ); break; @@ -313,7 +313,7 @@ static void downref_locals( Program *prg, Tree ***psp, case LI_UserIter: { debug( prg, REALM_BYTECODE, "local user iter downref: %ld\n", (long)locals[i].offset ); - UserIter *uiter = (UserIter*) vm_get_local( exec, locals[i].offset ); + user_iter_t *uiter = (user_iter_t*) vm_get_local( exec, locals[i].offset ); colm_uiter_unwind( prg, psp, uiter ); break; } @@ -321,30 +321,30 @@ static void downref_locals( Program *prg, Tree ***psp, } } -static Tree *construct_arg0( Program *prg, int argc, const char **argv ) +static tree_t *construct_arg0( program_t *prg, int argc, const char **argv ) { - Tree *arg0 = 0; + tree_t *arg0 = 0; if ( argc > 0 ) { - Head *head = colm_string_alloc_pointer( prg, argv[0], strlen(argv[0]) ); + head_t *head = colm_string_alloc_pointer( prg, argv[0], strlen(argv[0]) ); arg0 = constructString( prg, head ); treeUpref( arg0 ); } return arg0; } -static List *construct_argv( Program *prg, int argc, const char **argv ) +static list_t *construct_argv( program_t *prg, int argc, const char **argv ) { - List *list = (List*)colm_construct_generic( prg, prg->rtd->argvGenericId ); + list_t *list = (list_t*)colm_construct_generic( prg, prg->rtd->argvGenericId ); int i; for ( i = 1; i < argc; i++ ) { - Head *head = colm_string_alloc_pointer( prg, argv[i], strlen(argv[i]) ); - Tree *arg = constructString( prg, head ); + head_t *head = colm_string_alloc_pointer( prg, argv[i], strlen(argv[i]) ); + tree_t *arg = constructString( prg, head ); treeUpref( arg ); - Struct *strct = colm_struct_new_size( prg, 16 ); + struct_t *strct = colm_struct_new_size( prg, 16 ); strct->id = prg->rtd->argvElId; - colm_struct_set_field( strct, Tree*, 0, arg ); - ListEl *listEl = colm_struct_get_addr( strct, ListEl*, 1 ); + colm_struct_set_field( strct, tree_t*, 0, arg ); + list_el_t *listEl = colm_struct_get_addr( strct, list_el_t*, 1 ); colm_list_append( list, listEl ); } @@ -355,7 +355,7 @@ static List *construct_argv( Program *prg, int argc, const char **argv ) * Execution environment */ -void colm_rcode_downref_all( Program *prg, Tree **sp, struct rt_code_vect *rev ) +void colm_rcode_downref_all( program_t *prg, tree_t **sp, struct rt_code_vect *rev ) { while ( rev->tabLen > 0 ) { /* Read the length */ @@ -375,9 +375,9 @@ void colm_rcode_downref_all( Program *prg, Tree **sp, struct rt_code_vect *rev ) } } -void colm_execute( Program *prg, Execution *exec, code_t *code ) +void colm_execute( program_t *prg, Execution *exec, code_t *code ) { - Tree **sp = prg->stackRoot; + tree_t **sp = prg->stackRoot; struct frame_info *fi = &prg->rtd->frameInfo[prg->rtd->rootFrameId]; @@ -412,7 +412,7 @@ void colm_execute( Program *prg, Execution *exec, code_t *code ) prg->stackRoot = sp; } -Tree *colm_run_func( struct colm_program *prg, int frameId, +tree_t *colm_run_func( struct colm_program *prg, int frameId, const char **params, int paramCount ) { /* Make the arguments available to the program. */ @@ -422,7 +422,7 @@ Tree *colm_run_func( struct colm_program *prg, int frameId, Execution execution; memset( &execution, 0, sizeof(execution) ); - Tree **sp = prg->stackRoot; + tree_t **sp = prg->stackRoot; struct frame_info *fi = &prg->rtd->frameInfo[frameId]; code_t *code = fi->codeWC; @@ -434,13 +434,13 @@ Tree *colm_run_func( struct colm_program *prg, int frameId, int p; for ( p = 0; p < paramCount; p++ ) { if ( params[p] == 0 ) { - ((Value*)execution.callArgs)[p] = 0; + ((value_t*)execution.callArgs)[p] = 0; } else { - Head *head = colm_string_alloc_pointer( prg, params[p], strlen(params[p]) ); - Tree *tree = constructString( prg, head ); + head_t *head = colm_string_alloc_pointer( prg, params[p], strlen(params[p]) ); + tree_t *tree = constructString( prg, head ); treeUpref( tree ); - ((Tree**)execution.callArgs)[p] = tree; + ((tree_t**)execution.callArgs)[p] = tree; } } @@ -448,7 +448,7 @@ Tree *colm_run_func( struct colm_program *prg, int frameId, vm_contiguous( stretch ); /* Set up the stack as if we have called. We allow a return value. */ - vm_push_tree( (Tree*)execution.callArgs ); + vm_push_tree( (tree_t*)execution.callArgs ); vm_push_tree( 0 ); vm_push_tree( 0 ); vm_push_tree( 0 ); @@ -520,7 +520,7 @@ int colm_make_reverse_code( struct pda_run *pdaRun ) return true; } -void colm_transfer_reverse_code( struct pda_run *pdaRun, ParseTree *parseTree ) +void colm_transfer_reverse_code( struct pda_run *pdaRun, parse_tree_t *parseTree ) { if ( pdaRun->rcBlockCount > 0 ) { //debug( REALM_PARSE, "attaching reverse code to token\n" ); @@ -574,11 +574,11 @@ code_t *colm_pop_reverse_code( struct rt_code_vect *allRev ) return prcode; } -Tree **colm_execute_code( Program *prg, Execution *exec, Tree **sp, code_t *instr ) +tree_t **colm_execute_code( program_t *prg, Execution *exec, tree_t **sp, code_t *instr ) { /* When we exit we are going to verify that we did not eat up any stack * space. */ - Tree **root = sp; + tree_t **root = sp; code_t c; again: @@ -587,7 +587,7 @@ again: switch ( c ) { case IN_RESTORE_LHS: { - Tree *restore; + tree_t *restore; read_tree( restore ); debug( prg, REALM_BYTECODE, "IN_RESTORE_LHS\n" ); @@ -601,7 +601,7 @@ again: break; } case IN_LOAD_TREE: { - Tree *tree; + tree_t *tree; read_tree( tree ); vm_push_tree( tree ); debug( prg, REALM_BYTECODE, "IN_LOAD_TREE %p id: %d refs: %d\n", @@ -633,7 +633,7 @@ again: debug( prg, REALM_BYTECODE, "IN_LOAD_INT %d\n", i ); - Value value = i; + value_t value = i; vm_push_value( value ); break; } @@ -643,8 +643,8 @@ again: debug( prg, REALM_BYTECODE, "IN_LOAD_STR %d\n", offset ); - Head *lit = makeLiteral( prg, offset ); - Tree *tree = constructString( prg, lit ); + head_t *lit = makeLiteral( prg, offset ); + tree_t *tree = constructString( prg, lit ); treeUpref( tree ); vm_push_tree( tree ); break; @@ -654,7 +654,7 @@ again: read_byte( n ); debug( prg, REALM_BYTECODE, "IN_PRINT %d\n", n ); - Tree *arg[n]; + tree_t *arg[n]; for ( i = n-1; i >= 0; i-- ) arg[i] = vm_pop_tree(); @@ -670,10 +670,10 @@ again: read_byte( n ); debug( prg, REALM_BYTECODE, "IN_PRINT_STREAM %d\n", n ); - Tree *arg[n]; + tree_t *arg[n]; for ( i = n-1; i >= 0; i-- ) arg[i] = vm_pop_tree(); - Stream *stream = vm_pop_stream(); + stream_t *stream = vm_pop_stream(); struct stream_impl *si = streamToImpl( stream ); for ( i = 0; i < n; i++ ) { @@ -693,7 +693,7 @@ again: debug( prg, REALM_BYTECODE, "IN_PRINT_XML_AC %d\n", n ); - Tree *arg[n]; + tree_t *arg[n]; for ( i = n-1; i >= 0; i-- ) arg[i] = vm_pop_tree(); @@ -709,7 +709,7 @@ again: read_byte( n ); debug( prg, REALM_BYTECODE, "IN_PRINT_XML %d", n ); - Tree *arg[n]; + tree_t *arg[n]; for ( i = n-1; i >= 0; i-- ) arg[i] = vm_pop_tree(); @@ -782,7 +782,7 @@ again: break; } case IN_LOAD_INPUT_BKT: { - Tree *accumStream; + tree_t *accumStream; read_tree( accumStream ); debug( prg, REALM_BYTECODE, "IN_LOAD_INPUT_BKT\n" ); @@ -795,13 +795,13 @@ again: case IN_LOAD_CONTEXT_R: { debug( prg, REALM_BYTECODE, "IN_LOAD_CONTEXT_R\n" ); - vm_push_type( Struct*, exec->parser->pdaRun->context ); + vm_push_type( struct_t*, exec->parser->pdaRun->context ); break; } case IN_LOAD_CONTEXT_WV: { debug( prg, REALM_BYTECODE, "IN_LOAD_CONTEXT_WV\n" ); - vm_push_type( Struct *, exec->parser->pdaRun->context ); + vm_push_type( struct_t *, exec->parser->pdaRun->context ); /* Set up the reverse instruction. */ rcode_unit_start( exec ); @@ -813,21 +813,21 @@ again: /* This is identical to the _R version, but using it for writing * would be confusing. */ - vm_push_type( Struct *, exec->parser->pdaRun->context ); + vm_push_type( struct_t *, exec->parser->pdaRun->context ); break; } case IN_LOAD_CONTEXT_BKT: { debug( prg, REALM_BYTECODE, "IN_LOAD_CONTEXT_BKT\n" ); - vm_push_type( Struct *, exec->parser->pdaRun->context ); + vm_push_type( struct_t *, exec->parser->pdaRun->context ); break; } case IN_SET_PARSER_CONTEXT: { debug( prg, REALM_BYTECODE, "IN_SET_PARSER_CTX_WC\n" ); - Struct *strct = vm_pop_struct(); - Parser *parser = vm_pop_parser(); + struct_t *strct = vm_pop_struct(); + parser_t *parser = vm_pop_parser(); colm_parser_set_context( prg, sp, parser, strct ); @@ -849,9 +849,9 @@ again: for ( i = 0; i < lelInfo[exec->parser->pdaRun->tokenId].numCaptureAttr; i++ ) { struct lang_el_info *lei = &lelInfo[exec->parser->pdaRun->tokenId]; CaptureAttr *ca = &prg->rtd->captureAttr[lei->captureAttr + i]; - Head *data = stringAllocFull( prg, mark[ca->mark_enter], + head_t *data = stringAllocFull( prg, mark[ca->mark_enter], mark[ca->mark_leave] - mark[ca->mark_enter] ); - Tree *string = constructString( prg, data ); + tree_t *string = constructString( prg, data ); treeUpref( string ); set_local( exec, -1 - i, string ); } @@ -865,7 +865,7 @@ again: debug( prg, REALM_BYTECODE, "IN_INIT_RHS_EL %hd\n", field ); - Tree *val = getRhsEl( prg, exec->parser->pdaRun->redLel->shadow->tree, position ); + tree_t *val = getRhsEl( prg, exec->parser->pdaRun->redLel->shadow->tree, position ); treeUpref( val ); vm_set_local(exec, field, val); break; @@ -878,7 +878,7 @@ again: debug( prg, REALM_BYTECODE, "IN_INIT_LHS_EL %hd\n", field ); /* We transfer it to to the local field. Possibly take a copy. */ - Tree *val = exec->parser->pdaRun->redLel->shadow->tree; + tree_t *val = exec->parser->pdaRun->redLel->shadow->tree; /* Save it. */ treeUpref( val ); @@ -894,7 +894,7 @@ again: debug( prg, REALM_BYTECODE, "IN_STORE_LHS_EL %hd\n", field ); - Tree *val = vm_get_local(exec, field); + tree_t *val = vm_get_local(exec, field); vm_set_local(exec, field, 0); exec->parser->pdaRun->redLel->shadow->tree = val; break; @@ -906,7 +906,7 @@ again: debug( prg, REALM_BYTECODE, "IN_UITER_ADVANCE\n" ); /* Get the iterator. */ - UserIter *uiter = (UserIter*) vm_get_local(exec, field); + user_iter_t *uiter = (user_iter_t*) vm_get_local(exec, field); long yieldSize = vm_ssize() - uiter->rootSize; assert( uiter->yieldSize == yieldSize ); @@ -925,8 +925,8 @@ again: debug( prg, REALM_BYTECODE, "IN_UITER_GET_CUR_R\n" ); - UserIter *uiter = (UserIter*) vm_get_local(exec, field); - Tree *val = uiter->ref.kid->tree; + user_iter_t *uiter = (user_iter_t*) vm_get_local(exec, field); + tree_t *val = uiter->ref.kid->tree; treeUpref( val ); vm_push_tree( val ); break; @@ -937,9 +937,9 @@ again: debug( prg, REALM_BYTECODE, "IN_UITER_GET_CUR_WC\n" ); - UserIter *uiter = (UserIter*) vm_get_local(exec, field); + user_iter_t *uiter = (user_iter_t*) vm_get_local(exec, field); splitRef( prg, &sp, &uiter->ref ); - Tree *split = uiter->ref.kid->tree; + tree_t *split = uiter->ref.kid->tree; treeUpref( split ); vm_push_tree( split ); break; @@ -950,10 +950,10 @@ again: debug( prg, REALM_BYTECODE, "IN_UITER_SET_CUR_WC\n" ); - Tree *t = vm_pop_tree(); - UserIter *uiter = (UserIter*) vm_get_local(exec, field); + tree_t *t = vm_pop_tree(); + user_iter_t *uiter = (user_iter_t*) vm_get_local(exec, field); splitRef( prg, &sp, &uiter->ref ); - Tree *old = uiter->ref.kid->tree; + tree_t *old = uiter->ref.kid->tree; setUiterCur( prg, uiter, t ); treeDownref( prg, sp, old ); break; @@ -964,7 +964,7 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LOCAL_R %hd\n", field ); - Tree *val = vm_get_local(exec, field); + tree_t *val = vm_get_local(exec, field); treeUpref( val ); vm_push_tree( val ); break; @@ -975,7 +975,7 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LOCAL_WC %hd\n", field ); - Tree *split = get_local_split( prg, exec, field ); + tree_t *split = get_local_split( prg, exec, field ); treeUpref( split ); vm_push_tree( split ); break; @@ -985,7 +985,7 @@ again: read_half( field ); debug( prg, REALM_BYTECODE, "IN_SET_LOCAL_WC %hd\n", field ); - Tree *val = vm_pop_tree(); + tree_t *val = vm_pop_tree(); treeDownref( prg, sp, vm_get_local(exec, field) ); set_local( exec, field, val ); break; @@ -996,7 +996,7 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LOCAL_VAL_R %hd\n", field ); - Tree *val = vm_get_local(exec, field); + tree_t *val = vm_get_local(exec, field); vm_push_tree( val ); break; } @@ -1005,15 +1005,15 @@ again: read_half( field ); debug( prg, REALM_BYTECODE, "IN_SET_LOCAL_VAL_WC %hd\n", field ); - Tree *val = vm_pop_tree(); + tree_t *val = vm_pop_tree(); vm_set_local(exec, field, val); break; } case IN_SAVE_RET: { debug( prg, REALM_BYTECODE, "IN_SAVE_RET\n" ); - Value val = vm_pop_value(); - vm_set_local(exec, FR_RV, (Tree*)val); + value_t val = vm_pop_value(); + vm_set_local(exec, FR_RV, (tree_t*)val); break; } case IN_GET_LOCAL_REF_R: { @@ -1022,8 +1022,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LOCAL_REF_R\n" ); - Ref *ref = (Ref*) vm_get_plocal(exec, field); - Tree *val = ref->kid->tree; + ref_t *ref = (ref_t*) vm_get_plocal(exec, field); + tree_t *val = ref->kid->tree; treeUpref( val ); vm_push_tree( val ); break; @@ -1034,9 +1034,9 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LOCAL_REF_WC\n" ); - Ref *ref = (Ref*) vm_get_plocal(exec, field); + ref_t *ref = (ref_t*) vm_get_plocal(exec, field); splitRef( prg, &sp, ref ); - Tree *val = ref->kid->tree; + tree_t *val = ref->kid->tree; treeUpref( val ); vm_push_tree( val ); break; @@ -1047,8 +1047,8 @@ again: debug( prg, REALM_BYTECODE, "IN_SET_LOCAL_REF_WC\n" ); - Tree *val = vm_pop_tree(); - Ref *ref = (Ref*) vm_get_plocal(exec, field); + tree_t *val = vm_pop_tree(); + ref_t *ref = (ref_t*) vm_get_plocal(exec, field); splitRef( prg, &sp, ref ); refSetValue( prg, sp, ref, val ); break; @@ -1059,10 +1059,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_FIELD_TREE_R %d\n", field ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *val = colm_tree_get_field( obj, field ); + tree_t *val = colm_tree_get_field( obj, field ); treeUpref( val ); vm_push_tree( val ); break; @@ -1073,10 +1073,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_FIELD_TREE_WC %d\n", field ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *split = getFieldSplit( prg, obj, field ); + tree_t *split = getFieldSplit( prg, obj, field ); treeUpref( split ); vm_push_tree( split ); break; @@ -1087,10 +1087,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_FIELD_TREE_WV\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *split = getFieldSplit( prg, obj, field ); + tree_t *split = getFieldSplit( prg, obj, field ); treeUpref( split ); vm_push_tree( split ); @@ -1105,10 +1105,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_FIELD_TREE_BKT\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *split = getFieldSplit( prg, obj, field ); + tree_t *split = getFieldSplit( prg, obj, field ); treeUpref( split ); vm_push_tree( split ); break; @@ -1119,12 +1119,12 @@ again: debug( prg, REALM_BYTECODE, "IN_SET_FIELD_TREE_WC %d\n", field ); - Tree *obj = vm_pop_tree(); - Tree *val = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); + tree_t *val = vm_pop_tree(); treeDownref( prg, sp, obj ); /* Downref the old value. */ - Tree *prev = colm_tree_get_field( obj, field ); + tree_t *prev = colm_tree_get_field( obj, field ); treeDownref( prg, sp, prev ); colm_tree_set_field( prg, obj, field, val ); @@ -1136,12 +1136,12 @@ again: debug( prg, REALM_BYTECODE, "IN_SET_FIELD_TREE_WV %d\n", field ); - Tree *obj = vm_pop_tree(); - Tree *val = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); + tree_t *val = vm_pop_tree(); treeDownref( prg, sp, obj ); /* Save the old value, then set the field. */ - Tree *prev = colm_tree_get_field( obj, field ); + tree_t *prev = colm_tree_get_field( obj, field ); colm_tree_set_field( prg, obj, field, val ); /* Set up the reverse instruction. */ @@ -1153,17 +1153,17 @@ again: } case IN_SET_FIELD_TREE_BKT: { short field; - Tree *val; + tree_t *val; read_half( field ); read_tree( val ); debug( prg, REALM_BYTECODE, "IN_SET_FIELD_TREE_BKT\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); /* Downref the old value. */ - Tree *prev = colm_tree_get_field( obj, field ); + tree_t *prev = colm_tree_get_field( obj, field ); treeDownref( prg, sp, prev ); colm_tree_set_field( prg, obj, field, val ); @@ -1177,11 +1177,11 @@ again: /* Note that we don't downref the object here because we are * leaving it on the stack. */ - Tree *obj = vm_pop_tree(); - Tree *val = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); + tree_t *val = vm_pop_tree(); /* Downref the old value. */ - Tree *prev = colm_tree_get_field( obj, field ); + tree_t *prev = colm_tree_get_field( obj, field ); treeDownref( prg, sp, prev ); /* Set the field. */ @@ -1197,11 +1197,11 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_FIELD_VAL_R %d\n", field ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *pointer = colm_tree_get_field( obj, field ); - Value value = 0; + tree_t *pointer = colm_tree_get_field( obj, field ); + value_t value = 0; if ( pointer != 0 ) value = colm_get_pointer_val( pointer ); vm_push_value( value ); @@ -1213,16 +1213,16 @@ again: debug( prg, REALM_BYTECODE, "IN_SET_FIELD_VAL_WC %d\n", field ); - Tree *obj = vm_pop_tree(); - Value value = vm_pop_value(); + tree_t *obj = vm_pop_tree(); + value_t value = vm_pop_value(); treeDownref( prg, sp, obj ); /* Downref the old value. */ - Tree *prev = colm_tree_get_field( obj, field ); + tree_t *prev = colm_tree_get_field( obj, field ); treeDownref( prg, sp, prev ); /* Make it into a pointer. */ - Tree *pointer = colm_construct_pointer( prg, value ); + tree_t *pointer = colm_construct_pointer( prg, value ); treeUpref( pointer ); colm_tree_set_field( prg, obj, field, pointer ); @@ -1233,8 +1233,8 @@ again: read_half( id ); debug( prg, REALM_BYTECODE, "IN_NEW_STRUCT %hd\n", id ); - Struct *item = colm_struct_new( prg, id ); - vm_push_type( Struct*, item ); + struct_t *item = colm_struct_new( prg, id ); + vm_push_type( struct_t*, item ); break; } case IN_GET_STRUCT_R: { @@ -1243,8 +1243,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_STRUCT_R %d\n", field ); - Tree *obj = vm_pop_tree(); - Tree *val = colm_struct_get_field( obj, Tree*, field ); + tree_t *obj = vm_pop_tree(); + tree_t *val = colm_struct_get_field( obj, tree_t*, field ); treeUpref( val ); vm_push_tree( val ); break; @@ -1255,8 +1255,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_STRUCT_WC %d\n", field ); - Tree *obj = vm_pop_tree(); - Tree *val = colm_struct_get_field( obj, Tree*, field ); + tree_t *obj = vm_pop_tree(); + tree_t *val = colm_struct_get_field( obj, tree_t*, field ); treeUpref( val ); vm_push_tree( val ); @@ -1268,8 +1268,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_STRUCT_WV\n" ); - Tree *obj = vm_pop_tree(); - Tree *val = colm_struct_get_field( obj, Tree*, field ); + tree_t *obj = vm_pop_tree(); + tree_t *val = colm_struct_get_field( obj, tree_t*, field ); treeUpref( val ); vm_push_tree( val ); @@ -1284,10 +1284,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_STRUCT_BKT\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *split = getFieldSplit( prg, obj, field ); + tree_t *split = getFieldSplit( prg, obj, field ); treeUpref( split ); vm_push_tree( split ); break; @@ -1298,13 +1298,13 @@ again: debug( prg, REALM_BYTECODE, "IN_SET_STRUCT_WC %d\n", field ); - Tree *obj = vm_pop_tree(); - Tree *val = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); + tree_t *val = vm_pop_tree(); /* Downref the old value. */ - Tree *prev = colm_struct_get_field( obj, Tree*, field ); + tree_t *prev = colm_struct_get_field( obj, tree_t*, field ); treeDownref( prg, sp, prev ); - colm_struct_set_field( obj, Tree*, field, val ); + colm_struct_set_field( obj, tree_t*, field, val ); break; } case IN_SET_STRUCT_WV: { @@ -1313,12 +1313,12 @@ again: debug( prg, REALM_BYTECODE, "IN_SET_STRUCT_WV %d\n", field ); - Struct *obj = vm_pop_struct(); - Tree *val = vm_pop_tree(); + struct_t *obj = vm_pop_struct(); + tree_t *val = vm_pop_tree(); /* Save the old value, then set the field. */ - Tree *prev = colm_struct_get_field( obj, Tree*, field ); - colm_struct_set_field( obj, Tree*, field, val ); + tree_t *prev = colm_struct_get_field( obj, tree_t*, field ); + colm_struct_set_field( obj, tree_t*, field, val ); /* Set up the reverse instruction. */ rcode_code( exec, IN_SET_STRUCT_BKT ); @@ -1329,19 +1329,19 @@ again: } case IN_SET_STRUCT_BKT: { short field; - Tree *val; + tree_t *val; read_half( field ); read_tree( val ); debug( prg, REALM_BYTECODE, "IN_SET_STRUCT_BKT\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); /* Downref the old value. */ - Tree *prev = colm_struct_get_field( obj, Tree*, field ); + tree_t *prev = colm_struct_get_field( obj, tree_t*, field ); treeDownref( prg, sp, prev ); - colm_struct_set_field( obj, Tree*, field, val ); + colm_struct_set_field( obj, tree_t*, field, val ); break; } case IN_GET_STRUCT_VAL_R: { @@ -1350,8 +1350,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_STRUCT_VAL_R %d\n", field ); - Tree *obj = vm_pop_tree(); - Tree *val = colm_struct_get_field( obj, Tree*, field ); + tree_t *obj = vm_pop_tree(); + tree_t *val = colm_struct_get_field( obj, tree_t*, field ); vm_push_tree( val ); break; } @@ -1361,10 +1361,10 @@ again: debug( prg, REALM_BYTECODE, "IN_SET_STRUCT_VAL_WC %d\n", field ); - Struct *strct = vm_pop_struct(); - Tree *val = vm_pop_tree(); + struct_t *strct = vm_pop_struct(); + tree_t *val = vm_pop_tree(); - colm_struct_set_field( strct, Tree*, field, val ); + colm_struct_set_field( strct, tree_t*, field, val ); break; } case IN_SET_STRUCT_VAL_WV: { @@ -1373,11 +1373,11 @@ again: debug( prg, REALM_BYTECODE, "IN_SET_STRUCT_VAL_WV %d\n", field ); - Struct *strct = vm_pop_struct(); - Tree *val = vm_pop_tree(); + struct_t *strct = vm_pop_struct(); + tree_t *val = vm_pop_tree(); - Tree *prev = colm_struct_get_field( strct, Tree*, field ); - colm_struct_set_field( strct, Tree*, field, val ); + tree_t *prev = colm_struct_get_field( strct, tree_t*, field ); + colm_struct_set_field( strct, tree_t*, field, val ); rcode_code( exec, IN_SET_STRUCT_VAL_BKT ); rcodeHalf( exec, field ); @@ -1387,15 +1387,15 @@ again: } case IN_SET_STRUCT_VAL_BKT: { short field; - Tree *val; + tree_t *val; read_half( field ); read_tree( val ); debug( prg, REALM_BYTECODE, "IN_SET_STRUCT_VAL_BKT\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); - colm_struct_set_field( obj, Tree*, field, val ); + colm_struct_set_field( obj, tree_t*, field, val ); break; } case IN_GET_RHS_VAL_R: { @@ -1403,7 +1403,7 @@ again: int i, done = 0; uchar len; - Tree *obj = vm_pop_tree(), *val = 0; + tree_t *obj = vm_pop_tree(), *val = 0; treeDownref( prg, sp, obj ); read_byte( len ); @@ -1424,7 +1424,7 @@ again: case IN_POP_TREE: { debug( prg, REALM_BYTECODE, "IN_POP_TREE\n" ); - Tree *val = vm_pop_tree(); + tree_t *val = vm_pop_tree(); treeDownref( prg, sp, val ); break; } @@ -1447,21 +1447,21 @@ again: debug( prg, REALM_BYTECODE, "IN_SPRINTF\n" ); vm_pop_tree(); - Value integer = vm_pop_value(); - Str *format = vm_pop_string(); - Head *res = stringSprintf( prg, format, (long)integer ); - Str *str = (Str*)constructString( prg, res ); - treeUpref( (Tree*)str ); + value_t integer = vm_pop_value(); + str_t *format = vm_pop_string(); + head_t *res = stringSprintf( prg, format, (long)integer ); + str_t *str = (str_t*)constructString( prg, res ); + treeUpref( (tree_t*)str ); vm_push_string( str ); - treeDownref( prg, sp, (Tree*)format ); + treeDownref( prg, sp, (tree_t*)format ); break; } case IN_INT_TO_STR: { debug( prg, REALM_BYTECODE, "IN_INT_TO_STR\n" ); - Value i = vm_pop_value(); - Head *res = intToStr( prg, (long)i ); - Tree *str = constructString( prg, res ); + value_t i = vm_pop_value(); + head_t *res = intToStr( prg, (long)i ); + tree_t *str = constructString( prg, res ); treeUpref( str ); vm_push_tree( str ); break; @@ -1469,9 +1469,9 @@ again: case IN_TREE_TO_STR: { debug( prg, REALM_BYTECODE, "IN_TREE_TO_STR\n" ); - Tree *tree = vm_pop_tree(); - Head *res = tree_to_str( prg, sp, tree, false ); - Tree *str = constructString( prg, res ); + tree_t *tree = vm_pop_tree(); + head_t *res = tree_to_str( prg, sp, tree, false ); + tree_t *str = constructString( prg, res ); treeUpref( str ); vm_push_tree( str ); treeDownref( prg, sp, tree ); @@ -1480,9 +1480,9 @@ again: case IN_TREE_TO_STR_TRIM: { debug( prg, REALM_BYTECODE, "IN_TREE_TO_STR_TRIM\n" ); - Tree *tree = vm_pop_tree(); - Head *res = tree_to_str( prg, sp, tree, true ); - Tree *str = constructString( prg, res ); + tree_t *tree = vm_pop_tree(); + head_t *res = tree_to_str( prg, sp, tree, true ); + tree_t *str = constructString( prg, res ); treeUpref( str ); vm_push_tree( str ); treeDownref( prg, sp, tree ); @@ -1491,21 +1491,21 @@ again: case IN_TREE_TRIM: { debug( prg, REALM_BYTECODE, "IN_TREE_TRIM\n" ); - Tree *tree = vm_pop_tree(); - Tree *trimmed = treeTrim( prg, sp, tree ); + tree_t *tree = vm_pop_tree(); + tree_t *trimmed = treeTrim( prg, sp, tree ); vm_push_tree( trimmed ); break; } case IN_CONCAT_STR: { debug( prg, REALM_BYTECODE, "IN_CONCAT_STR\n" ); - Str *s2 = vm_pop_string(); - Str *s1 = vm_pop_string(); - Head *res = concatStr( s1->value, s2->value ); - Tree *str = constructString( prg, res ); + str_t *s2 = vm_pop_string(); + str_t *s1 = vm_pop_string(); + head_t *res = concatStr( s1->value, s2->value ); + tree_t *str = constructString( prg, res ); treeUpref( str ); - treeDownref( prg, sp, (Tree*)s1 ); - treeDownref( prg, sp, (Tree*)s2 ); + treeDownref( prg, sp, (tree_t*)s1 ); + treeDownref( prg, sp, (tree_t*)s2 ); vm_push_tree( str ); break; } @@ -1513,11 +1513,11 @@ again: case IN_STR_LENGTH: { debug( prg, REALM_BYTECODE, "IN_STR_LENGTH\n" ); - Str *str = vm_pop_string(); + str_t *str = vm_pop_string(); long len = stringLength( str->value ); - Value res = len; + value_t res = len; vm_push_value( res ); - treeDownref( prg, sp, (Tree*)str ); + treeDownref( prg, sp, (tree_t*)str ); break; } case IN_JMP_FALSE_TREE: { @@ -1526,7 +1526,7 @@ again: debug( prg, REALM_BYTECODE, "IN_JMP_FALSE_TREE %d\n", dist ); - Tree *tree = vm_pop_tree(); + tree_t *tree = vm_pop_tree(); if ( testFalse( prg, tree ) ) instr += dist; treeDownref( prg, sp, tree ); @@ -1538,7 +1538,7 @@ again: debug( prg, REALM_BYTECODE, "IN_JMP_TRUE_TREE %d\n", dist ); - Tree *tree = vm_pop_tree(); + tree_t *tree = vm_pop_tree(); if ( !testFalse( prg, tree ) ) instr += dist; treeDownref( prg, sp, tree ); @@ -1550,7 +1550,7 @@ again: debug( prg, REALM_BYTECODE, "IN_JMP_FALSE_VAL %d\n", dist ); - Tree *tree = vm_pop_tree(); + tree_t *tree = vm_pop_tree(); if ( tree == 0 ) instr += dist; break; @@ -1561,7 +1561,7 @@ again: debug( prg, REALM_BYTECODE, "IN_JMP_TRUE_VAL %d\n", dist ); - Tree *tree = vm_pop_tree(); + tree_t *tree = vm_pop_tree(); if ( tree != 0 ) instr += dist; break; @@ -1587,10 +1587,10 @@ again: case IN_TST_EQL_TREE: { debug( prg, REALM_BYTECODE, "IN_TST_EQL_TREE\n" ); - Tree *o2 = vm_pop_tree(); - Tree *o1 = vm_pop_tree(); + tree_t *o2 = vm_pop_tree(); + tree_t *o1 = vm_pop_tree(); long r = cmpTree( prg, o1, o2 ); - Value val = r == 0 ? TRUE_VAL : FALSE_VAL; + value_t val = r == 0 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); treeDownref( prg, sp, o1 ); treeDownref( prg, sp, o2 ); @@ -1599,19 +1599,19 @@ again: case IN_TST_EQL_VAL: { debug( prg, REALM_BYTECODE, "IN_TST_EQL_VAL\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); - Value val = o1 == o2 ? TRUE_VAL : FALSE_VAL; + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); + value_t val = o1 == o2 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); break; } case IN_TST_NOT_EQL_TREE: { debug( prg, REALM_BYTECODE, "IN_TST_NOT_EQL_TREE\n" ); - Tree *o2 = vm_pop_tree(); - Tree *o1 = vm_pop_tree(); + tree_t *o2 = vm_pop_tree(); + tree_t *o1 = vm_pop_tree(); long r = cmpTree( prg, o1, o2 ); - Value val = r != 0 ? TRUE_VAL : FALSE_VAL; + value_t val = r != 0 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); treeDownref( prg, sp, o1 ); treeDownref( prg, sp, o2 ); @@ -1620,28 +1620,28 @@ again: case IN_TST_NOT_EQL_VAL: { debug( prg, REALM_BYTECODE, "IN_TST_NOT_EQL_VAL\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); - Value val = o1 != o2 ? TRUE_VAL : FALSE_VAL; + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); + value_t val = o1 != o2 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); break; } case IN_TST_LESS_VAL: { debug( prg, REALM_BYTECODE, "IN_TST_LESS_VAL\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); - Value res = (long)o1 < (long)o2 ? TRUE_VAL : FALSE_VAL; + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); + value_t res = (long)o1 < (long)o2 ? TRUE_VAL : FALSE_VAL; vm_push_value( res ); break; } case IN_TST_LESS_TREE: { debug( prg, REALM_BYTECODE, "IN_TST_LESS_TREE\n" ); - Tree *o2 = vm_pop_tree(); - Tree *o1 = vm_pop_tree(); + tree_t *o2 = vm_pop_tree(); + tree_t *o1 = vm_pop_tree(); long r = cmpTree( prg, o1, o2 ); - Value val = r < 0 ? TRUE_VAL : FALSE_VAL; + value_t val = r < 0 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); treeDownref( prg, sp, o1 ); treeDownref( prg, sp, o2 ); @@ -1650,19 +1650,19 @@ again: case IN_TST_LESS_EQL_VAL: { debug( prg, REALM_BYTECODE, "IN_TST_LESS_EQL_VAL\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); - Value val = (long)o1 <= (long)o2 ? TRUE_VAL : FALSE_VAL; + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); + value_t val = (long)o1 <= (long)o2 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); break; } case IN_TST_LESS_EQL_TREE: { debug( prg, REALM_BYTECODE, "IN_TST_LESS_EQL_TREE\n" ); - Tree *o2 = vm_pop_tree(); - Tree *o1 = vm_pop_tree(); + tree_t *o2 = vm_pop_tree(); + tree_t *o1 = vm_pop_tree(); long r = cmpTree( prg, o1, o2 ); - Value val = r <= 0 ? TRUE_VAL : FALSE_VAL; + value_t val = r <= 0 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); treeDownref( prg, sp, o1 ); treeDownref( prg, sp, o2 ); @@ -1671,19 +1671,19 @@ again: case IN_TST_GRTR_VAL: { debug( prg, REALM_BYTECODE, "IN_TST_GRTR_VAL\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); - Value val = (long)o1 > (long)o2 ? TRUE_VAL : FALSE_VAL; + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); + value_t val = (long)o1 > (long)o2 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); break; } case IN_TST_GRTR_TREE: { debug( prg, REALM_BYTECODE, "IN_TST_GRTR_TREE\n" ); - Tree *o2 = vm_pop_tree(); - Tree *o1 = vm_pop_tree(); + tree_t *o2 = vm_pop_tree(); + tree_t *o1 = vm_pop_tree(); long r = cmpTree( prg, o1, o2 ); - Value val = r > 0 ? TRUE_VAL : FALSE_VAL; + value_t val = r > 0 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); treeDownref( prg, sp, o1 ); treeDownref( prg, sp, o2 ); @@ -1692,20 +1692,20 @@ again: case IN_TST_GRTR_EQL_VAL: { debug( prg, REALM_BYTECODE, "IN_TST_GRTR_EQL_VAL\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); - Value val = (long)o1 >= (long)o2 ? TRUE_VAL : FALSE_VAL; + value_t val = (long)o1 >= (long)o2 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); break; } case IN_TST_GRTR_EQL_TREE: { debug( prg, REALM_BYTECODE, "IN_TST_GRTR_EQL_TREE\n" ); - Tree *o2 = vm_pop_tree(); - Tree *o1 = vm_pop_tree(); + tree_t *o2 = vm_pop_tree(); + tree_t *o1 = vm_pop_tree(); long r = cmpTree( prg, o1, o2 ); - Value val = r >= 0 ? TRUE_VAL : FALSE_VAL; + value_t val = r >= 0 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); treeDownref( prg, sp, o1 ); treeDownref( prg, sp, o2 ); @@ -1714,18 +1714,18 @@ again: case IN_TST_LOGICAL_AND: { debug( prg, REALM_BYTECODE, "IN_TST_LOGICAL_AND\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); - Value val = o1 && o2 ? TRUE_VAL : FALSE_VAL; + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); + value_t val = o1 && o2 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); break; } case IN_TST_LOGICAL_OR: { debug( prg, REALM_BYTECODE, "IN_TST_LOGICAL_OR\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); - Value val = o1 || o2 ? TRUE_VAL : FALSE_VAL; + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); + value_t val = o1 || o2 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); break; } @@ -1733,7 +1733,7 @@ again: case IN_TST_NZ_TREE: { debug( prg, REALM_BYTECODE, "IN_TST_NZ_TREE\n" ); - Tree *tree = vm_pop_tree(); + tree_t *tree = vm_pop_tree(); long r = !testFalse( prg, tree ); treeDownref( prg, sp, tree ); vm_push_value( r ); @@ -1743,8 +1743,8 @@ again: case IN_NOT_VAL: { debug( prg, REALM_BYTECODE, "IN_NOT_VAL\n" ); - Value o1 = vm_pop_value(); - Value val = o1 == 0 ? TRUE_VAL : FALSE_VAL; + value_t o1 = vm_pop_value(); + value_t val = o1 == 0 ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); break; } @@ -1752,9 +1752,9 @@ again: case IN_NOT_TREE: { debug( prg, REALM_BYTECODE, "IN_NOT_TREE\n" ); - Tree *tree = vm_pop_tree(); + tree_t *tree = vm_pop_tree(); long r = testFalse( prg, tree ); - Value val = r ? TRUE_VAL : FALSE_VAL; + value_t val = r ? TRUE_VAL : FALSE_VAL; vm_push_value( val ); treeDownref( prg, sp, tree ); break; @@ -1763,40 +1763,40 @@ again: case IN_ADD_INT: { debug( prg, REALM_BYTECODE, "IN_ADD_INT\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); long r = (long)o1 + (long)o2; - Value val = r; + value_t val = r; vm_push_value( val ); break; } case IN_MULT_INT: { debug( prg, REALM_BYTECODE, "IN_MULT_INT\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); long r = (long)o1 * (long)o2; - Value val = r; + value_t val = r; vm_push_value( val ); break; } case IN_DIV_INT: { debug( prg, REALM_BYTECODE, "IN_DIV_INT\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); long r = (long)o1 / (long)o2; - Value val = r; + value_t val = r; vm_push_value( val ); break; } case IN_SUB_INT: { debug( prg, REALM_BYTECODE, "IN_SUB_INT\n" ); - Value o2 = vm_pop_value(); - Value o1 = vm_pop_value(); + value_t o2 = vm_pop_value(); + value_t o1 = vm_pop_value(); long r = (long)o1 - (long)o2; - Value val = r; + value_t val = r; vm_push_value( val ); break; } @@ -1810,7 +1810,7 @@ again: case IN_DUP_TREE: { debug( prg, REALM_BYTECODE, "IN_DUP_TREE\n" ); - Tree *val = vm_top(); + tree_t *val = vm_top(); treeUpref( val ); vm_push_tree( val ); break; @@ -1826,15 +1826,15 @@ again: debug( prg, REALM_BYTECODE, "IN_TRITER_FROM_REF " "%hd %hd %hd\n", field, argSize, searchTypeId ); - Ref rootRef; + ref_t rootRef; rootRef.kid = vm_pop_kid(); rootRef.next = vm_pop_ref(); void *mem = vm_get_plocal(exec, field); - Tree **stackRoot = vm_ptop(); + tree_t **stackRoot = vm_ptop(); long rootSize = vm_ssize(); - colm_init_tree_iter( (TreeIter*)mem, stackRoot, + colm_init_tree_iter( (tree_iter_t*)mem, stackRoot, argSize, rootSize, &rootRef, searchTypeId ); break; } @@ -1843,7 +1843,7 @@ again: short field; read_half( field ); - TreeIter *iter = (TreeIter*) vm_get_plocal(exec, field); + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal(exec, field); debug( prg, REALM_BYTECODE, "IN_TRITER_DESTROY %hd %d\n", field, iter->yieldSize ); colm_tree_iter_destroy( prg, &sp, iter ); @@ -1860,15 +1860,15 @@ again: debug( prg, REALM_BYTECODE, "IN_REV_TRITER_FROM_REF " "%hd %hd %hd\n", field, argSize, searchTypeId ); - Ref rootRef; + ref_t rootRef; rootRef.kid = vm_pop_kid(); rootRef.next = vm_pop_ref(); - Tree **stackRoot = vm_ptop(); + tree_t **stackRoot = vm_ptop(); long rootSize = vm_ssize(); int children = 0; - Kid *kid = treeChild( prg, rootRef.kid->tree ); + kid_t *kid = treeChild( prg, rootRef.kid->tree ); while ( kid != 0 ) { vm_push_kid( kid ); kid = kid->next; @@ -1876,7 +1876,7 @@ again: } void *mem = vm_get_plocal(exec, field); - colm_init_rev_tree_iter( (RevTreeIter*)mem, stackRoot, + colm_init_rev_tree_iter( (rev_tree_iter_t*)mem, stackRoot, argSize, rootSize, &rootRef, searchTypeId, children ); break; } @@ -1887,7 +1887,7 @@ again: debug( prg, REALM_BYTECODE, "IN_REV_TRITER_DESTROY\n" ); - RevTreeIter *iter = (RevTreeIter*) vm_get_plocal(exec, field); + rev_tree_iter_t *iter = (rev_tree_iter_t*) vm_get_plocal(exec, field); colm_rev_tree_iter_destroy( prg, &sp, iter ); break; } @@ -1897,8 +1897,8 @@ again: debug( prg, REALM_BYTECODE, "IN_TREE_SEARCH\n" ); - Tree *tree = vm_pop_tree(); - Tree *res = treeSearch( prg, tree, id ); + tree_t *tree = vm_pop_tree(); + tree_t *res = treeSearch( prg, tree, id ); treeUpref( res ); vm_push_tree( res ); treeDownref( prg, sp, tree ); @@ -1910,8 +1910,8 @@ again: debug( prg, REALM_BYTECODE, "IN_TRITER_ADVANCE\n" ); - TreeIter *iter = (TreeIter*) vm_get_plocal(exec, field); - Tree *res = treeIterAdvance( prg, &sp, iter ); + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal(exec, field); + tree_t *res = treeIterAdvance( prg, &sp, iter ); //treeUpref( res ); vm_push_tree( res ); break; @@ -1922,8 +1922,8 @@ again: debug( prg, REALM_BYTECODE, "IN_TRITER_NEXT_CHILD\n" ); - TreeIter *iter = (TreeIter*) vm_get_plocal(exec, field); - Tree *res = treeIterNextChild( prg, &sp, iter ); + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal(exec, field); + tree_t *res = treeIterNextChild( prg, &sp, iter ); //treeUpref( res ); vm_push_tree( res ); break; @@ -1934,8 +1934,8 @@ again: debug( prg, REALM_BYTECODE, "IN_REV_TRITER_PREV_CHILD\n" ); - RevTreeIter *iter = (RevTreeIter*) vm_get_plocal(exec, field); - Tree *res = treeRevIterPrevChild( prg, &sp, iter ); + rev_tree_iter_t *iter = (rev_tree_iter_t*) vm_get_plocal(exec, field); + tree_t *res = treeRevIterPrevChild( prg, &sp, iter ); //treeUpref( res ); vm_push_tree( res ); break; @@ -1946,8 +1946,8 @@ again: debug( prg, REALM_BYTECODE, "IN_TRITER_NEXT_REPEAT\n" ); - TreeIter *iter = (TreeIter*) vm_get_plocal(exec, field); - Tree *res = treeIterNextRepeat( prg, &sp, iter ); + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal(exec, field); + tree_t *res = treeIterNextRepeat( prg, &sp, iter ); //treeUpref( res ); vm_push_tree( res ); break; @@ -1958,8 +1958,8 @@ again: debug( prg, REALM_BYTECODE, "IN_TRITER_PREV_REPEAT\n" ); - TreeIter *iter = (TreeIter*) vm_get_plocal(exec, field); - Tree *res = treeIterPrevRepeat( prg, &sp, iter ); + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal(exec, field); + tree_t *res = treeIterPrevRepeat( prg, &sp, iter ); //treeUpref( res ); vm_push_tree( res ); break; @@ -1970,8 +1970,8 @@ again: debug( prg, REALM_BYTECODE, "IN_TRITER_GET_CUR_R\n" ); - TreeIter *iter = (TreeIter*) vm_get_plocal(exec, field); - Tree *tree = treeIterDerefCur( iter ); + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal(exec, field); + tree_t *tree = treeIterDerefCur( iter ); treeUpref( tree ); vm_push_tree( tree ); break; @@ -1982,9 +1982,9 @@ again: debug( prg, REALM_BYTECODE, "IN_TRITER_GET_CUR_WC\n" ); - TreeIter *iter = (TreeIter*) vm_get_plocal(exec, field); + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal(exec, field); splitIterCur( prg, &sp, iter ); - Tree *tree = treeIterDerefCur( iter ); + tree_t *tree = treeIterDerefCur( iter ); treeUpref( tree ); vm_push_tree( tree ); break; @@ -1995,10 +1995,10 @@ again: debug( prg, REALM_BYTECODE, "IN_TRITER_SET_CUR_WC\n" ); - Tree *tree = vm_pop_tree(); - TreeIter *iter = (TreeIter*) vm_get_plocal(exec, field); + tree_t *tree = vm_pop_tree(); + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal(exec, field); splitIterCur( prg, &sp, iter ); - Tree *old = treeIterDerefCur( iter ); + tree_t *old = treeIterDerefCur( iter ); setTriterCur( prg, iter, tree ); treeDownref( prg, sp, old ); break; @@ -2014,15 +2014,15 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_ITER_FROM_REF " "%hd %hd %hd\n", field, argSize, genericId ); - Ref rootRef; + ref_t rootRef; rootRef.kid = vm_pop_kid(); rootRef.next = vm_pop_ref(); void *mem = vm_get_plocal(exec, field); - Tree **stackRoot = vm_ptop(); + tree_t **stackRoot = vm_ptop(); long rootSize = vm_ssize(); - colm_init_list_iter( (GenericIter*)mem, stackRoot, argSize, + colm_init_list_iter( (generic_iter_t*)mem, stackRoot, argSize, rootSize, &rootRef, genericId ); break; } @@ -2031,7 +2031,7 @@ again: short field; read_half( field ); - GenericIter *iter = (GenericIter*) vm_get_plocal(exec, field); + generic_iter_t *iter = (generic_iter_t*) vm_get_plocal(exec, field); debug( prg, REALM_BYTECODE, "IN_LIST_ITER_DESTROY %d\n", iter->yieldSize ); @@ -2044,8 +2044,8 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_ITER_ADVANCE\n" ); - GenericIter *iter = (GenericIter*) vm_get_plocal(exec, field); - Tree *res = colm_list_iter_advance( prg, &sp, iter ); + generic_iter_t *iter = (generic_iter_t*) vm_get_plocal(exec, field); + tree_t *res = colm_list_iter_advance( prg, &sp, iter ); //treeUpref( res ); vm_push_tree( res ); break; @@ -2056,8 +2056,8 @@ again: debug( prg, REALM_BYTECODE, "IN_MAP_ITER_ADVANCE\n" ); - GenericIter *iter = (GenericIter*) vm_get_plocal(exec, field); - Tree *res = colm_map_iter_advance( prg, &sp, iter ); + generic_iter_t *iter = (generic_iter_t*) vm_get_plocal(exec, field); + tree_t *res = colm_map_iter_advance( prg, &sp, iter ); //treeUpref( res ); vm_push_tree( res ); break; @@ -2068,8 +2068,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GEN_ITER_GET_CUR_R\n" ); - GenericIter *iter = (GenericIter*) vm_get_plocal(exec, field); - Tree *tree = colm_list_iter_deref_cur( prg, iter ); + generic_iter_t *iter = (generic_iter_t*) vm_get_plocal(exec, field); + tree_t *tree = colm_list_iter_deref_cur( prg, iter ); //treeUpref( tree ); vm_push_tree( tree ); break; @@ -2080,8 +2080,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GEN_VITER_GET_CUR_R\n" ); - GenericIter *iter = (GenericIter*) vm_get_plocal(exec, field); - Value value = colm_viter_deref_cur( prg, iter ); + generic_iter_t *iter = (generic_iter_t*) vm_get_plocal(exec, field); + value_t value = colm_viter_deref_cur( prg, iter ); vm_push_value( value ); break; } @@ -2091,7 +2091,7 @@ again: debug( prg, REALM_BYTECODE, "IN_MATCH\n" ); - Tree *tree = vm_pop_tree(); + tree_t *tree = vm_pop_tree(); /* Run the match, push the result. */ int rootNode = prg->rtd->patReplInfo[patternId].offset; @@ -2100,23 +2100,23 @@ again: * binding. We make a space for it here rather than do math at * access them. */ long numBindings = prg->rtd->patReplInfo[patternId].numBindings; - Tree *bindings[1+numBindings]; - memset( bindings, 0, sizeof(Tree*)*(1+numBindings) ); + tree_t *bindings[1+numBindings]; + memset( bindings, 0, sizeof(tree_t*)*(1+numBindings) ); - Kid kid; + kid_t kid; kid.tree = tree; kid.next = 0; int matched = matchPattern( bindings, prg, rootNode, &kid, false ); if ( !matched ) - memset( bindings, 0, sizeof(Tree*)*(1+numBindings) ); + memset( bindings, 0, sizeof(tree_t*)*(1+numBindings) ); else { int b; for ( b = 1; b <= numBindings; b++ ) assert( bindings[b] != 0 ); } - Tree *result = matched ? tree : 0; + tree_t *result = matched ? tree : 0; treeUpref( result ); vm_push_tree( result ? tree : 0 ); int b; @@ -2132,8 +2132,8 @@ again: case IN_PARSE_APPEND_WC: { debug( prg, REALM_BYTECODE, "IN_PARSE_APPEND_WC\n" ); - Tree *input = vm_pop_tree(); - Parser *parser = vm_pop_parser(); + tree_t *input = vm_pop_tree(); + parser_t *parser = vm_pop_parser(); stream_append_tree( prg, sp, parser->input, input ); @@ -2145,8 +2145,8 @@ again: case IN_PARSE_APPEND_WV: { debug( prg, REALM_BYTECODE, "IN_PARSE_APPEND_WV\n" ); - Tree *input = vm_pop_tree(); - Parser *parser = vm_pop_parser(); + tree_t *input = vm_pop_tree(); + parser_t *parser = vm_pop_parser(); word_t len = stream_append_tree( prg, sp, parser->input, input ); @@ -2162,8 +2162,8 @@ again: } case IN_PARSE_APPEND_BKT: { - Tree *pptr; - Tree *input; + tree_t *pptr; + tree_t *input; word_t len; read_tree( pptr ); read_tree( input ); @@ -2171,7 +2171,7 @@ again: debug( prg, REALM_BYTECODE, "IN_PARSE_APPEND_BKT\n" ); - struct stream_impl *si = streamToImpl( ((Parser*)pptr)->input ); + struct stream_impl *si = streamToImpl( ((parser_t*)pptr)->input ); stream_undo_append( prg, sp, si, input, len ); treeDownref( prg, sp, input ); @@ -2181,8 +2181,8 @@ again: case IN_PARSE_APPEND_STREAM_WC: { debug( prg, REALM_BYTECODE, "IN_PARSE_APPEND_STREAM_WC\n" ); - Tree *input = vm_pop_tree(); - Parser *parser = vm_pop_parser(); + tree_t *input = vm_pop_tree(); + parser_t *parser = vm_pop_parser(); vm_push_parser( parser ); @@ -2192,8 +2192,8 @@ again: case IN_PARSE_APPEND_STREAM_WV: { debug( prg, REALM_BYTECODE, "IN_PARSE_APPEND_STREAM_WV\n" ); - Tree *input = vm_pop_tree(); - Parser *parser = vm_pop_parser(); + tree_t *input = vm_pop_tree(); + parser_t *parser = vm_pop_parser(); word_t len = stream_append_stream( prg, sp, parser->input, input ); @@ -2209,8 +2209,8 @@ again: } case IN_PARSE_APPEND_STREAM_BKT: { - Tree *pptr; - Tree *input; + tree_t *pptr; + tree_t *input; word_t len; read_tree( pptr ); read_tree( input ); @@ -2218,7 +2218,7 @@ again: debug( prg, REALM_BYTECODE, "IN_PARSE_APPEND_STREAM_BKT\n" ); - struct stream_impl *si = streamToImpl( ((Parser*)pptr)->input ); + struct stream_impl *si = streamToImpl( ((parser_t*)pptr)->input ); stream_undo_append_stream( prg, sp, si, input, len ); treeDownref( prg, sp, input ); @@ -2228,7 +2228,7 @@ again: case IN_INPUT_CLOSE_WC: { debug( prg, REALM_BYTECODE, "IN_INPUT_CLOSE_WC\n" ); - Stream *stream = vm_pop_stream(); + stream_t *stream = vm_pop_stream(); struct stream_impl *si = stream->impl; if ( si->file != 0 ) { @@ -2247,7 +2247,7 @@ again: case IN_SET_ERROR: { debug( prg, REALM_BYTECODE, "IN_SET_ERROR\n" ); - Tree *error = vm_pop_tree(); + tree_t *error = vm_pop_tree(); treeDownref( prg, sp, prg->error ); prg->error = error; break; @@ -2265,7 +2265,7 @@ again: case IN_PARSE_LOAD: { debug( prg, REALM_BYTECODE, "IN_PARSE_LOAD\n" ); - Parser *parser = vm_pop_parser(); + parser_t *parser = vm_pop_parser(); struct pda_run *pdaRun = parser->pdaRun; long steps = pdaRun->steps; @@ -2282,7 +2282,7 @@ again: case IN_PARSE_INIT_BKT: { debug( prg, REALM_BYTECODE, "IN_PARSE_INIT_BKT\n" ); - Parser *parser; + parser_t *parser; word_t pcr; word_t steps; @@ -2311,8 +2311,8 @@ again: vm_contiguous( 4 + frameSize ); - vm_push_type( Tree**, exec->framePtr ); - vm_push_type( Tree**, exec->iframePtr ); + vm_push_type( tree_t**, exec->framePtr ); + vm_push_type( tree_t**, exec->iframePtr ); vm_push_type( long, exec->frameId ); /* Return location one instruction back. Depends on the size of of @@ -2357,8 +2357,8 @@ again: instr = vm_pop_type(code_t*); exec->frameId = vm_pop_type(long); - exec->iframePtr = vm_pop_type(Tree**); - exec->framePtr = vm_pop_type(Tree**); + exec->iframePtr = vm_pop_type(tree_t**); + exec->framePtr = vm_pop_type(tree_t**); if ( instr == 0 ) { fflush( stdout ); @@ -2392,7 +2392,7 @@ again: case IN_PARSE_FRAG_EXIT_WC: { debug( prg, REALM_BYTECODE, "IN_PARSE_FRAG_EXIT_WC\n" ); - Parser *parser = exec->parser; + parser_t *parser = exec->parser; exec->steps = vm_pop_type(long); exec->pcr = vm_pop_type(long); @@ -2425,7 +2425,7 @@ again: case IN_PARSE_FRAG_EXIT_WV: { debug( prg, REALM_BYTECODE, "IN_PARSE_FRAG_EXIT_WV \n" ); - Parser *parser = exec->parser; + parser_t *parser = exec->parser; long steps = exec->steps; exec->steps = vm_pop_type(long); @@ -2480,7 +2480,7 @@ again: debug( prg, REALM_BYTECODE, "IN_PARSE_FINISH_WC %hd\n", stopId ); - Tree *result = 0; + tree_t *result = 0; exec->pcr = colm_parse_finish( &result, prg, sp, exec->parser->pdaRun, exec->parser->input, false, exec->pcr ); @@ -2496,7 +2496,7 @@ again: case IN_PARSE_FINISH_EXIT_WC: { debug( prg, REALM_BYTECODE, "IN_PARSE_FINISH_EXIT_WC\n" ); - Parser *parser = exec->parser; + parser_t *parser = exec->parser; exec->steps = vm_pop_type(long); exec->pcr = vm_pop_type(long); @@ -2516,7 +2516,7 @@ again: debug( prg, REALM_BYTECODE, "IN_PARSE_FINISH_WV %hd\n", stopId ); - Tree *result = 0; + tree_t *result = 0; exec->pcr = colm_parse_finish( &result, prg, sp, exec->parser->pdaRun, exec->parser->input, true, exec->pcr ); @@ -2530,7 +2530,7 @@ again: case IN_PARSE_FINISH_EXIT_WV: { debug( prg, REALM_BYTECODE, "IN_PARSE_FINISH_EXIT_WV\n" ); - Parser *parser = exec->parser; + parser_t *parser = exec->parser; long steps = exec->steps; exec->steps = vm_pop_type(long); @@ -2573,7 +2573,7 @@ again: case IN_PARSE_FINISH_EXIT_BKT: { debug( prg, REALM_BYTECODE, "IN_PARSE_FINISH_EXIT_BKT\n" ); - Parser *parser = exec->parser; + parser_t *parser = exec->parser; exec->steps = vm_pop_type(long); exec->pcr = vm_pop_type(long); @@ -2587,10 +2587,10 @@ again: case IN_INPUT_PULL_WV: { debug( prg, REALM_BYTECODE, "IN_INPUT_PULL_WV\n" ); - Stream *stream = vm_pop_stream(); - Tree *len = vm_pop_tree(); + stream_t *stream = vm_pop_stream(); + tree_t *len = vm_pop_tree(); struct pda_run *pdaRun = exec->parser != 0 ? exec->parser->pdaRun : 0; - Tree *string = stream_pull_bc( prg, sp, pdaRun, stream, len ); + tree_t *string = stream_pull_bc( prg, sp, pdaRun, stream, len ); treeUpref( string ); vm_push_tree( string ); @@ -2607,10 +2607,10 @@ again: case IN_INPUT_PULL_WC: { debug( prg, REALM_BYTECODE, "IN_INPUT_PULL_WC\n" ); - Stream *stream = vm_pop_stream(); - Tree *len = vm_pop_tree(); + stream_t *stream = vm_pop_stream(); + tree_t *len = vm_pop_tree(); struct pda_run *pdaRun = exec->parser != 0 ? exec->parser->pdaRun : 0; - Tree *string = stream_pull_bc( prg, sp, pdaRun, stream, len ); + tree_t *string = stream_pull_bc( prg, sp, pdaRun, stream, len ); treeUpref( string ); vm_push_tree( string ); @@ -2618,10 +2618,10 @@ again: break; } case IN_INPUT_PULL_BKT: { - Tree *string; + tree_t *string; read_tree( string ); - Stream *stream = vm_pop_stream(); + stream_t *stream = vm_pop_stream(); debug( prg, REALM_BYTECODE, "IN_INPUT_PULL_BKT\n" ); @@ -2632,8 +2632,8 @@ again: case IN_INPUT_PUSH_WV: { debug( prg, REALM_BYTECODE, "IN_INPUT_PUSH_WV\n" ); - Stream *input = vm_pop_stream(); - Tree *tree = vm_pop_tree(); + stream_t *input = vm_pop_stream(); + tree_t *tree = vm_pop_tree(); long len = stream_push( prg, sp, streamToImpl( input ), tree, false ); vm_push_tree( 0 ); @@ -2648,8 +2648,8 @@ again: case IN_INPUT_PUSH_IGNORE_WV: { debug( prg, REALM_BYTECODE, "IN_INPUT_PUSH_IGNORE_WV\n" ); - Stream *input = vm_pop_stream(); - Tree *tree = vm_pop_tree(); + stream_t *input = vm_pop_stream(); + tree_t *tree = vm_pop_tree(); long len = stream_push( prg, sp, streamToImpl( input ), tree, true ); vm_push_tree( 0 ); @@ -2667,15 +2667,15 @@ again: debug( prg, REALM_BYTECODE, "IN_INPUT_PUSH_BKT %d\n", len ); - Stream *input = vm_pop_stream(); + stream_t *input = vm_pop_stream(); colm_undo_stream_push( prg, sp, streamToImpl( input ), len ); break; } case IN_INPUT_PUSH_STREAM_WV: { debug( prg, REALM_BYTECODE, "IN_INPUT_PUSH_STREAM_WV\n" ); - Stream *input = vm_pop_stream(); - Stream *toPush = vm_pop_stream(); + stream_t *input = vm_pop_stream(); + stream_t *toPush = vm_pop_stream(); long len = stream_push_stream( prg, sp, streamToImpl( input ), toPush ); vm_push_tree( 0 ); @@ -2691,7 +2691,7 @@ again: debug( prg, REALM_BYTECODE, "IN_INPUT_PUSH_STREAM_BKT %d\n", len ); - Stream *input = vm_pop_stream(); + stream_t *input = vm_pop_stream(); colm_undo_stream_push( prg, sp, streamToImpl( input ), len ); break; } @@ -2701,7 +2701,7 @@ again: debug( prg, REALM_BYTECODE, "IN_CONS_GENERIC %hd\n", genericId ); - Struct *gen = colm_construct_generic( prg, genericId ); + struct_t *gen = colm_construct_generic( prg, genericId ); vm_push_struct( gen ); break; } @@ -2711,7 +2711,7 @@ again: debug( prg, REALM_BYTECODE, "IN_CONS_OBJECT %hd\n", langElId ); - Tree *replTree = constructObject( prg, 0, 0, langElId ); + tree_t *replTree = constructObject( prg, 0, 0, langElId ); vm_push_tree( replTree ); break; } @@ -2727,7 +2727,7 @@ again: /* Note that bindIds are indexed at one. Add one spot for them. */ int numBindings = prg->rtd->patReplInfo[patternId].numBindings; - Tree *bindings[1+numBindings]; + tree_t *bindings[1+numBindings]; int b; for ( b = 1; b <= numBindings; b++ ) { @@ -2735,7 +2735,7 @@ again: assert( bindings[b] != 0 ); } - Tree *replTree = constructTree( prg, 0, bindings, rootNode ); + tree_t *replTree = constructTree( prg, 0, bindings, rootNode ); vm_push_tree( replTree ); break; @@ -2747,8 +2747,8 @@ again: debug( prg, REALM_BYTECODE, "IN_CONSTRUCT_TERM\n" ); /* Pop the string we are constructing the token from. */ - Str *str = vm_pop_string(); - Tree *res = constructTerm( prg, tokenId, str->value ); + str_t *str = vm_pop_string(); + tree_t *res = constructTerm( prg, tokenId, str->value ); treeUpref( res ); vm_push_tree( res ); break; @@ -2760,11 +2760,11 @@ again: debug( prg, REALM_BYTECODE, "IN_MAKE_TOKEN\n" ); - Tree *arg[nargs]; + tree_t *arg[nargs]; for ( i = nargs-1; i >= 0; i-- ) arg[i] = vm_pop_tree(); - Tree *result = constructToken( prg, arg, nargs ); + tree_t *result = constructToken( prg, arg, nargs ); for ( i = 1; i < nargs; i++ ) treeDownref( prg, sp, arg[i] ); vm_push_tree( result ); @@ -2777,11 +2777,11 @@ again: debug( prg, REALM_BYTECODE, "IN_MAKE_TREE\n" ); - Tree *arg[nargs]; + tree_t *arg[nargs]; for ( i = nargs-1; i >= 0; i-- ) arg[i] = vm_pop_tree(); - Tree *result = makeTree( prg, arg, nargs ); + tree_t *result = makeTree( prg, arg, nargs ); for ( i = 1; i < nargs; i++ ) treeDownref( prg, sp, arg[i] ); @@ -2794,8 +2794,8 @@ again: debug( prg, REALM_BYTECODE, "IN_TREE_CAST %hd\n", langElId ); - Tree *tree = vm_pop_tree(); - Tree *res = castTree( prg, langElId, tree ); + tree_t *tree = vm_pop_tree(); + tree_t *res = castTree( prg, langElId, tree ); treeUpref( res ); treeDownref( prg, sp, tree ); vm_push_tree( res ); @@ -2804,7 +2804,7 @@ again: case IN_PTR_ACCESS_WV: { debug( prg, REALM_BYTECODE, "IN_PTR_ACCESS_WV\n" ); - Struct *ptr = vm_pop_struct(); + struct_t *ptr = vm_pop_struct(); vm_push_struct( ptr ); /* This is an initial global load. Need to reverse execute it. */ @@ -2819,8 +2819,8 @@ again: debug( prg, REALM_BYTECODE, "IN_PTR_ACCESS_BKT\n" ); - Struct *ptr = (Struct*)p; - vm_push_type( Struct *, ptr ); + struct_t *ptr = (struct_t*)p; + vm_push_type( struct_t *, ptr ); break; } case IN_REF_FROM_LOCAL: { @@ -2830,7 +2830,7 @@ again: debug( prg, REALM_BYTECODE, "IN_REF_FROM_LOCAL %hd\n", field ); /* First push the null next pointer, then the kid pointer. */ - Kid *kid = (Kid*)vm_get_plocal(exec, field); + kid_t *kid = (kid_t*)vm_get_plocal(exec, field); vm_contiguous( 2 ); vm_push_ref( 0 ); vm_push_kid( kid ); @@ -2842,7 +2842,7 @@ again: debug( prg, REALM_BYTECODE, "IN_REF_FROM_REF %hd\n", field ); - Ref *ref = (Ref*)vm_get_plocal(exec, field); + ref_t *ref = (ref_t*)vm_get_plocal(exec, field); vm_contiguous( 2 ); vm_push_ref( ref ); vm_push_kid( ref->kid ); @@ -2856,10 +2856,10 @@ again: debug( prg, REALM_BYTECODE, "IN_REF_FROM_QUAL_REF\n" ); - Ref *ref = (Ref*)(sp + back); + ref_t *ref = (ref_t*)(sp + back); - Tree *obj = ref->kid->tree; - Kid *attr_kid = getFieldKid( obj, field ); + tree_t *obj = ref->kid->tree; + kid_t *attr_kid = getFieldKid( obj, field ); vm_contiguous( 2 ); vm_push_ref( ref ); @@ -2875,10 +2875,10 @@ again: debug( prg, REALM_BYTECODE, "IN_RHS_REF_FROM_QUAL_REF\n" ); - Ref *ref = (Ref*)(sp + back); + ref_t *ref = (ref_t*)(sp + back); - Tree *obj = ref->kid->tree; - Kid *attrKid = 0; + tree_t *obj = ref->kid->tree; + kid_t *attrKid = 0; read_byte( len ); for ( i = 0; i < len; i++ ) { @@ -2902,7 +2902,7 @@ again: debug( prg, REALM_BYTECODE, "IN_REF_FROM_BACK %hd\n", back ); - Kid *ptr = (Kid*)(sp + back); + kid_t *ptr = (kid_t*)(sp + back); vm_contiguous( 2 ); vm_push_ref( 0 ); @@ -2916,8 +2916,8 @@ again: debug( prg, REALM_BYTECODE, "IN_TRITER_REF_FROM_CUR\n" ); /* Push the next pointer first, then the kid. */ - TreeIter *iter = (TreeIter*) vm_get_plocal(exec, field); - Ref *ref = &iter->ref; + tree_iter_t *iter = (tree_iter_t*) vm_get_plocal(exec, field); + ref_t *ref = &iter->ref; vm_contiguous( 2 ); vm_push_ref( ref ); vm_push_kid( iter->ref.kid ); @@ -2930,7 +2930,7 @@ again: debug( prg, REALM_BYTECODE, "IN_UITER_REF_FROM_CUR\n" ); /* Push the next pointer first, then the kid. */ - UserIter *uiter = (UserIter*) vm_get_local(exec, field); + user_iter_t *uiter = (user_iter_t*) vm_get_local(exec, field); vm_contiguous( 2 ); vm_push_ref( uiter->ref.next ); vm_push_kid( uiter->ref.kid ); @@ -2939,9 +2939,9 @@ again: case IN_GET_TOKEN_DATA_R: { debug( prg, REALM_BYTECODE, "IN_GET_TOKEN_DATA_R\n" ); - Tree *tree = vm_pop_tree(); - Head *data = stringCopy( prg, tree->tokdata ); - Tree *str = constructString( prg, data ); + tree_t *tree = vm_pop_tree(); + head_t *data = stringCopy( prg, tree->tokdata ); + tree_t *str = constructString( prg, data ); treeUpref( str ); vm_push_tree( str ); treeDownref( prg, sp, tree ); @@ -2950,9 +2950,9 @@ again: case IN_SET_TOKEN_DATA_WC: { debug( prg, REALM_BYTECODE, "IN_SET_TOKEN_DATA_WC\n" ); - Tree *tree = vm_pop_tree(); - Tree *val = vm_pop_tree(); - Head *head = stringCopy( prg, ((Str*)val)->value ); + tree_t *tree = vm_pop_tree(); + tree_t *val = vm_pop_tree(); + head_t *head = stringCopy( prg, ((str_t*)val)->value ); stringFree( prg, tree->tokdata ); tree->tokdata = head; @@ -2963,11 +2963,11 @@ again: case IN_SET_TOKEN_DATA_WV: { debug( prg, REALM_BYTECODE, "IN_SET_TOKEN_DATA_WV\n" ); - Tree *tree = vm_pop_tree(); - Tree *val = vm_pop_tree(); + tree_t *tree = vm_pop_tree(); + tree_t *val = vm_pop_tree(); - Head *oldval = tree->tokdata; - Head *head = stringCopy( prg, ((Str*)val)->value ); + head_t *oldval = tree->tokdata; + head_t *head = stringCopy( prg, ((str_t*)val)->value ); tree->tokdata = head; /* Set up reverse code. Needs no args. */ @@ -2985,8 +2985,8 @@ again: word_t oldval; read_word( oldval ); - Tree *tree = vm_pop_tree(); - Head *head = (Head*)oldval; + tree_t *tree = vm_pop_tree(); + head_t *head = (head_t*)oldval; stringFree( prg, tree->tokdata ); tree->tokdata = head; treeDownref( prg, sp, tree ); @@ -2995,8 +2995,8 @@ again: case IN_GET_TOKEN_POS_R: { debug( prg, REALM_BYTECODE, "IN_GET_TOKEN_POS_R\n" ); - Tree *tree = vm_pop_tree(); - Value integer = 0; + tree_t *tree = vm_pop_tree(); + value_t integer = 0; if ( tree->tokdata->location ) integer = tree->tokdata->location->byte; vm_push_value( integer ); @@ -3006,8 +3006,8 @@ again: case IN_GET_TOKEN_LINE_R: { debug( prg, REALM_BYTECODE, "IN_GET_TOKEN_LINE_R\n" ); - Tree *tree = vm_pop_tree(); - Value integer = 0; + tree_t *tree = vm_pop_tree(); + value_t integer = 0; if ( tree->tokdata->location ) integer = tree->tokdata->location->line; @@ -3018,15 +3018,15 @@ again: case IN_GET_MATCH_LENGTH_R: { debug( prg, REALM_BYTECODE, "IN_GET_MATCH_LENGTH_R\n" ); - Value integer = stringLength(exec->parser->pdaRun->tokdata); + value_t integer = stringLength(exec->parser->pdaRun->tokdata); vm_push_value( integer ); break; } case IN_GET_MATCH_TEXT_R: { debug( prg, REALM_BYTECODE, "IN_GET_MATCH_TEXT_R\n" ); - Head *s = stringCopy( prg, exec->parser->pdaRun->tokdata ); - Tree *tree = constructString( prg, s ); + head_t *s = stringCopy( prg, exec->parser->pdaRun->tokdata ); + tree_t *tree = constructString( prg, s ); treeUpref( tree ); vm_push_tree( tree ); break; @@ -3034,10 +3034,10 @@ again: case IN_LIST_LENGTH: { debug( prg, REALM_BYTECODE, "IN_LIST_LENGTH\n" ); - List *list = vm_pop_list(); + list_t *list = vm_pop_list(); long len = colm_list_length( list ); - Value res = len; - treeDownref( prg, sp, (Tree*)list ); + value_t res = len; + treeDownref( prg, sp, (tree_t*)list ); vm_push_value( res ); break; } @@ -3048,10 +3048,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LIST_EL_MEM_R\n" ); - Struct *s = vm_pop_struct(); + struct_t *s = vm_pop_struct(); - ListEl *listEl = colm_struct_to_list_el( prg, s, genId ); - Struct *val = colm_list_el_get( prg, listEl, genId, field ); + list_el_t *listEl = colm_struct_to_list_el( prg, s, genId ); + struct_t *val = colm_list_el_get( prg, listEl, genId, field ); vm_push_struct( val ); break; } @@ -3063,8 +3063,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LIST_MEM_R %hd %hd\n", genId, field ); - List *list = vm_pop_list(); - Struct *val = colm_list_get( prg, list, genId, field ); + list_t *list = vm_pop_list(); + struct_t *val = colm_list_get( prg, list, genId, field ); vm_push_struct( val ); break; } @@ -3074,10 +3074,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LIST_MEM_WC\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *val = getListMemSplit( prg, (List*)obj, field ); + tree_t *val = getListMemSplit( prg, (list_t*)obj, field ); treeUpref( val ); vm_push_tree( val ); break; @@ -3088,10 +3088,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LIST_MEM_WV\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *val = getListMemSplit( prg, (List*)obj, field ); + tree_t *val = getListMemSplit( prg, (list_t*)obj, field ); treeUpref( val ); vm_push_tree( val ); @@ -3106,10 +3106,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_LIST_MEM_BKT\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *res = getListMemSplit( prg, (List*)obj, field ); + tree_t *res = getListMemSplit( prg, (list_t*)obj, field ); treeUpref( res ); vm_push_tree( res ); break; @@ -3122,10 +3122,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_VLIST_MEM_R %hd %hd\n", genId, field ); - List *list = vm_pop_list(); - Struct *el = colm_list_get( prg, list, genId, field ); + list_t *list = vm_pop_list(); + struct_t *el = colm_list_get( prg, list, genId, field ); - Value val = colm_struct_get_field( el, Value, 0 ); + value_t val = colm_struct_get_field( el, value_t, 0 ); vm_push_value( val ); break; } @@ -3135,10 +3135,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_VLIST_MEM_WC\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *val = getListMemSplit( prg, (List*)obj, field ); + tree_t *val = getListMemSplit( prg, (list_t*)obj, field ); treeUpref( val ); vm_push_tree( val ); break; @@ -3149,10 +3149,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_VLIST_MEM_WV\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *val = getListMemSplit( prg, (List*)obj, field ); + tree_t *val = getListMemSplit( prg, (list_t*)obj, field ); treeUpref( val ); vm_push_tree( val ); @@ -3167,10 +3167,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_VLIST_MEM_BKT\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *res = getListMemSplit( prg, (List*)obj, field ); + tree_t *res = getListMemSplit( prg, (list_t*)obj, field ); treeUpref( res ); vm_push_tree( res ); break; @@ -3181,8 +3181,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_PARSER_MEM_R %hd\n", field ); - Tree *obj = vm_pop_tree(); - Tree *val = getParserMem( (Parser*)obj, field ); + tree_t *obj = vm_pop_tree(); + tree_t *val = getParserMem( (parser_t*)obj, field ); treeUpref( val ); /* In at least one case we extract the result on a parser with ref @@ -3199,19 +3199,19 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_MAP_EL_MEM_R\n" ); - Struct *strct = vm_pop_struct(); + struct_t *strct = vm_pop_struct(); - MapEl *mapEl = colm_struct_to_map_el( prg, strct, genId ); - Struct *val = colm_map_el_get( prg, mapEl, genId, field ); + map_el_t *mapEl = colm_struct_to_map_el( prg, strct, genId ); + struct_t *val = colm_map_el_get( prg, mapEl, genId, field ); vm_push_struct( val ); break; } case IN_MAP_LENGTH: { debug( prg, REALM_BYTECODE, "IN_MAP_LENGTH\n" ); - Tree *obj = vm_pop_tree(); - long len = mapLength( (Map*)obj ); - Value res = len; + tree_t *obj = vm_pop_tree(); + long len = mapLength( (map_t*)obj ); + value_t res = len; vm_push_value( res ); treeDownref( prg, sp, obj ); @@ -3225,8 +3225,8 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_MAP_MEM_R %hd %hd\n", genId, field ); - Map *map = vm_pop_map(); - Struct *val = colm_map_get( prg, map, genId, field ); + map_t *map = vm_pop_map(); + struct_t *val = colm_map_get( prg, map, genId, field ); vm_push_struct( val ); break; } @@ -3236,10 +3236,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_MAP_MEM_WC\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *val = getListMemSplit( prg, (List*)obj, field ); + tree_t *val = getListMemSplit( prg, (list_t*)obj, field ); treeUpref( val ); vm_push_tree( val ); break; @@ -3250,10 +3250,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_MAP_MEM_WV\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *val = getListMemSplit( prg, (List*)obj, field ); + tree_t *val = getListMemSplit( prg, (list_t*)obj, field ); treeUpref( val ); vm_push_tree( val ); @@ -3268,10 +3268,10 @@ again: debug( prg, REALM_BYTECODE, "IN_GET_MAP_MEM_BKT\n" ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); treeDownref( prg, sp, obj ); - Tree *res = getListMemSplit( prg, (List*)obj, field ); + tree_t *res = getListMemSplit( prg, (list_t*)obj, field ); treeUpref( res ); vm_push_tree( res ); break; @@ -3286,8 +3286,8 @@ again: debug( prg, REALM_BYTECODE, "IN_STASH_ARG %hd %hd\n", pos, size ); while ( size > 0 ) { - Value v = vm_pop_value(); - ((Value*)exec->callArgs)[pos] = v; + value_t v = vm_pop_value(); + ((value_t*)exec->callArgs)[pos] = v; size -= 1; pos += 1; } @@ -3301,7 +3301,7 @@ again: debug( prg, REALM_BYTECODE, "IN_PREP_ARGS %hd\n", size ); - vm_push_type( Tree**, exec->callArgs ); + vm_push_type( tree_t**, exec->callArgs ); vm_pushn( size ); exec->callArgs = vm_ptop(); memset( vm_ptop(), 0, sizeof(word_t) * size ); @@ -3315,7 +3315,7 @@ again: debug( prg, REALM_BYTECODE, "IN_CLEAR_ARGS %hd\n", size ); vm_popn( size ); - exec->callArgs = vm_pop_type( Tree** ); + exec->callArgs = vm_pop_type( tree_t** ); break; } @@ -3339,10 +3339,10 @@ again: vm_contiguous( FR_AA + fi->frameSize ); - vm_push_type( Tree**, exec->callArgs ); + vm_push_type( tree_t**, exec->callArgs ); vm_push_value( 0 ); /* Return value. */ vm_push_type( code_t*, instr ); - vm_push_type( Tree**, exec->framePtr ); + vm_push_type( tree_t**, exec->framePtr ); vm_push_type( long, exec->frameId ); instr = fr->codeWV; @@ -3364,10 +3364,10 @@ again: vm_contiguous( FR_AA + fi->frameSize ); - vm_push_type( Tree**, exec->callArgs ); + vm_push_type( tree_t**, exec->callArgs ); vm_push_value( 0 ); /* Return value. */ vm_push_type( code_t*, instr ); - vm_push_type( Tree**, exec->framePtr ); + vm_push_type( tree_t**, exec->framePtr ); vm_push_type( long, exec->frameId ); instr = fr->codeWC; @@ -3381,9 +3381,9 @@ again: case IN_YIELD: { debug( prg, REALM_BYTECODE, "IN_YIELD\n" ); - Kid *kid = vm_pop_kid(); - Ref *next = vm_pop_ref(); - UserIter *uiter = (UserIter*) vm_plocal_iframe( IFR_AA ); + kid_t *kid = vm_pop_kid(); + ref_t *next = vm_pop_ref(); + user_iter_t *uiter = (user_iter_t*) vm_plocal_iframe( IFR_AA ); if ( kid == 0 || kid->tree == 0 || kid->tree->id == uiter->searchId || @@ -3398,11 +3398,11 @@ again: /* Restore the instruction and frame pointer. */ instr = (code_t*) vm_local_iframe(IFR_RIN); - exec->framePtr = (Tree**) vm_local_iframe(IFR_RFR); - exec->iframePtr = (Tree**) vm_local_iframe(IFR_RIF); + exec->framePtr = (tree_t**) vm_local_iframe(IFR_RFR); + exec->iframePtr = (tree_t**) vm_local_iframe(IFR_RIF); /* Return the yield result on the top of the stack. */ - Tree *result = uiter->ref.kid != 0 ? prg->trueVal : prg->falseVal; + tree_t *result = uiter->ref.kid != 0 ? prg->trueVal : prg->falseVal; //treeUpref( result ); vm_push_tree( result ); } @@ -3419,9 +3419,9 @@ again: struct function_info *fi = prg->rtd->functionInfo + funcId; - vm_contiguous( (sizeof(UserIter) / sizeof(word_t)) + FR_AA + fi->frameSize ); + vm_contiguous( (sizeof(user_iter_t) / sizeof(word_t)) + FR_AA + fi->frameSize ); - UserIter *uiter = colm_uiter_create( prg, &sp, fi, searchId ); + user_iter_t *uiter = colm_uiter_create( prg, &sp, fi, searchId ); vm_set_local(exec, field, (SW) uiter); /* This is a setup similar to as a call, only the frame structure @@ -3429,12 +3429,12 @@ again: * the call. We don't need to set up the return ip because the * uiter advance will set it. The frame we need to do because it * is set once for the lifetime of the iterator. */ - vm_push_type( Tree**, exec->callArgs ); + vm_push_type( tree_t**, exec->callArgs ); vm_push_value( 0 ); vm_push_type( code_t*, 0 ); /* Return instruction pointer, */ - vm_push_type( Tree**, exec->iframePtr ); /* Return iframe. */ - vm_push_type( Tree**, exec->framePtr ); /* Return frame. */ + vm_push_type( tree_t**, exec->iframePtr ); /* Return iframe. */ + vm_push_type( tree_t**, exec->framePtr ); /* Return frame. */ uiter->frame = vm_ptop(); vm_pushn( fi->frameSize ); @@ -3454,9 +3454,9 @@ again: struct function_info *fi = prg->rtd->functionInfo + funcId; - vm_contiguous( (sizeof(UserIter) / sizeof(word_t)) + FR_AA + fi->frameSize ); + vm_contiguous( (sizeof(user_iter_t) / sizeof(word_t)) + FR_AA + fi->frameSize ); - UserIter *uiter = colm_uiter_create( prg, &sp, fi, searchId ); + user_iter_t *uiter = colm_uiter_create( prg, &sp, fi, searchId ); vm_set_local(exec, field, (SW) uiter); /* This is a setup similar to as a call, only the frame structure @@ -3464,12 +3464,12 @@ again: * the call. We don't need to set up the return ip because the * uiter advance will set it. The frame we need to do because it * is set once for the lifetime of the iterator. */ - vm_push_type( Tree**, exec->callArgs ); + vm_push_type( tree_t**, exec->callArgs ); vm_push_value( 0 ); vm_push_type( code_t*, 0 ); /* Return instruction pointer, */ - vm_push_type( Tree**, exec->iframePtr ); /* Return iframe. */ - vm_push_type( Tree**, exec->framePtr ); /* Return frame. */ + vm_push_type( tree_t**, exec->iframePtr ); /* Return iframe. */ + vm_push_type( tree_t**, exec->framePtr ); /* Return frame. */ uiter->frame = vm_ptop(); vm_pushn( fi->frameSize ); @@ -3484,7 +3484,7 @@ again: debug( prg, REALM_BYTECODE, "IN_UITER_DESTROY %hd\n", field ); - UserIter *uiter = (UserIter*) vm_get_local(exec, field); + user_iter_t *uiter = (user_iter_t*) vm_get_local(exec, field); colm_uiter_destroy( prg, &sp, uiter ); break; } @@ -3495,7 +3495,7 @@ again: debug( prg, REALM_BYTECODE, "IN_UITER_UNWIND %hd\n", field ); - UserIter *uiter = (UserIter*) vm_get_local(exec, field); + user_iter_t *uiter = (user_iter_t*) vm_get_local(exec, field); colm_uiter_unwind( prg, &sp, uiter ); break; } @@ -3506,7 +3506,7 @@ again: vm_popn( fi->frameSize ); exec->frameId = vm_pop_type(long); - exec->framePtr = vm_pop_type(Tree**); + exec->framePtr = vm_pop_type(tree_t**); instr = vm_pop_type(code_t*); exec->retVal = vm_pop_tree(); vm_pop_value(); @@ -3537,9 +3537,9 @@ again: case IN_TO_UPPER: { debug( prg, REALM_BYTECODE, "IN_TO_UPPER\n" ); - Tree *in = vm_pop_tree(); - Head *head = stringToUpper( in->tokdata ); - Tree *upper = constructString( prg, head ); + tree_t *in = vm_pop_tree(); + head_t *head = stringToUpper( in->tokdata ); + tree_t *upper = constructString( prg, head ); treeUpref( upper ); vm_push_tree( upper ); treeDownref( prg, sp, in ); @@ -3548,9 +3548,9 @@ again: case IN_TO_LOWER: { debug( prg, REALM_BYTECODE, "IN_TO_LOWER\n" ); - Tree *in = vm_pop_tree(); - Head *head = stringToLower( in->tokdata ); - Tree *lower = constructString( prg, head ); + tree_t *in = vm_pop_tree(); + head_t *head = stringToLower( in->tokdata ); + tree_t *lower = constructString( prg, head ); treeUpref( lower ); vm_push_tree( lower ); treeDownref( prg, sp, in ); @@ -3559,9 +3559,9 @@ again: case IN_OPEN_FILE: { debug( prg, REALM_BYTECODE, "IN_OPEN_FILE\n" ); - Tree *mode = vm_pop_tree(); - Tree *name = vm_pop_tree(); - Stream *res = colm_stream_open_file( prg, name, mode ); + tree_t *mode = vm_pop_tree(); + tree_t *name = vm_pop_tree(); + stream_t *res = colm_stream_open_file( prg, name, mode ); vm_push_stream( res ); treeDownref( prg, sp, name ); treeDownref( prg, sp, mode ); @@ -3604,7 +3604,7 @@ again: debug( prg, REALM_BYTECODE, "IN_SYSTEM\n" ); vm_pop_tree(); - Str *cmd = vm_pop_string(); + str_t *cmd = vm_pop_string(); char *cmd0 = malloc( cmd->value->length + 1 ); memcpy( cmd0, cmd->value->data, cmd->value->length ); @@ -3616,9 +3616,9 @@ again: raise( WTERMSIG( res ) ); res = WEXITSTATUS( res ); - treeDownref( prg, sp, (Tree*)cmd ); + treeDownref( prg, sp, (tree_t*)cmd ); - Value val = res; + value_t val = res; vm_push_value( val ); break; } @@ -3632,89 +3632,89 @@ again: case IN_STR_ATOI: { debug( prg, REALM_BYTECODE, "IN_STR_ATOI\n" ); - Str *str = vm_pop_string(); + str_t *str = vm_pop_string(); word_t res = strAtoi( str->value ); - Value integer = res; + value_t integer = res; vm_push_value( integer ); - treeDownref( prg, sp, (Tree*)str ); + treeDownref( prg, sp, (tree_t*)str ); break; } case IN_STR_ATOO: { debug( prg, REALM_BYTECODE, "IN_STR_ATOO\n" ); - Str *str = vm_pop_string(); + str_t *str = vm_pop_string(); word_t res = strAtoo( str->value ); - Value integer = res; + value_t integer = res; vm_push_value( integer ); - treeDownref( prg, sp, (Tree*)str ); + treeDownref( prg, sp, (tree_t*)str ); break; } case IN_STR_UORD8: { debug( prg, REALM_BYTECODE, "IN_STR_UORD8\n" ); - Str *str = vm_pop_string(); + str_t *str = vm_pop_string(); word_t res = strUord8( str->value ); - Value integer = res; + value_t integer = res; vm_push_value( integer ); - treeDownref( prg, sp, (Tree*)str ); + treeDownref( prg, sp, (tree_t*)str ); break; } case IN_STR_UORD16: { debug( prg, REALM_BYTECODE, "IN_STR_UORD16\n" ); - Str *str = vm_pop_string(); + str_t *str = vm_pop_string(); word_t res = strUord16( str->value ); - Value integer = res; + value_t integer = res; vm_push_value( integer ); - treeDownref( prg, sp, (Tree*)str ); + treeDownref( prg, sp, (tree_t*)str ); break; } case IN_STR_PREFIX: { debug( prg, REALM_BYTECODE, "IN_STR_PREFIX\n" ); - Str *str = vm_pop_string(); - Value len = vm_pop_value(); + str_t *str = vm_pop_string(); + value_t len = vm_pop_value(); - Str *res = string_prefix( prg, str, (long) len ); - treeUpref( (Tree*) res ); + str_t *res = string_prefix( prg, str, (long) len ); + treeUpref( (tree_t*) res ); vm_push_string( res ); - treeDownref( prg, sp, (Tree*)str ); + treeDownref( prg, sp, (tree_t*)str ); break; } case IN_STR_SUFFIX: { debug( prg, REALM_BYTECODE, "IN_STR_SUFFIX\n" ); - Str *str = vm_pop_string(); - Value pos = vm_pop_value(); + str_t *str = vm_pop_string(); + value_t pos = vm_pop_value(); - Str *res = string_suffix( prg, str, (long) pos ); - treeUpref( (Tree*) res ); + str_t *res = string_suffix( prg, str, (long) pos ); + treeUpref( (tree_t*) res ); vm_push_string( res ); - treeDownref( prg, sp, (Tree*)str ); + treeDownref( prg, sp, (tree_t*)str ); break; } case IN_PREFIX: { debug( prg, REALM_BYTECODE, "IN_PREFIX\n" ); - Value len = vm_pop_value(); - Str *str = vm_pop_string(); + value_t len = vm_pop_value(); + str_t *str = vm_pop_string(); - Str *res = string_prefix( prg, str, (long) len ); - treeUpref( (Tree*) res ); + str_t *res = string_prefix( prg, str, (long) len ); + treeUpref( (tree_t*) res ); vm_push_string( res ); - treeDownref( prg, sp, (Tree*)str ); + treeDownref( prg, sp, (tree_t*)str ); break; } case IN_SUFFIX: { debug( prg, REALM_BYTECODE, "IN_SUFFIX\n" ); - Value pos = vm_pop_value(); - Str *str = vm_pop_string(); + value_t pos = vm_pop_value(); + str_t *str = vm_pop_string(); - Str *res = string_suffix( prg, str, (long) pos ); - treeUpref( (Tree*) res ); + str_t *res = string_suffix( prg, str, (long) pos ); + treeUpref( (tree_t*) res ); vm_push_string( res ); - treeDownref( prg, sp, (Tree*)str ); + treeDownref( prg, sp, (tree_t*)str ); break; } case IN_LOAD_ARG0: { @@ -3722,11 +3722,11 @@ again: read_half( field ); debug( prg, REALM_BYTECODE, "IN_LOAD_ARG0 %lu\n", field ); - /* Tree comes back upreffed. */ - Tree *tree = construct_arg0( prg, prg->argc, prg->argv ); - Tree *prev = colm_struct_get_field( prg->global, Tree*, field ); + /* tree_t comes back upreffed. */ + tree_t *tree = construct_arg0( prg, prg->argc, prg->argv ); + tree_t *prev = colm_struct_get_field( prg->global, tree_t*, field ); treeDownref( prg, sp, prev ); - colm_struct_set_field( prg->global, Tree*, field, tree ); + colm_struct_set_field( prg->global, tree_t*, field, tree ); break; } case IN_LOAD_ARGV: { @@ -3734,8 +3734,8 @@ again: read_half( field ); debug( prg, REALM_BYTECODE, "IN_LOAD_ARGV %lu\n", field ); - List *list = construct_argv( prg, prg->argc, prg->argv ); - colm_struct_set_field( prg->global, List*, field, list ); + list_t *list = construct_argv( prg, prg->argc, prg->argv ); + colm_struct_set_field( prg->global, list_t*, field, list ); break; } case IN_STOP: { @@ -3751,10 +3751,10 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_PUSH_HEAD_WC\n" ); - List *list = vm_pop_list(); - Struct *s = vm_pop_struct(); + list_t *list = vm_pop_list(); + struct_t *s = vm_pop_struct(); - ListEl *listEl = colm_struct_to_list_el( prg, s, genId ); + list_el_t *listEl = colm_struct_to_list_el( prg, s, genId ); colm_list_prepend( list, listEl ); //treeUpref( prg->trueVal ); @@ -3767,10 +3767,10 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_PUSH_HEAD_WV\n" ); - List *list = vm_pop_list(); - Struct *s = vm_pop_struct(); + list_t *list = vm_pop_list(); + struct_t *s = vm_pop_struct(); - ListEl *listEl = colm_struct_to_list_el( prg, s, genId ); + list_el_t *listEl = colm_struct_to_list_el( prg, s, genId ); colm_list_prepend( list, listEl ); //treeUpref( prg->trueVal ); @@ -3785,7 +3785,7 @@ again: case IN_LIST_PUSH_HEAD_BKT: { debug( prg, REALM_BYTECODE, "IN_LIST_PUSH_HEAD_BKT\n" ); - List *list = vm_pop_list(); + list_t *list = vm_pop_list(); colm_list_detach_head( list ); break; } @@ -3795,10 +3795,10 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_PUSH_TAIL_WC\n" ); - List *list = vm_pop_list(); - Struct *s = vm_pop_struct(); + list_t *list = vm_pop_list(); + struct_t *s = vm_pop_struct(); - ListEl *listEl = colm_struct_to_list_el( prg, s, genId ); + list_el_t *listEl = colm_struct_to_list_el( prg, s, genId ); colm_list_append( list, listEl ); //treeUpref( prg->trueVal ); @@ -3811,10 +3811,10 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_PUSH_TAIL_WV\n" ); - List *list = vm_pop_list(); - Struct *s = vm_pop_struct(); + list_t *list = vm_pop_list(); + struct_t *s = vm_pop_struct(); - ListEl *listEl = colm_struct_to_list_el( prg, s, genId ); + list_el_t *listEl = colm_struct_to_list_el( prg, s, genId ); colm_list_append( list, listEl ); //treeUpref( prg->trueVal ); @@ -3829,7 +3829,7 @@ again: case IN_LIST_PUSH_TAIL_BKT: { debug( prg, REALM_BYTECODE, "IN_LIST_PUSH_TAIL_BKT\n" ); - List *list = vm_pop_list(); + list_t *list = vm_pop_list(); colm_list_detach_tail( list ); break; } @@ -3839,11 +3839,11 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_POP_TAIL_WC\n" ); - List *list = vm_pop_list(); + list_t *list = vm_pop_list(); - ListEl *tail = list->tail; + list_el_t *tail = list->tail; colm_list_detach_tail( list ); - Struct *s = colm_generic_el_container( prg, tail, genId ); + struct_t *s = colm_generic_el_container( prg, tail, genId ); vm_push_struct( s ); break; @@ -3854,11 +3854,11 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_POP_TAIL_WV\n" ); - List *list = vm_pop_list(); + list_t *list = vm_pop_list(); - ListEl *tail = list->tail; + list_el_t *tail = list->tail; colm_list_detach_tail( list ); - Struct *s = colm_generic_el_container( prg, tail, genId ); + struct_t *s = colm_generic_el_container( prg, tail, genId ); vm_push_struct( s ); @@ -3873,16 +3873,16 @@ again: } case IN_LIST_POP_TAIL_BKT: { short genId; - Tree *val; + tree_t *val; read_half( genId ); read_tree( val ); debug( prg, REALM_BYTECODE, "IN_LIST_POP_TAIL_BKT\n" ); - List *list = vm_pop_list(); - Struct *s = (Struct*) val; + list_t *list = vm_pop_list(); + struct_t *s = (struct_t*) val; - ListEl *listEl = colm_struct_to_list_el( prg, s, genId ); + list_el_t *listEl = colm_struct_to_list_el( prg, s, genId ); colm_list_append( list, listEl ); break; @@ -3893,11 +3893,11 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_POP_HEAD_WC\n" ); - List *list = vm_pop_list(); + list_t *list = vm_pop_list(); - ListEl *head = list->head; + list_el_t *head = list->head; colm_list_detach_head( list ); - Struct *s = colm_generic_el_container( prg, head, genId ); + struct_t *s = colm_generic_el_container( prg, head, genId ); vm_push_struct( s ); break; @@ -3908,11 +3908,11 @@ again: debug( prg, REALM_BYTECODE, "IN_LIST_POP_HEAD_WV\n" ); - List *list = vm_pop_list(); + list_t *list = vm_pop_list(); - ListEl *head = list->head; + list_el_t *head = list->head; colm_list_detach_head( list ); - Struct *s = colm_generic_el_container( prg, head, genId ); + struct_t *s = colm_generic_el_container( prg, head, genId ); vm_push_struct( s ); @@ -3927,16 +3927,16 @@ again: } case IN_LIST_POP_HEAD_BKT: { short genId; - Tree *val; + tree_t *val; read_half( genId ); read_tree( val ); debug( prg, REALM_BYTECODE, "IN_LIST_POP_HEAD_BKT\n" ); - List *list = vm_pop_list(); - Struct *s = (Struct*) val; + list_t *list = vm_pop_list(); + struct_t *s = (struct_t*) val; - ListEl *listEl = colm_struct_to_list_el( prg, s, genId ); + list_el_t *listEl = colm_struct_to_list_el( prg, s, genId ); colm_list_prepend( list, listEl ); break; @@ -3947,10 +3947,10 @@ again: debug( prg, REALM_BYTECODE, "IN_MAP_FIND %hd\n", genId ); - Map *map = vm_pop_map(); - Tree *key = vm_pop_tree(); + map_t *map = vm_pop_map(); + tree_t *key = vm_pop_tree(); - MapEl *mapEl = colm_map_find( prg, map, key ); + map_el_t *mapEl = colm_map_find( prg, map, key ); struct colm_struct *strct = mapEl != 0 ? colm_generic_el_container( prg, mapEl, genId ) : 0; @@ -3967,10 +3967,10 @@ again: debug( prg, REALM_BYTECODE, "IN_MAP_INSERT_WC %hd\n", genId ); - Map *map = vm_pop_map(); - Struct *s = vm_pop_struct(); + map_t *map = vm_pop_map(); + struct_t *s = vm_pop_struct(); - MapEl *mapEl = colm_struct_to_map_el( prg, s, genId ); + map_el_t *mapEl = colm_struct_to_map_el( prg, s, genId ); colm_map_insert( prg, map, mapEl ); @@ -3984,12 +3984,12 @@ again: debug( prg, REALM_BYTECODE, "IN_MAP_INSERT_WV %hd\n", genId ); - Map *map = vm_pop_map(); - Struct *s = vm_pop_struct(); + map_t *map = vm_pop_map(); + struct_t *s = vm_pop_struct(); - MapEl *mapEl = colm_struct_to_map_el( prg, s, genId ); + map_el_t *mapEl = colm_struct_to_map_el( prg, s, genId ); - MapEl *inserted = colm_map_insert( prg, map, mapEl ); + map_el_t *inserted = colm_map_insert( prg, map, mapEl ); //treeUpref( prg->trueVal ); vm_push_tree( prg->trueVal ); @@ -4012,12 +4012,12 @@ again: read_byte( inserted ); read_word( wmapEl ); - MapEl *mapEl = (MapEl*)wmapEl; + map_el_t *mapEl = (map_el_t*)wmapEl; debug( prg, REALM_BYTECODE, "IN_MAP_INSERT_BKT %d\n", (int)inserted ); - Map *map = vm_pop_map(); + map_t *map = vm_pop_map(); if ( inserted ) colm_map_detach( prg, map, mapEl ); @@ -4029,10 +4029,10 @@ again: debug( prg, REALM_BYTECODE, "IN_MAP_DETACH_WC %hd\n", genId ); - Map *map = vm_pop_map(); - Struct *s = vm_pop_struct(); + map_t *map = vm_pop_map(); + struct_t *s = vm_pop_struct(); - MapEl *mapEl = colm_struct_to_map_el( prg, s, genId ); + map_el_t *mapEl = colm_struct_to_map_el( prg, s, genId ); colm_map_detach( prg, map, mapEl ); @@ -4043,9 +4043,9 @@ again: case IN_MAP_DETACH_WV: { debug( prg, REALM_BYTECODE, "IN_MAP_DETACH_WV\n" ); - Tree *obj = vm_pop_tree(); - Tree *key = vm_pop_tree(); - TreePair pair = mapRemove( prg, (Map*)obj, key ); + tree_t *obj = vm_pop_tree(); + tree_t *key = vm_pop_tree(); + struct tree_pair pair = mapRemove( prg, (map_t*)obj, key ); treeUpref( pair.val ); vm_push_tree( pair.val ); @@ -4062,7 +4062,7 @@ again: break; } case IN_MAP_DETACH_BKT: { - Tree *key, *val; + tree_t *key, *val; read_tree( key ); read_tree( val ); @@ -4071,10 +4071,10 @@ again: /* Either both or neither. */ assert( ( key == 0 ) ^ ( val != 0 ) ); - Tree *obj = vm_pop_tree(); + tree_t *obj = vm_pop_tree(); #if 0 if ( key != 0 ) - mapUnremove( prg, (Map*)obj, key, val ); + mapUnremove( prg, (map_t*)obj, key, val ); #endif treeDownref( prg, sp, obj ); @@ -4086,9 +4086,9 @@ again: debug( prg, REALM_BYTECODE, "IN_VMAP_INSERT_WC %hd\n", genId ); - Map *map = vm_pop_map(); - Struct *value = vm_pop_struct(); - Struct *key = vm_pop_struct(); + map_t *map = vm_pop_map(); + struct_t *value = vm_pop_struct(); + struct_t *key = vm_pop_struct(); colm_vmap_insert( prg, map, key, value ); @@ -4102,8 +4102,8 @@ again: debug( prg, REALM_BYTECODE, "IN_VMAP_REMOVE_WC %hd\n", genId ); - Map *map = vm_pop_map(); - Tree *key = vm_pop_tree(); + map_t *map = vm_pop_map(); + tree_t *key = vm_pop_tree(); colm_vmap_remove( prg, map, key ); @@ -4117,10 +4117,10 @@ again: debug( prg, REALM_BYTECODE, "IN_VMAP_FIND %hd\n", genId ); - Map *map = vm_pop_map(); - Tree *key = vm_pop_tree(); + map_t *map = vm_pop_map(); + tree_t *key = vm_pop_tree(); - Tree *result = colm_vmap_find( prg, map, key ); + tree_t *result = colm_vmap_find( prg, map, key ); vm_push_tree( result ); @@ -4134,8 +4134,8 @@ again: debug( prg, REALM_BYTECODE, "IN_VLIST_PUSH_TAIL_WC %hd\n", genId ); - List *list = vm_pop_list(); - Value value = vm_pop_value(); + list_t *list = vm_pop_list(); + value_t value = vm_pop_value(); colm_vlist_append( prg, list, value ); @@ -4148,8 +4148,8 @@ again: debug( prg, REALM_BYTECODE, "IN_VLIST_PUSH_HEAD_WC %hd\n", genId ); - List *list = vm_pop_list(); - Value value = vm_pop_value(); + list_t *list = vm_pop_list(); + value_t value = vm_pop_value(); colm_vlist_prepend( prg, list, value ); @@ -4162,9 +4162,9 @@ again: debug( prg, REALM_BYTECODE, "IN_VLIST_POP_HEAD_WC %hd\n", genId ); - List *list = vm_pop_list(); + list_t *list = vm_pop_list(); - Value result = colm_vlist_detach_head( prg, list ); + value_t result = colm_vlist_detach_head( prg, list ); vm_push_value( result ); break; } @@ -4174,9 +4174,9 @@ again: debug( prg, REALM_BYTECODE, "IN_VLIST_POP_TAIL_WC %hd\n", genId ); - List *list = vm_pop_list(); + list_t *list = vm_pop_list(); - Value result = colm_vlist_detach_tail( prg, list ); + value_t result = colm_vlist_detach_tail( prg, list ); vm_push_value( result ); break; } @@ -4222,10 +4222,10 @@ again: /* Call layout. */ exec->frameId = vm_pop_type(long); - exec->framePtr = vm_pop_type(Tree**); + exec->framePtr = vm_pop_type(tree_t**); instr = vm_pop_type(code_t*); - Tree *retVal = vm_pop_tree(); + tree_t *retVal = vm_pop_tree(); vm_pop_value(); /* The IN_PREP_ARGS stack data. */ @@ -4277,7 +4277,7 @@ out: /* * Deleteing rcode required downreffing any trees held by it. */ -static void rcode_downref( Program *prg, Tree **sp, code_t *instr ) +static void rcode_downref( program_t *prg, tree_t **sp, code_t *instr ) { again: switch ( *instr++ ) { @@ -4296,7 +4296,7 @@ again: } case IN_LOAD_TREE: { - Tree *w; + tree_t *w; read_tree( w ); debug( prg, REALM_BYTECODE, "IN_LOAD_TREE %p\n", w ); treeDownref( prg, sp, w ); @@ -4308,7 +4308,7 @@ again: break; } case IN_RESTORE_LHS: { - Tree *restore; + tree_t *restore; read_tree( restore ); debug( prg, REALM_BYTECODE, "IN_RESTORE_LHS\n" ); treeDownref( prg, sp, restore ); @@ -4357,7 +4357,7 @@ again: break; } case IN_PARSE_APPEND_STREAM_BKT: { - Tree *input; + tree_t *input; consume_word(); //( sptr ); read_tree( input ); @@ -4370,7 +4370,7 @@ again: } case IN_INPUT_PULL_BKT: { - Tree *string; + tree_t *string; read_tree( string ); debug( prg, REALM_BYTECODE, "IN_INPUT_PULL_BKT\n" ); @@ -4406,7 +4406,7 @@ again: } case IN_SET_FIELD_TREE_BKT: { short field; - Tree *val; + tree_t *val; read_half( field ); read_tree( val ); @@ -4417,7 +4417,7 @@ again: } case IN_SET_STRUCT_BKT: { short field; - Tree *val; + tree_t *val; read_half( field ); read_tree( val ); @@ -4445,7 +4445,7 @@ again: debug( prg, REALM_BYTECODE, "IN_SET_TOKEN_DATA_BKT\n" ); - Head *head = (Head*)oldval; + head_t *head = (head_t*)oldval; stringFree( prg, head ); break; } @@ -4504,7 +4504,7 @@ again: break; } case IN_MAP_DETACH_BKT: { - Tree *key, *val; + tree_t *key, *val; read_tree( key ); read_tree( val ); diff --git a/src/bytecode.h b/src/bytecode.h index c0d874bb..c92e6cb6 100644 --- a/src/bytecode.h +++ b/src/bytecode.h @@ -520,28 +520,28 @@ enum LEL_ID { #define vm_pop_type(type) \ ({ SW r = *sp; (sp+1) >= prg->sb_end ? (sp = vm_bs_pop(prg, sp, 1)) : (sp += 1); (type)r; }) -#define vm_push_tree(i) vm_push_type(Tree*, i) -#define vm_push_stream(i) vm_push_type(Stream*, i) -#define vm_push_struct(i) vm_push_type(Struct*, i) -#define vm_push_parser(i) vm_push_type(Parser*, i) -#define vm_push_value(i) vm_push_type(Value, i) -#define vm_push_string(i) vm_push_type(Str*, i) -#define vm_push_kid(i) vm_push_type(Kid*, i) -#define vm_push_ref(i) vm_push_type(Ref*, i) -#define vm_push_string(i) vm_push_type(Str*, i) -#define vm_push_ptree(i) vm_push_type(ParseTree*, i) - -#define vm_pop_tree() vm_pop_type(Tree*) -#define vm_pop_stream() vm_pop_type(Stream*) -#define vm_pop_struct() vm_pop_type(Struct*) -#define vm_pop_parser() vm_pop_type(Parser*) -#define vm_pop_list() vm_pop_type(List*) -#define vm_pop_map() vm_pop_type(Map*) -#define vm_pop_value() vm_pop_type(Value) -#define vm_pop_string() vm_pop_type(Str*) -#define vm_pop_kid() vm_pop_type(Kid*) -#define vm_pop_ref() vm_pop_type(Ref*) -#define vm_pop_ptree() vm_pop_type(ParseTree*) +#define vm_push_tree(i) vm_push_type(tree_t*, i) +#define vm_push_stream(i) vm_push_type(stream_t*, i) +#define vm_push_struct(i) vm_push_type(struct_t*, i) +#define vm_push_parser(i) vm_push_type(parser_t*, i) +#define vm_push_value(i) vm_push_type(value_t, i) +#define vm_push_string(i) vm_push_type(str_t*, i) +#define vm_push_kid(i) vm_push_type(kid_t*, i) +#define vm_push_ref(i) vm_push_type(ref_t*, i) +#define vm_push_string(i) vm_push_type(str_t*, i) +#define vm_push_ptree(i) vm_push_type(parse_tree_t*, i) + +#define vm_pop_tree() vm_pop_type(tree_t*) +#define vm_pop_stream() vm_pop_type(stream_t*) +#define vm_pop_struct() vm_pop_type(struct_t*) +#define vm_pop_parser() vm_pop_type(parser_t*) +#define vm_pop_list() vm_pop_type(list_t*) +#define vm_pop_map() vm_pop_type(map_t*) +#define vm_pop_value() vm_pop_type(value_t) +#define vm_pop_string() vm_pop_type(str_t*) +#define vm_pop_kid() vm_pop_type(kid_t*) +#define vm_pop_ref() vm_pop_type(ref_t*) +#define vm_pop_ptree() vm_pop_type(parse_tree_t*) #define vm_pop_ignore() \ ({ (sp+1) >= prg->sb_end ? (sp = vm_bs_pop(prg, sp, 1)) : (sp += 1); }) @@ -561,12 +561,12 @@ enum LEL_ID { #define vm_plocal_iframe(o) (&exec->iframePtr[o]) void vm_init( struct colm_program * ); -Tree** vm_bs_add( struct colm_program *, Tree **, int ); -Tree** vm_bs_pop( struct colm_program *, Tree **, int ); +tree_t** vm_bs_add( struct colm_program *, tree_t **, int ); +tree_t** vm_bs_pop( struct colm_program *, tree_t **, int ); void vm_clear( struct colm_program * ); -typedef Tree *SW; -typedef Tree **StackPtr; +typedef tree_t *SW; +typedef tree_t **StackPtr; /* Can't use sizeof() because we have used types that are bigger than the * serial representation. */ @@ -576,25 +576,25 @@ typedef Tree **StackPtr; typedef struct colm_execution { - Tree **framePtr; - Tree **iframePtr; + tree_t **framePtr; + tree_t **iframePtr; long frameId; - Tree **callArgs; + tree_t **callArgs; long rcodeUnitLen; - Parser *parser; + parser_t *parser; long steps; long pcr; - Tree *retVal; + tree_t *retVal; } Execution; struct colm_execution; -static inline Tree **vm_get_plocal( struct colm_execution *exec, int o ) +static inline tree_t **vm_get_plocal( struct colm_execution *exec, int o ) { if ( o >= FR_AA ) { - Tree **callArgs = (Tree**)exec->framePtr[FR_CA]; + tree_t **callArgs = (tree_t**)exec->framePtr[FR_CA]; return &callArgs[o - FR_AA]; } else { @@ -602,10 +602,10 @@ static inline Tree **vm_get_plocal( struct colm_execution *exec, int o ) } } -static inline Tree *vm_get_local( struct colm_execution *exec, int o ) +static inline tree_t *vm_get_local( struct colm_execution *exec, int o ) { if ( o >= FR_AA ) { - Tree **callArgs = (Tree**)exec->framePtr[FR_CA]; + tree_t **callArgs = (tree_t**)exec->framePtr[FR_CA]; return callArgs[o - FR_AA]; } else { @@ -613,10 +613,10 @@ static inline Tree *vm_get_local( struct colm_execution *exec, int o ) } } -static inline void vm_set_local( struct colm_execution *exec, int o, Tree* v ) +static inline void vm_set_local( struct colm_execution *exec, int o, tree_t* v ) { if ( o >= FR_AA ) { - Tree **callArgs = (Tree**)exec->framePtr[FR_CA]; + tree_t **callArgs = (tree_t**)exec->framePtr[FR_CA]; callArgs[o - FR_AA] = v; } else { @@ -625,45 +625,45 @@ static inline void vm_set_local( struct colm_execution *exec, int o, Tree* v ) } -long stringLength( Head *str ); -const char *stringData( Head *str ); -Head *initStrSpace( long length ); -Head *stringCopy( struct colm_program *prg, Head *head ); -void stringFree( struct colm_program *prg, Head *head ); -void stringShorten( Head *tokdata, long newlen ); -Head *concatStr( Head *s1, Head *s2 ); -word_t strAtoi( Head *str ); -word_t strAtoo( Head *str ); -word_t strUord16( Head *head ); -word_t strUord8( Head *head ); -word_t cmpString( Head *s1, Head *s2 ); -Head *stringToUpper( Head *s ); -Head *stringToLower( Head *s ); -Head *stringSprintf( Program *prg, Str *format, long integer ); - -Head *makeLiteral( struct colm_program *prg, long litoffset ); -Head *intToStr( struct colm_program *prg, word_t i ); +long stringLength( head_t *str ); +const char *stringData( head_t *str ); +head_t *initStrSpace( long length ); +head_t *stringCopy( struct colm_program *prg, head_t *head ); +void stringFree( struct colm_program *prg, head_t *head ); +void stringShorten( head_t *tokdata, long newlen ); +head_t *concatStr( head_t *s1, head_t *s2 ); +word_t strAtoi( head_t *str ); +word_t strAtoo( head_t *str ); +word_t strUord16( head_t *head ); +word_t strUord8( head_t *head ); +word_t cmpString( head_t *s1, head_t *s2 ); +head_t *stringToUpper( head_t *s ); +head_t *stringToLower( head_t *s ); +head_t *stringSprintf( program_t *prg, str_t *format, long integer ); + +head_t *makeLiteral( struct colm_program *prg, long litoffset ); +head_t *intToStr( struct colm_program *prg, word_t i ); void colm_execute( struct colm_program *prg, Execution *exec, code_t *code ); -void reductionExecution( Execution *exec, Tree **sp ); -void generationExecution( Execution *exec, Tree **sp ); -void reverseExecution( Execution *exec, Tree **sp, struct rt_code_vect *allRev ); +void reductionExecution( Execution *exec, tree_t **sp ); +void generationExecution( Execution *exec, tree_t **sp ); +void reverseExecution( Execution *exec, tree_t **sp, struct rt_code_vect *allRev ); -Kid *allocAttrs( struct colm_program *prg, long length ); -void freeAttrs( struct colm_program *prg, Kid *attrs ); -Kid *getAttrKid( Tree *tree, long pos ); +kid_t *allocAttrs( struct colm_program *prg, long length ); +void freeAttrs( struct colm_program *prg, kid_t *attrs ); +kid_t *getAttrKid( tree_t *tree, long pos ); -Tree *splitTree( struct colm_program *prg, Tree *t ); +tree_t *splitTree( struct colm_program *prg, tree_t *t ); -void colm_rcode_downref_all( struct colm_program *prg, Tree **sp, struct rt_code_vect *cv ); +void colm_rcode_downref_all( struct colm_program *prg, tree_t **sp, struct rt_code_vect *cv ); int colm_make_reverse_code( struct pda_run *pdaRun ); -void colm_transfer_reverse_code( struct pda_run *pdaRun, ParseTree *tree ); +void colm_transfer_reverse_code( struct pda_run *pdaRun, parse_tree_t *tree ); -void splitRef( struct colm_program *prg, Tree ***sp, Ref *fromRef ); +void splitRef( struct colm_program *prg, tree_t ***sp, ref_t *fromRef ); void allocGlobal( struct colm_program *prg ); -Tree **colm_execute_code( struct colm_program *prg, - Execution *exec, Tree **sp, code_t *instr ); +tree_t **colm_execute_code( struct colm_program *prg, + Execution *exec, tree_t **sp, code_t *instr ); code_t *colm_pop_reverse_code( struct rt_code_vect *allRev ); #ifdef __cplusplus diff --git a/src/compiler.cc b/src/compiler.cc index e2fcdca7..085bcf07 100644 --- a/src/compiler.cc +++ b/src/compiler.cc @@ -978,7 +978,7 @@ void Compiler::initEmptyScanners() } } -pda_run *Compiler::parsePattern( Program *prg, Tree **sp, const InputLoc &loc, +pda_run *Compiler::parsePattern( program_t *prg, tree_t **sp, const InputLoc &loc, int parserId, struct stream_impl *sourceStream ) { struct stream_impl *in = colm_impl_new_generic( "<internal>" ); @@ -986,10 +986,10 @@ pda_run *Compiler::parsePattern( Program *prg, Tree **sp, const InputLoc &loc, struct pda_run *pdaRun = new pda_run; colm_pda_init( prg, pdaRun, pdaTables, parserId, 0, false, 0 ); - Stream *stream = colm_stream_new_struct( prg ); + stream_t *stream = colm_stream_new_struct( prg ); stream->impl = sourceStream; - in->funcs->appendStream( in, (Tree*)stream ); + in->funcs->appendStream( in, (tree_t*)stream ); in->funcs->setEof( in ); long pcr = colm_parse_loop( prg, sp, pdaRun, in, PCR_START ); @@ -1015,12 +1015,12 @@ pda_run *Compiler::parsePattern( Program *prg, Tree **sp, const InputLoc &loc, void Compiler::parsePatterns() { - Program *prg = colm_new_program( runtimeData ); + program_t *prg = colm_new_program( runtimeData ); /* Turn off context-dependent parsing. */ prg->ctxDepParsing = 0; - Tree **sp = prg->stackRoot; + tree_t **sp = prg->stackRoot; for ( ConsList::Iter cons = replList; cons.lte(); cons++ ) { if ( cons->langEl != 0 ) { @@ -1082,18 +1082,18 @@ void Compiler::writeHostCall() */ for ( FunctionList::Iter hc = inHostList; hc.lte(); hc++ ) { *outStream << - "Value " << hc->hostCall << "( Program *prg, Tree **sp"; + "value_t " << hc->hostCall << "( program_t *prg, tree_t **sp"; for ( ParameterList::Iter p = *hc->paramList; p.lte(); p++ ) { *outStream << - ", Value"; + ", value_t"; } *outStream << " );\n"; } *outStream << - "Tree **host_call( Program *prg, long code, Tree **sp )\n" + "tree_t **host_call( program_t *prg, long code, tree_t **sp )\n" "{\n" - " Value rtn = 0;\n" + " value_t rtn = 0;\n" " switch ( code ) {\n"; for ( FunctionList::Iter hc = inHostList; hc.lte(); hc++ ) { @@ -1103,7 +1103,7 @@ void Compiler::writeHostCall() int pos = 0; for ( ParameterList::Iter p = *hc->paramList; p.lte(); p++, pos++ ) { *outStream << - " Value p" << pos << " = vm_pop_value();\n"; + " value_t p" << pos << " = vm_pop_value();\n"; } *outStream << diff --git a/src/compiler.h b/src/compiler.h index e4d1fca1..3ab6fe97 100644 --- a/src/compiler.h +++ b/src/compiler.h @@ -92,7 +92,7 @@ struct Production; * runtime code. The runtime functions that access it are defined in * ctinput.cpp and stubbed in fsmcodegen.cpp */ struct bindings - : public Vector<ParseTree*> + : public Vector<parse_tree_t*> {}; struct DefListEl { Production *prev, *next; }; @@ -467,7 +467,7 @@ struct ReOrBlock; struct ReOrItem; struct TokenRegion; -/* Tree of instantiated names. */ +/* tree_t of instantiated names. */ typedef BstMapEl<String, NameInst*> NameMapEl; typedef BstMap<String, NameInst*, CmpStr> NameMap; typedef Vector<NameInst*> NameVect; @@ -735,7 +735,7 @@ struct Compiler void addPushBackLHS( Production *prod, CodeVect &code, long &insertPos ); void prepGrammar(); - struct pda_run *parsePattern( Program *prg, Tree **sp, const InputLoc &loc, + struct pda_run *parsePattern( program_t *prg, tree_t **sp, const InputLoc &loc, int parserId, struct stream_impl *sourceStream ); void parsePatterns(); @@ -744,7 +744,7 @@ struct Compiler PdaGraph *makePdaGraph( BstSet<LangEl*> &parserEls ); struct pda_tables *makePdaTables( PdaGraph *pdaGraph ); - void fillInPatterns( Program *prg ); + void fillInPatterns( program_t *prg ); void makeRuntimeData(); /* Generate and write out the fsm. */ diff --git a/src/consinit.cc b/src/consinit.cc index c9ed3d97..685bc150 100644 --- a/src/consinit.cc +++ b/src/consinit.cc @@ -31,7 +31,7 @@ #include "input.h" #include "consinit.h" -extern "C" Tree **host_call( Program *prg, long code, Tree **sp ) +extern "C" tree_t **host_call( program_t *prg, long code, tree_t **sp ) { return 0; } diff --git a/src/ctinput.cc b/src/ctinput.cc index 01b6aeb0..8789320c 100644 --- a/src/ctinput.cc +++ b/src/ctinput.cc @@ -181,7 +181,7 @@ void inputStreamPatternUndoConsumeLangEl( struct stream_impl *ss ) ss->offset = ss->patItem->data.length(); } -int inputStreamPatternConsumeData( Program *prg, Tree **sp, struct stream_impl *ss, int length, Location *loc ) +int inputStreamPatternConsumeData( program_t *prg, tree_t **sp, struct stream_impl *ss, int length, location_t *loc ) { //debug( REALM_INPUT, "consuming %ld bytes\n", length ); @@ -398,8 +398,8 @@ void inputStreamConsUndoConsumeLangEl( struct stream_impl *ss ) ss->offset = ss->consItem->data.length(); } -int inputStreamConsConsumeData( Program *prg, Tree **sp, - struct stream_impl *ss, int length, Location *loc ) +int inputStreamConsConsumeData( program_t *prg, tree_t **sp, + struct stream_impl *ss, int length, location_t *loc ) { int consumed = 0; @@ -449,13 +449,13 @@ StreamFuncs replFuncs = &inputStreamConsUndoConsumeLangEl, }; -void pushBinding( pda_run *pdaRun, ParseTree *parseTree ) +void pushBinding( pda_run *pdaRun, parse_tree_t *parseTree ) { /* If the item is bound then store it in the bindings array. */ pdaRun->bindings->push( parseTree ); } -extern "C" void internalSendNamedLangEl( Program *prg, Tree **sp, +extern "C" void internalSendNamedLangEl( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is ) { /* All three set by consumeLangEl. */ @@ -468,15 +468,15 @@ extern "C" void internalSendNamedLangEl( Program *prg, Tree **sp, //cerr << "named langEl: " << prg->rtd->lelInfo[klangEl->id].name << endl; /* Copy the token data. */ - Head *tokdata = 0; + head_t *tokdata = 0; if ( data != 0 ) tokdata = stringAllocFull( prg, data, length ); - Kid *input = make_token_with_data( prg, pdaRun, is, klangEl->id, tokdata ); + kid_t *input = make_token_with_data( prg, pdaRun, is, klangEl->id, tokdata ); colm_increment_steps( pdaRun ); - ParseTree *parseTree = parseTreeAllocate( prg ); + parse_tree_t *parseTree = parseTreeAllocate( prg ); parseTree->id = input->tree->id; parseTree->flags |= PF_NAMED; parseTree->shadow = input; @@ -495,9 +495,9 @@ extern "C" void internalInitBindings( pda_run *pdaRun ) } -extern "C" void internalPopBinding( pda_run *pdaRun, ParseTree *parseTree ) +extern "C" void internalPopBinding( pda_run *pdaRun, parse_tree_t *parseTree ) { - ParseTree *lastBound = pdaRun->bindings->top(); + parse_tree_t *lastBound = pdaRun->bindings->top(); if ( lastBound == parseTree ) pdaRun->bindings->pop(); } diff --git a/src/fsmcodegen.cc b/src/fsmcodegen.cc index e7d44cb3..6fe34cec 100644 --- a/src/fsmcodegen.cc +++ b/src/fsmcodegen.cc @@ -900,10 +900,10 @@ void FsmCodeGen::writeCode() /* Referenced in the runtime lib, but used only in the compiler. Probably * should use the preprocessor to make these go away. */ out << - "static void sendNamedLangEl( struct colm_program *prg, Tree **tree,\n" + "static void sendNamedLangEl( struct colm_program *prg, tree_t **tree,\n" " struct pda_run *pdaRun, struct stream_impl *inputStream ) { }\n" "static void initBindings( struct pda_run *pdaRun ) {}\n" - "static void popBinding( struct pda_run *pdaRun, ParseTree *tree ) {}\n" + "static void popBinding( struct pda_run *pdaRun, parse_tree_t *tree ) {}\n" "\n" "\n"; } diff --git a/src/input.c b/src/input.c index 348329e9..0f9dbd07 100644 --- a/src/input.c +++ b/src/input.c @@ -54,7 +54,7 @@ extern struct StreamFuncs fdFuncs; extern struct StreamFuncs streamFuncs; void colm_clear_source_stream( struct colm_program *prg, - Tree **sp, struct stream_impl *sourceStream ) + tree_t **sp, struct stream_impl *sourceStream ) { RunBuf *buf = sourceStream->queue; while ( buf != 0 ) { @@ -78,9 +78,9 @@ void colm_clear_source_stream( struct colm_program *prg, sourceStream->queue = 0; } -void colm_stream_destroy( Program *prg, Tree **sp, Struct *s ) +void colm_stream_destroy( program_t *prg, tree_t **sp, struct_t *s ) { - Stream *stream = (Stream*) s; + stream_t *stream = (stream_t*) s; colm_clear_source_stream( prg, sp, stream->impl ); if ( stream->impl->file != 0 ) @@ -268,7 +268,7 @@ int fdGetData( struct stream_impl *ss, char *dest, int length ) return copied; } -int fdConsumeData( Program *prg, Tree **sp, struct stream_impl *ss, int length, Location *loc ) +int fdConsumeData( program_t *prg, tree_t **sp, struct stream_impl *ss, int length, location_t *loc ) { int consumed = 0; @@ -372,7 +372,7 @@ void initStreamImpl( struct stream_impl *is, const char *name ) is->byte = 0; } -void colm_clear_stream_impl( struct colm_program *prg, Tree **sp, struct stream_impl *inputStream ) +void colm_clear_stream_impl( struct colm_program *prg, tree_t **sp, struct stream_impl *inputStream ) { RunBuf *buf = inputStream->queue; while ( buf != 0 ) { @@ -463,7 +463,7 @@ static void _setEof( struct stream_impl *is ) static void _unsetEof( struct stream_impl *is ) { if ( isSourceStream( is ) ) { - struct stream_impl *si = streamToImpl( (Stream*)is->queue->tree ); + struct stream_impl *si = streamToImpl( (stream_t*)is->queue->tree ); si->eof = false; } else { @@ -486,7 +486,7 @@ static int _getParseBlock( struct stream_impl *is, int skip, char **pdp, int *co } if ( buf->type == RunBufSourceType ) { - struct stream_impl *si = streamToImpl( (Stream*)buf->tree ); + struct stream_impl *si = streamToImpl( (stream_t*)buf->tree ); int type = si->funcs->getParseBlock( si, skip, pdp, copied ); // if ( type == INPUT_EOD && !si->eosSent ) { @@ -583,7 +583,7 @@ static int _getData( struct stream_impl *is, char *dest, int length ) } if ( buf->type == RunBufSourceType ) { - struct stream_impl *si = streamToImpl( (Stream*)buf->tree ); + struct stream_impl *si = streamToImpl( (stream_t*)buf->tree ); int glen = si->funcs->getData( si, dest+copied, length ); if ( glen == 0 ) { @@ -626,8 +626,8 @@ static int _getData( struct stream_impl *is, char *dest, int length ) return copied; } -static int _consumeData( Program *prg, Tree **sp, struct stream_impl *is, - int length, Location *loc ) +static int _consumeData( program_t *prg, tree_t **sp, struct stream_impl *is, + int length, location_t *loc ) { //debug( REALM_INPUT, "consuming %d bytes\n", length ); @@ -641,7 +641,7 @@ static int _consumeData( Program *prg, Tree **sp, struct stream_impl *is, break; if ( buf->type == RunBufSourceType ) { - struct stream_impl *si = streamToImpl( (Stream*)buf->tree ); + struct stream_impl *si = streamToImpl( (stream_t*)buf->tree ); int slen = si->funcs->consumeData( prg, sp, si, length, loc ); //debug( REALM_INPUT, " got %d bytes from source\n", slen ); @@ -672,8 +672,8 @@ static int _consumeData( Program *prg, Tree **sp, struct stream_impl *is, RunBuf *runBuf = inputStreamPopHead( is ); //if ( runBuf->type == RunBufSourceType ) { - // Stream *stream = (Stream*)runBuf->tree; - // treeDownref( prg, sp, (Tree*) stream ); + // stream_t *stream = (stream_t*)runBuf->tree; + // treeDownref( prg, sp, (tree_t*) stream ); //} free( runBuf ); } @@ -686,7 +686,7 @@ static int _undoConsumeData( struct stream_impl *is, const char *data, int lengt //debug( REALM_INPUT, "undoing consume of %ld bytes\n", length ); if ( is->consumed == 0 && isSourceStream( is ) ) { - struct stream_impl *si = streamToImpl( (Stream*)is->queue->tree ); + struct stream_impl *si = streamToImpl( (stream_t*)is->queue->tree ); int len = si->funcs->undoConsumeData( si, data, length ); return len; } @@ -701,7 +701,7 @@ static int _undoConsumeData( struct stream_impl *is, const char *data, int lengt } } -static Tree *_consumeTree( struct stream_impl *is ) +static tree_t *_consumeTree( struct stream_impl *is ) { while ( is->queue != 0 && is->queue->type == RunBufDataType && is->queue->offset == is->queue->length ) @@ -716,7 +716,7 @@ static Tree *_consumeTree( struct stream_impl *is ) RunBuf *runBuf = inputStreamPopHead( is ); /* FIXME: using runbufs here for this is a poor use of memory. */ - Tree *tree = runBuf->tree; + tree_t *tree = runBuf->tree; free(runBuf); return tree; } @@ -724,7 +724,7 @@ static Tree *_consumeTree( struct stream_impl *is ) return 0; } -static void _undoConsumeTree( struct stream_impl *is, Tree *tree, int ignore ) +static void _undoConsumeTree( struct stream_impl *is, tree_t *tree, int ignore ) { /* Create a new buffer for the data. This is the easy implementation. * Something better is needed here. It puts a max on the amount of @@ -739,7 +739,7 @@ static struct LangEl *_consumeLangEl( struct stream_impl *is, long *bindId, char **data, long *length ) { if ( isSourceStream( is ) ) { - struct stream_impl *si = streamToImpl( (Stream*)is->queue->tree ); + struct stream_impl *si = streamToImpl( (stream_t*)is->queue->tree ); return si->funcs->consumeLangEl( si, bindId, data, length ); } else { @@ -750,7 +750,7 @@ static struct LangEl *_consumeLangEl( struct stream_impl *is, long *bindId, static void _undoConsumeLangEl( struct stream_impl *is ) { if ( isSourceStream( is ) ) { - struct stream_impl *si = streamToImpl( (Stream*)is->queue->tree ); + struct stream_impl *si = streamToImpl( (stream_t*)is->queue->tree ); return si->funcs->undoConsumeLangEl( si ); } else { @@ -761,9 +761,9 @@ static void _undoConsumeLangEl( struct stream_impl *is ) static void _prependData( struct stream_impl *is, const char *data, long length ) { if ( isSourceStream( is ) && - streamToImpl((Stream*)is->queue->tree)->funcs == &streamFuncs ) + streamToImpl((stream_t*)is->queue->tree)->funcs == &streamFuncs ) { - _prependData( streamToImpl( (Stream*)is->queue->tree ), data, length ); + _prependData( streamToImpl( (stream_t*)is->queue->tree ), data, length ); } else { /* Create a new buffer for the data. This is the easy implementation. @@ -779,7 +779,7 @@ static void _prependData( struct stream_impl *is, const char *data, long length } } -static void _prependTree( struct stream_impl *is, Tree *tree, int ignore ) +static void _prependTree( struct stream_impl *is, tree_t *tree, int ignore ) { /* Create a new buffer for the data. This is the easy implementation. * Something better is needed here. It puts a max on the amount of @@ -815,7 +815,7 @@ static int _undoPrependData( struct stream_impl *is, int length ) break; if ( buf->type == RunBufSourceType ) { - struct stream_impl *si = streamToImpl( (Stream*)buf->tree ); + struct stream_impl *si = streamToImpl( (stream_t*)buf->tree ); int slen = si->funcs->undoPrependData( si, length ); consumed += slen; @@ -847,7 +847,7 @@ static int _undoPrependData( struct stream_impl *is, int length ) return consumed; } -static Tree *_undoPrependTree( struct stream_impl *is ) +static tree_t *_undoPrependTree( struct stream_impl *is ) { while ( is->queue != 0 && is->queue->type == RunBufDataType && is->queue->offset == is->queue->length ) @@ -862,7 +862,7 @@ static Tree *_undoPrependTree( struct stream_impl *is ) RunBuf *runBuf = inputStreamPopHead( is ); /* FIXME: using runbufs here for this is a poor use of memory. */ - Tree *tree = runBuf->tree; + tree_t *tree = runBuf->tree; free(runBuf); return tree; } @@ -888,7 +888,7 @@ static void _appendData( struct stream_impl *is, const char *data, long len ) } } -static Tree *_undoAppendData( struct stream_impl *is, int length ) +static tree_t *_undoAppendData( struct stream_impl *is, int length ) { int consumed = 0; @@ -925,7 +925,7 @@ static Tree *_undoAppendData( struct stream_impl *is, int length ) return 0; } -static void _appendTree( struct stream_impl *is, Tree *tree ) +static void _appendTree( struct stream_impl *is, tree_t *tree ) { RunBuf *ad = newRunBuf(); @@ -947,18 +947,18 @@ static void _appendStream( struct stream_impl *in, struct colm_tree *tree ) ad->length = 0; } -static Tree *_undoAppendTree( struct stream_impl *is ) +static tree_t *_undoAppendTree( struct stream_impl *is ) { RunBuf *runBuf = inputStreamPopTail( is ); - Tree *tree = runBuf->tree; + tree_t *tree = runBuf->tree; free( runBuf ); return tree; } -static Tree *_undoAppendStream( struct stream_impl *is ) +static tree_t *_undoAppendStream( struct stream_impl *is ) { RunBuf *runBuf = inputStreamPopTail( is ); - Tree *tree = runBuf->tree; + tree_t *tree = runBuf->tree; free( runBuf ); return tree; } @@ -1040,7 +1040,7 @@ struct stream_impl *colm_impl_new_generic( const char *name ) return ss; } -Stream *colm_stream_new_struct( Program *prg ) +stream_t *colm_stream_new_struct( program_t *prg ) { size_t memsize = sizeof(struct colm_stream); struct colm_stream *stream = (struct colm_stream*) malloc( memsize ); @@ -1051,7 +1051,7 @@ Stream *colm_stream_new_struct( Program *prg ) return stream; } -Stream *colm_stream_open_fd( Program *prg, char *name, long fd ) +stream_t *colm_stream_open_fd( program_t *prg, char *name, long fd ) { struct stream_impl *impl = colm_impl_new_fd( name, fd ); @@ -1060,11 +1060,11 @@ Stream *colm_stream_open_fd( Program *prg, char *name, long fd ) return s; } -Stream *colm_stream_open_file( Program *prg, Tree *name, Tree *mode ) +stream_t *colm_stream_open_file( program_t *prg, tree_t *name, tree_t *mode ) { - Head *headName = ((Str*)name)->value; - Head *headMode = ((Str*)mode)->value; - Stream *stream = 0; + head_t *headName = ((str_t*)name)->value; + head_t *headMode = ((str_t*)mode)->value; + stream_t *stream = 0; const char *givenMode = stringData(headMode); const char *fopenMode = 0; @@ -1091,7 +1091,7 @@ Stream *colm_stream_open_file( Program *prg, Tree *name, Tree *mode ) return stream; } -Stream *colm_stream_new( Program *prg ) +stream_t *colm_stream_new( program_t *prg ) { struct stream_impl *impl = colm_impl_new_generic( "<internal>" ); @@ -1102,10 +1102,10 @@ Stream *colm_stream_new( Program *prg ) struct stream_impl *colm_stream_impl( struct colm_struct *s ) { - return ((Stream*)s)->impl; + return ((stream_t*)s)->impl; } -struct stream_impl *streamToImpl( Stream *ptr ) +struct stream_impl *streamToImpl( stream_t *ptr ) { return ptr->impl; } diff --git a/src/internal.h b/src/internal.h index a5fbd3b8..c809e4f3 100644 --- a/src/internal.h +++ b/src/internal.h @@ -3,8 +3,8 @@ #include "colm.h" -typedef struct colm_struct Struct; -typedef struct colm_program Program; -typedef unsigned long Value; +typedef struct colm_struct struct_t; +typedef struct colm_program program_t; +typedef unsigned long value_t; #endif @@ -28,8 +28,8 @@ #define true 1 #define false 0 -void colm_init_list_iter( GenericIter *listIter, Tree **stackRoot, - long argSize, long rootSize, const Ref *rootRef, int genericId ) +void colm_init_list_iter( generic_iter_t *listIter, tree_t **stackRoot, + long argSize, long rootSize, const ref_t *rootRef, int genericId ) { listIter->type = IT_Tree; listIter->rootRef = *rootRef; @@ -42,11 +42,11 @@ void colm_init_list_iter( GenericIter *listIter, Tree **stackRoot, listIter->genericId = genericId; } -void colm_list_iter_destroy( Program *prg, Tree ***psp, GenericIter *iter ) +void colm_list_iter_destroy( program_t *prg, tree_t ***psp, generic_iter_t *iter ) { if ( (int)iter->type != 0 ) { int i; - Tree **sp = *psp; + tree_t **sp = *psp; long curStackSize = vm_ssize() - iter->rootSize; assert( iter->yieldSize == curStackSize ); vm_popn( iter->yieldSize ); @@ -57,15 +57,15 @@ void colm_list_iter_destroy( Program *prg, Tree ***psp, GenericIter *iter ) } } -Tree *colm_list_iter_advance( Program *prg, Tree ***psp, GenericIter *iter ) +tree_t *colm_list_iter_advance( program_t *prg, tree_t ***psp, generic_iter_t *iter ) { - Tree **sp = *psp; + tree_t **sp = *psp; assert( iter->yieldSize == (vm_ssize() - iter->rootSize) ); if ( iter->ref.kid == 0 ) { - /* Kid is zero, start from the root. */ - List *list = *((List**)iter->rootRef.kid); - iter->ref.kid = (Kid*)list->head; + /* kid_t is zero, start from the root. */ + list_t *list = *((list_t**)iter->rootRef.kid); + iter->ref.kid = (kid_t*)list->head; iter->ref.next = 0; //= iter->rootRef; @@ -76,9 +76,9 @@ Tree *colm_list_iter_advance( Program *prg, Tree ***psp, GenericIter *iter ) /* Have a previous item, continue searching from there. */ //iterFind( prg, psp, iter, false ); - ListEl *listEl = (ListEl*)iter->ref.kid; + list_el_t *listEl = (list_el_t*)iter->ref.kid; listEl = listEl->list_next; - iter->ref.kid = (Kid*)listEl; + iter->ref.kid = (kid_t*)listEl; iter->ref.next = 0; } @@ -88,15 +88,15 @@ Tree *colm_list_iter_advance( Program *prg, Tree ***psp, GenericIter *iter ) return (iter->ref.kid ? prg->trueVal : prg->falseVal ); } -Tree *colm_map_iter_advance( Program *prg, Tree ***psp, GenericIter *iter ) +tree_t *colm_map_iter_advance( program_t *prg, tree_t ***psp, generic_iter_t *iter ) { - Tree **sp = *psp; + tree_t **sp = *psp; assert( iter->yieldSize == (vm_ssize() - iter->rootSize) ); if ( iter->ref.kid == 0 ) { - /* Kid is zero, start from the root. */ - Map *map = *((Map**)iter->rootRef.kid); - iter->ref.kid = (Kid*)map->head; + /* kid_t is zero, start from the root. */ + map_t *map = *((map_t**)iter->rootRef.kid); + iter->ref.kid = (kid_t*)map->head; iter->ref.next = 0; //= iter->rootRef; @@ -107,9 +107,9 @@ Tree *colm_map_iter_advance( Program *prg, Tree ***psp, GenericIter *iter ) /* Have a previous item, continue searching from there. */ //iterFind( prg, psp, iter, false ); - MapEl *mapEl = (MapEl*)iter->ref.kid; + map_el_t *mapEl = (map_el_t*)iter->ref.kid; mapEl = mapEl->next; - iter->ref.kid = (Kid*)mapEl; + iter->ref.kid = (kid_t*)mapEl; iter->ref.next = 0; } @@ -119,32 +119,32 @@ Tree *colm_map_iter_advance( Program *prg, Tree ***psp, GenericIter *iter ) return (iter->ref.kid ? prg->trueVal : prg->falseVal ); } -Tree *colm_list_iter_deref_cur( Program *prg, GenericIter *iter ) +tree_t *colm_list_iter_deref_cur( program_t *prg, generic_iter_t *iter ) { struct generic_info *gi = &prg->rtd->genericInfo[iter->genericId]; - ListEl *el = (ListEl*)iter->ref.kid; + list_el_t *el = (list_el_t*)iter->ref.kid; struct colm_struct *s = el != 0 ? colm_struct_container( el, gi->elOffset ) : 0; - return (Tree*)s; + return (tree_t*)s; } -Value colm_viter_deref_cur( Program *prg, GenericIter *iter ) +value_t colm_viter_deref_cur( program_t *prg, generic_iter_t *iter ) { struct generic_info *gi = &prg->rtd->genericInfo[iter->genericId]; - ListEl *el = (ListEl*)iter->ref.kid; + list_el_t *el = (list_el_t*)iter->ref.kid; struct colm_struct *s = el != 0 ? colm_struct_container( el, gi->elOffset ) : 0; - Value value = colm_struct_get_field( s, Value, 0 ); + value_t value = colm_struct_get_field( s, value_t, 0 ); if ( gi->valueType == TYPE_TREE ) - treeUpref( (Tree*)value ); + treeUpref( (tree_t*)value ); return value; } -void colm_init_tree_iter( TreeIter *treeIter, Tree **stackRoot, +void colm_init_tree_iter( tree_iter_t *treeIter, tree_t **stackRoot, long argSize, long rootSize, - const Ref *rootRef, int searchId ) + const ref_t *rootRef, int searchId ) { treeIter->type = IT_Tree; treeIter->rootRef = *rootRef; @@ -157,9 +157,9 @@ void colm_init_tree_iter( TreeIter *treeIter, Tree **stackRoot, treeIter->argSize = argSize; } -void colm_init_rev_tree_iter( RevTreeIter *revTriter, Tree **stackRoot, +void colm_init_rev_tree_iter( rev_tree_iter_t *revTriter, tree_t **stackRoot, long argSize, long rootSize, - const Ref *rootRef, int searchId, int children ) + const ref_t *rootRef, int searchId, int children ) { revTriter->type = IT_RevTree; revTriter->rootRef = *rootRef; @@ -174,7 +174,7 @@ void colm_init_rev_tree_iter( RevTreeIter *revTriter, Tree **stackRoot, revTriter->argSize = argSize; } -void initUserIter( UserIter *userIter, Tree **stackRoot, long rootSize, +void initUserIter( user_iter_t *userIter, tree_t **stackRoot, long rootSize, long argSize, long searchId ) { userIter->type = IT_User; @@ -191,15 +191,15 @@ void initUserIter( UserIter *userIter, Tree **stackRoot, long rootSize, } -UserIter *colm_uiter_create( Program *prg, Tree ***psp, struct function_info *fi, long searchId ) +user_iter_t *colm_uiter_create( program_t *prg, tree_t ***psp, struct function_info *fi, long searchId ) { - Tree **sp = *psp; + tree_t **sp = *psp; - vm_pushn( sizeof(UserIter) / sizeof(word_t) ); + vm_pushn( sizeof(user_iter_t) / sizeof(word_t) ); void *mem = vm_ptop(); - UserIter *uiter = mem; + user_iter_t *uiter = mem; - Tree **stackRoot = vm_ptop(); + tree_t **stackRoot = vm_ptop(); long rootSize = vm_ssize(); initUserIter( uiter, stackRoot, rootSize, fi->argSize, searchId ); @@ -208,7 +208,7 @@ UserIter *colm_uiter_create( Program *prg, Tree ***psp, struct function_info *fi return uiter; } -void uiterInit( Program *prg, Tree **sp, UserIter *uiter, +void uiterInit( program_t *prg, tree_t **sp, user_iter_t *uiter, struct function_info *fi, int revertOn ) { /* Set up the first yeild so when we resume it starts at the beginning. */ @@ -223,11 +223,11 @@ void uiterInit( Program *prg, Tree **sp, UserIter *uiter, } -void colm_tree_iter_destroy( Program *prg, Tree ***psp, TreeIter *iter ) +void colm_tree_iter_destroy( program_t *prg, tree_t ***psp, tree_iter_t *iter ) { if ( (int)iter->type != 0 ) { int i; - Tree **sp = *psp; + tree_t **sp = *psp; long curStackSize = vm_ssize() - iter->rootSize; assert( iter->yieldSize == curStackSize ); vm_popn( iter->yieldSize ); @@ -238,11 +238,11 @@ void colm_tree_iter_destroy( Program *prg, Tree ***psp, TreeIter *iter ) } } -void colm_rev_tree_iter_destroy( struct colm_program *prg, Tree ***psp, RevTreeIter *riter ) +void colm_rev_tree_iter_destroy( struct colm_program *prg, tree_t ***psp, rev_tree_iter_t *riter ) { if ( (int)riter->type != 0 ) { int i; - Tree **sp = *psp; + tree_t **sp = *psp; long curStackSize = vm_ssize() - riter->rootSize; assert( riter->yieldSize == curStackSize ); vm_popn( riter->yieldSize ); @@ -253,10 +253,10 @@ void colm_rev_tree_iter_destroy( struct colm_program *prg, Tree ***psp, RevTreeI } } -void colm_uiter_destroy( Program *prg, Tree ***psp, UserIter *uiter ) +void colm_uiter_destroy( program_t *prg, tree_t ***psp, user_iter_t *uiter ) { if ( uiter != 0 && (int)uiter->type != 0 ) { - Tree **sp = *psp; + tree_t **sp = *psp; /* We should always be coming from a yield. The current stack size will be * nonzero and the stack size in the iterator will be correct. */ @@ -264,7 +264,7 @@ void colm_uiter_destroy( Program *prg, Tree ***psp, UserIter *uiter ) assert( uiter->yieldSize == curStackSize ); vm_popn( uiter->yieldSize ); - vm_popn( sizeof(UserIter) / sizeof(word_t) ); + vm_popn( sizeof(user_iter_t) / sizeof(word_t) ); uiter->type = 0; @@ -272,10 +272,10 @@ void colm_uiter_destroy( Program *prg, Tree ***psp, UserIter *uiter ) } } -void colm_uiter_unwind( Program *prg, Tree ***psp, UserIter *uiter ) +void colm_uiter_unwind( program_t *prg, tree_t ***psp, user_iter_t *uiter ) { if ( uiter != 0 && (int)uiter->type != 0 ) { - Tree **sp = *psp; + tree_t **sp = *psp; /* We should always be coming from a yield. The current stack size will be * nonzero and the stack size in the iterator will be correct. */ @@ -285,7 +285,7 @@ void colm_uiter_unwind( Program *prg, Tree ***psp, UserIter *uiter ) long argSize = uiter->argSize; vm_popn( uiter->yieldSize ); - vm_popn( sizeof(UserIter) / sizeof(word_t) ); + vm_popn( sizeof(user_iter_t) / sizeof(word_t) ); /* The IN_PREP_ARGS stack data. */ vm_popn( argSize ); @@ -297,22 +297,22 @@ void colm_uiter_unwind( Program *prg, Tree ***psp, UserIter *uiter ) } } -Tree *treeIterDerefCur( TreeIter *iter ) +tree_t *treeIterDerefCur( tree_iter_t *iter ) { return iter->ref.kid == 0 ? 0 : iter->ref.kid->tree; } -void setTriterCur( Program *prg, TreeIter *iter, Tree *tree ) +void setTriterCur( program_t *prg, tree_iter_t *iter, tree_t *tree ) { iter->ref.kid->tree = tree; } -void setUiterCur( Program *prg, UserIter *uiter, Tree *tree ) +void setUiterCur( program_t *prg, user_iter_t *uiter, tree_t *tree ) { uiter->ref.kid->tree = tree; } -void splitIterCur( Program *prg, Tree ***psp, TreeIter *iter ) +void splitIterCur( program_t *prg, tree_t ***psp, tree_iter_t *iter ) { if ( iter->ref.kid == 0 ) return; @@ -320,12 +320,12 @@ void splitIterCur( Program *prg, Tree ***psp, TreeIter *iter ) splitRef( prg, psp, &iter->ref ); } -void iterFind( Program *prg, Tree ***psp, TreeIter *iter, int tryFirst ) +void iterFind( program_t *prg, tree_t ***psp, tree_iter_t *iter, int tryFirst ) { int anyTree = iter->searchId == prg->rtd->anyId; - Tree **top = iter->stackRoot; - Kid *child; - Tree **sp = *psp; + tree_t **top = iter->stackRoot; + kid_t *child; + tree_t **sp = *psp; rec_call: if ( tryFirst && ( iter->ref.kid->tree->id == iter->searchId || anyTree ) ) { @@ -339,7 +339,7 @@ rec_call: vm_push_ref( iter->ref.next ); vm_push_kid( iter->ref.kid ); iter->ref.kid = child; - iter->ref.next = (Ref*)vm_ptop(); + iter->ref.next = (ref_t*)vm_ptop(); while ( iter->ref.kid != 0 ) { tryFirst = true; goto rec_call; @@ -358,13 +358,13 @@ rec_call: *psp = sp; } -Tree *treeIterAdvance( Program *prg, Tree ***psp, TreeIter *iter ) +tree_t *treeIterAdvance( program_t *prg, tree_t ***psp, tree_iter_t *iter ) { - Tree **sp = *psp; + tree_t **sp = *psp; assert( iter->yieldSize == (vm_ssize() - iter->rootSize) ); if ( iter->ref.kid == 0 ) { - /* Kid is zero, start from the root. */ + /* kid_t is zero, start from the root. */ iter->ref = iter->rootRef; iterFind( prg, psp, iter, true ); } @@ -379,15 +379,15 @@ Tree *treeIterAdvance( Program *prg, Tree ***psp, TreeIter *iter ) return (iter->ref.kid ? prg->trueVal : prg->falseVal ); } -Tree *treeIterNextChild( Program *prg, Tree ***psp, TreeIter *iter ) +tree_t *treeIterNextChild( program_t *prg, tree_t ***psp, tree_iter_t *iter ) { - Tree **sp = *psp; + tree_t **sp = *psp; assert( iter->yieldSize == (vm_ssize() - iter->rootSize) ); - Kid *kid = 0; + kid_t *kid = 0; if ( iter->ref.kid == 0 ) { - /* Kid is zero, start from the first child. */ - Kid *child = treeChild( prg, iter->rootRef.kid->tree ); + /* kid_t is zero, start from the first child. */ + kid_t *child = treeChild( prg, iter->rootRef.kid->tree ); if ( child == 0 ) iter->ref.next = 0; @@ -396,7 +396,7 @@ Tree *treeIterNextChild( Program *prg, Tree ***psp, TreeIter *iter ) vm_contiguous( 2 ); vm_push_ref( iter->rootRef.next ); vm_push_kid( iter->rootRef.kid ); - iter->ref.next = (Ref*)vm_ptop(); + iter->ref.next = (ref_t*)vm_ptop(); kid = child; } @@ -418,9 +418,9 @@ Tree *treeIterNextChild( Program *prg, Tree ***psp, TreeIter *iter ) return ( iter->ref.kid ? prg->trueVal : prg->falseVal ); } -Tree *treeRevIterPrevChild( Program *prg, Tree ***psp, RevTreeIter *iter ) +tree_t *treeRevIterPrevChild( program_t *prg, tree_t ***psp, rev_tree_iter_t *iter ) { - Tree **sp = *psp; + tree_t **sp = *psp; assert( iter->yieldSize == ( vm_ssize() - iter->rootSize ) ); if ( iter->kidAtYield != iter->ref.kid ) { @@ -428,7 +428,7 @@ Tree *treeRevIterPrevChild( Program *prg, Tree ***psp, RevTreeIter *iter ) vm_popn( iter->children ); int c; - Kid *kid = treeChild( prg, iter->rootRef.kid->tree ); + kid_t *kid = treeChild( prg, iter->rootRef.kid->tree ); for ( c = 0; c < iter->children; c++ ) { vm_push_kid( kid ); kid = kid->next; @@ -442,7 +442,7 @@ Tree *treeRevIterPrevChild( Program *prg, Tree ***psp, RevTreeIter *iter ) if ( iter->searchId != prg->rtd->anyId ) { /* Have a previous item, go to the next sibling. */ - while ( iter->children > 0 && ((Kid*)(vm_top()))->tree->id != iter->searchId ) { + while ( iter->children > 0 && ((kid_t*)(vm_top()))->tree->id != iter->searchId ) { iter->children -= 1; vm_pop_ignore(); } @@ -454,7 +454,7 @@ Tree *treeRevIterPrevChild( Program *prg, Tree ***psp, RevTreeIter *iter ) } else { iter->ref.next = &iter->rootRef; - iter->ref.kid = (Kid*)vm_top(); + iter->ref.kid = (kid_t*)vm_top(); } /* We will use this to detect a split above the iterated tree. */ @@ -467,12 +467,12 @@ Tree *treeRevIterPrevChild( Program *prg, Tree ***psp, RevTreeIter *iter ) return (iter->ref.kid ? prg->trueVal : prg->falseVal ); } -void iterFindRepeat( Program *prg, Tree ***psp, TreeIter *iter, int tryFirst ) +void iterFindRepeat( program_t *prg, tree_t ***psp, tree_iter_t *iter, int tryFirst ) { - Tree **sp = *psp; + tree_t **sp = *psp; int anyTree = iter->searchId == prg->rtd->anyId; - Tree **top = iter->stackRoot; - Kid *child; + tree_t **top = iter->stackRoot; + kid_t *child; rec_call: if ( tryFirst && ( iter->ref.kid->tree->id == iter->searchId || anyTree ) ) { @@ -491,7 +491,7 @@ rec_call: vm_push_ref( iter->ref.next ); vm_push_kid( iter->ref.kid ); iter->ref.kid = child; - iter->ref.next = (Ref*)vm_ptop(); + iter->ref.next = (ref_t*)vm_ptop(); while ( iter->ref.kid != 0 ) { tryFirst = true; goto rec_call; @@ -511,13 +511,13 @@ rec_call: *psp = sp; } -Tree *treeIterNextRepeat( Program *prg, Tree ***psp, TreeIter *iter ) +tree_t *treeIterNextRepeat( program_t *prg, tree_t ***psp, tree_iter_t *iter ) { - Tree **sp = *psp; + tree_t **sp = *psp; assert( iter->yieldSize == ( vm_ssize() - iter->rootSize ) ); if ( iter->ref.kid == 0 ) { - /* Kid is zero, start from the root. */ + /* kid_t is zero, start from the root. */ iter->ref = iter->rootRef; iterFindRepeat( prg, psp, iter, true ); } @@ -532,12 +532,12 @@ Tree *treeIterNextRepeat( Program *prg, Tree ***psp, TreeIter *iter ) return (iter->ref.kid ? prg->trueVal : prg->falseVal ); } -void iterFindRevRepeat( Program *prg, Tree ***psp, TreeIter *iter, int tryFirst ) +void iterFindRevRepeat( program_t *prg, tree_t ***psp, tree_iter_t *iter, int tryFirst ) { - Tree **sp = *psp; + tree_t **sp = *psp; int anyTree = iter->searchId == prg->rtd->anyId; - Tree **top = iter->stackRoot; - Kid *child; + tree_t **top = iter->stackRoot; + kid_t *child; if ( tryFirst ) { while ( true ) { @@ -550,7 +550,7 @@ void iterFindRevRepeat( Program *prg, Tree ***psp, TreeIter *iter, int tryFirst vm_push_ref( iter->ref.next ); vm_push_kid( iter->ref.kid ); iter->ref.kid = child; - iter->ref.next = (Ref*)vm_ptop(); + iter->ref.next = (ref_t*)vm_ptop(); } else { /* Not the top and not there is a next, go over to it. */ @@ -571,7 +571,7 @@ void iterFindRevRepeat( Program *prg, Tree ***psp, TreeIter *iter, int tryFirst /* Go up one and then down. Remember we can't use iter->ref.next * because the chain may have been split, setting it null (to * prevent repeated walks up). */ - Ref *ref = (Ref*)vm_ptop(); + ref_t *ref = (ref_t*)vm_ptop(); iter->ref.kid = treeChild( prg, ref->kid->tree ); } else { @@ -589,13 +589,13 @@ first: } -Tree *treeIterPrevRepeat( Program *prg, Tree ***psp, TreeIter *iter ) +tree_t *treeIterPrevRepeat( program_t *prg, tree_t ***psp, tree_iter_t *iter ) { - Tree **sp = *psp; + tree_t **sp = *psp; assert( iter->yieldSize == (vm_ssize() - iter->rootSize) ); if ( iter->ref.kid == 0 ) { - /* Kid is zero, start from the root. */ + /* kid_t is zero, start from the root. */ iter->ref = iter->rootRef; iterFindRevRepeat( prg, psp, iter, true ); } @@ -27,91 +27,91 @@ #include <stdlib.h> #include <assert.h> -static void colm_list_add_after( List *list, ListEl *prev_el, ListEl *new_el ); -static void colm_list_add_before( List *list, ListEl *next_el, ListEl *new_el); -ListEl *colm_list_detach( List *list, ListEl *el ); +static void colm_list_add_after( list_t *list, list_el_t *prev_el, list_el_t *new_el ); +static void colm_list_add_before( list_t *list, list_el_t *next_el, list_el_t *new_el); +list_el_t *colm_list_detach( list_t *list, list_el_t *el ); -void colm_list_prepend( List *list, ListEl *newEl ) +void colm_list_prepend( list_t *list, list_el_t *newEl ) { colm_list_add_before( list, list->head, newEl ); } -void colm_list_append( List *list, ListEl *newEl ) +void colm_list_append( list_t *list, list_el_t *newEl ) { colm_list_add_after( list, list->tail, newEl ); } -ListEl *colm_list_detach_head( List *list ) +list_el_t *colm_list_detach_head( list_t *list ) { return colm_list_detach( list, list->head ); } -ListEl *colm_list_detach_tail( List *list ) +list_el_t *colm_list_detach_tail( list_t *list ) { return colm_list_detach( list, list->tail ); } -long colm_list_length( List *list ) +long colm_list_length( list_t *list ) { return list->listLen; } -void colm_vlist_append( struct colm_program *prg, List *list, Value value ) +void colm_vlist_append( struct colm_program *prg, list_t *list, value_t value ) { struct colm_struct *s = colm_struct_new( prg, list->genericInfo->elStructId ); - colm_struct_set_field( s, Value, 0, value ); + colm_struct_set_field( s, value_t, 0, value ); - ListEl *listEl = colm_struct_get_addr( s, ListEl*, list->genericInfo->elOffset ); + list_el_t *listEl = colm_struct_get_addr( s, list_el_t*, list->genericInfo->elOffset ); colm_list_append( list, listEl ); } -void colm_vlist_prepend( struct colm_program *prg, List *list, Value value ) +void colm_vlist_prepend( struct colm_program *prg, list_t *list, value_t value ) { struct colm_struct *s = colm_struct_new( prg, list->genericInfo->elStructId ); - colm_struct_set_field( s, Value, 0, value ); + colm_struct_set_field( s, value_t, 0, value ); - ListEl *listEl = colm_struct_get_addr( s, ListEl*, list->genericInfo->elOffset ); + list_el_t *listEl = colm_struct_get_addr( s, list_el_t*, list->genericInfo->elOffset ); colm_list_prepend( list, listEl ); } -Value colm_vlist_detach_tail( struct colm_program *prg, List *list ) +value_t colm_vlist_detach_tail( struct colm_program *prg, list_t *list ) { - ListEl *listEl = list->tail; + list_el_t *listEl = list->tail; colm_list_detach( list, listEl ); struct colm_struct *s = colm_generic_el_container( prg, listEl, (list->genericInfo - prg->rtd->genericInfo) ); - Value val = colm_struct_get_field( s, Value, 0 ); + value_t val = colm_struct_get_field( s, value_t, 0 ); if ( list->genericInfo->valueType == TYPE_TREE ) - treeUpref( (Tree*)val ); + treeUpref( (tree_t*)val ); return val; } -Value colm_vlist_detach_head( struct colm_program *prg, List *list ) +value_t colm_vlist_detach_head( struct colm_program *prg, list_t *list ) { - ListEl *listEl = list->head; + list_el_t *listEl = list->head; colm_list_detach( list, listEl ); struct colm_struct *s = colm_generic_el_container( prg, listEl, (list->genericInfo - prg->rtd->genericInfo) ); - Value val = colm_struct_get_field( s, Value, 0 ); + value_t val = colm_struct_get_field( s, value_t, 0 ); if ( list->genericInfo->valueType == TYPE_TREE ) - treeUpref( (Tree*) val ); + treeUpref( (tree_t*) val ); return val; } -static void colm_list_add_after( List *list, ListEl *prev_el, ListEl *new_el ) +static void colm_list_add_after( list_t *list, list_el_t *prev_el, list_el_t *new_el ) { /* Set the previous pointer of new_el to prev_el. We do * this regardless of the state of the list. */ @@ -143,7 +143,7 @@ static void colm_list_add_after( List *list, ListEl *prev_el, ListEl *new_el ) list->listLen++; } -static void colm_list_add_before( List *list, ListEl *next_el, ListEl *new_el) +static void colm_list_add_before( list_t *list, list_el_t *next_el, list_el_t *new_el) { /* Set the next pointer of the new element to next_el. We do * this regardless of the state of the list. */ @@ -174,7 +174,7 @@ static void colm_list_add_before( List *list, ListEl *next_el, ListEl *new_el) list->listLen++; } -ListEl *colm_list_detach( List *list, ListEl *el ) +list_el_t *colm_list_detach( list_t *list, list_el_t *el ) { /* Set forward pointers to skip over el. */ if (el->list_prev == 0) @@ -193,11 +193,11 @@ ListEl *colm_list_detach( List *list, ListEl *el ) return el; } -void colm_list_destroy( struct colm_program *prg, Tree **sp, struct colm_struct *s ) +void colm_list_destroy( struct colm_program *prg, tree_t **sp, struct colm_struct *s ) { } -List *colm_list_new( struct colm_program *prg ) +list_t *colm_list_new( struct colm_program *prg ) { size_t memsize = sizeof(struct colm_list); struct colm_list *list = (struct colm_list*) malloc( memsize ); @@ -209,10 +209,10 @@ List *colm_list_new( struct colm_program *prg ) } struct colm_struct *colm_list_get( struct colm_program *prg, - List *list, word_t genId, word_t field ) + list_t *list, word_t genId, word_t field ) { struct generic_info *gi = &prg->rtd->genericInfo[genId]; - ListEl *result = 0; + list_el_t *result = 0; switch ( field ) { case 0: result = list->head; @@ -231,10 +231,10 @@ struct colm_struct *colm_list_get( struct colm_program *prg, } struct colm_struct *colm_list_el_get( struct colm_program *prg, - ListEl *listEl, word_t genId, word_t field ) + list_el_t *listEl, word_t genId, word_t field ) { struct generic_info *gi = &prg->rtd->genericInfo[genId]; - ListEl *result = 0; + list_el_t *result = 0; switch ( field ) { case 0: result = listEl->list_prev; @@ -29,10 +29,10 @@ #define false 0 struct colm_struct *colm_map_el_get( struct colm_program *prg, - MapEl *mapEl, word_t genId, word_t field ) + map_el_t *mapEl, word_t genId, word_t field ) { struct generic_info *gi = &prg->rtd->genericInfo[genId]; - MapEl *result = 0; + map_el_t *result = 0; switch ( field ) { case 0: result = mapEl->prev; @@ -51,10 +51,10 @@ struct colm_struct *colm_map_el_get( struct colm_program *prg, } struct colm_struct *colm_map_get( struct colm_program *prg, - Map *map, word_t genId, word_t field ) + map_t *map, word_t genId, word_t field ) { struct generic_info *gi = &prg->rtd->genericInfo[genId]; - MapEl *result = 0; + map_el_t *result = 0; switch ( field ) { case 0: result = map->head; @@ -72,12 +72,12 @@ struct colm_struct *colm_map_get( struct colm_program *prg, return s; } -void mapListAbandon( Map *map ) +void mapListAbandon( map_t *map ) { map->head = map->tail = 0; } -void mapListAddBefore( Map *map, MapEl *next_el, MapEl *new_el ) +void mapListAddBefore( map_t *map, map_el_t *next_el, map_el_t *new_el ) { /* Set the next pointer of the new element to next_el. We do * this regardless of the state of the list. */ @@ -106,7 +106,7 @@ void mapListAddBefore( Map *map, MapEl *next_el, MapEl *new_el ) } } -void mapListAddAfter( Map *map, MapEl *prev_el, MapEl *new_el ) +void mapListAddAfter( map_t *map, map_el_t *prev_el, map_el_t *new_el ) { /* Set the previous pointer of new_el to prev_el. We do * this regardless of the state of the list. */ @@ -136,7 +136,7 @@ void mapListAddAfter( Map *map, MapEl *prev_el, MapEl *new_el ) } -MapEl *mapListDetach( Map *map, MapEl *el ) +map_el_t *mapListDetach( map_t *map, map_el_t *el ) { /* Set forward pointers to skip over el. */ if ( el->prev == 0 ) @@ -156,7 +156,7 @@ MapEl *mapListDetach( Map *map, MapEl *el ) /* Once an insertion position is found, attach a element to the tree. */ -void mapAttachRebal( Map *map, MapEl *element, MapEl *parentEl, MapEl *lastLess ) +void mapAttachRebal( map_t *map, map_el_t *element, map_el_t *parentEl, map_el_t *lastLess ) { /* Increment the number of element in the tree. */ map->treeSize += 1; @@ -196,7 +196,7 @@ void mapAttachRebal( Map *map, MapEl *element, MapEl *parentEl, MapEl *lastLess mapRecalcHeights( map, parentEl ); /* Find the first unbalance. */ - MapEl *ub = mapFindFirstUnbalGP( map, element ); + map_el_t *ub = mapFindFirstUnbalGP( map, element ); /* rebalance. */ if ( ub != 0 ) @@ -209,7 +209,7 @@ void mapAttachRebal( Map *map, MapEl *element, MapEl *parentEl, MapEl *lastLess #if 0 /* Recursively delete all the children of a element. */ -void mapDeleteChildrenOf( Map *map, MapEl *element ) +void mapDeleteChildrenOf( map_t *map, map_el_t *element ) { /* Recurse left. */ if ( element->left ) { @@ -230,7 +230,7 @@ void mapDeleteChildrenOf( Map *map, MapEl *element ) } } -void mapEmpty( Map *map ) +void mapEmpty( map_t *map ) { if ( map->root ) { /* Recursively delete from the tree structure. */ @@ -246,15 +246,15 @@ void mapEmpty( Map *map ) /* rebalance from a element whose gradparent is unbalanced. Only * call on a element that has a grandparent. */ -MapEl *mapRebalance( Map *map, MapEl *n ) +map_el_t *mapRebalance( map_t *map, map_el_t *n ) { long lheight, rheight; - MapEl *a, *b, *c; - MapEl *t1, *t2, *t3, *t4; + map_el_t *a, *b, *c; + map_el_t *t1, *t2, *t3, *t4; - MapEl *p = n->parent; /* parent (Non-NUL). L*/ - MapEl *gp = p->parent; /* Grand-parent (Non-NULL). */ - MapEl *ggp = gp->parent; /* Great grand-parent (may be NULL). */ + map_el_t *p = n->parent; /* parent (Non-NUL). L*/ + map_el_t *gp = p->parent; /* Grand-parent (Non-NULL). */ + map_el_t *ggp = gp->parent; /* Great grand-parent (may be NULL). */ if (gp->right == p) { @@ -400,7 +400,7 @@ MapEl *mapRebalance( Map *map, MapEl *n ) } /* Recalculates the heights of all the ancestors of element. */ -void mapRecalcHeights( Map *map, MapEl *element ) +void mapRecalcHeights( map_t *map, map_el_t *element ) { while ( element != 0 ) { @@ -422,10 +422,10 @@ void mapRecalcHeights( Map *map, MapEl *element ) } /* Finds the first element whose grandparent is unbalanced. */ -MapEl *mapFindFirstUnbalGP( Map *map, MapEl *element ) +map_el_t *mapFindFirstUnbalGP( map_t *map, map_el_t *element ) { long lheight, rheight, balanceProp; - MapEl *gp; + map_el_t *gp; if ( element == 0 || element->parent == 0 || element->parent->parent == 0 ) @@ -451,7 +451,7 @@ MapEl *mapFindFirstUnbalGP( Map *map, MapEl *element ) /* Finds the first element that is unbalanced. */ -MapEl *mapFindFirstUnbalEl( Map *map, MapEl *element ) +map_el_t *mapFindFirstUnbalEl( map_t *map, map_el_t *element ) { if ( element == 0 ) return 0; @@ -473,9 +473,9 @@ MapEl *mapFindFirstUnbalEl( Map *map, MapEl *element ) } /* Replace a element in the tree with another element not in the tree. */ -void mapReplaceEl( Map *map, MapEl *element, MapEl *replacement ) +void mapReplaceEl( map_t *map, map_el_t *element, map_el_t *replacement ) { - MapEl *parent = element->parent, + map_el_t *parent = element->parent, *left = element->left, *right = element->right; @@ -504,9 +504,9 @@ void mapReplaceEl( Map *map, MapEl *element, MapEl *replacement ) /* Removes a element from a tree and puts filler in it's place. * Filler should be null or a child of element. */ -void mapRemoveEl( Map *map, MapEl *element, MapEl *filler ) +void mapRemoveEl( map_t *map, map_el_t *element, map_el_t *filler ) { - MapEl *parent = element->parent; + map_el_t *parent = element->parent; if ( parent ) { @@ -527,15 +527,15 @@ void mapRemoveEl( Map *map, MapEl *element, MapEl *filler ) #if 0 /* Recursive worker for tree copying. */ -MapEl *mapCopyBranch( Program *prg, Map *map, MapEl *el, Kid *oldNextDown, Kid **newNextDown ) +map_el_t *mapCopyBranch( program_t *prg, map_t *map, map_el_t *el, kid_t *oldNextDown, kid_t **newNextDown ) { /* Duplicate element. Either the base element's copy constructor or defaul * constructor will get called. Both will suffice for initting the * pointers to null when they need to be. */ - MapEl *newEl = mapElAllocate( prg ); + map_el_t *newEl = mapElAllocate( prg ); - if ( (Kid*)el == oldNextDown ) - *newNextDown = (Kid*)newEl; + if ( (kid_t*)el == oldNextDown ) + *newNextDown = (kid_t*)newEl; /* If the left tree is there, copy it. */ if ( newEl->left ) { @@ -555,7 +555,7 @@ MapEl *mapCopyBranch( Program *prg, Map *map, MapEl *el, Kid *oldNextDown, Kid * } #endif -static long map_cmp( Program *prg, Map *map, const Tree *tree1, const Tree *tree2 ) +static long map_cmp( program_t *prg, map_t *map, const tree_t *tree1, const tree_t *tree2 ) { if ( map->genericInfo->keyType == TYPE_TREE ) { return cmpTree( prg, tree1, tree2 ); @@ -569,11 +569,11 @@ static long map_cmp( Program *prg, Map *map, const Tree *tree1, const Tree *tree } } -MapEl *mapInsertEl( Program *prg, Map *map, MapEl *element, MapEl **lastFound ) +map_el_t *mapInsertEl( program_t *prg, map_t *map, map_el_t *element, map_el_t **lastFound ) { long keyRelation; - MapEl *curEl = map->root, *parentEl = 0; - MapEl *lastLess = 0; + map_el_t *curEl = map->root, *parentEl = 0; + map_el_t *lastLess = 0; while ( true ) { if ( curEl == 0 ) { @@ -609,18 +609,18 @@ MapEl *mapInsertEl( Program *prg, Map *map, MapEl *element, MapEl **lastFound ) } #if 0 -MapEl *mapInsertKey( Program *prg, Map *map, Tree *key, MapEl **lastFound ) +map_el_t *mapInsertKey( program_t *prg, map_t *map, tree_t *key, map_el_t **lastFound ) { long keyRelation; - MapEl *curEl = map->root, *parentEl = 0; - MapEl *lastLess = 0; + map_el_t *curEl = map->root, *parentEl = 0; + map_el_t *lastLess = 0; while ( true ) { if ( curEl == 0 ) { /* We are at an external element and did not find the key we were * looking for. Create the new element, attach it underneath the leaf * and rebalance. */ - MapEl *element = mapElAllocate( prg ); + map_el_t *element = mapElAllocate( prg ); element->key = key; mapAttachRebal( map, element, parentEl, lastLess ); @@ -651,39 +651,39 @@ MapEl *mapInsertKey( Program *prg, Map *map, Tree *key, MapEl **lastFound ) } #endif -MapEl *colm_map_insert( Program *prg, Map *map, MapEl *mapEl ) +map_el_t *colm_map_insert( program_t *prg, map_t *map, map_el_t *mapEl ) { return mapInsertEl( prg, map, mapEl, 0 ); } -MapEl *colm_vmap_insert( Program *prg, Map *map, Struct *key, Struct *value ) +map_el_t *colm_vmap_insert( program_t *prg, map_t *map, struct_t *key, struct_t *value ) { struct colm_struct *s = colm_struct_new( prg, map->genericInfo->elStructId ); - colm_struct_set_field( s, Struct*, map->genericInfo->elOffset, key ); - colm_struct_set_field( s, Struct*, 0, value ); + colm_struct_set_field( s, struct_t*, map->genericInfo->elOffset, key ); + colm_struct_set_field( s, struct_t*, 0, value ); - MapEl *mapEl = colm_struct_get_addr( s, MapEl*, map->genericInfo->elOffset ); + map_el_t *mapEl = colm_struct_get_addr( s, map_el_t*, map->genericInfo->elOffset ); colm_map_insert( prg, map, mapEl ); return 0; } -MapEl *colm_vmap_remove( Program *prg, Map *map, Tree *key ) +map_el_t *colm_vmap_remove( program_t *prg, map_t *map, tree_t *key ) { - MapEl *mapEl = colm_map_find( prg, map, key ); + map_el_t *mapEl = colm_map_find( prg, map, key ); if ( mapEl != 0 ) colm_map_detach( prg, map, mapEl ); return 0; } -Tree *colm_vmap_find( Program *prg, Map *map, Tree *key ) +tree_t *colm_vmap_find( program_t *prg, map_t *map, tree_t *key ) { - MapEl *mapEl = colm_map_find( prg, map, key ); + map_el_t *mapEl = colm_map_find( prg, map, key ); if ( mapEl != 0 ) { - Struct *s = colm_generic_el_container( prg, mapEl, + struct_t *s = colm_generic_el_container( prg, mapEl, map->genericInfo - prg->rtd->genericInfo ); - Tree *val = colm_struct_get_field( s, Tree*, 0 ); + tree_t *val = colm_struct_get_field( s, tree_t*, 0 ); if ( map->genericInfo->valueType == TYPE_TREE ) treeUpref( val ); @@ -693,12 +693,12 @@ Tree *colm_vmap_find( Program *prg, Map *map, Tree *key ) return 0; } -void colm_map_detach( Program *prg, Map *map, MapEl *mapEl ) +void colm_map_detach( program_t *prg, map_t *map, map_el_t *mapEl ) { mapDetach( prg, map, mapEl ); } -MapEl *colm_map_find( Program *prg, Map *map, Tree *key ) +map_el_t *colm_map_find( program_t *prg, map_t *map, tree_t *key ) { return mapImplFind( prg, map, key ); } @@ -708,9 +708,9 @@ MapEl *colm_map_find( Program *prg, Map *map, Tree *key ) * * \returns The element if key exists, null if the key does not exist. */ -MapEl *mapImplFind( Program *prg, Map *map, Tree *key ) +map_el_t *mapImplFind( program_t *prg, map_t *map, tree_t *key ) { - MapEl *curEl = map->root; + map_el_t *curEl = map->root; long keyRelation; while ( curEl != 0 ) { @@ -738,9 +738,9 @@ MapEl *mapImplFind( Program *prg, Map *map, Tree *key ) * * \returns The element detached if the key is found, othewise returns null. */ -MapEl *mapDetachByKey( Program *prg, Map *map, Tree *key ) +map_el_t *mapDetachByKey( program_t *prg, map_t *map, tree_t *key ) { - MapEl *element = mapImplFind( prg, map, key ); + map_el_t *element = mapImplFind( prg, map, key ); if ( element ) mapDetach( prg, map, element ); @@ -754,9 +754,9 @@ MapEl *mapDetachByKey( Program *prg, Map *map, Tree *key ) * * \returns The element given. */ -MapEl *mapDetach( Program *prg, Map *map, MapEl *element ) +map_el_t *mapDetach( program_t *prg, map_t *map, map_el_t *element ) { - MapEl *replacement, *fixfrom; + map_el_t *replacement, *fixfrom; long lheight, rheight; /* Remove the element from the ordered list. */ @@ -820,7 +820,7 @@ MapEl *mapDetach( Program *prg, Map *map, MapEl *element ) mapRecalcHeights( map, fixfrom ); /* Fix every unbalanced element going up in the tree. */ - MapEl *ub = mapFindFirstUnbalEl( map, fixfrom ); + map_el_t *ub = mapFindFirstUnbalEl( map, fixfrom ); while ( ub ) { /* Find the element to rebalance by moving down from the first unbalanced @@ -30,48 +30,49 @@ extern "C" { #include <colm/struct.h> #include "internal.h" -void mapListAbandon( Map *map ); +void mapListAbandon( map_t *map ); -void mapListAddBefore( Map *map, MapEl *next_el, MapEl *new_el ); -void mapListAddAfter( Map *map, MapEl *prev_el, MapEl *new_el ); -MapEl *mapListDetach( Map *map, MapEl *el ); -void mapAttachRebal( Map *map, MapEl *element, MapEl *parentEl, MapEl *lastLess ); -void mapDeleteChildrenOf( Map *map, MapEl *element ); -void mapEmpty( Map *map ); -MapEl *mapRebalance( Map *map, MapEl *n ); -void mapRecalcHeights( Map *map, MapEl *element ); -MapEl *mapFindFirstUnbalGP( Map *map, MapEl *element ); -MapEl *mapFindFirstUnbalEl( Map *map, MapEl *element ); -void mapRemoveEl( Map *map, MapEl *element, MapEl *filler ); -void mapReplaceEl( Map *map, MapEl *element, MapEl *replacement ); -MapEl *mapInsertEl( Program *prg, Map *map, MapEl *element, MapEl **lastFound ); -MapEl *mapInsertKey( Program *prg, Map *map, Tree *key, MapEl **lastFound ); -MapEl *mapImplFind( Program *prg, Map *map, Tree *key ); -MapEl *mapDetachByKey( Program *prg, Map *map, Tree *key ); -MapEl *mapDetach( Program *prg, Map *map, MapEl *element ); -MapEl *mapCopyBranch( Program *prg, Map *map, MapEl *el, Kid *oldNextDown, Kid **newNextDown ); +void mapListAddBefore( map_t *map, map_el_t *next_el, map_el_t *new_el ); +void mapListAddAfter( map_t *map, map_el_t *prev_el, map_el_t *new_el ); +map_el_t *mapListDetach( map_t *map, map_el_t *el ); +void mapAttachRebal( map_t *map, map_el_t *element, map_el_t *parentEl, map_el_t *lastLess ); +void mapDeleteChildrenOf( map_t *map, map_el_t *element ); +void mapEmpty( map_t *map ); +map_el_t *mapRebalance( map_t *map, map_el_t *n ); +void mapRecalcHeights( map_t *map, map_el_t *element ); +map_el_t *mapFindFirstUnbalGP( map_t *map, map_el_t *element ); +map_el_t *mapFindFirstUnbalEl( map_t *map, map_el_t *element ); +void mapRemoveEl( map_t *map, map_el_t *element, map_el_t *filler ); +void mapReplaceEl( map_t *map, map_el_t *element, map_el_t *replacement ); +map_el_t *mapInsertEl( program_t *prg, map_t *map, map_el_t *element, map_el_t **lastFound ); +map_el_t *mapInsertKey( program_t *prg, map_t *map, tree_t *key, map_el_t **lastFound ); +map_el_t *mapImplFind( program_t *prg, map_t *map, tree_t *key ); +map_el_t *mapDetachByKey( program_t *prg, map_t *map, tree_t *key ); +map_el_t *mapDetach( program_t *prg, map_t *map, map_el_t *element ); +map_el_t *mapCopyBranch( program_t *prg, map_t *map, map_el_t *el, + kid_t *oldNextDown, kid_t **newNextDown ); -long cmpTree( Program *prg, const Tree *tree1, const Tree *tree2 ); +long cmpTree( program_t *prg, const tree_t *tree1, const tree_t *tree2 ); -void mapImplRemoveEl( Program *prg, Map *map, MapEl *element ); -int mapImplRemoveKey( Program *prg, Map *map, Tree *key ); +void mapImplRemoveEl( program_t *prg, map_t *map, map_el_t *element ); +int mapImplRemoveKey( program_t *prg, map_t *map, tree_t *key ); -Tree *mapFind( Program *prg, Map *map, Tree *key ); -long mapLength( Map *map ); -Tree *mapUnstore( Program *prg, Map *map, Tree *key, Tree *existing ); -int mapInsert( Program *prg, Map *map, Tree *key, Tree *element ); -void mapUnremove( Program *prg, Map *map, Tree *key, Tree *element ); -Tree *mapUninsert( Program *prg, Map *map, Tree *key ); -Tree *mapStore( Program *prg, Map *map, Tree *key, Tree *element ); +tree_t *mapFind( program_t *prg, map_t *map, tree_t *key ); +long mapLength( map_t *map ); +tree_t *mapUnstore( program_t *prg, map_t *map, tree_t *key, tree_t *existing ); +int mapInsert( program_t *prg, map_t *map, tree_t *key, tree_t *element ); +void mapUnremove( program_t *prg, map_t *map, tree_t *key, tree_t *element ); +tree_t *mapUninsert( program_t *prg, map_t *map, tree_t *key ); +tree_t *mapStore( program_t *prg, map_t *map, tree_t *key, tree_t *element ); -MapEl *colm_map_insert( Program *prg, Map *map, MapEl *mapEl ); -void colm_map_detach( Program *prg, Map *map, MapEl *mapEl ); -MapEl *colm_map_find( Program *prg, Map *map, Tree *key ); +map_el_t *colm_map_insert( program_t *prg, map_t *map, map_el_t *mapEl ); +void colm_map_detach( program_t *prg, map_t *map, map_el_t *mapEl ); +map_el_t *colm_map_find( program_t *prg, map_t *map, tree_t *key ); -MapEl *colm_vmap_insert( Program *prg, Map *map, Struct *key, Struct *value ); -MapEl *colm_vmap_remove( Program *prg, Map *map, Tree *key ); -Tree *colm_map_iter_advance( Program *prg, Tree ***psp, GenericIter *iter ); -Tree *colm_vmap_find( Program *prg, Map *map, Tree *key ); +map_el_t *colm_vmap_insert( program_t *prg, map_t *map, struct_t *key, struct_t *value ); +map_el_t *colm_vmap_remove( program_t *prg, map_t *map, tree_t *key ); +tree_t *colm_map_iter_advance( program_t *prg, tree_t ***psp, generic_iter_t *iter ); +tree_t *colm_vmap_find( program_t *prg, map_t *map, tree_t *key ); #if defined(__cplusplus) } diff --git a/src/parsetree.h b/src/parsetree.h index c820c75f..afd63834 100644 --- a/src/parsetree.h +++ b/src/parsetree.h @@ -122,7 +122,7 @@ struct CodeVect : public Vector<code_t> #endif } - void insertTree( long pos, Tree *tree ) + void insertTree( long pos, tree_t *tree ) { insertWord( pos, (word_t) tree ); } }; @@ -190,7 +190,7 @@ struct TypeRef; /* Leaf type. */ struct Literal; -/* Tree nodes. */ +/* tree_t nodes. */ struct LexTerm; struct LexFactorAug; @@ -679,7 +679,7 @@ struct TokenRegion TokenRegion *next, *prev; - /* Tree traversal. */ + /* tree_t traversal. */ void findName( Compiler *pd ); }; @@ -755,10 +755,6 @@ struct GenericType typedef DList<GenericType> GenericList; -typedef struct _UserIter UserIter; -typedef AvlMap<String, UserIter*, CmpStr> UserIterMap; -typedef AvlMapEl<String, UserIter*> UserIterMapEl; - /* Graph dictionary. */ struct GraphDictEl : @@ -813,7 +809,7 @@ struct Namespace loc(loc), name(name), id(id), parentNamespace(parentNamespace) { } - /* Tree traversal. */ + /* tree_t traversal. */ Namespace *findNamespace( const String &name ); InputLoc loc; @@ -871,7 +867,7 @@ struct LexJoin return j; } - /* Tree traversal. */ + /* tree_t traversal. */ FsmGraph *walk( Compiler *pd ); void makeNameTree( Compiler *pd ); void varDecl( Compiler *pd, TokenDef *tokenDef ); @@ -930,7 +926,7 @@ struct LexExpression ~LexExpression(); - /* Tree traversal. */ + /* tree_t traversal. */ FsmGraph *walk( Compiler *pd, bool lastInSeq = true ); void makeNameTree( Compiler *pd ); void varDecl( Compiler *pd, TokenDef *tokenDef ); @@ -1016,7 +1012,7 @@ struct LexFactorAug ~LexFactorAug(); - /* Tree traversal. */ + /* tree_t traversal. */ FsmGraph *walk( Compiler *pd ); void makeNameTree( Compiler *pd ); void varDecl( Compiler *pd, TokenDef *tokenDef ); @@ -1078,7 +1074,7 @@ struct LexFactorRep ~LexFactorRep(); - /* Tree traversal. */ + /* tree_t traversal. */ FsmGraph *walk( Compiler *pd ); void makeNameTree( Compiler *pd ); @@ -1128,7 +1124,7 @@ struct LexFactorNeg ~LexFactorNeg(); - /* Tree traversal. */ + /* tree_t traversal. */ FsmGraph *walk( Compiler *pd ); void makeNameTree( Compiler *pd ); @@ -1223,7 +1219,7 @@ struct LexFactor /* Cleanup. */ ~LexFactor(); - /* Tree traversal. */ + /* tree_t traversal. */ FsmGraph *walk( Compiler *pd ); void makeNameTree( Compiler *pd ); @@ -2456,7 +2452,7 @@ typedef DList<ObjectField> ParameterList; struct TemplateType; -/* Tree of name scopes for an object def. All of the object fields inside this +/* tree_t of name scopes for an object def. All of the object fields inside this * tree live in one object def. This is used for scoping names in functions. */ struct NameScope { diff --git a/src/pdabuild.cc b/src/pdabuild.cc index 0bed30ba..6362542c 100644 --- a/src/pdabuild.cc +++ b/src/pdabuild.cc @@ -1692,15 +1692,15 @@ void Compiler::makeRuntimeData() } /* Borrow alg->state for mapsTo. */ -void countNodes( Program *prg, int &count, ParseTree *parseTree, Kid *kid ) +void countNodes( program_t *prg, int &count, parse_tree_t *parseTree, kid_t *kid ) { if ( kid != 0 ) { count += 1; /* Should't have to recurse here. */ - Tree *ignoreList = treeLeftIgnore( prg, kid->tree ); + tree_t *ignoreList = treeLeftIgnore( prg, kid->tree ); if ( ignoreList != 0 ) { - Kid *ignore = ignoreList->child; + kid_t *ignore = ignoreList->child; while ( ignore != 0 ) { count += 1; ignore = ignore->next; @@ -1709,7 +1709,7 @@ void countNodes( Program *prg, int &count, ParseTree *parseTree, Kid *kid ) ignoreList = treeRightIgnore( prg, kid->tree ); if ( ignoreList != 0 ) { - Kid *ignore = ignoreList->child; + kid_t *ignore = ignoreList->child; while ( ignore != 0 ) { count += 1; ignore = ignore->next; @@ -1728,20 +1728,20 @@ void countNodes( Program *prg, int &count, ParseTree *parseTree, Kid *kid ) } } -void fillNodes( Program *prg, int &nextAvail, struct bindings *bindings, long &bindId, - struct pat_cons_node *nodes, ParseTree *parseTree, Kid *kid, int ind ) +void fillNodes( program_t *prg, int &nextAvail, struct bindings *bindings, long &bindId, + struct pat_cons_node *nodes, parse_tree_t *parseTree, kid_t *kid, int ind ) { if ( kid != 0 ) { struct pat_cons_node &node = nodes[ind]; - Kid *child = + kid_t *child = !( parseTree->flags & PF_NAMED ) && !( parseTree->flags & PF_ARTIFICIAL ) && treeChild( prg, kid->tree ) != 0 ? treeChild( prg, kid->tree ) : 0; - ParseTree *ptChild = + parse_tree_t *ptChild = !( parseTree->flags & PF_NAMED ) && !( parseTree->flags & PF_ARTIFICIAL ) && treeChild( prg, kid->tree ) != 0 @@ -1755,8 +1755,8 @@ void fillNodes( Program *prg, int &nextAvail, struct bindings *bindings, long &b node.data = stringData( kid->tree->tokdata ); /* Ignore items. */ - Tree *ignoreList = treeLeftIgnore( prg, kid->tree ); - Kid *ignore = ignoreList == 0 ? 0 : ignoreList->child; + tree_t *ignoreList = treeLeftIgnore( prg, kid->tree ); + kid_t *ignore = ignoreList == 0 ? 0 : ignoreList->child; node.leftIgnore = ignore == 0 ? -1 : nextAvail; while ( ignore != 0 ) { @@ -1797,7 +1797,7 @@ void fillNodes( Program *prg, int &nextAvail, struct bindings *bindings, long &b // CaptureAttr *cap = prg->rtd->captureAttr + // prg->rtd->lelInfo[kid->tree->id].captureAttr + i; // - // Tree *attr = colm_get_attr( kid->tree, cap->offset ); + // tree_t *attr = colm_get_attr( kid->tree, cap->offset ); // // struct pat_cons_node &node = nodes[nextAvail++]; // memset( &node, 0, sizeof(struct pat_cons_node) ); @@ -1833,7 +1833,7 @@ void fillNodes( Program *prg, int &nextAvail, struct bindings *bindings, long &b } } -void Compiler::fillInPatterns( Program *prg ) +void Compiler::fillInPatterns( program_t *prg ) { /* * patReplNodes diff --git a/src/pdacodegen.cc b/src/pdacodegen.cc index 18ca5a68..8d032db8 100644 --- a/src/pdacodegen.cc +++ b/src/pdacodegen.cc @@ -412,7 +412,7 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables out << runtimeData->litlen[i] << ", "; out << "};\n\n"; - out << "static Head *" << literals() << "[] = {\n\t"; + out << "static head_t *" << literals() << "[] = {\n\t"; for ( int i = 0; i < runtimeData->numLiterals; i++ ) out << "0, "; out << "};\n\n"; diff --git a/src/pdacodegen.h b/src/pdacodegen.h index ac73f6c8..b6031873 100644 --- a/src/pdacodegen.h +++ b/src/pdacodegen.h @@ -97,10 +97,10 @@ struct PdaCodeGen extern "C" { void internalFsmExecute( struct pda_run *pdaRun, struct stream_impl *inputStream ); - void internalSendNamedLangEl( Program *prg, Tree **sp, + void internalSendNamedLangEl( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is ); void internalInitBindings( struct pda_run *pdaRun ); - void internalPopBinding( struct pda_run *pdaRun, ParseTree *parseTree ); + void internalPopBinding( struct pda_run *pdaRun, parse_tree_t *parseTree ); } #endif diff --git a/src/pdarun.c b/src/pdarun.c index 6f965866..cbbd1b45 100644 --- a/src/pdarun.c +++ b/src/pdarun.c @@ -53,10 +53,10 @@ w |= ((word_t) p[1]) << 8; \ w |= ((word_t) p[2]) << 16; \ w |= ((word_t) p[3]) << 24; \ - i = (Tree*)w; \ + i = (tree_t*)w; \ } while(0) -static void init_fsm_run( Program *prg, struct pda_run *pdaRun ) +static void init_fsm_run( program_t *prg, struct pda_run *pdaRun ) { pdaRun->fsm_tables = prg->rtd->fsmTables; @@ -69,7 +69,7 @@ static void init_fsm_run( Program *prg, struct pda_run *pdaRun ) pdaRun->preRegion = -1; } -static void clear_fsm_run( Program *prg, struct pda_run *pdaRun ) +static void clear_fsm_run( program_t *prg, struct pda_run *pdaRun ) { if ( pdaRun->consumeBuf != 0 ) { /* Transfer the run buf list to the program */ @@ -95,7 +95,7 @@ void colm_decrement_steps( struct pda_run *pdaRun ) //debug( prg, REALM_PARSE, "steps down to %ld\n", pdaRun->steps ); } -Head *colm_stream_pull( Program *prg, Tree **sp, struct pda_run *pdaRun, struct stream_impl *is, long length ) +head_t *colm_stream_pull( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is, long length ) { if ( pdaRun != 0 ) { RunBuf *runBuf = pdaRun->consumeBuf; @@ -108,7 +108,7 @@ Head *colm_stream_pull( Program *prg, Tree **sp, struct pda_run *pdaRun, struct char *dest = runBuf->data + runBuf->length; is->funcs->getData( is, dest, length ); - Location *loc = locationAllocate( prg ); + location_t *loc = locationAllocate( prg ); is->funcs->consumeData( prg, sp, is, length, loc ); runBuf->length += length; @@ -116,17 +116,17 @@ Head *colm_stream_pull( Program *prg, Tree **sp, struct pda_run *pdaRun, struct pdaRun->p = pdaRun->pe = 0; pdaRun->toklen = 0; - Head *tokdata = colm_string_alloc_pointer( prg, dest, length ); + head_t *tokdata = colm_string_alloc_pointer( prg, dest, length ); tokdata->location = loc; return tokdata; } else { - Head *head = initStrSpace( length ); + head_t *head = initStrSpace( length ); char *dest = (char*)head->data; is->funcs->getData( is, dest, length ); - Location *loc = locationAllocate( prg ); + location_t *loc = locationAllocate( prg ); is->funcs->consumeData( prg, sp, is, length, loc ); head->location = loc; @@ -146,20 +146,20 @@ void colm_stream_push_text( struct stream_impl *is, const char *data, long lengt is->funcs->prependData( is, data, length ); } -void colm_stream_push_tree( struct stream_impl *is, Tree *tree, int ignore ) +void colm_stream_push_tree( struct stream_impl *is, tree_t *tree, int ignore ) { is->funcs->prependTree( is, tree, ignore ); } -void colm_stream_push_stream( struct stream_impl *is, Tree *tree ) +void colm_stream_push_stream( struct stream_impl *is, tree_t *tree ) { is->funcs->prependStream( is, tree ); } -void colm_undo_stream_push( Program *prg, Tree **sp, struct stream_impl *is, long length ) +void colm_undo_stream_push( program_t *prg, tree_t **sp, struct stream_impl *is, long length ) { if ( length < 0 ) { - Tree *tree = is->funcs->undoPrependTree( is ); + tree_t *tree = is->funcs->undoPrependTree( is ); treeDownref( prg, sp, tree ); } else { @@ -183,7 +183,7 @@ static void send_back_text( struct stream_impl *is, const char *data, long lengt is->funcs->undoConsumeData( is, data, length ); } -static void send_back_tree( struct stream_impl *is, Tree *tree ) +static void send_back_tree( struct stream_impl *is, tree_t *tree ) { is->funcs->undoConsumeTree( is, tree, false ); } @@ -192,8 +192,8 @@ static void send_back_tree( struct stream_impl *is, Tree *tree ) * Stops on: * PCR_REVERSE */ -static void send_back_ignore( Program *prg, Tree **sp, - struct pda_run *pdaRun, struct stream_impl *is, ParseTree *parseTree ) +static void send_back_ignore( program_t *prg, tree_t **sp, + struct pda_run *pdaRun, struct stream_impl *is, parse_tree_t *parseTree ) { #ifdef DEBUG struct lang_el_info *lelInfo = prg->rtd->lelInfo; @@ -202,7 +202,7 @@ static void send_back_ignore( Program *prg, Tree **sp, parseTree->flags & PF_ARTIFICIAL ? " (artificial)" : "" ); #endif - Head *head = parseTree->shadow->tree->tokdata; + head_t *head = parseTree->shadow->tree->tokdata; int artificial = parseTree->flags & PF_ARTIFICIAL; if ( head != 0 && !artificial ) @@ -238,8 +238,8 @@ static void reset_token( struct pda_run *pdaRun ) * PCR_REVERSE */ -static void send_back( Program *prg, Tree **sp, struct pda_run *pdaRun, - struct stream_impl *is, ParseTree *parseTree ) +static void send_back( program_t *prg, tree_t **sp, struct pda_run *pdaRun, + struct stream_impl *is, parse_tree_t *parseTree ) { debug( prg, REALM_PARSE, "sending back: %s\n", prg->rtd->lelInfo[parseTree->id].name ); @@ -297,7 +297,7 @@ static void send_back( Program *prg, Tree **sp, struct pda_run *pdaRun, parseTreeFree( prg, parseTree ); } -static void set_region( struct pda_run *pdaRun, int emptyIgnore, ParseTree *tree ) +static void set_region( struct pda_run *pdaRun, int emptyIgnore, parse_tree_t *tree ) { if ( emptyIgnore ) { /* Recording the next region. */ @@ -307,13 +307,13 @@ static void set_region( struct pda_run *pdaRun, int emptyIgnore, ParseTree *tree } } -static void ignore_tree( Program *prg, struct pda_run *pdaRun, Tree *tree ) +static void ignore_tree( program_t *prg, struct pda_run *pdaRun, tree_t *tree ) { int emptyIgnore = pdaRun->accumIgnore == 0; colm_increment_steps( pdaRun ); - ParseTree *parseTree = parseTreeAllocate( prg ); + parse_tree_t *parseTree = parseTreeAllocate( prg ); parseTree->shadow = kidAllocate( prg ); parseTree->shadow->tree = tree; @@ -328,13 +328,13 @@ static void ignore_tree( Program *prg, struct pda_run *pdaRun, Tree *tree ) set_region( pdaRun, emptyIgnore, pdaRun->accumIgnore ); } -static void ignore_tree_art( Program *prg, struct pda_run *pdaRun, Tree *tree ) +static void ignore_tree_art( program_t *prg, struct pda_run *pdaRun, tree_t *tree ) { int emptyIgnore = pdaRun->accumIgnore == 0; colm_increment_steps( pdaRun ); - ParseTree *parseTree = parseTreeAllocate( prg ); + parse_tree_t *parseTree = parseTreeAllocate( prg ); parseTree->flags |= PF_ARTIFICIAL; parseTree->shadow = kidAllocate( prg ); parseTree->shadow->tree = tree; @@ -347,14 +347,14 @@ static void ignore_tree_art( Program *prg, struct pda_run *pdaRun, Tree *tree ) set_region( pdaRun, emptyIgnore, pdaRun->accumIgnore ); } -Kid *make_token_with_data( Program *prg, struct pda_run *pdaRun, - struct stream_impl *is, int id, Head *tokdata ) +kid_t *make_token_with_data( program_t *prg, struct pda_run *pdaRun, + struct stream_impl *is, int id, head_t *tokdata ) { /* Make the token object. */ long objectLength = prg->rtd->lelInfo[id].objectLength; - Kid *attrs = allocAttrs( prg, objectLength ); + kid_t *attrs = allocAttrs( prg, objectLength ); - Kid *input = 0; + kid_t *input = 0; input = kidAllocate( prg ); input->tree = treeAllocate( prg ); @@ -372,11 +372,11 @@ Kid *make_token_with_data( Program *prg, struct pda_run *pdaRun, int i; for ( i = 0; i < lelInfo[id].numCaptureAttr; i++ ) { CaptureAttr *ca = &prg->rtd->captureAttr[lelInfo[id].captureAttr + i]; - Head *data = stringAllocFull( prg, + head_t *data = stringAllocFull( prg, pdaRun->mark[ca->mark_enter], pdaRun->mark[ca->mark_leave] - pdaRun->mark[ca->mark_enter] ); - Tree *string = constructString( prg, data ); + tree_t *string = constructString( prg, data ); treeUpref( string ); colm_tree_set_field( prg, input->tree, ca->offset, string ); } @@ -385,12 +385,12 @@ Kid *make_token_with_data( Program *prg, struct pda_run *pdaRun, return input; } -static void report_parse_error( Program *prg, Tree **sp, struct pda_run *pdaRun ) +static void report_parse_error( program_t *prg, tree_t **sp, struct pda_run *pdaRun ) { - Kid *kid = pdaRun->btPoint; - Head *deepest = 0; + kid_t *kid = pdaRun->btPoint; + head_t *deepest = 0; while ( kid != 0 ) { - Head *head = kid->tree->tokdata; + head_t *head = kid->tree->tokdata; if ( head != 0 && head->location != 0 ) { if ( deepest == 0 || head->location->byte > deepest->location->byte ) deepest = head; @@ -398,7 +398,7 @@ static void report_parse_error( Program *prg, Tree **sp, struct pda_run *pdaRun kid = kid->next; } - Head *errorHead = 0; + head_t *errorHead = 0; /* If there are no error points on record assume the error occurred at the * beginning of the stream. */ @@ -442,14 +442,14 @@ static void report_parse_error( Program *prg, Tree **sp, struct pda_run *pdaRun errorHead->location->byte = byte; } - Tree *tree = constructString( prg, errorHead ); + tree_t *tree = constructString( prg, errorHead ); treeDownref( prg, sp, pdaRun->parseErrorText ); pdaRun->parseErrorText = tree; treeUpref( pdaRun->parseErrorText ); } -static void attach_right_ignore( Program *prg, Tree **sp, - struct pda_run *pdaRun, ParseTree *parseTree ) +static void attach_right_ignore( program_t *prg, tree_t **sp, + struct pda_run *pdaRun, parse_tree_t *parseTree ) { if ( pdaRun->accumIgnore == 0 ) return; @@ -463,9 +463,9 @@ static void attach_right_ignore( Program *prg, Tree **sp, /* Reset. */ assert( ! ( parseTree->flags & PF_RIGHT_IL_ATTACHED ) ); - ParseTree *accum = pdaRun->accumIgnore; + parse_tree_t *accum = pdaRun->accumIgnore; - ParseTree *stopAt = 0, *use = accum; + parse_tree_t *stopAt = 0, *use = accum; while ( use != 0 ) { if ( ! (use->flags & PF_RIGHT_IGNORE) ) stopAt = use; @@ -485,12 +485,12 @@ static void attach_right_ignore( Program *prg, Tree **sp, /* The data list needs to be extracted and reversed. The parse tree list * can remain in stack order. */ - ParseTree *child = accum, *last = 0; - Kid *dataChild = 0, *dataLast = 0; + parse_tree_t *child = accum, *last = 0; + kid_t *dataChild = 0, *dataLast = 0; while ( child ) { dataChild = child->shadow; - ParseTree *next = child->next; + parse_tree_t *next = child->next; /* Reverse the lists. */ dataChild->next = dataLast; @@ -512,17 +512,17 @@ static void attach_right_ignore( Program *prg, Tree **sp, if ( dataChild != 0 ) { debug( prg, REALM_PARSE, "attaching ignore right\n" ); - Kid *ignoreKid = dataLast; + kid_t *ignoreKid = dataLast; /* Copy the ignore list first if we need to attach it as a right * ignore. */ - Tree *rightIgnore = 0; + tree_t *rightIgnore = 0; rightIgnore = treeAllocate( prg ); rightIgnore->id = LEL_ID_IGNORE; rightIgnore->child = ignoreKid; - Tree *pushTo = parseTree->shadow->tree; + tree_t *pushTo = parseTree->shadow->tree; pushTo = pushRightIgnore( prg, pushTo, rightIgnore ); @@ -533,23 +533,23 @@ static void attach_right_ignore( Program *prg, Tree **sp, } } -static void attach_left_ignore( Program *prg, Tree **sp, - struct pda_run *pdaRun, ParseTree *parseTree ) +static void attach_left_ignore( program_t *prg, tree_t **sp, + struct pda_run *pdaRun, parse_tree_t *parseTree ) { /* Reset. */ assert( ! ( parseTree->flags & PF_LEFT_IL_ATTACHED ) ); - ParseTree *accum = pdaRun->accumIgnore; + parse_tree_t *accum = pdaRun->accumIgnore; pdaRun->accumIgnore = 0; /* The data list needs to be extracted and reversed. The parse tree list * can remain in stack order. */ - ParseTree *child = accum, *last = 0; - Kid *dataChild = 0, *dataLast = 0; + parse_tree_t *child = accum, *last = 0; + kid_t *dataChild = 0, *dataLast = 0; while ( child ) { dataChild = child->shadow; - ParseTree *next = child->next; + parse_tree_t *next = child->next; /* Reverse the lists. */ dataChild->next = dataLast; @@ -571,14 +571,14 @@ static void attach_left_ignore( Program *prg, Tree **sp, if ( dataChild != 0 ) { debug( prg, REALM_PARSE, "attaching left ignore\n" ); - Kid *ignoreKid = dataChild; + kid_t *ignoreKid = dataChild; /* Make the ignore list for the left-ignore. */ - Tree *leftIgnore = treeAllocate( prg ); + tree_t *leftIgnore = treeAllocate( prg ); leftIgnore->id = LEL_ID_IGNORE; leftIgnore->child = ignoreKid; - Tree *pushTo = parseTree->shadow->tree; + tree_t *pushTo = parseTree->shadow->tree; pushTo = pushLeftIgnore( prg, pushTo, leftIgnore ); @@ -589,14 +589,14 @@ static void attach_left_ignore( Program *prg, Tree **sp, } /* Not currently used. Need to revive this. WARNING: untested changes here */ -static void detach_right_ignore( Program *prg, Tree **sp, - struct pda_run *pdaRun, ParseTree *parseTree ) +static void detach_right_ignore( program_t *prg, tree_t **sp, + struct pda_run *pdaRun, parse_tree_t *parseTree ) { /* Right ignore are immediately discarded since they are copies of * left-ignores. */ - Tree *rightIgnore = 0; + tree_t *rightIgnore = 0; if ( parseTree->flags & PF_RIGHT_IL_ATTACHED ) { - Tree *popFrom = parseTree->shadow->tree; + tree_t *popFrom = parseTree->shadow->tree; popFrom = popRightIgnore( prg, sp, popFrom, &rightIgnore ); @@ -609,17 +609,17 @@ static void detach_right_ignore( Program *prg, Tree **sp, assert( rightIgnore != 0 ); /* Transfer the trees to accumIgnore. */ - ParseTree *ignore = parseTree->rightIgnore; + parse_tree_t *ignore = parseTree->rightIgnore; parseTree->rightIgnore = 0; - Kid *dataIgnore = rightIgnore->child; + kid_t *dataIgnore = rightIgnore->child; rightIgnore->child = 0; - ParseTree *last = 0; - Kid *dataLast = 0; + parse_tree_t *last = 0; + kid_t *dataLast = 0; while ( ignore != 0 ) { - ParseTree *next = ignore->next; - Kid *dataNext = dataIgnore->next; + parse_tree_t *next = ignore->next; + kid_t *dataNext = dataIgnore->next; /* Put the data trees underneath the parse trees. */ ignore->shadow = dataIgnore; @@ -642,13 +642,13 @@ static void detach_right_ignore( Program *prg, Tree **sp, } } -static void detach_left_ignore( Program *prg, Tree **sp, - struct pda_run *pdaRun, ParseTree *parseTree ) +static void detach_left_ignore( program_t *prg, tree_t **sp, + struct pda_run *pdaRun, parse_tree_t *parseTree ) { /* Detach left. */ - Tree *leftIgnore = 0; + tree_t *leftIgnore = 0; if ( parseTree->flags & PF_LEFT_IL_ATTACHED ) { - Tree *popFrom = parseTree->shadow->tree; + tree_t *popFrom = parseTree->shadow->tree; popFrom = popLeftIgnore( prg, sp, popFrom, &leftIgnore ); @@ -661,17 +661,17 @@ static void detach_left_ignore( Program *prg, Tree **sp, assert( leftIgnore != 0 ); /* Transfer the trees to accumIgnore. */ - ParseTree *ignore = parseTree->leftIgnore; + parse_tree_t *ignore = parseTree->leftIgnore; parseTree->leftIgnore = 0; - Kid *dataIgnore = leftIgnore->child; + kid_t *dataIgnore = leftIgnore->child; leftIgnore->child = 0; - ParseTree *last = 0; - Kid *dataLast = 0; + parse_tree_t *last = 0; + kid_t *dataLast = 0; while ( ignore != 0 ) { - ParseTree *next = ignore->next; - Kid *dataNext = dataIgnore->next; + parse_tree_t *next = ignore->next; + kid_t *dataNext = dataIgnore->next; /* Put the data trees underneath the parse trees. */ ignore->shadow = dataIgnore; @@ -703,7 +703,7 @@ static int is_parser_stop_finished( struct pda_run *pdaRun ) return done; } -static void handle_error( Program *prg, Tree **sp, struct pda_run *pdaRun ) +static void handle_error( program_t *prg, tree_t **sp, struct pda_run *pdaRun ) { /* Check the result. */ if ( pdaRun->parseError ) { @@ -718,7 +718,7 @@ static void handle_error( Program *prg, Tree **sp, struct pda_run *pdaRun ) } } -static Head *extract_match( Program *prg, Tree **sp, struct pda_run *pdaRun, struct stream_impl *is ) +static head_t *extract_match( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is ) { long length = pdaRun->toklen; @@ -734,7 +734,7 @@ static Head *extract_match( Program *prg, Tree **sp, struct pda_run *pdaRun, str char *dest = runBuf->data + runBuf->length; is->funcs->getData( is, dest, length ); - Location *location = locationAllocate( prg ); + location_t *location = locationAllocate( prg ); is->funcs->consumeData( prg, sp, is, length, location ); runBuf->length += length; @@ -743,7 +743,7 @@ static Head *extract_match( Program *prg, Tree **sp, struct pda_run *pdaRun, str pdaRun->toklen = 0; pdaRun->tokstart = 0; - Head *head = colm_string_alloc_pointer( prg, dest, length ); + head_t *head = colm_string_alloc_pointer( prg, dest, length ); head->location = location; @@ -752,7 +752,7 @@ static Head *extract_match( Program *prg, Tree **sp, struct pda_run *pdaRun, str return head; } -static Head *peekMatch( Program *prg, struct pda_run *pdaRun, struct stream_impl *is ) +static head_t *peekMatch( program_t *prg, struct pda_run *pdaRun, struct stream_impl *is ) { long length = pdaRun->toklen; @@ -770,7 +770,7 @@ static Head *peekMatch( Program *prg, struct pda_run *pdaRun, struct stream_impl pdaRun->p = pdaRun->pe = 0; pdaRun->toklen = 0; - Head *head = colm_string_alloc_pointer( prg, dest, length ); + head_t *head = colm_string_alloc_pointer( prg, dest, length ); head->location = locationAllocate( prg ); head->location->line = is->line; @@ -783,17 +783,17 @@ static Head *peekMatch( Program *prg, struct pda_run *pdaRun, struct stream_impl } -static void send_ignore( Program *prg, Tree **sp, +static void send_ignore( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is, long id ) { debug( prg, REALM_PARSE, "ignoring: %s\n", prg->rtd->lelInfo[id].name ); /* Make the ignore string. */ - Head *ignoreStr = extract_match( prg, sp, pdaRun, is ); + head_t *ignoreStr = extract_match( prg, sp, pdaRun, is ); debug( prg, REALM_PARSE, "ignoring: %.*s\n", ignoreStr->length, ignoreStr->data ); - Tree *tree = treeAllocate( prg ); + tree_t *tree = treeAllocate( prg ); tree->refs = 1; tree->id = id; tree->tokdata = ignoreStr; @@ -802,23 +802,23 @@ static void send_ignore( Program *prg, Tree **sp, ignore_tree( prg, pdaRun, tree ); } -static void send_token( Program *prg, Tree **sp, +static void send_token( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is, long id ) { int emptyIgnore = pdaRun->accumIgnore == 0; /* Make the token data. */ - Head *tokdata = extract_match( prg, sp, pdaRun, is ); + head_t *tokdata = extract_match( prg, sp, pdaRun, is ); debug( prg, REALM_PARSE, "token: %s text: %.*s\n", prg->rtd->lelInfo[id].name, stringLength(tokdata), stringData(tokdata) ); - Kid *input = make_token_with_data( prg, pdaRun, is, id, tokdata ); + kid_t *input = make_token_with_data( prg, pdaRun, is, id, tokdata ); colm_increment_steps( pdaRun ); - ParseTree *parseTree = parseTreeAllocate( prg ); + parse_tree_t *parseTree = parseTreeAllocate( prg ); parseTree->id = input->tree->id; parseTree->shadow = input; @@ -829,14 +829,14 @@ static void send_token( Program *prg, Tree **sp, set_region( pdaRun, emptyIgnore, parseTree ); } -static void send_tree( Program *prg, Tree **sp, struct pda_run *pdaRun, struct stream_impl *is ) +static void send_tree( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is ) { - Kid *input = kidAllocate( prg ); + kid_t *input = kidAllocate( prg ); input->tree = is->funcs->consumeTree( is ); colm_increment_steps( pdaRun ); - ParseTree *parseTree = parseTreeAllocate( prg ); + parse_tree_t *parseTree = parseTreeAllocate( prg ); parseTree->id = input->tree->id; parseTree->flags |= PF_ARTIFICIAL; parseTree->shadow = input; @@ -844,13 +844,13 @@ static void send_tree( Program *prg, Tree **sp, struct pda_run *pdaRun, struct s pdaRun->parseInput = parseTree; } -static void send_ignore_tree( Program *prg, Tree **sp, struct pda_run *pdaRun, struct stream_impl *is ) +static void send_ignore_tree( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is ) { - Tree *tree = is->funcs->consumeTree( is ); + tree_t *tree = is->funcs->consumeTree( is ); ignore_tree_art( prg, pdaRun, tree ); } -static void send_collect_ignore( Program *prg, Tree **sp, +static void send_collect_ignore( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is, int id ) { debug( prg, REALM_PARSE, "token: CI\n" ); @@ -858,7 +858,7 @@ static void send_collect_ignore( Program *prg, Tree **sp, int emptyIgnore = pdaRun->accumIgnore == 0; /* Make the token data. */ - Head *tokdata = headAllocate( prg ); + head_t *tokdata = headAllocate( prg ); tokdata->location = locationAllocate( prg ); tokdata->location->line = is->line; tokdata->location->column = is->column; @@ -868,11 +868,11 @@ static void send_collect_ignore( Program *prg, Tree **sp, prg->rtd->lelInfo[id].name, stringLength(tokdata), stringData(tokdata) ); - Kid *input = make_token_with_data( prg, pdaRun, is, id, tokdata ); + kid_t *input = make_token_with_data( prg, pdaRun, is, id, tokdata ); colm_increment_steps( pdaRun ); - ParseTree *parseTree = parseTreeAllocate( prg ); + parse_tree_t *parseTree = parseTreeAllocate( prg ); parseTree->id = input->tree->id; parseTree->shadow = input; @@ -894,19 +894,19 @@ static int get_next_pre_region( struct pda_run *pdaRun ) return pdaRun->pda_tables->tokenPreRegions[pdaRun->nextRegionInd]; } -static void send_eof( Program *prg, Tree **sp, struct pda_run *pdaRun, struct stream_impl *is ) +static void send_eof( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is ) { debug( prg, REALM_PARSE, "token: _EOF\n" ); colm_increment_steps( pdaRun ); - Head *head = headAllocate( prg ); + head_t *head = headAllocate( prg ); head->location = locationAllocate( prg ); head->location->line = is->line; head->location->column = is->column; head->location->byte = is->byte; - Kid *input = kidAllocate( prg ); + kid_t *input = kidAllocate( prg ); input->tree = treeAllocate( prg ); input->tree->refs = 1; @@ -918,14 +918,14 @@ static void send_eof( Program *prg, Tree **sp, struct pda_run *pdaRun, struct st pdaRun->preRegion = get_next_pre_region( pdaRun ); pdaRun->fsm_cs = pdaRun->fsm_tables->entryByRegion[pdaRun->region]; - ParseTree *parseTree = parseTreeAllocate( prg ); + parse_tree_t *parseTree = parseTreeAllocate( prg ); parseTree->id = input->tree->id; parseTree->shadow = input; pdaRun->parseInput = parseTree; } -static void new_token( Program *prg, struct pda_run *pdaRun ) +static void new_token( program_t *prg, struct pda_run *pdaRun ) { pdaRun->p = pdaRun->pe = 0; pdaRun->toklen = 0; @@ -953,9 +953,9 @@ static void new_token( Program *prg, struct pda_run *pdaRun ) memset( pdaRun->mark, 0, sizeof(pdaRun->mark) ); } -static void push_bt_point( Program *prg, struct pda_run *pdaRun ) +static void push_bt_point( program_t *prg, struct pda_run *pdaRun ) { - Tree *tree = 0; + tree_t *tree = 0; if ( pdaRun->accumIgnore != 0 ) tree = pdaRun->accumIgnore->shadow->tree; else if ( pdaRun->tokenList != 0 ) @@ -966,7 +966,7 @@ static void push_bt_point( Program *prg, struct pda_run *pdaRun ) ( tree != 0 && tree->tokdata != 0 && tree->tokdata->location != 0 ) ? tree->tokdata->location->byte : 0 ); - Kid *kid = kidAllocate( prg ); + kid_t *kid = kidAllocate( prg ); kid->tree = tree; treeUpref( tree ); kid->next = pdaRun->btPoint; @@ -983,7 +983,7 @@ static void push_bt_point( Program *prg, struct pda_run *pdaRun ) #define SCAN_LANG_EL -2 #define SCAN_EOF -1 -static long scan_token( Program *prg, struct pda_run *pdaRun, struct stream_impl *is ) +static long scan_token( program_t *prg, struct pda_run *pdaRun, struct stream_impl *is ) { if ( pdaRun->triggerUndo ) return SCAN_UNDO; @@ -1082,7 +1082,7 @@ static long scan_token( Program *prg, struct pda_run *pdaRun, struct stream_impl return SCAN_ERROR; } -static Tree *get_parsed_root( struct pda_run *pdaRun, int stop ) +static tree_t *get_parsed_root( struct pda_run *pdaRun, int stop ) { if ( pdaRun->parseError ) return 0; @@ -1097,9 +1097,9 @@ static Tree *get_parsed_root( struct pda_run *pdaRun, int stop ) return 0; } -static void clear_parse_tree( Program *prg, Tree **sp, ParseTree *pt ) +static void clear_parse_tree( program_t *prg, tree_t **sp, parse_tree_t *pt ) { - Tree **top = vm_ptop(); + tree_t **top = vm_ptop(); if ( pt == 0 ) return; @@ -1135,7 +1135,7 @@ free_tree: } } -void colm_pda_clear( Program *prg, Tree **sp, struct pda_run *pdaRun ) +void colm_pda_clear( program_t *prg, tree_t **sp, struct pda_run *pdaRun ) { clear_fsm_run( prg, pdaRun ); @@ -1144,20 +1144,20 @@ void colm_pda_clear( Program *prg, Tree **sp, struct pda_run *pdaRun ) pdaRun->stackTop = 0; /* Traverse the token list downreffing. */ - Ref *ref = pdaRun->tokenList; + ref_t *ref = pdaRun->tokenList; while ( ref != 0 ) { - Ref *next = ref->next; - kidFree( prg, (Kid*)ref ); + ref_t *next = ref->next; + kidFree( prg, (kid_t*)ref ); ref = next; } pdaRun->tokenList = 0; /* Traverse the btPoint list downreffing */ - Kid *btp = pdaRun->btPoint; + kid_t *btp = pdaRun->btPoint; while ( btp != 0 ) { - Kid *next = btp->next; + kid_t *next = btp->next; treeDownref( prg, sp, btp->tree ); - kidFree( prg, (Kid*)btp ); + kidFree( prg, (kid_t*)btp ); btp = next; } pdaRun->btPoint = 0; @@ -1177,8 +1177,8 @@ void colm_pda_clear( Program *prg, Tree **sp, struct pda_run *pdaRun ) treeDownref( prg, sp, pdaRun->parseErrorText ); } -void colm_pda_init( Program *prg, struct pda_run *pdaRun, struct pda_tables *tables, - int parserId, long stopTarget, int revertOn, Struct *context ) +void colm_pda_init( program_t *prg, struct pda_run *pdaRun, struct pda_tables *tables, + int parserId, long stopTarget, int revertOn, struct_t *context ) { memset( pdaRun, 0, sizeof(struct pda_run) ); @@ -1193,7 +1193,7 @@ void colm_pda_init( Program *prg, struct pda_run *pdaRun, struct pda_tables *tab /* FIXME: need the right one here. */ pdaRun->pda_cs = prg->rtd->startStates[pdaRun->parserId]; - Kid *sentinal = kidAllocate( prg ); + kid_t *sentinal = kidAllocate( prg ); sentinal->tree = treeAllocate( prg ); sentinal->tree->refs = 1; @@ -1232,7 +1232,7 @@ void colm_pda_init( Program *prg, struct pda_run *pdaRun, struct pda_tables *tab new_token( prg, pdaRun ); } -static long stack_top_target( Program *prg, struct pda_run *pdaRun ) +static long stack_top_target( program_t *prg, struct pda_run *pdaRun ) { long state; if ( pdaRun->stackTop->state < 0 ) @@ -1261,7 +1261,7 @@ static long stack_top_target( Program *prg, struct pda_run *pdaRun ) * -clears all alg structures */ -static int been_committed( ParseTree *parseTree ) +static int been_committed( parse_tree_t *parseTree ) { return parseTree->flags & PF_COMMITTED; } @@ -1277,12 +1277,12 @@ static code_t *backup_over_rcode( code_t *rcode ) /* The top level of the stack is linked right-to-left. Trees underneath are * linked left-to-right. */ -static void commit_kid( Program *prg, struct pda_run *pdaRun, Tree **root, - ParseTree *lel, code_t **rcode, long *causeReduce ) +static void commit_kid( program_t *prg, struct pda_run *pdaRun, tree_t **root, + parse_tree_t *lel, code_t **rcode, long *causeReduce ) { - ParseTree *tree = 0; - Tree **sp = root; - //Tree *restore = 0; + parse_tree_t *tree = 0; + tree_t **sp = root; + //tree_t *restore = 0; head: /* Commit */ @@ -1373,7 +1373,7 @@ head: backup: if ( sp != root ) { - ParseTree *next = vm_pop_ptree(); + parse_tree_t *next = vm_pop_ptree(); if ( next->next == lel ) { /* Moving backwards. */ lel = next; @@ -1393,11 +1393,11 @@ backup: assert( sp == root ); } -static void commit_full( Program *prg, Tree **sp, struct pda_run *pdaRun, long causeReduce ) +static void commit_full( program_t *prg, tree_t **sp, struct pda_run *pdaRun, long causeReduce ) { debug( prg, REALM_PARSE, "running full commit\n" ); - ParseTree *parseTree = pdaRun->stackTop; + parse_tree_t *parseTree = pdaRun->stackTop; code_t *rcode = pdaRun->reverseCode.data + pdaRun->reverseCode.tabLen; /* The top level of the stack is linked right to left. This is the @@ -1423,7 +1423,7 @@ static void commit_full( Program *prg, Tree **sp, struct pda_run *pdaRun, long c * PCR_REDUCTION * PCR_REVERSE */ -static long parse_token( Program *prg, Tree **sp, +static long parse_token( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is, long entry ) { int pos; @@ -1516,7 +1516,7 @@ again: if ( pdaRun->lel->id < prg->rtd->firstNonTermId ) { attach_left_ignore( prg, sp, pdaRun, pdaRun->lel ); - Ref *ref = (Ref*)kidAllocate( prg ); + ref_t *ref = (ref_t*)kidAllocate( prg ); ref->kid = pdaRun->lel->shadow; //treeUpref( pdaRun->tree ); ref->next = pdaRun->tokenList; @@ -1558,9 +1558,9 @@ again: if ( *action & act_rb ) { int r, objectLength; - ParseTree *last, *child; - Kid *attrs; - Kid *dataLast, *dataChild; + parse_tree_t *last, *child; + kid_t *attrs; + kid_t *dataLast, *dataChild; /* If there was shift don't attach again. */ if ( !( *action & act_sb ) && pdaRun->lel->id < prg->rtd->firstNonTermId ) @@ -1571,7 +1571,7 @@ again: if ( pdaRun->parseInput != 0 ) pdaRun->parseInput->causeReduce += 1; - Kid *value = kidAllocate( prg ); + kid_t *value = kidAllocate( prg ); value->tree = treeAllocate( prg ); value->tree->refs = 1; value->tree->id = prg->rtd->prodInfo[pdaRun->reduction].lhsId; @@ -1662,7 +1662,7 @@ again: "adding a restore instruction\n" ); // // /* Make it into a parse tree. */ -// Tree *newPt = prepParseTree( prg, sp, pdaRun->redLel->tree ); +// tree_t *newPt = prepParseTree( prg, sp, pdaRun->redLel->tree ); // treeDownref( prg, sp, pdaRun->redLel->tree ); // // /* Copy it in. */ @@ -1832,18 +1832,18 @@ parseError: pdaRun->parseInput = pdaRun->parseInput->next; /* Extract children from the child list. */ - ParseTree *first = pdaRun->undoLel->child; + parse_tree_t *first = pdaRun->undoLel->child; pdaRun->undoLel->child = 0; /* This will skip the ignores/attributes, etc. */ - Kid *dataFirst = treeExtractChild( prg, pdaRun->undoLel->shadow->tree ); + kid_t *dataFirst = treeExtractChild( prg, pdaRun->undoLel->shadow->tree ); /* Walk the child list and and push the items onto the parsing * stack one at a time. */ while ( first != 0 ) { /* Get the next item ahead of time. */ - ParseTree *next = first->next; - Kid *dataNext = dataFirst->next; + parse_tree_t *next = first->next; + kid_t *dataNext = dataFirst->next; /* Push onto the stack. */ first->next = pdaRun->stackTop; @@ -1890,7 +1890,7 @@ parseError: /* Send back any accumulated ignore tokens, then trigger error * in the the parser. */ - ParseTree *ignore = pdaRun->accumIgnore; + parse_tree_t *ignore = pdaRun->accumIgnore; pdaRun->accumIgnore = pdaRun->accumIgnore->next; ignore->next = 0; @@ -1938,9 +1938,9 @@ parseError: pdaRun->parseInput = pdaRun->undoLel; /* Pop from the token list. */ - Ref *ref = pdaRun->tokenList; + ref_t *ref = pdaRun->tokenList; pdaRun->tokenList = ref->next; - kidFree( prg, (Kid*)ref ); + kidFree( prg, (kid_t*)ref ); assert( pdaRun->accumIgnore == 0 ); detach_left_ignore( prg, sp, pdaRun, pdaRun->parseInput ); @@ -1992,7 +1992,7 @@ _out: * PCR_REVERSE */ -long colm_parse_loop( Program *prg, Tree **sp, struct pda_run *pdaRun, +long colm_parse_loop( program_t *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *is, long entry ) { struct lang_el_info *lelInfo = prg->rtd->lelInfo; @@ -2229,8 +2229,8 @@ skipSend: } -long colm_parse_frag( Program *prg, Tree **sp, struct pda_run *pdaRun, - Stream *input, long stopId, long entry ) +long colm_parse_frag( program_t *prg, tree_t **sp, struct pda_run *pdaRun, + stream_t *input, long stopId, long entry ) { /* COROUTINE */ switch ( entry ) { @@ -2263,8 +2263,8 @@ long colm_parse_frag( Program *prg, Tree **sp, struct pda_run *pdaRun, return PCR_DONE; } -long colm_parse_finish( Tree **result, Program *prg, Tree **sp, - struct pda_run *pdaRun, Stream *input , int revertOn, long entry ) +long colm_parse_finish( tree_t **result, program_t *prg, tree_t **sp, + struct pda_run *pdaRun, stream_t *input , int revertOn, long entry ) { struct stream_impl *si; @@ -2303,7 +2303,7 @@ long colm_parse_finish( Tree **result, Program *prg, Tree **sp, if ( !revertOn ) commit_full( prg, sp, pdaRun, 0 ); - Tree *tree = get_parsed_root( pdaRun, pdaRun->stopTarget > 0 ); + tree_t *tree = get_parsed_root( pdaRun, pdaRun->stopTarget > 0 ); treeUpref( tree ); *result = tree; @@ -2315,8 +2315,8 @@ long colm_parse_finish( Tree **result, Program *prg, Tree **sp, return PCR_DONE; } -long colm_parse_undo_frag( Program *prg, Tree **sp, struct pda_run *pdaRun, - Stream *input, long steps, long entry ) +long colm_parse_undo_frag( program_t *prg, tree_t **sp, struct pda_run *pdaRun, + stream_t *input, long steps, long entry ) { debug( prg, REALM_PARSE, "undo parse frag, target steps: %ld, pdarun steps: %ld\n", diff --git a/src/pdarun.h b/src/pdarun.h index ae170267..a0b6ae80 100644 --- a/src/pdarun.h +++ b/src/pdarun.h @@ -86,17 +86,17 @@ struct rt_code_vect /* FIXME: leak when freed. */ }; -void listAddAfter( List *list, ListEl *prev_el, ListEl *new_el ); -void listAddBefore( List *list, ListEl *next_el, ListEl *new_el ); +void listAddAfter( list_t *list, list_el_t *prev_el, list_el_t *new_el ); +void listAddBefore( list_t *list, list_el_t *next_el, list_el_t *new_el ); -void listPrepend( List *list, ListEl *new_el ); -void listAppend( List *list, ListEl *new_el ); +void listPrepend( list_t *list, list_el_t *new_el ); +void listAppend( list_t *list, list_el_t *new_el ); -ListEl *listDetach( List *list, ListEl *el ); -ListEl *listDetachFirst(List *list ); -ListEl *listDetachLast(List *list ); +list_el_t *listDetach( list_t *list, list_el_t *el ); +list_el_t *listDetachFirst(list_t *list ); +list_el_t *listDetachLast(list_t *list ); -long listLength(List *list); +long listLength(list_t *list); struct function_info { @@ -287,8 +287,8 @@ struct pda_run * Parsing */ int numRetry; - ParseTree *stackTop; - Ref *tokenList; + parse_tree_t *stackTop; + ref_t *tokenList; int pda_cs; int nextRegionInd; @@ -302,9 +302,9 @@ struct pda_run int stopParsing; long stopTarget; - ParseTree *accumIgnore; + parse_tree_t *accumIgnore; - Kid *btPoint; + kid_t *btPoint; struct bindings *bindings; @@ -326,26 +326,26 @@ struct pda_run * Data we added when refactoring the parsing engine into a coroutine. */ - ParseTree *parseInput; + parse_tree_t *parseInput; struct frame_info *fi; int reduction; - ParseTree *redLel; + parse_tree_t *redLel; int curState; - ParseTree *lel; + parse_tree_t *lel; int triggerUndo; int tokenId; - Head *tokdata; + head_t *tokdata; int frameId; int next; - ParseTree *undoLel; + parse_tree_t *undoLel; int checkNext; int checkStop; /* The lhs is sometimes saved before reduction actions in case it is * replaced and we need to restore it on backtracking */ - Tree *parsed; + tree_t *parsed; int reject; @@ -354,7 +354,7 @@ struct pda_run int rcBlockCount; - Tree *parseErrorText; + tree_t *parseErrorText; }; void colm_pda_init( struct colm_program *prg, struct pda_run *pdaRun, @@ -411,8 +411,8 @@ inline static void append_word( struct rt_code_vect *vect, word_t word ) void colm_increment_steps( struct pda_run *pdaRun ); void colm_decrement_steps( struct pda_run *pdaRun ); -void colm_clear_stream_impl( struct colm_program *prg, Tree **sp, struct stream_impl *inputStream ); -void colm_clear_source_stream( struct colm_program *prg, Tree **sp, struct stream_impl *sourceStream ); +void colm_clear_stream_impl( struct colm_program *prg, tree_t **sp, struct stream_impl *inputStream ); +void colm_clear_source_stream( struct colm_program *prg, tree_t **sp, struct stream_impl *sourceStream ); #define PCR_START 1 #define PCR_DONE 2 @@ -421,28 +421,28 @@ void colm_clear_source_stream( struct colm_program *prg, Tree **sp, struct strea #define PCR_PRE_EOF 5 #define PCR_REVERSE 6 -Head *colm_stream_pull( struct colm_program *prg, struct colm_tree **sp, +head_t *colm_stream_pull( struct colm_program *prg, struct colm_tree **sp, struct pda_run *pdaRun, struct stream_impl *is, long length ); -Head *colm_string_alloc_pointer( struct colm_program *prg, const char *data, long length ); +head_t *colm_string_alloc_pointer( struct colm_program *prg, const char *data, long length ); void colm_stream_push_text( struct stream_impl *inputStream, const char *data, long length ); -void colm_stream_push_tree( struct stream_impl *inputStream, Tree *tree, int ignore ); -void colm_stream_push_stream( struct stream_impl *inputStream, Tree *tree ); -void colm_undo_stream_push( struct colm_program *prg, Tree **sp, +void colm_stream_push_tree( struct stream_impl *inputStream, tree_t *tree, int ignore ); +void colm_stream_push_stream( struct stream_impl *inputStream, tree_t *tree ); +void colm_undo_stream_push( struct colm_program *prg, tree_t **sp, struct stream_impl *inputStream, long length ); -Kid *make_token_with_data( struct colm_program *prg, struct pda_run *pdaRun, - struct stream_impl *inputStream, int id, Head *tokdata ); +kid_t *make_token_with_data( struct colm_program *prg, struct pda_run *pdaRun, + struct stream_impl *inputStream, int id, head_t *tokdata ); -long colm_parse_loop( struct colm_program *prg, Tree **sp, struct pda_run *pdaRun, +long colm_parse_loop( struct colm_program *prg, tree_t **sp, struct pda_run *pdaRun, struct stream_impl *inputStream, long entry ); -long colm_parse_frag( struct colm_program *prg, Tree **sp, struct pda_run *pdaRun, - Stream *input, long stopId, long entry ); -long colm_parse_finish( Tree **result, struct colm_program *prg, Tree **sp, - struct pda_run *pdaRun, Stream *input , int revertOn, long entry ); -long colm_parse_undo_frag( struct colm_program *prg, Tree **sp, struct pda_run *pdaRun, - Stream *input, long steps, long entry ); +long colm_parse_frag( struct colm_program *prg, tree_t **sp, struct pda_run *pdaRun, + stream_t *input, long stopId, long entry ); +long colm_parse_finish( tree_t **result, struct colm_program *prg, tree_t **sp, + struct pda_run *pdaRun, stream_t *input , int revertOn, long entry ); +long colm_parse_undo_frag( struct colm_program *prg, tree_t **sp, struct pda_run *pdaRun, + stream_t *input, long steps, long entry ); #ifdef __cplusplus } @@ -125,189 +125,189 @@ long poolAllocNumLost( struct pool_alloc *poolAlloc ) } /* - * Kid + * kid_t */ -Kid *kidAllocate( Program *prg ) +kid_t *kidAllocate( program_t *prg ) { - return (Kid*) poolAllocAllocate( &prg->kidPool ); + return (kid_t*) poolAllocAllocate( &prg->kidPool ); } -void kidFree( Program *prg, Kid *el ) +void kidFree( program_t *prg, kid_t *el ) { poolAllocFree( &prg->kidPool, el ); } -void kidClear( Program *prg ) +void kidClear( program_t *prg ) { poolAllocClear( &prg->kidPool ); } -long kidNumLost( Program *prg ) +long kidNumLost( program_t *prg ) { return poolAllocNumLost( &prg->kidPool ); } /* - * Tree + * tree_t */ -Tree *treeAllocate( Program *prg ) +tree_t *treeAllocate( program_t *prg ) { - return (Tree*) poolAllocAllocate( &prg->treePool ); + return (tree_t*) poolAllocAllocate( &prg->treePool ); } -void treeFree( Program *prg, Tree *el ) +void treeFree( program_t *prg, tree_t *el ) { poolAllocFree( &prg->treePool, el ); } -void treeClear( Program *prg ) +void treeClear( program_t *prg ) { poolAllocClear( &prg->treePool ); } -long treeNumLost( Program *prg ) +long treeNumLost( program_t *prg ) { return poolAllocNumLost( &prg->treePool ); } /* - * ParseTree + * parse_tree_t */ -ParseTree *parseTreeAllocate( Program *prg ) +parse_tree_t *parseTreeAllocate( program_t *prg ) { - return (ParseTree*) poolAllocAllocate( &prg->parseTreePool ); + return (parse_tree_t*) poolAllocAllocate( &prg->parseTreePool ); } -void parseTreeFree( Program *prg, ParseTree *el ) +void parseTreeFree( program_t *prg, parse_tree_t *el ) { poolAllocFree( &prg->parseTreePool, el ); } -void parseTreeClear( Program *prg ) +void parseTreeClear( program_t *prg ) { poolAllocClear( &prg->parseTreePool ); } -long parseTreeNumLost( Program *prg ) +long parseTreeNumLost( program_t *prg ) { return poolAllocNumLost( &prg->parseTreePool ); } /* - * ListEl + * list_el_t */ #if 0 -ListEl *listElAllocate( Program *prg ) +list_el_t *listElAllocate( program_t *prg ) { - return (ListEl*) poolAllocAllocate( &prg->listElPool ); + return (list_el_t*) poolAllocAllocate( &prg->listElPool ); } -void listElFree( Program *prg, ListEl *el ) +void listElFree( program_t *prg, list_el_t *el ) { //poolAllocFree( &prg->listElPool, el ); } -void listElClear( Program *prg ) +void listElClear( program_t *prg ) { poolAllocClear( &prg->listElPool ); } -long listElNumLost( Program *prg ) +long listElNumLost( program_t *prg ) { return poolAllocNumLost( &prg->listElPool ); } #endif /* - * MapEl + * map_el_t */ #if 0 -MapEl *mapElAllocate( Program *prg ) +map_el_t *mapElAllocate( program_t *prg ) { - return (MapEl*) poolAllocAllocate( &prg->mapElPool ); + return (map_el_t*) poolAllocAllocate( &prg->mapElPool ); } -void mapElFree( Program *prg, MapEl *el ) +void mapElFree( program_t *prg, map_el_t *el ) { poolAllocFree( &prg->mapElPool, el ); } -void mapElClear( Program *prg ) +void mapElClear( program_t *prg ) { poolAllocClear( &prg->mapElPool ); } -long mapElNumLost( Program *prg ) +long mapElNumLost( program_t *prg ) { return poolAllocNumLost( &prg->mapElPool ); } #endif /* - * Head + * head_t */ -Head *headAllocate( Program *prg ) +head_t *headAllocate( program_t *prg ) { - return (Head*) poolAllocAllocate( &prg->headPool ); + return (head_t*) poolAllocAllocate( &prg->headPool ); } -void headFree( Program *prg, Head *el ) +void headFree( program_t *prg, head_t *el ) { poolAllocFree( &prg->headPool, el ); } -void headClear( Program *prg ) +void headClear( program_t *prg ) { poolAllocClear( &prg->headPool ); } -long headNumLost( Program *prg ) +long headNumLost( program_t *prg ) { return poolAllocNumLost( &prg->headPool ); } /* - * Location + * location_t */ -Location *locationAllocate( Program *prg ) +location_t *locationAllocate( program_t *prg ) { - return (Location*) poolAllocAllocate( &prg->locationPool ); + return (location_t*) poolAllocAllocate( &prg->locationPool ); } -void locationFree( Program *prg, Location *el ) +void locationFree( program_t *prg, location_t *el ) { poolAllocFree( &prg->locationPool, el ); } -void locationClear( Program *prg ) +void locationClear( program_t *prg ) { poolAllocClear( &prg->locationPool ); } -long locationNumLost( Program *prg ) +long locationNumLost( program_t *prg ) { return poolAllocNumLost( &prg->locationPool ); } /* - * Stream + * stream_t */ #if 0 -Stream *streamAllocate( Program *prg ) +stream_t *streamAllocate( program_t *prg ) { - return (Stream*)mapElAllocate( prg ); + return (stream_t*)mapElAllocate( prg ); } -void streamFree( Program *prg, Stream *stream ) +void streamFree( program_t *prg, stream_t *stream ) { - mapElFree( prg, (MapEl*)stream ); + mapElFree( prg, (map_el_t*)stream ); } #endif @@ -35,46 +35,46 @@ extern "C" { void initPoolAlloc( struct pool_alloc *poolAlloc, int sizeofT ); -Kid *kidAllocate( Program *prg ); -void kidFree( Program *prg, Kid *el ); -void kidClear( Program *prg ); -long kidNumLost( Program *prg ); - -Tree *treeAllocate( Program *prg ); -void treeFree( Program *prg, Tree *el ); -void treeClear( Program *prg ); -long treeNumLost( Program *prg ); - -ParseTree *parseTreeAllocate( Program *prg ); -void parseTreeFree( Program *prg, ParseTree *el ); -void parseTreeClear( Program *prg ); -long parseTreeNumLost( Program *prg ); - -ListEl *listElAllocate( Program *prg ); -void listElFree( Program *prg, ListEl *el ); -void listElClear( Program *prg ); -long listElNumLost( Program *prg ); - -MapEl *mapElAllocate( Program *prg ); -void mapElFree( Program *prg, MapEl *el ); -void mapElClear( Program *prg ); -long mapElNumLost( Program *prg ); - -Head *headAllocate( Program *prg ); -void headFree( Program *prg, Head *el ); -void headClear( Program *prg ); -long headNumLost( Program *prg ); - -Location *locationAllocate( Program *prg ); -void locationFree( Program *prg, Location *el ); -void locationClear( Program *prg ); -long locationNumLost( Program *prg ); - -Stream *streamAllocate( Program *prg ); -void streamFree( Program *prg, Stream *stream ); +kid_t *kidAllocate( program_t *prg ); +void kidFree( program_t *prg, kid_t *el ); +void kidClear( program_t *prg ); +long kidNumLost( program_t *prg ); + +tree_t *treeAllocate( program_t *prg ); +void treeFree( program_t *prg, tree_t *el ); +void treeClear( program_t *prg ); +long treeNumLost( program_t *prg ); + +parse_tree_t *parseTreeAllocate( program_t *prg ); +void parseTreeFree( program_t *prg, parse_tree_t *el ); +void parseTreeClear( program_t *prg ); +long parseTreeNumLost( program_t *prg ); + +list_el_t *listElAllocate( program_t *prg ); +void listElFree( program_t *prg, list_el_t *el ); +void listElClear( program_t *prg ); +long listElNumLost( program_t *prg ); + +map_el_t *mapElAllocate( program_t *prg ); +void mapElFree( program_t *prg, map_el_t *el ); +void mapElClear( program_t *prg ); +long mapElNumLost( program_t *prg ); + +head_t *headAllocate( program_t *prg ); +void headFree( program_t *prg, head_t *el ); +void headClear( program_t *prg ); +long headNumLost( program_t *prg ); + +location_t *locationAllocate( program_t *prg ); +void locationFree( program_t *prg, location_t *el ); +void locationClear( program_t *prg ); +long locationNumLost( program_t *prg ); + +stream_t *streamAllocate( program_t *prg ); +void streamFree( program_t *prg, stream_t *stream ); /* Wrong place. */ -TreePair mapRemove( Program *prg, Map *map, Tree *key ); +struct tree_pair mapRemove( program_t *prg, map_t *map, tree_t *key ); #ifdef __cplusplus } diff --git a/src/program.c b/src/program.c index e586bdca..b3374ef4 100644 --- a/src/program.c +++ b/src/program.c @@ -35,16 +35,16 @@ #define VM_STACK_SIZE (8192) -static void colm_alloc_global( Program *prg ) +static void colm_alloc_global( program_t *prg ) { /* Alloc the global. */ prg->global = colm_struct_new( prg, prg->rtd->globalId ) ; } -void vm_init( Program *prg ) +void vm_init( program_t *prg ) { struct stack_block *b = malloc( sizeof(struct stack_block) ); - b->data = malloc( sizeof(Tree*) * VM_STACK_SIZE ); + b->data = malloc( sizeof(tree_t*) * VM_STACK_SIZE ); b->len = VM_STACK_SIZE; b->offset = 0; b->next = 0; @@ -57,12 +57,12 @@ void vm_init( Program *prg ) prg->stackRoot = prg->sb_end; } -Tree **colm_vm_root( Program *prg ) +tree_t **colm_vm_root( program_t *prg ) { return prg->stackRoot; } -Tree **vm_bs_add( Program *prg, Tree **sp, int n ) +tree_t **vm_bs_add( program_t *prg, tree_t **sp, int n ) { /* Close off the current block. */ if ( prg->stackBlock != 0 ) { @@ -84,7 +84,7 @@ Tree **vm_bs_add( Program *prg, Tree **sp, int n ) if ( n > size ) size = n; b->next = prg->stackBlock; - b->data = malloc( sizeof(Tree*) * size ); + b->data = malloc( sizeof(tree_t*) * size ); b->len = size; b->offset = 0; @@ -97,10 +97,10 @@ Tree **vm_bs_add( Program *prg, Tree **sp, int n ) return prg->sb_end; } -Tree **vm_bs_pop( Program *prg, Tree **sp, int n ) +tree_t **vm_bs_pop( program_t *prg, tree_t **sp, int n ) { while ( 1 ) { - Tree **end = prg->stackBlock->data + prg->stackBlock->len; + tree_t **end = prg->stackBlock->data + prg->stackBlock->len; int remaining = end - sp; /* Don't have to free this block. Remaining values to pop leave us @@ -142,7 +142,7 @@ Tree **vm_bs_pop( Program *prg, Tree **sp, int n ) } } -void vm_clear( Program *prg ) +void vm_clear( program_t *prg ) { while ( prg->stackBlock != 0 ) { struct stack_block *b = prg->stackBlock; @@ -158,36 +158,35 @@ void vm_clear( Program *prg ) } } -Tree *colm_return_val( struct colm_program *prg ) +tree_t *colm_return_val( struct colm_program *prg ) { return prg->returnVal; } -void colm_set_debug( Program *prg, long activeRealm ) +void colm_set_debug( program_t *prg, long activeRealm ) { prg->activeRealm = activeRealm; } -Program *colm_new_program( struct colm_sections *rtd ) +program_t *colm_new_program( struct colm_sections *rtd ) { - Program *prg = malloc(sizeof(Program)); - memset( prg, 0, sizeof(Program) ); + program_t *prg = malloc(sizeof(program_t)); + memset( prg, 0, sizeof(program_t) ); - assert( sizeof(Int) <= sizeof(Tree) ); - assert( sizeof(Str) <= sizeof(Tree) ); - assert( sizeof(Pointer) <= sizeof(Tree) ); + assert( sizeof(str_t) <= sizeof(tree_t) ); + assert( sizeof(pointer_t) <= sizeof(tree_t) ); prg->rtd = rtd; prg->ctxDepParsing = 1; - initPoolAlloc( &prg->kidPool, sizeof(Kid) ); - initPoolAlloc( &prg->treePool, sizeof(Tree) ); - initPoolAlloc( &prg->parseTreePool, sizeof(ParseTree) ); - initPoolAlloc( &prg->headPool, sizeof(Head) ); - initPoolAlloc( &prg->locationPool, sizeof(Location) ); + initPoolAlloc( &prg->kidPool, sizeof(kid_t) ); + initPoolAlloc( &prg->treePool, sizeof(tree_t) ); + initPoolAlloc( &prg->parseTreePool, sizeof(parse_tree_t) ); + initPoolAlloc( &prg->headPool, sizeof(head_t) ); + initPoolAlloc( &prg->locationPool, sizeof(location_t) ); - prg->trueVal = (Tree*) 1; - prg->falseVal = (Tree*) 0; + prg->trueVal = (tree_t*) 1; + prg->falseVal = (tree_t*) 0; /* Allocate the global variable. */ colm_alloc_global( prg ); @@ -197,7 +196,7 @@ Program *colm_new_program( struct colm_sections *rtd ) return prg; } -void colm_run_program( Program *prg, int argc, const char **argv ) +void colm_run_program( program_t *prg, int argc, const char **argv ) { if ( prg->rtd->rootCodeLen == 0 ) return; @@ -217,7 +216,7 @@ void colm_run_program( Program *prg, int argc, const char **argv ) prg->argv = 0; } -static void colm_clear_heap( Program *prg, Tree **sp ) +static void colm_clear_heap( program_t *prg, tree_t **sp ) { struct colm_struct *hi = prg->heap.head; while ( hi != 0 ) { @@ -227,9 +226,9 @@ static void colm_clear_heap( Program *prg, Tree **sp ) } } -int colm_delete_program( Program *prg ) +int colm_delete_program( program_t *prg ) { - Tree **sp = prg->stackRoot; + tree_t **sp = prg->stackRoot; int exitStatus = prg->exitStatus; treeDownref( prg, sp, prg->returnVal ); diff --git a/src/program.h b/src/program.h index a6e9afed..d74d4480 100644 --- a/src/program.h +++ b/src/program.h @@ -26,7 +26,7 @@ struct stack_block { - Tree **data; + tree_t **data; int len; int offset; struct stack_block *next; @@ -69,7 +69,7 @@ struct colm_sections const char **litdata; long *litlen; - Head **literals; + head_t **literals; long numLiterals; CaptureAttr *captureAttr; @@ -95,10 +95,10 @@ struct colm_sections long argvElId; void (*fsm_execute)( struct pda_run *pdaRun, struct stream_impl *inputStream ); - void (*sendNamedLangEl)( struct colm_program *prg, Tree **tree, + void (*sendNamedLangEl)( struct colm_program *prg, tree_t **tree, struct pda_run *pdaRun, struct stream_impl *inputStream ); void (*initBindings)( struct pda_run *pdaRun ); - void (*popBinding)( struct pda_run *pdaRun, ParseTree *tree ); + void (*popBinding)( struct pda_run *pdaRun, parse_tree_t *tree ); }; @@ -127,29 +127,29 @@ struct colm_program struct pool_alloc headPool; struct pool_alloc locationPool; - Tree *trueVal; - Tree *falseVal; + tree_t *trueVal; + tree_t *falseVal; struct heap_list heap; - Stream *stdinVal; - Stream *stdoutVal; - Stream *stderrVal; + stream_t *stdinVal; + stream_t *stdoutVal; + stream_t *stderrVal; - Tree *error; + tree_t *error; RunBuf *allocRunBuf; /* Current stack block limits. Changed when crossing block boundaries. */ - Tree **sb_beg; - Tree **sb_end; + tree_t **sb_beg; + tree_t **sb_end; long sb_total; struct stack_block *reserve; struct stack_block *stackBlock; - Tree **stackRoot; + tree_t **stackRoot; /* Returned value for main program and any exported functions. */ - Tree *returnVal; + tree_t *returnVal; }; #endif diff --git a/src/string.c b/src/string.c index ef184357..e7be130b 100644 --- a/src/string.c +++ b/src/string.c @@ -29,26 +29,26 @@ #include <stdlib.h> #include <ctype.h> -Str *string_prefix( Program *prg, Str *str, long len ) +str_t *string_prefix( program_t *prg, str_t *str, long len ) { - Head *head = stringAllocFull( prg, str->value->data, len ); - return (Str*)constructString( prg, head ); + head_t *head = stringAllocFull( prg, str->value->data, len ); + return (str_t*)constructString( prg, head ); } -Str *string_suffix( Program *prg, Str *str, long pos ) +str_t *string_suffix( program_t *prg, str_t *str, long pos ) { long len = str->value->length - pos; - Head *head = stringAllocFull( prg, str->value->data + pos, len ); - return (Str*)constructString( prg, head ); + head_t *head = stringAllocFull( prg, str->value->data + pos, len ); + return (str_t*)constructString( prg, head ); } -Tree *constructString( Program *prg, Head *s ) +tree_t *constructString( program_t *prg, head_t *s ) { - Str *str = (Str*) treeAllocate( prg ); + str_t *str = (str_t*) treeAllocate( prg ); str->id = LEL_ID_STR; str->value = s; - return (Tree*)str; + return (tree_t*)str; } @@ -59,9 +59,9 @@ Tree *constructString( Program *prg, Head *s ) * nulls. */ -Head *stringCopy( Program *prg, Head *head ) +head_t *stringCopy( program_t *prg, head_t *head ) { - Head *result = 0; + head_t *result = 0; if ( head != 0 ) { if ( (char*)(head+1) == head->data ) result = stringAllocFull( prg, head->data, head->length ); @@ -79,7 +79,7 @@ Head *stringCopy( Program *prg, Head *head ) return result; } -void stringFree( Program *prg, Head *head ) +void stringFree( program_t *prg, head_t *head ) { if ( head != 0 ) { if ( head->location != 0 ) @@ -96,30 +96,30 @@ void stringFree( Program *prg, Head *head ) } } -const char *stringData( Head *head ) +const char *stringData( head_t *head ) { if ( head == 0 ) return 0; return head->data; } -long stringLength( Head *head ) +long stringLength( head_t *head ) { if ( head == 0 ) return 0; return head->length; } -void stringShorten( Head *head, long newlen ) +void stringShorten( head_t *head, long newlen ) { assert( newlen <= head->length ); head->length = newlen; } -Head *initStrSpace( long length ) +head_t *initStrSpace( long length ) { /* Find the length and allocate the space for the shared string. */ - Head *head = (Head*) malloc( sizeof(Head) + length ); + head_t *head = (head_t*) malloc( sizeof(head_t) + length ); /* Init the header. */ head->data = (char*)(head+1); @@ -131,10 +131,10 @@ Head *initStrSpace( long length ) } /* Create from a c-style string. */ -Head *stringAllocFull( Program *prg, const char *data, long length ) +head_t *stringAllocFull( program_t *prg, const char *data, long length ) { /* Init space for the data. */ - Head *head = initStrSpace( length ); + head_t *head = initStrSpace( length ); /* Copy in the data. */ memcpy( (head+1), data, length ); @@ -143,10 +143,10 @@ Head *stringAllocFull( Program *prg, const char *data, long length ) } /* Create from a c-style string. */ -Head *colm_string_alloc_pointer( Program *prg, const char *data, long length ) +head_t *colm_string_alloc_pointer( program_t *prg, const char *data, long length ) { /* Find the length and allocate the space for the shared string. */ - Head *head = headAllocate( prg ); + head_t *head = headAllocate( prg ); /* Init the header. */ head->data = data; @@ -155,13 +155,13 @@ Head *colm_string_alloc_pointer( Program *prg, const char *data, long length ) return head; } -Head *concatStr( Head *s1, Head *s2 ) +head_t *concatStr( head_t *s1, head_t *s2 ) { long s1Len = s1->length; long s2Len = s2->length; /* Init space for the data. */ - Head *head = initStrSpace( s1Len + s2Len ); + head_t *head = initStrSpace( s1Len + s2Len ); /* Copy in the data. */ memcpy( (head+1), s1->data, s1Len ); @@ -170,11 +170,11 @@ Head *concatStr( Head *s1, Head *s2 ) return head; } -Head *stringToUpper( Head *s ) +head_t *stringToUpper( head_t *s ) { /* Init space for the data. */ long len = s->length; - Head *head = initStrSpace( len ); + head_t *head = initStrSpace( len ); /* Copy in the data. */ const char *src = s->data; @@ -186,11 +186,11 @@ Head *stringToUpper( Head *s ) return head; } -Head *stringToLower( Head *s ) +head_t *stringToLower( head_t *s ) { /* Init space for the data. */ long len = s->length; - Head *head = initStrSpace( len ); + head_t *head = initStrSpace( len ); /* Copy in the data. */ const char *src = s->data; @@ -204,7 +204,7 @@ Head *stringToLower( Head *s ) /* Compare two strings. If identical returns 1, otherwise 0. */ -word_t cmpString( Head *s1, Head *s2 ) +word_t cmpString( head_t *s1, head_t *s2 ) { if ( s1->length < s2->length ) return -1; @@ -217,7 +217,7 @@ word_t cmpString( Head *s1, Head *s2 ) } } -word_t strAtoi( Head *str ) +word_t strAtoi( head_t *str ) { /* FIXME: need to implement this by hand. There is no null terminator. */ char *nulled = (char*)malloc( str->length + 1 ); @@ -228,7 +228,7 @@ word_t strAtoi( Head *str ) return res; } -word_t strAtoo( Head *str ) +word_t strAtoo( head_t *str ) { /* FIXME: need to implement this by hand. There is no null terminator. */ char *nulled = (char*)malloc( str->length + 1 ); @@ -239,14 +239,14 @@ word_t strAtoo( Head *str ) return res; } -Head *intToStr( Program *prg, word_t i ) +head_t *intToStr( program_t *prg, word_t i ) { char data[20]; sprintf( data, "%ld", i ); return stringAllocFull( prg, data, strlen(data) ); } -word_t strUord16( Head *head ) +word_t strUord16( head_t *head ) { uchar *data = (uchar*)(head->data); ulong res; @@ -255,25 +255,25 @@ word_t strUord16( Head *head ) return res; } -word_t strUord8( Head *head ) +word_t strUord8( head_t *head ) { uchar *data = (uchar*)(head->data); ulong res = (ulong)data[0]; return res; } -Head *makeLiteral( Program *prg, long offset ) +head_t *makeLiteral( program_t *prg, long offset ) { return colm_string_alloc_pointer( prg, prg->rtd->litdata[offset], prg->rtd->litlen[offset] ); } -Head *stringSprintf( Program *prg, Str *format, long integer ) +head_t *stringSprintf( program_t *prg, str_t *format, long integer ) { - Head *formatHead = format->value; + head_t *formatHead = format->value; long written = snprintf( 0, 0, stringData(formatHead), integer ); - Head *head = initStrSpace( written+1 ); + head_t *head = initStrSpace( written+1 ); written = snprintf( (char*)head->data, written+1, stringData(formatHead), integer ); head->length -= 1; return head; diff --git a/src/struct.c b/src/struct.c index fbe0784a..702dce75 100644 --- a/src/struct.c +++ b/src/struct.c @@ -9,12 +9,12 @@ #include <assert.h> #include <stdbool.h> -struct colm_tree *colm_get_global( Program *prg, long pos ) +struct colm_tree *colm_get_global( program_t *prg, long pos ) { - return colm_struct_get_field( prg->global, Tree*, pos ); + return colm_struct_get_field( prg->global, tree_t*, pos ); } -void colm_struct_add( Program *prg, struct colm_struct *item ) +void colm_struct_add( program_t *prg, struct colm_struct *item ) { if ( prg->heap.head == 0 ) { prg->heap.head = prg->heap.tail = item; @@ -28,9 +28,9 @@ void colm_struct_add( Program *prg, struct colm_struct *item ) } } -struct colm_struct *colm_struct_new_size( Program *prg, int size ) +struct colm_struct *colm_struct_new_size( program_t *prg, int size ) { - size_t memsize = sizeof(struct colm_struct) + ( sizeof(Tree*) * size ); + size_t memsize = sizeof(struct colm_struct) + ( sizeof(tree_t*) * size ); struct colm_struct *item = (struct colm_struct*) malloc( memsize ); memset( item, 0, memsize ); @@ -38,14 +38,14 @@ struct colm_struct *colm_struct_new_size( Program *prg, int size ) return item; } -struct colm_struct *colm_struct_new( Program *prg, int id ) +struct colm_struct *colm_struct_new( program_t *prg, int id ) { struct colm_struct *s = colm_struct_new_size( prg, prg->rtd->selInfo[id].size ); s->id = id; return s; } -void colm_struct_delete( Program *prg, Tree **sp, struct colm_struct *el ) +void colm_struct_delete( program_t *prg, tree_t **sp, struct colm_struct *el ) { if ( el->id == STRUCT_INBUILT_ID ) { colm_destructor_t destructor = ((struct colm_inbuilt*)el)->destructor; @@ -57,14 +57,14 @@ void colm_struct_delete( Program *prg, Tree **sp, struct colm_struct *el ) short *t = prg->rtd->selInfo[el->id].trees; int i, len = prg->rtd->selInfo[el->id].treesLen; for ( i = 0; i < len; i++ ) { - Tree *tree = colm_struct_get_field( el, Tree*, t[i] ); + tree_t *tree = colm_struct_get_field( el, tree_t*, t[i] ); treeDownref( prg, sp, tree ); } } free( el ); } -void colm_parser_destroy( Program *prg, Tree **sp, struct colm_struct *s ) +void colm_parser_destroy( program_t *prg, tree_t **sp, struct colm_struct *s ) { struct colm_parser *parser = (struct colm_parser*) s; @@ -76,7 +76,7 @@ void colm_parser_destroy( Program *prg, Tree **sp, struct colm_struct *s ) treeDownref( prg, sp, parser->result ); } -Parser *colm_parser_new( Program *prg, struct generic_info *gi ) +parser_t *colm_parser_new( program_t *prg, struct generic_info *gi ) { struct pda_run *pdaRun = malloc( sizeof(struct pda_run) ); @@ -96,20 +96,20 @@ Parser *colm_parser_new( Program *prg, struct generic_info *gi ) return parser; } -void colm_map_destroy( Program *prg, Tree **sp, struct colm_struct *s ) +void colm_map_destroy( program_t *prg, tree_t **sp, struct colm_struct *s ) { struct colm_map *map = (struct colm_map*) s; - MapEl *el = map->head; + map_el_t *el = map->head; while ( el != 0 ) { - MapEl *next = el->next; + map_el_t *next = el->next; treeDownref( prg, sp, el->key ); //mapElFree( prg, el ); el = next; } } -Map *colm_map_new( struct colm_program *prg ) +map_t *colm_map_new( struct colm_program *prg ) { size_t memsize = sizeof(struct colm_map); struct colm_map *map = (struct colm_map*) malloc( memsize ); @@ -119,10 +119,10 @@ Map *colm_map_new( struct colm_program *prg ) return map; } -Struct *colm_construct_generic( Program *prg, long genericId ) +struct_t *colm_construct_generic( program_t *prg, long genericId ) { struct generic_info *genericInfo = &prg->rtd->genericInfo[genericId]; - Struct *newGeneric = 0; + struct_t *newGeneric = 0; switch ( genericInfo->type ) { case GEN_MAP_EL: case GEN_LIST_EL: @@ -131,23 +131,23 @@ Struct *colm_construct_generic( Program *prg, long genericId ) case GEN_MAP: case GEN_VMAP: { - Map *map = colm_map_new( prg ); + map_t *map = colm_map_new( prg ); map->genericInfo = genericInfo; - newGeneric = (Struct*) map; + newGeneric = (struct_t*) map; break; } case GEN_LIST: case GEN_VLIST: { - List *list = colm_list_new( prg ); + list_t *list = colm_list_new( prg ); list->genericInfo = genericInfo; - newGeneric = (Struct*) list; + newGeneric = (struct_t*) list; break; } case GEN_PARSER: { - Parser *parser = colm_parser_new( prg, genericInfo ); + parser_t *parser = colm_parser_new( prg, genericInfo ); parser->input = colm_stream_new( prg ); - newGeneric = (Struct*) parser; + newGeneric = (struct_t*) parser; break; } } diff --git a/src/struct.h b/src/struct.h index a4296b19..1ffb9af7 100644 --- a/src/struct.h +++ b/src/struct.h @@ -6,7 +6,7 @@ extern "C" { #endif typedef void (*colm_destructor_t)( struct colm_program *prg, - Tree **sp, struct colm_struct *s ); + tree_t **sp, struct colm_struct *s ); struct colm_struct { @@ -33,8 +33,8 @@ typedef struct colm_parser struct pda_run *pdaRun; struct colm_stream *input; - Tree *result; -} Parser; + tree_t *result; +} parser_t; /* Must overlay colm_inbuilt. */ @@ -47,14 +47,14 @@ typedef struct colm_stream void *buffer[8]; struct stream_impl *impl; -} Stream; +} stream_t; #define COLM_LIST_EL_SIZE 2 typedef struct colm_list_el { struct colm_list_el *list_next; struct colm_list_el *list_prev; -} ListEl; +} list_el_t; /* Must overlay colm_inbuilt. */ typedef struct colm_list @@ -65,20 +65,20 @@ typedef struct colm_list void *buffer[8]; - ListEl *head, *tail; + list_el_t *head, *tail; long listLen; struct generic_info *genericInfo; -} List; +} list_t; typedef struct colm_map_el { - Tree *key; + tree_t *key; struct colm_map_el *left, *right, *parent; long height; struct colm_map_el *next, *prev; -} MapEl; +} map_el_t; #define COLM_MAP_EL_SIZE ( sizeof(colm_map_el) / sizeof(void*) ) @@ -93,7 +93,7 @@ typedef struct colm_map struct colm_map_el *head, *tail, *root; long treeSize; struct generic_info *genericInfo; -} Map; +} map_t; struct colm_struct *colm_struct_new_size( struct colm_program *prg, int size ); struct colm_struct *colm_struct_new( struct colm_program *prg, int id ); @@ -120,28 +120,28 @@ struct colm_struct *colm_struct_inbuilt( struct colm_program *prg, int size, colm_struct_container( el, prg->rtd->genericInfo[genId].elOffset ) #define colm_struct_to_list_el( prg, obj, genId ) \ - colm_struct_get_addr( obj, ListEl*, prg->rtd->genericInfo[genId].elOffset ) + colm_struct_get_addr( obj, list_el_t*, prg->rtd->genericInfo[genId].elOffset ) #define colm_struct_to_map_el( prg, obj, genId ) \ - colm_struct_get_addr( obj, MapEl*, prg->rtd->genericInfo[genId].elOffset ) + colm_struct_get_addr( obj, map_el_t*, prg->rtd->genericInfo[genId].elOffset ) -Parser *colm_parser_new( struct colm_program *prg, struct generic_info *gi ); -Stream *colm_stream_new( struct colm_program *prg ); -Stream *colm_stream_new_struct( struct colm_program *prg ); +parser_t *colm_parser_new( struct colm_program *prg, struct generic_info *gi ); +stream_t *colm_stream_new( struct colm_program *prg ); +stream_t *colm_stream_new_struct( struct colm_program *prg ); -List *colm_list_new( struct colm_program *prg ); -struct colm_struct *colm_list_get( struct colm_program *prg, List *list, +list_t *colm_list_new( struct colm_program *prg ); +struct colm_struct *colm_list_get( struct colm_program *prg, list_t *list, word_t genId, word_t field ); struct colm_struct *colm_list_el_get( struct colm_program *prg, - ListEl *listEl, word_t genId, word_t field ); -ListEl *colm_list_detach_head( List *list ); -ListEl *colm_list_detach_tail( List *list ); -long colm_list_length( List *list ); + list_el_t *listEl, word_t genId, word_t field ); +list_el_t *colm_list_detach_head( list_t *list ); +list_el_t *colm_list_detach_tail( list_t *list ); +long colm_list_length( list_t *list ); -Map *colm_map_new( struct colm_program *prg ); +map_t *colm_map_new( struct colm_program *prg ); struct colm_struct *colm_map_el_get( struct colm_program *prg, - MapEl *mapEl, word_t genId, word_t field ); -struct colm_struct *colm_map_get( struct colm_program *prg, Map *map, + map_el_t *mapEl, word_t genId, word_t field ); +struct colm_struct *colm_map_get( struct colm_program *prg, map_t *map, word_t genId, word_t field ); struct colm_struct *colm_construct_generic( struct colm_program *prg, long genericId ); diff --git a/src/synthesis.cc b/src/synthesis.cc index 2e61396d..65e48656 100644 --- a/src/synthesis.cc +++ b/src/synthesis.cc @@ -298,20 +298,20 @@ long sizeOfField( UniqueType *fieldUT ) case IterDef::Child: case IterDef::Repeat: case IterDef::RevRepeat: - size = sizeof(TreeIter) / sizeof(word_t); + size = sizeof(tree_iter_t) / sizeof(word_t); break; case IterDef::RevChild: - size = sizeof(RevTreeIter) / sizeof(word_t); + size = sizeof(rev_tree_iter_t) / sizeof(word_t); break; case IterDef::Map: case IterDef::List: - size = sizeof(GenericIter) / sizeof(word_t); + size = sizeof(generic_iter_t) / sizeof(word_t); break; case IterDef::User: - /* User iterators are just a pointer to the UserIter struct. The + /* User iterators are just a pointer to the user_iter_t struct. The * struct needs to go right beneath the call to the user iterator * so it can be found by a yield. It is therefore allocated on the * stack right before the call. */ @@ -39,41 +39,41 @@ #define BUFFER_INITIAL_SIZE 4096 -Kid *allocAttrs( Program *prg, long length ) +kid_t *allocAttrs( program_t *prg, long length ) { - Kid *cur = 0; + kid_t *cur = 0; long i; for ( i = 0; i < length; i++ ) { - Kid *next = cur; + kid_t *next = cur; cur = kidAllocate( prg ); cur->next = next; } return cur; } -void freeAttrs( Program *prg, Kid *attrs ) +void freeAttrs( program_t *prg, kid_t *attrs ) { - Kid *cur = attrs; + kid_t *cur = attrs; while ( cur != 0 ) { - Kid *next = cur->next; + kid_t *next = cur->next; kidFree( prg, cur ); cur = next; } } -void freeKidList( Program *prg, Kid *kid ) +void freeKidList( program_t *prg, kid_t *kid ) { while ( kid != 0 ) { - Kid *next = kid->next; + kid_t *next = kid->next; kidFree( prg, kid ); kid = next; } } -static void colm_tree_set_attr( Tree *tree, long pos, Tree *val ) +static void colm_tree_set_attr( tree_t *tree, long pos, tree_t *val ) { long i; - Kid *kid = tree->child; + kid_t *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -85,10 +85,10 @@ static void colm_tree_set_attr( Tree *tree, long pos, Tree *val ) kid->tree = val; } -Tree *colm_get_attr( Tree *tree, long pos ) +tree_t *colm_get_attr( tree_t *tree, long pos ) { long i; - Kid *kid = tree->child; + kid_t *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -101,9 +101,9 @@ Tree *colm_get_attr( Tree *tree, long pos ) } -Tree *colm_get_repeat_next( Tree *tree ) +tree_t *colm_get_repeat_next( tree_t *tree ) { - Kid *kid = tree->child; + kid_t *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -113,9 +113,9 @@ Tree *colm_get_repeat_next( Tree *tree ) return kid->next->tree; } -Tree *colm_get_repeat_val( Tree *tree ) +tree_t *colm_get_repeat_val( tree_t *tree ) { - Kid *kid = tree->child; + kid_t *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -125,9 +125,9 @@ Tree *colm_get_repeat_val( Tree *tree ) return kid->tree; } -int colm_repeat_end( Tree *tree ) +int colm_repeat_end( tree_t *tree ) { - Kid *kid = tree->child; + kid_t *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -137,9 +137,9 @@ int colm_repeat_end( Tree *tree ) return kid == 0; } -int colm_list_last( Tree *tree ) +int colm_list_last( tree_t *tree ) { - Kid *kid = tree->child; + kid_t *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -149,10 +149,10 @@ int colm_list_last( Tree *tree ) return kid->next == 0; } -Kid *getAttrKid( Tree *tree, long pos ) +kid_t *getAttrKid( tree_t *tree, long pos ) { long i; - Kid *kid = tree->child; + kid_t *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -164,40 +164,40 @@ Kid *getAttrKid( Tree *tree, long pos ) return kid; } -Kid *kidListConcat( Kid *list1, Kid *list2 ) +kid_t *kidListConcat( kid_t *list1, kid_t *list2 ) { if ( list1 == 0 ) return list2; else if ( list2 == 0 ) return list1; - Kid *dest = list1; + kid_t *dest = list1; while ( dest->next != 0 ) dest = dest->next; dest->next = list2; return list1; } -Tree *colm_construct_pointer( Program *prg, Value value ) +tree_t *colm_construct_pointer( program_t *prg, value_t value ) { - Pointer *pointer = (Pointer*) treeAllocate( prg ); + pointer_t *pointer = (pointer_t*) treeAllocate( prg ); pointer->id = LEL_ID_PTR; pointer->value = value; - return (Tree*)pointer; + return (tree_t*)pointer; } -Value colm_get_pointer_val( Tree *ptr ) +value_t colm_get_pointer_val( tree_t *ptr ) { - return ((Pointer*)ptr)->value; + return ((pointer_t*)ptr)->value; } -Tree *constructTerm( Program *prg, word_t id, Head *tokdata ) +tree_t *constructTerm( program_t *prg, word_t id, head_t *tokdata ) { struct lang_el_info *lelInfo = prg->rtd->lelInfo; - Tree *tree = treeAllocate( prg ); + tree_t *tree = treeAllocate( prg ); tree->id = id; tree->refs = 0; tree->tokdata = tokdata; @@ -209,23 +209,23 @@ Tree *constructTerm( Program *prg, word_t id, Head *tokdata ) } -Kid *constructKid( Program *prg, Tree **bindings, Kid *prev, long pat ); +kid_t *constructKid( program_t *prg, tree_t **bindings, kid_t *prev, long pat ); -static Kid *constructIgnoreList( Program *prg, long ignoreInd ) +static kid_t *constructIgnoreList( program_t *prg, long ignoreInd ) { struct pat_cons_node *nodes = prg->rtd->patReplNodes; - Kid *first = 0, *last = 0; + kid_t *first = 0, *last = 0; while ( ignoreInd >= 0 ) { - Head *ignoreData = colm_string_alloc_pointer( prg, nodes[ignoreInd].data, + head_t *ignoreData = colm_string_alloc_pointer( prg, nodes[ignoreInd].data, nodes[ignoreInd].length ); - Tree *ignTree = treeAllocate( prg ); + tree_t *ignTree = treeAllocate( prg ); ignTree->refs = 1; ignTree->id = nodes[ignoreInd].id; ignTree->tokdata = ignoreData; - Kid *ignKid = kidAllocate( prg ); + kid_t *ignKid = kidAllocate( prg ); ignKid->tree = ignTree; ignKid->next = 0; @@ -241,24 +241,24 @@ static Kid *constructIgnoreList( Program *prg, long ignoreInd ) return first; } -static Kid *constructLeftIgnoreList( Program *prg, long pat ) +static kid_t *constructLeftIgnoreList( program_t *prg, long pat ) { struct pat_cons_node *nodes = prg->rtd->patReplNodes; return constructIgnoreList( prg, nodes[pat].leftIgnore ); } -static Kid *constructRightIgnoreList( Program *prg, long pat ) +static kid_t *constructRightIgnoreList( program_t *prg, long pat ) { struct pat_cons_node *nodes = prg->rtd->patReplNodes; return constructIgnoreList( prg, nodes[pat].rightIgnore ); } -static void insLeftIgnore( Program *prg, Tree *tree, Tree *ignoreList ) +static void insLeftIgnore( program_t *prg, tree_t *tree, tree_t *ignoreList ) { assert( ! (tree->flags & AF_LEFT_IGNORE) ); /* Allocate. */ - Kid *kid = kidAllocate( prg ); + kid_t *kid = kidAllocate( prg ); kid->tree = ignoreList; treeUpref( ignoreList ); @@ -269,12 +269,12 @@ static void insLeftIgnore( Program *prg, Tree *tree, Tree *ignoreList ) tree->flags |= AF_LEFT_IGNORE; } -static void insRightIgnore( Program *prg, Tree *tree, Tree *ignoreList ) +static void insRightIgnore( program_t *prg, tree_t *tree, tree_t *ignoreList ) { assert( ! (tree->flags & AF_RIGHT_IGNORE) ); /* Insert an ignore head in the child list. */ - Kid *kid = kidAllocate( prg ); + kid_t *kid = kidAllocate( prg ); kid->tree = ignoreList; treeUpref( ignoreList ); @@ -291,7 +291,7 @@ static void insRightIgnore( Program *prg, Tree *tree, Tree *ignoreList ) tree->flags |= AF_RIGHT_IGNORE; } -Tree *pushRightIgnore( Program *prg, Tree *pushTo, Tree *rightIgnore ) +tree_t *pushRightIgnore( program_t *prg, tree_t *pushTo, tree_t *rightIgnore ) { /* About to alter the data tree. Split first. */ pushTo = splitTree( prg, pushTo ); @@ -299,7 +299,7 @@ Tree *pushRightIgnore( Program *prg, Tree *pushTo, Tree *rightIgnore ) if ( pushTo->flags & AF_RIGHT_IGNORE ) { /* The previous token already has a right ignore. Merge by * attaching it as a left ignore of the new list. */ - Kid *curIgnore = treeRightIgnoreKid( prg, pushTo ); + kid_t *curIgnore = treeRightIgnoreKid( prg, pushTo ); insLeftIgnore( prg, rightIgnore, curIgnore->tree ); /* Replace the current ignore. Safe to access refs here because we just @@ -316,7 +316,7 @@ Tree *pushRightIgnore( Program *prg, Tree *pushTo, Tree *rightIgnore ) return pushTo; } -Tree *pushLeftIgnore( Program *prg, Tree *pushTo, Tree *leftIgnore ) +tree_t *pushLeftIgnore( program_t *prg, tree_t *pushTo, tree_t *leftIgnore ) { pushTo = splitTree( prg, pushTo ); @@ -324,7 +324,7 @@ Tree *pushLeftIgnore( Program *prg, Tree *pushTo, Tree *leftIgnore ) if ( pushTo->flags & AF_LEFT_IGNORE ) { /* The token already has a left-ignore. Merge by attaching it as a * right ignore of the new list. */ - Kid *curIgnore = treeLeftIgnoreKid( prg, pushTo ); + kid_t *curIgnore = treeLeftIgnoreKid( prg, pushTo ); insRightIgnore( prg, leftIgnore, curIgnore->tree ); /* Replace the current ignore. Safe to upref here because we just @@ -341,11 +341,11 @@ Tree *pushLeftIgnore( Program *prg, Tree *pushTo, Tree *leftIgnore ) return pushTo; } -static void remLeftIgnore( Program *prg, Tree **sp, Tree *tree ) +static void remLeftIgnore( program_t *prg, tree_t **sp, tree_t *tree ) { assert( tree->flags & AF_LEFT_IGNORE ); - Kid *next = tree->child->next; + kid_t *next = tree->child->next; treeDownref( prg, sp, tree->child->tree ); kidFree( prg, tree->child ); tree->child = next; @@ -353,18 +353,18 @@ static void remLeftIgnore( Program *prg, Tree **sp, Tree *tree ) tree->flags &= ~AF_LEFT_IGNORE; } -static void remRightIgnore( Program *prg, Tree **sp, Tree *tree ) +static void remRightIgnore( program_t *prg, tree_t **sp, tree_t *tree ) { assert( tree->flags & AF_RIGHT_IGNORE ); if ( tree->flags & AF_LEFT_IGNORE ) { - Kid *next = tree->child->next->next; + kid_t *next = tree->child->next->next; treeDownref( prg, sp, tree->child->next->tree ); kidFree( prg, tree->child->next ); tree->child->next = next; } else { - Kid *next = tree->child->next; + kid_t *next = tree->child->next; treeDownref( prg, sp, tree->child->tree ); kidFree( prg, tree->child ); tree->child = next; @@ -373,16 +373,16 @@ static void remRightIgnore( Program *prg, Tree **sp, Tree *tree ) tree->flags &= ~AF_RIGHT_IGNORE; } -Tree *popRightIgnore( Program *prg, Tree **sp, Tree *popFrom, Tree **rightIgnore ) +tree_t *popRightIgnore( program_t *prg, tree_t **sp, tree_t *popFrom, tree_t **rightIgnore ) { /* Modifying the tree we are detaching from. */ popFrom = splitTree( prg, popFrom ); - Kid *riKid = treeRightIgnoreKid( prg, popFrom ); + kid_t *riKid = treeRightIgnoreKid( prg, popFrom ); /* If the right ignore has a left ignore, then that was the original * right ignore. */ - Kid *li = treeLeftIgnoreKid( prg, riKid->tree ); + kid_t *li = treeLeftIgnoreKid( prg, riKid->tree ); if ( li != 0 ) { treeUpref( li->tree ); remLeftIgnore( prg, sp, riKid->tree ); @@ -399,16 +399,16 @@ Tree *popRightIgnore( Program *prg, Tree **sp, Tree *popFrom, Tree **rightIgnore return popFrom; } -Tree *popLeftIgnore( Program *prg, Tree **sp, Tree *popFrom, Tree **leftIgnore ) +tree_t *popLeftIgnore( program_t *prg, tree_t **sp, tree_t *popFrom, tree_t **leftIgnore ) { /* Modifying, make the write safe. */ popFrom = splitTree( prg, popFrom ); - Kid *liKid = treeLeftIgnoreKid( prg, popFrom ); + kid_t *liKid = treeLeftIgnoreKid( prg, popFrom ); /* If the left ignore has a right ignore, then that was the original * left ignore. */ - Kid *ri = treeRightIgnoreKid( prg, liKid->tree ); + kid_t *ri = treeRightIgnoreKid( prg, liKid->tree ); if ( ri != 0 ) { treeUpref( ri->tree ); remRightIgnore( prg, sp, liKid->tree ); @@ -425,10 +425,10 @@ Tree *popLeftIgnore( Program *prg, Tree **sp, Tree *popFrom, Tree **leftIgnore ) return popFrom; } -Tree *constructObject( Program *prg, Kid *kid, Tree **bindings, long langElId ) +tree_t *constructObject( program_t *prg, kid_t *kid, tree_t **bindings, long langElId ) { struct lang_el_info *lelInfo = prg->rtd->lelInfo; - Tree *tree = 0; + tree_t *tree = 0; tree = treeAllocate( prg ); tree->id = langElId; @@ -438,8 +438,8 @@ Tree *constructObject( Program *prg, Kid *kid, Tree **bindings, long langElId ) int objectLength = lelInfo[tree->id].objectLength; - Kid *attrs = allocAttrs( prg, objectLength ); - Kid *child = 0; + kid_t *attrs = allocAttrs( prg, objectLength ); + kid_t *child = 0; tree->child = kidListConcat( attrs, child ); @@ -448,20 +448,20 @@ Tree *constructObject( Program *prg, Kid *kid, Tree **bindings, long langElId ) /* Returns an uprefed tree. Saves us having to downref and bindings to zero to * return a zero-ref tree. */ -Tree *constructTree( Program *prg, Kid *kid, Tree **bindings, long pat ) +tree_t *constructTree( program_t *prg, kid_t *kid, tree_t **bindings, long pat ) { struct pat_cons_node *nodes = prg->rtd->patReplNodes; struct lang_el_info *lelInfo = prg->rtd->lelInfo; - Tree *tree = 0; + tree_t *tree = 0; if ( nodes[pat].bindId > 0 ) { /* All bindings have been uprefed. */ tree = bindings[nodes[pat].bindId]; long ignore = nodes[pat].leftIgnore; - Tree *leftIgnore = 0; + tree_t *leftIgnore = 0; if ( ignore >= 0 ) { - Kid *ignore = constructLeftIgnoreList( prg, pat ); + kid_t *ignore = constructLeftIgnoreList( prg, pat ); leftIgnore = treeAllocate( prg ); leftIgnore->id = LEL_ID_IGNORE; @@ -471,9 +471,9 @@ Tree *constructTree( Program *prg, Kid *kid, Tree **bindings, long pat ) } ignore = nodes[pat].rightIgnore; - Tree *rightIgnore = 0; + tree_t *rightIgnore = 0; if ( ignore >= 0 ) { - Kid *ignore = constructRightIgnoreList( prg, pat ); + kid_t *ignore = constructRightIgnoreList( prg, pat ); rightIgnore = treeAllocate( prg ); rightIgnore->id = LEL_ID_IGNORE; @@ -493,21 +493,21 @@ Tree *constructTree( Program *prg, Kid *kid, Tree **bindings, long pat ) int objectLength = lelInfo[tree->id].objectLength; - Kid *attrs = allocAttrs( prg, objectLength ); - Kid *child = constructKid( prg, bindings, + kid_t *attrs = allocAttrs( prg, objectLength ); + kid_t *child = constructKid( prg, bindings, 0, nodes[pat].child ); tree->child = kidListConcat( attrs, child ); /* Right first, then left. */ - Kid *ignore = constructRightIgnoreList( prg, pat ); + kid_t *ignore = constructRightIgnoreList( prg, pat ); if ( ignore != 0 ) { - Tree *ignoreList = treeAllocate( prg ); + tree_t *ignoreList = treeAllocate( prg ); ignoreList->id = LEL_ID_IGNORE; ignoreList->refs = 1; ignoreList->child = ignore; - Kid *ignoreHead = kidAllocate( prg ); + kid_t *ignoreHead = kidAllocate( prg ); ignoreHead->tree = ignoreList; ignoreHead->next = tree->child; tree->child = ignoreHead; @@ -517,12 +517,12 @@ Tree *constructTree( Program *prg, Kid *kid, Tree **bindings, long pat ) ignore = constructLeftIgnoreList( prg, pat ); if ( ignore != 0 ) { - Tree *ignoreList = treeAllocate( prg ); + tree_t *ignoreList = treeAllocate( prg ); ignoreList->id = LEL_ID_IGNORE; ignoreList->refs = 1; ignoreList->child = ignore; - Kid *ignoreHead = kidAllocate( prg ); + kid_t *ignoreHead = kidAllocate( prg ); ignoreHead->tree = ignoreList; ignoreHead->next = tree->child; tree->child = ignoreHead; @@ -534,7 +534,7 @@ Tree *constructTree( Program *prg, Kid *kid, Tree **bindings, long pat ) for ( i = 0; i < lelInfo[tree->id].numCaptureAttr; i++ ) { long ci = pat+1+i; CaptureAttr *ca = prg->rtd->captureAttr + lelInfo[tree->id].captureAttr + i; - Tree *attr = treeAllocate( prg ); + tree_t *attr = treeAllocate( prg ); attr->id = nodes[ci].id; attr->refs = 1; attr->tokdata = nodes[ci].length == 0 ? 0 : @@ -548,17 +548,17 @@ Tree *constructTree( Program *prg, Kid *kid, Tree **bindings, long pat ) return tree; } -Kid *constructKid( Program *prg, Tree **bindings, Kid *prev, long pat ) +kid_t *constructKid( program_t *prg, tree_t **bindings, kid_t *prev, long pat ) { struct pat_cons_node *nodes = prg->rtd->patReplNodes; - Kid *kid = 0; + kid_t *kid = 0; if ( pat != -1 ) { kid = kidAllocate( prg ); kid->tree = constructTree( prg, kid, bindings, pat ); /* Recurse down next. */ - Kid *next = constructKid( prg, bindings, + kid_t *next = constructKid( prg, bindings, kid, nodes[pat].next ); kid->next = next; @@ -567,16 +567,16 @@ Kid *constructKid( Program *prg, Tree **bindings, Kid *prev, long pat ) return kid; } -Tree *constructToken( Program *prg, Tree **args, long nargs ) +tree_t *constructToken( program_t *prg, tree_t **args, long nargs ) { - Int *idInt = (Int*)args[0]; - Str *textStr = (Str*)args[1]; + value_t idInt = (value_t)args[0]; + str_t *textStr = (str_t*)args[1]; - long id = (long)idInt;//->value; - Head *tokdata = stringCopy( prg, textStr->value ); + long id = (long)idInt; + head_t *tokdata = stringCopy( prg, textStr->value ); struct lang_el_info *lelInfo = prg->rtd->lelInfo; - Tree *tree; + tree_t *tree; if ( lelInfo[id].ignore ) { tree = treeAllocate( prg ); @@ -588,7 +588,7 @@ Tree *constructToken( Program *prg, Tree **args, long nargs ) long objectLength = lelInfo[id].objectLength; assert( nargs-2 <= objectLength ); - Kid *attrs = allocAttrs( prg, objectLength ); + kid_t *attrs = allocAttrs( prg, objectLength ); tree = treeAllocate( prg ); tree->id = id; @@ -606,13 +606,13 @@ Tree *constructToken( Program *prg, Tree **args, long nargs ) return tree; } -Tree *castTree( Program *prg, int langElId, Tree *tree ) +tree_t *castTree( program_t *prg, int langElId, tree_t *tree ) { struct lang_el_info *lelInfo = prg->rtd->lelInfo; /* Need to keep a lookout for next down. If * copying it, return the copy. */ - Tree *newTree = treeAllocate( prg ); + tree_t *newTree = treeAllocate( prg ); newTree->id = langElId; newTree->tokdata = stringCopy( prg, tree->tokdata ); @@ -621,7 +621,7 @@ Tree *castTree( Program *prg, int langElId, Tree *tree ) newTree->prod_num = -1; /* Copy the child list. Start with ignores, then the list. */ - Kid *child = tree->child, *last = 0; + kid_t *child = tree->child, *last = 0; /* Flags we are interested in. */ newTree->flags |= tree->flags & ( AF_LEFT_IGNORE | AF_RIGHT_IGNORE ); @@ -634,7 +634,7 @@ Tree *castTree( Program *prg, int langElId, Tree *tree ) /* Igores. */ while ( ignores-- > 0 ) { - Kid *newKid = kidAllocate( prg ); + kid_t *newKid = kidAllocate( prg ); newKid->tree = child->tree; newKid->next = 0; @@ -658,7 +658,7 @@ Tree *castTree( Program *prg, int langElId, Tree *tree ) /* Allocate the target type's kids. */ objectLength = lelInfo[langElId].objectLength; while ( objectLength-- > 0 ) { - Kid *newKid = kidAllocate( prg ); + kid_t *newKid = kidAllocate( prg ); newKid->tree = 0; newKid->next = 0; @@ -674,7 +674,7 @@ Tree *castTree( Program *prg, int langElId, Tree *tree ) /* Copy the source's children. */ while ( child != 0 ) { - Kid *newKid = kidAllocate( prg ); + kid_t *newKid = kidAllocate( prg ); newKid->tree = child->tree; newKid->next = 0; @@ -693,23 +693,23 @@ Tree *castTree( Program *prg, int langElId, Tree *tree ) return newTree; } -Tree *makeTree( Program *prg, Tree **args, long nargs ) +tree_t *makeTree( program_t *prg, tree_t **args, long nargs ) { - Int *idInt = (Int*)args[0]; + value_t idInt = (value_t)args[0]; - long id = (long)idInt;//->value; + long id = (long)idInt; struct lang_el_info *lelInfo = prg->rtd->lelInfo; - Tree *tree = treeAllocate( prg ); + tree_t *tree = treeAllocate( prg ); tree->id = id; tree->refs = 1; long objectLength = lelInfo[id].objectLength; - Kid *attrs = allocAttrs( prg, objectLength ); + kid_t *attrs = allocAttrs( prg, objectLength ); - Kid *last = 0, *child = 0; + kid_t *last = 0, *child = 0; for ( id = 1; id < nargs; id++ ) { - Kid *kid = kidAllocate( prg ); + kid_t *kid = kidAllocate( prg ); kid->tree = args[id]; treeUpref( kid->tree ); @@ -726,28 +726,28 @@ Tree *makeTree( Program *prg, Tree **args, long nargs ) return tree; } -int testFalse( Program *prg, Tree *tree ) +int testFalse( program_t *prg, tree_t *tree ) { int flse = ( tree == 0 || - tree == prg->falseVal /* || - ( tree->id == LEL_ID_INT && ((Int*)tree)->value == 0 ) */ ); + tree == prg->falseVal + ); return flse; } -Kid *copyIgnoreList( Program *prg, Kid *ignoreHeader ) +kid_t *copyIgnoreList( program_t *prg, kid_t *ignoreHeader ) { - Kid *newHeader = kidAllocate( prg ); - Kid *last = 0, *ic = (Kid*)ignoreHeader->tree; + kid_t *newHeader = kidAllocate( prg ); + kid_t *last = 0, *ic = (kid_t*)ignoreHeader->tree; while ( ic != 0 ) { - Kid *newIc = kidAllocate( prg ); + kid_t *newIc = kidAllocate( prg ); newIc->tree = ic->tree; newIc->tree->refs += 1; /* List pointers. */ if ( last == 0 ) - newHeader->tree = (Tree*)newIc; + newHeader->tree = (tree_t*)newIc; else last->next = newIc; @@ -757,12 +757,12 @@ Kid *copyIgnoreList( Program *prg, Kid *ignoreHeader ) return newHeader; } -Kid *copyKidList( Program *prg, Kid *kidList ) +kid_t *copyKidList( program_t *prg, kid_t *kidList ) { - Kid *newList = 0, *last = 0, *ic = kidList; + kid_t *newList = 0, *last = 0, *ic = kidList; while ( ic != 0 ) { - Kid *newIc = kidAllocate( prg ); + kid_t *newIc = kidAllocate( prg ); newIc->tree = ic->tree; treeUpref( newIc->tree ); @@ -780,23 +780,23 @@ Kid *copyKidList( Program *prg, Kid *kidList ) } /* New tree has zero ref. */ -Tree *copyRealTree( Program *prg, Tree *tree, Kid *oldNextDown, Kid **newNextDown ) +tree_t *copyRealTree( program_t *prg, tree_t *tree, kid_t *oldNextDown, kid_t **newNextDown ) { /* Need to keep a lookout for next down. If * copying it, return the copy. */ - Tree *newTree = treeAllocate( prg ); + tree_t *newTree = treeAllocate( prg ); newTree->id = tree->id; newTree->tokdata = stringCopy( prg, tree->tokdata ); newTree->prod_num = tree->prod_num; /* Copy the child list. Start with ignores, then the list. */ - Kid *child = tree->child, *last = 0; + kid_t *child = tree->child, *last = 0; /* Left ignores. */ if ( tree->flags & AF_LEFT_IGNORE ) { newTree->flags |= AF_LEFT_IGNORE; -// Kid *newHeader = copyIgnoreList( prg, child ); +// kid_t *newHeader = copyIgnoreList( prg, child ); // // /* Always the head. */ // newTree->child = newHeader; @@ -808,7 +808,7 @@ Tree *copyRealTree( Program *prg, Tree *tree, Kid *oldNextDown, Kid **newNextDow /* Right ignores. */ if ( tree->flags & AF_RIGHT_IGNORE ) { newTree->flags |= AF_RIGHT_IGNORE; -// Kid *newHeader = copyIgnoreList( prg, child ); +// kid_t *newHeader = copyIgnoreList( prg, child ); // if ( last == 0 ) // newTree->child = newHeader; // else @@ -819,7 +819,7 @@ Tree *copyRealTree( Program *prg, Tree *tree, Kid *oldNextDown, Kid **newNextDow /* Attributes and children. */ while ( child != 0 ) { - Kid *newKid = kidAllocate( prg ); + kid_t *newKid = kidAllocate( prg ); /* Watch out for next down. */ if ( child == oldNextDown ) @@ -846,7 +846,7 @@ Tree *copyRealTree( Program *prg, Tree *tree, Kid *oldNextDown, Kid **newNextDow } -Tree *copyTree( Program *prg, Tree *tree, Kid *oldNextDown, Kid **newNextDown ) +tree_t *copyTree( program_t *prg, tree_t *tree, kid_t *oldNextDown, kid_t **newNextDown ) { // struct lang_el_info *lelInfo = prg->rtd->lelInfo; // long genericId = lelInfo[tree->id].genericId; @@ -870,14 +870,14 @@ Tree *copyTree( Program *prg, Tree *tree, Kid *oldNextDown, Kid **newNextDown ) return tree; } -Tree *splitTree( Program *prg, Tree *tree ) +tree_t *splitTree( program_t *prg, tree_t *tree ) { if ( tree != 0 ) { assert( tree->refs >= 1 ); if ( tree->refs > 1 ) { - Kid *oldNextDown = 0, *newNextDown = 0; - Tree *newTree = copyTree( prg, tree, oldNextDown, &newNextDown ); + kid_t *oldNextDown = 0, *newNextDown = 0; + tree_t *newTree = copyTree( prg, tree, oldNextDown, &newNextDown ); treeUpref( newTree ); /* Downref the original. Don't need to consider freeing because @@ -894,9 +894,9 @@ Tree *splitTree( Program *prg, Tree *tree ) /* We can't make recursive calls here since the tree we are freeing may be * very large. Need the VM stack. */ -void treeFreeRec( Program *prg, Tree **sp, Tree *tree ) +void treeFreeRec( program_t *prg, tree_t **sp, tree_t *tree ) { - Tree **top = vm_ptop(); + tree_t **top = vm_ptop(); // struct lang_el_info *lelInfo; // long genericId; @@ -912,7 +912,7 @@ free_tree: treeFree( prg, tree ); break; case LEL_ID_STR: { - Str *str = (Str*) tree; + str_t *str = (str_t*) tree; stringFree( prg, str->value ); treeFree( prg, tree ); break; @@ -922,9 +922,9 @@ free_tree: stringFree( prg, tree->tokdata ); /* Attributes and grammar-based children. */ - Kid *child = tree->child; + kid_t *child = tree->child; while ( child != 0 ) { - Kid *next = child->next; + kid_t *next = child->next; vm_push_tree( child->tree ); kidFree( prg, child ); child = next; @@ -946,13 +946,13 @@ free_tree: } } -void treeUpref( Tree *tree ) +void treeUpref( tree_t *tree ) { if ( tree != 0 ) tree->refs += 1; } -void treeDownref( Program *prg, Tree **sp, Tree *tree ) +void treeDownref( program_t *prg, tree_t **sp, tree_t *tree ) { if ( tree != 0 ) { assert( tree->refs > 0 ); @@ -964,9 +964,9 @@ void treeDownref( Program *prg, Tree **sp, Tree *tree ) /* We can't make recursive calls here since the tree we are freeing may be * very large. Need the VM stack. */ -void objectFreeRec( Program *prg, Tree **sp, Tree *tree ) +void objectFreeRec( program_t *prg, tree_t **sp, tree_t *tree ) { - Tree **top = vm_ptop(); + tree_t **top = vm_ptop(); // struct lang_el_info *lelInfo; // long genericId; @@ -975,7 +975,7 @@ free_tree: switch ( tree->id ) { case LEL_ID_STR: { - Str *str = (Str*) tree; + str_t *str = (str_t*) tree; stringFree( prg, str->value ); treeFree( prg, tree ); break; @@ -996,9 +996,9 @@ free_tree: stringFree( prg, tree->tokdata ); /* Attributes and grammar-based children. */ - Kid *child = tree->child; + kid_t *child = tree->child; while ( child != 0 ) { - Kid *next = child->next; + kid_t *next = child->next; vm_push_tree( child->tree ); kidFree( prg, child ); child = next; @@ -1020,7 +1020,7 @@ free_tree: } } -void objectDownref( Program *prg, Tree **sp, Tree *tree ) +void objectDownref( program_t *prg, tree_t **sp, tree_t *tree ) { if ( tree != 0 ) { assert( tree->refs > 0 ); @@ -1031,10 +1031,10 @@ void objectDownref( Program *prg, Tree **sp, Tree *tree ) } /* Find the first child of a tree. */ -Kid *treeChild( Program *prg, const Tree *tree ) +kid_t *treeChild( program_t *prg, const tree_t *tree ) { struct lang_el_info *lelInfo = prg->rtd->lelInfo; - Kid *kid = tree->child; + kid_t *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -1051,10 +1051,10 @@ Kid *treeChild( Program *prg, const Tree *tree ) } /* Detach at the first real child of a tree. */ -Kid *treeExtractChild( Program *prg, Tree *tree ) +kid_t *treeExtractChild( program_t *prg, tree_t *tree ) { struct lang_el_info *lelInfo = prg->rtd->lelInfo; - Kid *kid = tree->child, *last = 0; + kid_t *kid = tree->child, *last = 0; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -1078,9 +1078,9 @@ Kid *treeExtractChild( Program *prg, Tree *tree ) /* Find the first child of a tree. */ -Kid *treeAttr( Program *prg, const Tree *tree ) +kid_t *treeAttr( program_t *prg, const tree_t *tree ) { - Kid *kid = tree->child; + kid_t *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) kid = kid->next; @@ -1090,14 +1090,14 @@ Kid *treeAttr( Program *prg, const Tree *tree ) return kid; } -Tree *treeLeftIgnore( Program *prg, Tree *tree ) +tree_t *treeLeftIgnore( program_t *prg, tree_t *tree ) { if ( tree->flags & AF_LEFT_IGNORE ) return tree->child->tree; return 0; } -Tree *treeRightIgnore( Program *prg, Tree *tree ) +tree_t *treeRightIgnore( program_t *prg, tree_t *tree ) { if ( tree->flags & AF_RIGHT_IGNORE ) { if ( tree->flags & AF_LEFT_IGNORE ) @@ -1108,14 +1108,14 @@ Tree *treeRightIgnore( Program *prg, Tree *tree ) return 0; } -Kid *treeLeftIgnoreKid( Program *prg, Tree *tree ) +kid_t *treeLeftIgnoreKid( program_t *prg, tree_t *tree ) { if ( tree->flags & AF_LEFT_IGNORE ) return tree->child; return 0; } -Kid *treeRightIgnoreKid( Program *prg, Tree *tree ) +kid_t *treeRightIgnoreKid( program_t *prg, tree_t *tree ) { if ( tree->flags & AF_RIGHT_IGNORE ) { if ( tree->flags & AF_LEFT_IGNORE ) @@ -1126,15 +1126,15 @@ Kid *treeRightIgnoreKid( Program *prg, Tree *tree ) return 0; } -void refSetValue( Program *prg, Tree **sp, Ref *ref, Tree *v ) +void refSetValue( program_t *prg, tree_t **sp, ref_t *ref, tree_t *v ) { treeDownref( prg, sp, ref->kid->tree ); ref->kid->tree = v; } -Tree *getRhsEl( Program *prg, Tree *lhs, long position ) +tree_t *getRhsEl( program_t *prg, tree_t *lhs, long position ) { - Kid *pos = treeChild( prg, lhs ); + kid_t *pos = treeChild( prg, lhs ); while ( position > 0 ) { pos = pos->next; position -= 1; @@ -1142,9 +1142,9 @@ Tree *getRhsEl( Program *prg, Tree *lhs, long position ) return pos->tree; } -Kid *getRhsElKid( Program *prg, Tree *lhs, long position ) +kid_t *getRhsElKid( program_t *prg, tree_t *lhs, long position ) { - Kid *pos = treeChild( prg, lhs ); + kid_t *pos = treeChild( prg, lhs ); while ( position > 0 ) { pos = pos->next; position -= 1; @@ -1153,7 +1153,7 @@ Kid *getRhsElKid( Program *prg, Tree *lhs, long position ) } -Tree *colm_get_rhs_val( Program *prg, Tree *tree, int *a ) +tree_t *colm_get_rhs_val( program_t *prg, tree_t *tree, int *a ) { int i, len = a[0]; for ( i = 0; i < len; i++ ) { @@ -1165,7 +1165,7 @@ Tree *colm_get_rhs_val( Program *prg, Tree *tree, int *a ) return 0; } -void colm_tree_set_field( Program *prg, Tree *tree, long field, Tree *value ) +void colm_tree_set_field( program_t *prg, tree_t *tree, long field, tree_t *value ) { assert( tree->refs == 1 ); if ( value != 0 ) @@ -1173,27 +1173,27 @@ void colm_tree_set_field( Program *prg, Tree *tree, long field, Tree *value ) colm_tree_set_attr( tree, field, value ); } -Tree *colm_tree_get_field( Tree *tree, word_t field ) +tree_t *colm_tree_get_field( tree_t *tree, word_t field ) { return colm_get_attr( tree, field ); } -Kid *getFieldKid( Tree *tree, word_t field ) +kid_t *getFieldKid( tree_t *tree, word_t field ) { return getAttrKid( tree, field ); } -Tree *getFieldSplit( Program *prg, Tree *tree, word_t field ) +tree_t *getFieldSplit( program_t *prg, tree_t *tree, word_t field ) { - Tree *val = colm_get_attr( tree, field ); - Tree *split = splitTree( prg, val ); + tree_t *val = colm_get_attr( tree, field ); + tree_t *split = splitTree( prg, val ); colm_tree_set_attr( tree, field, split ); return split; } /* This must traverse in the same order that the bindId assignments are done * in. */ -int matchPattern( Tree **bindings, Program *prg, long pat, Kid *kid, int checkNext ) +int matchPattern( tree_t **bindings, program_t *prg, long pat, kid_t *kid, int checkNext ) { struct pat_cons_node *nodes = prg->rtd->patReplNodes; @@ -1248,7 +1248,7 @@ int matchPattern( Tree **bindings, Program *prg, long pat, Kid *kid, int checkNe } -long cmpTree( Program *prg, const Tree *tree1, const Tree *tree2 ) +long cmpTree( program_t *prg, const tree_t *tree1, const tree_t *tree2 ) { long cmpres = 0; if ( tree1 == 0 ) { @@ -1264,19 +1264,13 @@ long cmpTree( Program *prg, const Tree *tree1, const Tree *tree2 ) else if ( tree1->id > tree2->id ) return 1; else if ( tree1->id == LEL_ID_PTR ) { - if ( ((Pointer*)tree1)->value < ((Pointer*)tree2)->value ) + if ( ((pointer_t*)tree1)->value < ((pointer_t*)tree2)->value ) return -1; - else if ( ((Pointer*)tree1)->value > ((Pointer*)tree2)->value ) + else if ( ((pointer_t*)tree1)->value > ((pointer_t*)tree2)->value ) return 1; } -// else if ( tree1->id == LEL_ID_INT ) { -// if ( ((Int*)tree1)->value < ((Int*)tree2)->value ) -// return -1; -// else if ( ((Int*)tree1)->value > ((Int*)tree2)->value ) -// return 1; -// } else if ( tree1->id == LEL_ID_STR ) { - cmpres = cmpString( ((Str*)tree1)->value, ((Str*)tree2)->value ); + cmpres = cmpString( ((str_t*)tree1)->value, ((str_t*)tree2)->value ); if ( cmpres != 0 ) return cmpres; } @@ -1292,8 +1286,8 @@ long cmpTree( Program *prg, const Tree *tree1, const Tree *tree2 ) } } - Kid *kid1 = treeChild( prg, tree1 ); - Kid *kid2 = treeChild( prg, tree2 ); + kid_t *kid1 = treeChild( prg, tree1 ); + kid_t *kid2 = treeChild( prg, tree2 ); while ( true ) { if ( kid1 == 0 && kid2 == 0 ) @@ -1313,10 +1307,10 @@ long cmpTree( Program *prg, const Tree *tree1, const Tree *tree2 ) } -void splitRef( Program *prg, Tree ***psp, Ref *fromRef ) +void splitRef( program_t *prg, tree_t ***psp, ref_t *fromRef ) { /* Go up the chain of kids, turing the pointers down. */ - Ref *last = 0, *ref = fromRef, *next = 0; + ref_t *last = 0, *ref = fromRef, *next = 0; while ( ref->next != 0 ) { next = ref->next; ref->next = last; @@ -1328,14 +1322,14 @@ void splitRef( Program *prg, Tree ***psp, Ref *fromRef ) /* Now traverse the list, which goes down. */ while ( ref != 0 ) { if ( ref->kid->tree->refs > 1 ) { - Ref *nextDown = ref->next; + ref_t *nextDown = ref->next; while ( nextDown != 0 && nextDown->kid == ref->kid ) nextDown = nextDown->next; - Kid *oldNextKidDown = nextDown != 0 ? nextDown->kid : 0; - Kid *newNextKidDown = 0; + kid_t *oldNextKidDown = nextDown != 0 ? nextDown->kid : 0; + kid_t *newNextKidDown = 0; - Tree *newTree = copyTree( prg, ref->kid->tree, + tree_t *newTree = copyTree( prg, ref->kid->tree, oldNextKidDown, &newNextKidDown ); treeUpref( newTree ); @@ -1366,12 +1360,12 @@ void splitRef( Program *prg, Tree ***psp, Ref *fromRef ) } } -Tree *setListMem( List *list, half_t field, Tree *value ) +tree_t *setListMem( list_t *list, half_t field, tree_t *value ) { if ( value != 0 ) assert( value->refs >= 1 ); - Tree *existing = 0; + tree_t *existing = 0; switch ( field ) { case 0: // existing = list->head->value; @@ -1388,10 +1382,10 @@ Tree *setListMem( List *list, half_t field, Tree *value ) return existing; } -TreePair mapRemove( Program *prg, Map *map, Tree *key ) +struct tree_pair mapRemove( program_t *prg, map_t *map, tree_t *key ) { - MapEl *mapEl = mapImplFind( prg, map, key ); - TreePair result = { 0, 0 }; + map_el_t *mapEl = mapImplFind( prg, map, key ); + struct tree_pair result = { 0, 0 }; if ( mapEl != 0 ) { mapDetach( prg, map, mapEl ); result.key = mapEl->key; @@ -1402,16 +1396,16 @@ TreePair mapRemove( Program *prg, Map *map, Tree *key ) } #if 0 -Tree *mapUnstore( Program *prg, Map *map, Tree *key, Tree *existing ) +tree_t *mapUnstore( program_t *prg, map_t *map, tree_t *key, tree_t *existing ) { - Tree *stored = 0; + tree_t *stored = 0; if ( existing == 0 ) { - MapEl *mapEl = mapDetachByKey( prg, map, key ); + map_el_t *mapEl = mapDetachByKey( prg, map, key ); // stored = mapEl->tree; mapElFree( prg, mapEl ); } else { - MapEl *mapEl = mapImplFind( prg, map, key ); + map_el_t *mapEl = mapImplFind( prg, map, key ); // stored = mapEl->tree; //mapEl->tree = existing; } @@ -1419,55 +1413,55 @@ Tree *mapUnstore( Program *prg, Map *map, Tree *key, Tree *existing ) } #endif -Tree *mapFind( Program *prg, Map *map, Tree *key ) +tree_t *mapFind( program_t *prg, map_t *map, tree_t *key ) { -// MapEl *mapEl = mapImplFind( prg, map, key ); +// map_el_t *mapEl = mapImplFind( prg, map, key ); // return mapEl == 0 ? 0 : mapEl->tree; return 0; } -long mapLength( Map *map ) +long mapLength( map_t *map ) { return map->treeSize; } -void listPushTail( Program *prg, List *list, Tree *val ) +void listPushTail( program_t *prg, list_t *list, tree_t *val ) { // if ( val != 0 ) // assert( val->refs >= 1 ); -// ListEl *listEl = colm_list_el_new( prg ); +// list_el_t *listEl = colm_list_el_new( prg ); // listEl->value = val; // listAppend( list, listEl ); } -void listPushHead( Program *prg, List *list, Tree *val ) +void listPushHead( program_t *prg, list_t *list, tree_t *val ) { // if ( val != 0 ) // assert( val->refs >= 1 ); -// ListEl *listEl = listElAllocate( prg ); +// list_el_t *listEl = listElAllocate( prg ); // listEl->value = val; // listPrepend( list, listEl ); } -Tree *listRemoveEnd( Program *prg, List *list ) +tree_t *listRemoveEnd( program_t *prg, list_t *list ) { -// Tree *tree = list->tail->value; +// tree_t *tree = list->tail->value; // listElFree( prg, listDetachLast( list ) ); // return tree; return 0; } -Tree *listRemoveHead( Program *prg, List *list ) +tree_t *listRemoveHead( program_t *prg, list_t *list ) { -// Tree *tree = list->head; +// tree_t *tree = list->head; // listDetachFirst( list ); // return tree; return 0; } -Tree *getParserMem( Parser *parser, word_t field ) +tree_t *getParserMem( parser_t *parser, word_t field ) { - Tree *result = 0; + tree_t *result = 0; switch ( field ) { case 0: { result = parser->result; @@ -1486,9 +1480,9 @@ Tree *getParserMem( Parser *parser, word_t field ) return result; } -Tree *getListMemSplit( Program *prg, List *list, word_t field ) +tree_t *getListMemSplit( program_t *prg, list_t *list, word_t field ) { - Tree *sv = 0; + tree_t *sv = 0; switch ( field ) { case 0: // sv = splitTree( prg, list->head->value ); @@ -1507,9 +1501,9 @@ Tree *getListMemSplit( Program *prg, List *list, word_t field ) #if 0 -int mapInsert( Program *prg, Map *map, Tree *key, Tree *element ) +int mapInsert( program_t *prg, map_t *map, tree_t *key, tree_t *element ) { - MapEl *mapEl = mapInsertKey( prg, map, key, 0 ); + map_el_t *mapEl = mapInsertKey( prg, map, key, 0 ); if ( mapEl != 0 ) { //mapEl->tree = element; @@ -1521,19 +1515,19 @@ int mapInsert( Program *prg, Map *map, Tree *key, Tree *element ) #endif #if 0 -void mapUnremove( Program *prg, Map *map, Tree *key, Tree *element ) +void mapUnremove( program_t *prg, map_t *map, tree_t *key, tree_t *element ) { - MapEl *mapEl = mapInsertKey( prg, map, key, 0 ); + map_el_t *mapEl = mapInsertKey( prg, map, key, 0 ); assert( mapEl != 0 ); //mapEl->tree = element; } #endif #if 0 -Tree *mapUninsert( Program *prg, Map *map, Tree *key ) +tree_t *mapUninsert( program_t *prg, map_t *map, tree_t *key ) { - MapEl *el = mapDetachByKey( prg, map, key ); -// Tree *val = el->tree; + map_el_t *el = mapDetachByKey( prg, map, key ); +// tree_t *val = el->tree; mapElFree( prg, el ); // return val; return 0; @@ -1541,11 +1535,11 @@ Tree *mapUninsert( Program *prg, Map *map, Tree *key ) #endif #if 0 -Tree *mapStore( Program *prg, Map *map, Tree *key, Tree *element ) +tree_t *mapStore( program_t *prg, map_t *map, tree_t *key, tree_t *element ) { - Tree *oldTree = 0; - MapEl *elInTree = 0; - MapEl *mapEl = mapInsertKey( prg, map, key, &elInTree ); + tree_t *oldTree = 0; + map_el_t *elInTree = 0; + map_el_t *mapEl = mapInsertKey( prg, map, key, &elInTree ); // if ( mapEl != 0 ) // mapEl->tree = element; @@ -1559,16 +1553,16 @@ Tree *mapStore( Program *prg, Map *map, Tree *key, Tree *element ) } #endif -static Tree *treeSearchKid( Program *prg, Kid *kid, long id ) +static tree_t *treeSearchKid( program_t *prg, kid_t *kid, long id ) { /* This node the one? */ if ( kid->tree->id == id ) return kid->tree; - Tree *res = 0; + tree_t *res = 0; /* Search children. */ - Kid *child = treeChild( prg, kid->tree ); + kid_t *child = treeChild( prg, kid->tree ); if ( child != 0 ) res = treeSearchKid( prg, child, id ); @@ -1579,29 +1573,29 @@ static Tree *treeSearchKid( Program *prg, Kid *kid, long id ) return res; } -Tree *treeSearch( Program *prg, Tree *tree, long id ) +tree_t *treeSearch( program_t *prg, tree_t *tree, long id ) { - Tree *res = 0; + tree_t *res = 0; if ( tree->id == id ) res = tree; else { - Kid *child = treeChild( prg, tree ); + kid_t *child = treeChild( prg, tree ); if ( child != 0 ) res = treeSearchKid( prg, child, id ); } return res; } -static Location *locSearchKid( Program *prg, Kid *kid ) +static location_t *locSearchKid( program_t *prg, kid_t *kid ) { /* This node the one? */ if ( kid->tree->tokdata != 0 && kid->tree->tokdata->location != 0 ) return kid->tree->tokdata->location; - Location *res = 0; + location_t *res = 0; /* Search children. */ - Kid *child = treeChild( prg, kid->tree ); + kid_t *child = treeChild( prg, kid->tree ); if ( child != 0 ) res = locSearchKid( prg, child ); @@ -1612,26 +1606,26 @@ static Location *locSearchKid( Program *prg, Kid *kid ) return res; } -Location *locSearch( Program *prg, Tree *tree ) +location_t *locSearch( program_t *prg, tree_t *tree ) { - Location *res = 0; + location_t *res = 0; if ( tree->tokdata != 0 && tree->tokdata->location != 0 ) return tree->tokdata->location; - Kid *child = treeChild( prg, tree ); + kid_t *child = treeChild( prg, tree ); if ( child != 0 ) res = locSearchKid( prg, child ); return res; } -struct colm_location *colm_find_location( Program *prg, Tree *tree ) +struct colm_location *colm_find_location( program_t *prg, tree_t *tree ) { return locSearch( prg, tree ); } /* - * Tree Printing + * tree_t Printing */ void xmlEscapeData( struct colm_print_args *printArgs, const char *data, long len ) @@ -1687,7 +1681,7 @@ void strCollectClear( StrCollect *collect ) #define INT_SZ 32 -void printStr( struct colm_print_args *printArgs, Head *str ) +void printStr( struct colm_print_args *printArgs, head_t *str ) { printArgs->out( printArgs, (char*)(str->data), str->length ); } @@ -1710,12 +1704,12 @@ void appendFd( struct colm_print_args *args, const char *data, int length ) message( "write error on fd: %d: %s\n", fd, strerror(errno) ); } -Tree *treeTrim( struct colm_program *prg, Tree **sp, Tree *tree ) +tree_t *treeTrim( struct colm_program *prg, tree_t **sp, tree_t *tree ) { debug( prg, REALM_PARSE, "attaching left ignore\n" ); /* Make the ignore list for the left-ignore. */ - Tree *leftIgnore = treeAllocate( prg ); + tree_t *leftIgnore = treeAllocate( prg ); leftIgnore->id = LEL_ID_IGNORE; leftIgnore->flags |= AF_SUPPRESS_RIGHT; @@ -1725,7 +1719,7 @@ Tree *treeTrim( struct colm_program *prg, Tree **sp, Tree *tree ) /* Copy the ignore list first if we need to attach it as a right * ignore. */ - Tree *rightIgnore = 0; + tree_t *rightIgnore = 0; rightIgnore = treeAllocate( prg ); rightIgnore->id = LEL_ID_IGNORE; rightIgnore->flags |= AF_SUPPRESS_LEFT; @@ -1754,11 +1748,11 @@ enum VisitType #define TF_TERM_SEEN 0x1 -void printKid( Program *prg, Tree **sp, struct colm_print_args *printArgs, Kid *kid ) +void printKid( program_t *prg, tree_t **sp, struct colm_print_args *printArgs, kid_t *kid ) { enum ReturnType rt; - Kid *parent = 0; - Kid *leadingIgnore = 0; + kid_t *parent = 0; + kid_t *leadingIgnore = 0; enum VisitType visitType; int flags = 0; @@ -1804,7 +1798,7 @@ rec_call: if ( visitType == IgnoreData ) { debug( prg, REALM_PRINT, "putting %p on ignore list\n", kid->tree ); - Kid *newIgnore = kidAllocate( prg ); + kid_t *newIgnore = kidAllocate( prg ); newIgnore->next = leadingIgnore; leadingIgnore = newIgnore; leadingIgnore->tree = kid->tree; @@ -1812,7 +1806,7 @@ rec_call: } if ( visitType == IgnoreWrapper ) { - Kid *newIgnore = kidAllocate( prg ); + kid_t *newIgnore = kidAllocate( prg ); newIgnore->next = leadingIgnore; leadingIgnore = newIgnore; leadingIgnore->tree = kid->tree; @@ -1823,12 +1817,12 @@ rec_call: if ( visitType == Term ) { /* Reverse the leading ignore list. */ if ( leadingIgnore != 0 ) { - Kid *ignore = 0, *last = 0; + kid_t *ignore = 0, *last = 0; /* Reverse the list and take the opportunity to implement the * suppress left. */ while ( true ) { - Kid *next = leadingIgnore->next; + kid_t *next = leadingIgnore->next; leadingIgnore->next = last; if ( leadingIgnore->tree->flags & AF_SUPPRESS_LEFT ) { @@ -1904,7 +1898,7 @@ rec_call: } /* Print children. */ - Kid *child = printArgs->attr ? + kid_t *child = printArgs->attr ? treeAttr( prg, kid->tree ) : treeChild( prg, kid->tree ); @@ -1971,16 +1965,16 @@ skip_null: } } -void colm_print_tree_args( Program *prg, Tree **sp, struct colm_print_args *printArgs, Tree *tree ) +void colm_print_tree_args( program_t *prg, tree_t **sp, struct colm_print_args *printArgs, tree_t *tree ) { if ( tree == 0 ) printArgs->out( printArgs, "NIL", 3 ); else { /* This term tree allows us to print trailing ignores. */ - Tree termTree; + tree_t termTree; memset( &termTree, 0, sizeof(termTree) ); - Kid kid, term; + kid_t kid, term; term.tree = &termTree; term.next = 0; term.flags = 0; @@ -1993,34 +1987,23 @@ void colm_print_tree_args( Program *prg, Tree **sp, struct colm_print_args *prin } } -void colm_print_term_tree( Program *prg, Tree **sp, struct colm_print_args *printArgs, Kid *kid ) +void colm_print_term_tree( program_t *prg, tree_t **sp, struct colm_print_args *printArgs, kid_t *kid ) { debug( prg, REALM_PRINT, "printing term %p\n", kid->tree ); -// if ( kid->tree->id == LEL_ID_INT ) { -// char buf[INT_SZ]; -// sprintf( buf, "%ld", ((Int*)kid->tree)->value ); -// printArgs->out( printArgs, buf, strlen(buf) ); -// } -// else if ( kid->tree->id == LEL_ID_BOOL ) { -// if ( ((Int*)kid->tree)->value ) -// printArgs->out( printArgs, "true", 4 ); -// else -// printArgs->out( printArgs, "false", 5 ); -// } if ( kid->tree->id == LEL_ID_PTR ) { char buf[INT_SZ]; printArgs->out( printArgs, "#", 1 ); - sprintf( buf, "%p", (void*) ((Pointer*)kid->tree)->value ); + sprintf( buf, "%p", (void*) ((pointer_t*)kid->tree)->value ); printArgs->out( printArgs, buf, strlen(buf) ); } else if ( kid->tree->id == LEL_ID_STR ) { - printStr( printArgs, ((Str*)kid->tree)->value ); + printStr( printArgs, ((str_t*)kid->tree)->value ); } // else if ( kid->tree->id == LEL_ID_STREAM ) { // char buf[INT_SZ]; // printArgs->out( printArgs, "#", 1 ); -// sprintf( buf, "%p", (void*) ((Stream*)kid->tree)->in->file ); +// sprintf( buf, "%p", (void*) ((stream_t*)kid->tree)->in->file ); // printArgs->out( printArgs, buf, strlen(buf) ); // } else if ( kid->tree->tokdata != 0 && @@ -2032,11 +2015,13 @@ void colm_print_term_tree( Program *prg, Tree **sp, struct colm_print_args *prin } -void colm_print_null( Program *prg, Tree **sp, struct colm_print_args *args, Kid *parent, Kid *kid ) +void colm_print_null( program_t *prg, tree_t **sp, + struct colm_print_args *args, kid_t *parent, kid_t *kid ) { } -void openTreeXml( Program *prg, Tree **sp, struct colm_print_args *args, Kid *parent, Kid *kid ) +void openTreeXml( program_t *prg, tree_t **sp, struct colm_print_args *args, + kid_t *parent, kid_t *kid ) { /* Skip the terminal that is for forcing trailing ignores out. */ if ( kid->tree->id == 0 ) @@ -2058,29 +2043,18 @@ void openTreeXml( Program *prg, Tree **sp, struct colm_print_args *args, Kid *pa args->out( args, ">", 1 ); } -void printTermXml( Program *prg, Tree **sp, struct colm_print_args *printArgs, Kid *kid ) +void printTermXml( program_t *prg, tree_t **sp, struct colm_print_args *printArgs, kid_t *kid ) { - //Kid *child; + //kid_t *child; /*child = */ treeChild( prg, kid->tree ); if ( kid->tree->id == LEL_ID_PTR ) { char ptr[32]; - sprintf( ptr, "%p\n", (void*)((Pointer*)kid->tree)->value ); + sprintf( ptr, "%p\n", (void*)((pointer_t*)kid->tree)->value ); printArgs->out( printArgs, ptr, strlen(ptr) ); } -// else if ( kid->tree->id == LEL_ID_BOOL ) { -// if ( ((Int*)kid->tree)->value ) -// printArgs->out( printArgs, "true", 4 ); -// else -// printArgs->out( printArgs, "false", 5 ); -// } -// else if ( kid->tree->id == LEL_ID_INT ) { -// char ptr[32]; -// sprintf( ptr, "%ld", ((Int*)kid->tree)->value ); -// printArgs->out( printArgs, ptr, strlen(ptr) ); -// } else if ( kid->tree->id == LEL_ID_STR ) { - Head *head = (Head*) ((Str*)kid->tree)->value; + head_t *head = (head_t*) ((str_t*)kid->tree)->value; xmlEscapeData( printArgs, (char*)(head->data), head->length ); } @@ -2095,7 +2069,7 @@ void printTermXml( Program *prg, Tree **sp, struct colm_print_args *printArgs, K } -void closeTreeXml( Program *prg, Tree **sp, struct colm_print_args *args, Kid *parent, Kid *kid ) +void closeTreeXml( program_t *prg, tree_t **sp, struct colm_print_args *args, kid_t *parent, kid_t *kid ) { /* Skip the terminal that is for forcing trailing ignores out. */ if ( kid->tree->id == 0 ) @@ -2117,28 +2091,28 @@ void closeTreeXml( Program *prg, Tree **sp, struct colm_print_args *args, Kid *p args->out( args, ">", 1 ); } -void printTreeCollect( Program *prg, Tree **sp, StrCollect *collect, Tree *tree, int trim ) +void printTreeCollect( program_t *prg, tree_t **sp, StrCollect *collect, tree_t *tree, int trim ) { struct colm_print_args printArgs = { collect, true, false, trim, &appendCollect, &colm_print_null, &colm_print_term_tree, &colm_print_null }; colm_print_tree_args( prg, sp, &printArgs, tree ); } -void printTreeFile( Program *prg, Tree **sp, FILE *out, Tree *tree, int trim ) +void printTreeFile( program_t *prg, tree_t **sp, FILE *out, tree_t *tree, int trim ) { struct colm_print_args printArgs = { out, true, false, trim, &appendFile, &colm_print_null, &colm_print_term_tree, &colm_print_null }; colm_print_tree_args( prg, sp, &printArgs, tree ); } -void printTreeFd( Program *prg, Tree **sp, int fd, Tree *tree, int trim ) +void printTreeFd( program_t *prg, tree_t **sp, int fd, tree_t *tree, int trim ) { struct colm_print_args printArgs = { (void*)((long)fd), true, false, trim, &appendFd, &colm_print_null, &colm_print_term_tree, &colm_print_null }; colm_print_tree_args( prg, sp, &printArgs, tree ); } -void printXmlStdout( Program *prg, Tree **sp, Tree *tree, int commAttr, int trim ) +void printXmlStdout( program_t *prg, tree_t **sp, tree_t *tree, int commAttr, int trim ) { struct colm_print_args printArgs = { stdout, commAttr, commAttr, trim, &appendFile, &openTreeXml, &printTermXml, &closeTreeXml }; @@ -38,11 +38,12 @@ typedef unsigned long half_t; struct bindings; struct function_info; -typedef struct colm_stream Stream; -typedef struct colm_parser Parser; -typedef struct colm_list List; -typedef struct colm_list_el ListEl; -typedef struct colm_map Map; +typedef struct colm_stream stream_t; +typedef struct colm_parser parser_t; +typedef struct colm_list list_t; +typedef struct colm_list_el list_el_t; +typedef struct colm_map map_t; +typedef struct colm_map_el map_el_t; typedef struct colm_location { @@ -50,7 +51,7 @@ typedef struct colm_location long line; long column; long byte; -} Location; +} location_t; /* Header located just before string data. */ typedef struct colm_data @@ -58,42 +59,42 @@ typedef struct colm_data const char *data; long length; struct colm_location *location; -} Head; +} head_t; typedef struct colm_kid { /* The tree needs to be first since pointers to kids are used to reference - * trees on the stack. A pointer to the word that is a Tree* is cast to - * a Kid*. */ + * trees on the stack. A pointer to the word that is a tree_t* is cast to + * a kid_t*. */ struct colm_tree *tree; struct colm_kid *next; unsigned char flags; -} Kid; +} kid_t; -typedef struct _Ref +typedef struct colm_ref { - Kid *kid; - struct _Ref *next; -} Ref; + kid_t *kid; + struct colm_ref *next; +} ref_t; -typedef struct colm_tree Tree; +typedef struct colm_tree tree_t; -typedef struct _TreePair +struct tree_pair { - Tree *key; - Tree *val; -} TreePair; + tree_t *key; + tree_t *val; +}; -typedef struct _ParseTree +typedef struct colm_parse_tree { short id; unsigned short flags; - struct _ParseTree *child; - struct _ParseTree *next; - struct _ParseTree *leftIgnore; - struct _ParseTree *rightIgnore; - Kid *shadow; + struct colm_parse_tree *child; + struct colm_parse_tree *next; + struct colm_parse_tree *leftIgnore; + struct colm_parse_tree *rightIgnore; + kid_t *shadow; /* Parsing algorithm. */ long state; @@ -103,40 +104,29 @@ typedef struct _ParseTree long retryRegion; char retryLower; char retryUpper; -} ParseTree; - -typedef struct _Int -{ - /* Must overlay Tree. */ - short id; - unsigned short flags; - long refs; - Kid *child; - - long value; -} Int; +} parse_tree_t; -typedef struct _Pointer +typedef struct colm_pointer { - /* Must overlay Tree. */ + /* Must overlay tree_t. */ short id; unsigned short flags; long refs; - Kid *child; + kid_t *child; colm_value_t value; -} Pointer; +} pointer_t; -typedef struct _Str +typedef struct colm_str { - /* Must overlay Tree. */ + /* Must overlay tree_t. */ short id; unsigned short flags; long refs; - Kid *child; + kid_t *child; - Head *value; -} Str; + head_t *value; +} str_t; /* * Maps @@ -168,135 +158,135 @@ enum IterType typedef struct _TreeIter { enum IterType type; - Ref rootRef; - Ref ref; + ref_t rootRef; + ref_t ref; long searchId; - Tree **stackRoot; + tree_t **stackRoot; long argSize; long yieldSize; long rootSize; -} TreeIter; +} tree_iter_t; -typedef struct _ListIter +typedef struct colm_generic_iter { enum IterType type; - Ref rootRef; - Ref ref; - Tree **stackRoot; + ref_t rootRef; + ref_t ref; + tree_t **stackRoot; long argSize; long yieldSize; long rootSize; long genericId; -} GenericIter; +} generic_iter_t; /* This must overlay tree iter because some of the same bytecodes are used. */ typedef struct _RevTreeIter { enum IterType type; - Ref rootRef; - Ref ref; + ref_t rootRef; + ref_t ref; long searchId; - Tree **stackRoot; + tree_t **stackRoot; long argSize; long yieldSize; long rootSize; /* For detecting a split at the leaf. */ - Kid *kidAtYield; + kid_t *kidAtYield; long children; -} RevTreeIter; +} rev_tree_iter_t; -typedef struct _UserIter +typedef struct colm_user_iter { enum IterType type; /* The current item. */ - Ref ref; - Tree **stackRoot; + ref_t ref; + tree_t **stackRoot; long argSize; long yieldSize; long rootSize; code_t *resume; - Tree **frame; + tree_t **frame; long searchId; -} UserIter; - -void treeUpref( Tree *tree ); -void treeDownref( struct colm_program *prg, Tree **sp, Tree *tree ); -long cmpTree( struct colm_program *prg, const Tree *tree1, const Tree *tree2 ); - -Tree *pushRightIgnore( struct colm_program *prg, Tree *pushTo, Tree *rightIgnore ); -Tree *pushLeftIgnore( struct colm_program *prg, Tree *pushTo, Tree *leftIgnore ); -Tree *popRightIgnore( struct colm_program *prg, Tree **sp, - Tree *popFrom, Tree **rightIgnore ); -Tree *popLeftIgnore( struct colm_program *prg, Tree **sp, - Tree *popFrom, Tree **leftIgnore ); -Tree *treeLeftIgnore( struct colm_program *prg, Tree *tree ); -Tree *treeRightIgnore( struct colm_program *prg, Tree *tree ); -Kid *treeLeftIgnoreKid( struct colm_program *prg, Tree *tree ); -Kid *treeRightIgnoreKid( struct colm_program *prg, Tree *tree ); -Kid *treeChild( struct colm_program *prg, const Tree *tree ); -Kid *treeAttr( struct colm_program *prg, const Tree *tree ); -Kid *kidListConcat( Kid *list1, Kid *list2 ); -Kid *treeExtractChild( struct colm_program *prg, Tree *tree ); -Kid *reverseKidList( Kid *kid ); - -Tree *colm_construct_pointer( struct colm_program *prg, colm_value_t value ); -Tree *constructTerm( struct colm_program *prg, word_t id, Head *tokdata ); -Tree *constructTree( struct colm_program *prg, Kid *kid, - Tree **bindings, long pat ); -Tree *constructObject( struct colm_program *prg, Kid *kid, - Tree **bindings, long langElId ); -Tree *constructToken( struct colm_program *prg, Tree **args, long nargs ); - -int testFalse( struct colm_program *prg, Tree *tree ); -Tree *makeTree( struct colm_program *prg, Tree **args, long nargs ); -Stream *openFile( struct colm_program *prg, Tree *name, Tree *mode ); -Stream *colm_stream_open_file( struct colm_program *prg, Tree *name, Tree *mode ); -Stream *colm_stream_open_fd( struct colm_program *prg, char *name, long fd ); -Kid *copyIgnoreList( struct colm_program *prg, Kid *ignoreHeader ); -Kid *copyKidList( struct colm_program *prg, Kid *kidList ); -void streamFree( struct colm_program *prg, Stream *s ); -Tree *copyTree( struct colm_program *prg, Tree *tree, - Kid *oldNextDown, Kid **newNextDown ); - -colm_value_t colm_get_pointer_val( Tree *pointer ); -Tree *colm_tree_get_field( Tree *tree, word_t field ); -Tree *getFieldSplit( struct colm_program *prg, Tree *tree, word_t field ); -Tree *getRhsEl( struct colm_program *prg, Tree *lhs, long position ); -Kid *getRhsElKid( struct colm_program *prg, Tree *lhs, long position ); -void colm_tree_set_field( struct colm_program *prg, Tree *tree, long field, Tree *value ); - -void setTriterCur( struct colm_program *prg, TreeIter *iter, Tree *tree ); -void setUiterCur( struct colm_program *prg, UserIter *uiter, Tree *tree ); -void refSetValue( struct colm_program *prg, Tree **sp, Ref *ref, Tree *v ); -Tree *treeSearch( struct colm_program *prg, Tree *tree, long id ); -Location *locSearch( struct colm_program *prg, Tree *tree ); - -int matchPattern( Tree **bindings, struct colm_program *prg, - long pat, Kid *kid, int checkNext ); -Tree *treeIterDerefCur( TreeIter *iter ); +} user_iter_t; + +void treeUpref( tree_t *tree ); +void treeDownref( struct colm_program *prg, tree_t **sp, tree_t *tree ); +long cmpTree( struct colm_program *prg, const tree_t *tree1, const tree_t *tree2 ); + +tree_t *pushRightIgnore( struct colm_program *prg, tree_t *pushTo, tree_t *rightIgnore ); +tree_t *pushLeftIgnore( struct colm_program *prg, tree_t *pushTo, tree_t *leftIgnore ); +tree_t *popRightIgnore( struct colm_program *prg, tree_t **sp, + tree_t *popFrom, tree_t **rightIgnore ); +tree_t *popLeftIgnore( struct colm_program *prg, tree_t **sp, + tree_t *popFrom, tree_t **leftIgnore ); +tree_t *treeLeftIgnore( struct colm_program *prg, tree_t *tree ); +tree_t *treeRightIgnore( struct colm_program *prg, tree_t *tree ); +kid_t *treeLeftIgnoreKid( struct colm_program *prg, tree_t *tree ); +kid_t *treeRightIgnoreKid( struct colm_program *prg, tree_t *tree ); +kid_t *treeChild( struct colm_program *prg, const tree_t *tree ); +kid_t *treeAttr( struct colm_program *prg, const tree_t *tree ); +kid_t *kidListConcat( kid_t *list1, kid_t *list2 ); +kid_t *treeExtractChild( struct colm_program *prg, tree_t *tree ); +kid_t *reverseKidList( kid_t *kid ); + +tree_t *colm_construct_pointer( struct colm_program *prg, colm_value_t value ); +tree_t *constructTerm( struct colm_program *prg, word_t id, head_t *tokdata ); +tree_t *constructTree( struct colm_program *prg, kid_t *kid, + tree_t **bindings, long pat ); +tree_t *constructObject( struct colm_program *prg, kid_t *kid, + tree_t **bindings, long langElId ); +tree_t *constructToken( struct colm_program *prg, tree_t **args, long nargs ); + +int testFalse( struct colm_program *prg, tree_t *tree ); +tree_t *makeTree( struct colm_program *prg, tree_t **args, long nargs ); +stream_t *openFile( struct colm_program *prg, tree_t *name, tree_t *mode ); +stream_t *colm_stream_open_file( struct colm_program *prg, tree_t *name, tree_t *mode ); +stream_t *colm_stream_open_fd( struct colm_program *prg, char *name, long fd ); +kid_t *copyIgnoreList( struct colm_program *prg, kid_t *ignoreHeader ); +kid_t *copyKidList( struct colm_program *prg, kid_t *kidList ); +void streamFree( struct colm_program *prg, stream_t *s ); +tree_t *copyTree( struct colm_program *prg, tree_t *tree, + kid_t *oldNextDown, kid_t **newNextDown ); + +colm_value_t colm_get_pointer_val( tree_t *pointer ); +tree_t *colm_tree_get_field( tree_t *tree, word_t field ); +tree_t *getFieldSplit( struct colm_program *prg, tree_t *tree, word_t field ); +tree_t *getRhsEl( struct colm_program *prg, tree_t *lhs, long position ); +kid_t *getRhsElKid( struct colm_program *prg, tree_t *lhs, long position ); +void colm_tree_set_field( struct colm_program *prg, tree_t *tree, long field, tree_t *value ); + +void setTriterCur( struct colm_program *prg, tree_iter_t *iter, tree_t *tree ); +void setUiterCur( struct colm_program *prg, user_iter_t *uiter, tree_t *tree ); +void refSetValue( struct colm_program *prg, tree_t **sp, ref_t *ref, tree_t *v ); +tree_t *treeSearch( struct colm_program *prg, tree_t *tree, long id ); +location_t *locSearch( struct colm_program *prg, tree_t *tree ); + +int matchPattern( tree_t **bindings, struct colm_program *prg, + long pat, kid_t *kid, int checkNext ); +tree_t *treeIterDerefCur( tree_iter_t *iter ); /* For making references of attributes. */ -Kid *getFieldKid( Tree *tree, word_t field ); - -Tree *copyRealTree( struct colm_program *prg, Tree *tree, - Kid *oldNextDown, Kid **newNextDown ); -void splitIterCur( struct colm_program *prg, Tree ***psp, TreeIter *iter ); -Tree *setListMem( List *list, half_t field, Tree *value ); - -void listPushTail( struct colm_program *prg, List *list, Tree *val ); -void listPushHead( struct colm_program *prg, List *list, Tree *val ); -Tree *listRemoveEnd( struct colm_program *prg, List *list ); -Tree *listRemoveHead( struct colm_program *prg, List *list ); -Tree *getListMemSplit( struct colm_program *prg, List *list, word_t field ); -Tree *getParserMem( Parser *parser, word_t field ); - -Tree *treeIterAdvance( struct colm_program *prg, Tree ***psp, TreeIter *iter ); -Tree *treeIterNextChild( struct colm_program *prg, Tree ***psp, TreeIter *iter ); -Tree *treeRevIterPrevChild( struct colm_program *prg, Tree ***psp, RevTreeIter *iter ); -Tree *treeIterNextRepeat( struct colm_program *prg, Tree ***psp, TreeIter *iter ); -Tree *treeIterPrevRepeat( struct colm_program *prg, Tree ***psp, TreeIter *iter ); +kid_t *getFieldKid( tree_t *tree, word_t field ); + +tree_t *copyRealTree( struct colm_program *prg, tree_t *tree, + kid_t *oldNextDown, kid_t **newNextDown ); +void splitIterCur( struct colm_program *prg, tree_t ***psp, tree_iter_t *iter ); +tree_t *setListMem( list_t *list, half_t field, tree_t *value ); + +void listPushTail( struct colm_program *prg, list_t *list, tree_t *val ); +void listPushHead( struct colm_program *prg, list_t *list, tree_t *val ); +tree_t *listRemoveEnd( struct colm_program *prg, list_t *list ); +tree_t *listRemoveHead( struct colm_program *prg, list_t *list ); +tree_t *getListMemSplit( struct colm_program *prg, list_t *list, word_t field ); +tree_t *getParserMem( parser_t *parser, word_t field ); + +tree_t *treeIterAdvance( struct colm_program *prg, tree_t ***psp, tree_iter_t *iter ); +tree_t *treeIterNextChild( struct colm_program *prg, tree_t ***psp, tree_iter_t *iter ); +tree_t *treeRevIterPrevChild( struct colm_program *prg, tree_t ***psp, rev_tree_iter_t *iter ); +tree_t *treeIterNextRepeat( struct colm_program *prg, tree_t ***psp, tree_iter_t *iter ); +tree_t *treeIterPrevRepeat( struct colm_program *prg, tree_t ***psp, tree_iter_t *iter ); /* An automatically grown buffer for collecting tokens. Always reuses space; * never down resizes. */ @@ -311,58 +301,58 @@ void initStrCollect( StrCollect *collect ); void strCollectDestroy( StrCollect *collect ); void strCollectAppend( StrCollect *collect, const char *data, long len ); void strCollectClear( StrCollect *collect ); -Tree *treeTrim( struct colm_program *prg, Tree **sp, Tree *tree ); +tree_t *treeTrim( struct colm_program *prg, tree_t **sp, tree_t *tree ); -void printTreeCollect( struct colm_program *prg, Tree **sp, - StrCollect *collect, Tree *tree, int trim ); -void printTreeFile( struct colm_program *prg, Tree **sp, FILE *out, Tree *tree, int trim ); -void printTreeFd( struct colm_program *prg, Tree **sp, int fd, Tree *tree, int trim ); -void printXmlStdout( struct colm_program *prg, Tree **sp, - Tree *tree, int commAttr, int trim ); +void printTreeCollect( struct colm_program *prg, tree_t **sp, + StrCollect *collect, tree_t *tree, int trim ); +void printTreeFile( struct colm_program *prg, tree_t **sp, FILE *out, tree_t *tree, int trim ); +void printTreeFd( struct colm_program *prg, tree_t **sp, int fd, tree_t *tree, int trim ); +void printXmlStdout( struct colm_program *prg, tree_t **sp, + tree_t *tree, int commAttr, int trim ); /* * Iterators. */ -UserIter *colm_uiter_create( struct colm_program *prg, Tree ***psp, +user_iter_t *colm_uiter_create( struct colm_program *prg, tree_t ***psp, struct function_info *fi, long searchId ); -void uiterInit( struct colm_program *prg, Tree **sp, UserIter *uiter, +void uiterInit( struct colm_program *prg, tree_t **sp, user_iter_t *uiter, struct function_info *fi, int revertOn ); -void colm_init_tree_iter( TreeIter *treeIter, Tree **stackRoot, - long argSize, long rootSize, const Ref *rootRef, int searchId ); -void colm_init_rev_tree_iter( RevTreeIter *revTriter, Tree **stackRoot, - long argSize, long rootSize, const Ref *rootRef, int searchId, int children ); -void colm_init_user_iter( UserIter *userIter, Tree **stackRoot, long rootSize, +void colm_init_tree_iter( tree_iter_t *treeIter, tree_t **stackRoot, + long argSize, long rootSize, const ref_t *rootRef, int searchId ); +void colm_init_rev_tree_iter( rev_tree_iter_t *revTriter, tree_t **stackRoot, + long argSize, long rootSize, const ref_t *rootRef, int searchId, int children ); +void colm_init_user_iter( user_iter_t *userIter, tree_t **stackRoot, long rootSize, long argSize, long searchId ); -void colm_tree_iter_destroy( struct colm_program *prg, Tree ***psp, TreeIter *iter ); -void colm_rev_tree_iter_destroy( struct colm_program *prg, Tree ***psp, RevTreeIter *iter ); -void colm_uiter_destroy( struct colm_program *prg, Tree ***psp, UserIter *uiter ); -void colm_uiter_unwind( struct colm_program *prg, Tree ***psp, UserIter *uiter ); +void colm_tree_iter_destroy( struct colm_program *prg, tree_t ***psp, tree_iter_t *iter ); +void colm_rev_tree_iter_destroy( struct colm_program *prg, tree_t ***psp, rev_tree_iter_t *iter ); +void colm_uiter_destroy( struct colm_program *prg, tree_t ***psp, user_iter_t *uiter ); +void colm_uiter_unwind( struct colm_program *prg, tree_t ***psp, user_iter_t *uiter ); -Tree *castTree( struct colm_program *prg, int langElId, Tree *tree ); -struct stream_impl *streamToImpl( Stream *ptr ); +tree_t *castTree( struct colm_program *prg, int langElId, tree_t *tree ); +struct stream_impl *streamToImpl( stream_t *ptr ); -void colm_init_list_iter( GenericIter *listIter, Tree **stackRoot, - long argSize, long rootSize, const Ref *rootRef, int genericId ); -void colm_list_iter_destroy( struct colm_program *prg, Tree ***psp, GenericIter *iter ); -Tree *colm_list_iter_advance( struct colm_program *prg, Tree ***psp, GenericIter *iter ); -Tree *colm_list_iter_deref_cur( struct colm_program *prg, GenericIter *iter ); +void colm_init_list_iter( generic_iter_t *listIter, tree_t **stackRoot, + long argSize, long rootSize, const ref_t *rootRef, int genericId ); +void colm_list_iter_destroy( struct colm_program *prg, tree_t ***psp, generic_iter_t *iter ); +tree_t *colm_list_iter_advance( struct colm_program *prg, tree_t ***psp, generic_iter_t *iter ); +tree_t *colm_list_iter_deref_cur( struct colm_program *prg, generic_iter_t *iter ); void colm_list_append( struct colm_list *list, struct colm_list_el *newEl ); void colm_list_prepend( struct colm_list *list, struct colm_list_el *newEl ); -void colm_vlist_append( struct colm_program *prg, List *list, Value value ); -void colm_vlist_prepend( struct colm_program *prg, List *list, Value value ); -Value colm_vlist_detach_head( struct colm_program *prg, List *list ); -Value colm_vlist_detach_tail( struct colm_program *prg, List *list ); +void colm_vlist_append( struct colm_program *prg, list_t *list, value_t value ); +void colm_vlist_prepend( struct colm_program *prg, list_t *list, value_t value ); +value_t colm_vlist_detach_head( struct colm_program *prg, list_t *list ); +value_t colm_vlist_detach_tail( struct colm_program *prg, list_t *list ); -Value colm_viter_deref_cur( struct colm_program *prg, GenericIter *iter ); +value_t colm_viter_deref_cur( struct colm_program *prg, generic_iter_t *iter ); -Str *string_prefix( Program *prg, Str *str, long len ); -Str *string_suffix( Program *prg, Str *str, long pos ); -Head *stringAllocFull( struct colm_program *prg, const char *data, long length ); -Tree *constructString( struct colm_program *prg, Head *s ); +str_t *string_prefix( program_t *prg, str_t *str, long len ); +str_t *string_suffix( program_t *prg, str_t *str, long pos ); +head_t *stringAllocFull( struct colm_program *prg, const char *data, long length ); +tree_t *constructString( struct colm_program *prg, head_t *s ); #if defined(__cplusplus) } diff --git a/test/ext1.lm b/test/ext1.lm index 3d2c40c8..5a645ef4 100644 --- a/test/ext1.lm +++ b/test/ext1.lm @@ -9,7 +9,7 @@ print "[alphcount( " hello friend " )] #include <stdio.h> #include <string.h> -Str *c_alphcount( Program *prg, Tree **sp, Str *a1 ) +str_t *c_alphcount( program_t *prg, tree_t **sp, str_t *a1 ) { int p, count = 0; for ( p = 0; p < a1->value->length; p++ ) { @@ -21,11 +21,11 @@ Str *c_alphcount( Program *prg, Tree **sp, Str *a1 ) char strc[64]; sprintf( strc, "%d", count ); - Head *h = stringAllocFull( prg, strc, strlen( strc ) ); - Tree *s = constructString( prg, h ); + head_t *h = stringAllocFull( prg, strc, strlen( strc ) ); + tree_t *s = constructString( prg, h ); treeUpref( s ); treeDownref( prg, sp, a1 ); - return (Str*)s; + return (str_t*)s; } ##### EXP ##### 11 |