summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bytecode.c1182
-rw-r--r--src/bytecode.h134
-rw-r--r--src/compiler.cc20
-rw-r--r--src/compiler.h8
-rw-r--r--src/consinit.cc2
-rw-r--r--src/ctinput.cc20
-rw-r--r--src/fsmcodegen.cc4
-rw-r--r--src/input.c80
-rw-r--r--src/internal.h6
-rw-r--r--src/iter.c172
-rw-r--r--src/list.c62
-rw-r--r--src/map.c116
-rw-r--r--src/map.h73
-rw-r--r--src/parsetree.h26
-rw-r--r--src/pdabuild.cc24
-rw-r--r--src/pdacodegen.cc2
-rw-r--r--src/pdacodegen.h4
-rw-r--r--src/pdarun.c300
-rw-r--r--src/pdarun.h70
-rw-r--r--src/pool.c94
-rw-r--r--src/pool.h76
-rw-r--r--src/program.c55
-rw-r--r--src/program.h28
-rw-r--r--src/string.c74
-rw-r--r--src/struct.c44
-rw-r--r--src/struct.h48
-rw-r--r--src/synthesis.cc8
-rw-r--r--src/tree.c524
-rw-r--r--src/tree.h338
-rw-r--r--test/ext1.lm8
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
diff --git a/src/iter.c b/src/iter.c
index ddb5ba6c..036a72ce 100644
--- a/src/iter.c
+++ b/src/iter.c
@@ -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 );
}
diff --git a/src/list.c b/src/list.c
index eafb6851..fa61d158 100644
--- a/src/list.c
+++ b/src/list.c
@@ -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;
diff --git a/src/map.c b/src/map.c
index 6e768991..acc522fc 100644
--- a/src/map.c
+++ b/src/map.c
@@ -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
diff --git a/src/map.h b/src/map.h
index c87f006b..d4a67a76 100644
--- a/src/map.h
+++ b/src/map.h
@@ -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
}
diff --git a/src/pool.c b/src/pool.c
index d04842c8..f7047298 100644
--- a/src/pool.c
+++ b/src/pool.c
@@ -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
diff --git a/src/pool.h b/src/pool.h
index 4ce1453f..e2de19b9 100644
--- a/src/pool.h
+++ b/src/pool.h
@@ -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. */
diff --git a/src/tree.c b/src/tree.c
index f3b3b456..3dde5a0e 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -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 };
diff --git a/src/tree.h b/src/tree.h
index 5256064d..197ca2fb 100644
--- a/src/tree.h
+++ b/src/tree.h
@@ -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