diff options
author | Adrian Thurston <thurston@complang.org> | 2015-05-10 19:13:51 -0400 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2015-05-10 19:14:14 -0400 |
commit | b05674c0aa0a63ae984fc8f8204bdb09d5e1dd9e (patch) | |
tree | f363c8255fae70f28c61d25506129f4858a953e3 | |
parent | 041084f89d3b05c4e9817002fcbe363839336538 (diff) | |
download | colm-b05674c0aa0a63ae984fc8f8204bdb09d5e1dd9e.tar.gz |
improved naming, moved generated parser code to subdir gen
-rw-r--r-- | src/.gitignore | 9 | ||||
-rw-r--r-- | src/Makefile.am | 36 | ||||
-rw-r--r-- | src/bytecode.c | 66 | ||||
-rw-r--r-- | src/bytecode.h | 6 | ||||
-rw-r--r-- | src/codevect.c | 12 | ||||
-rw-r--r-- | src/compiler.h | 2 | ||||
-rw-r--r-- | src/iter.c | 8 | ||||
-rw-r--r-- | src/list.c | 4 | ||||
-rw-r--r-- | src/loadcolm.cc | 2 | ||||
-rw-r--r-- | src/loadinit.cc | 2 | ||||
-rw-r--r-- | src/map.c | 4 | ||||
-rw-r--r-- | src/pdabuild.cc | 67 | ||||
-rw-r--r-- | src/pdacodegen.cc | 30 | ||||
-rw-r--r-- | src/pdarun.c | 14 | ||||
-rw-r--r-- | src/pdarun.h | 118 | ||||
-rw-r--r-- | src/pool.c | 24 | ||||
-rw-r--r-- | src/pool.h | 2 | ||||
-rw-r--r-- | src/program.h | 28 | ||||
-rw-r--r-- | src/struct.c | 4 | ||||
-rw-r--r-- | src/struct.h | 6 | ||||
-rw-r--r-- | src/tree.c | 38 | ||||
-rw-r--r-- | src/tree.h | 10 |
22 files changed, 243 insertions, 249 deletions
diff --git a/src/.gitignore b/src/.gitignore index 6d61d160..d9c11422 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -27,14 +27,7 @@ /include /bootstrap0 - /bootstrap1 -/if1.h -/if1.cc -/parse1.c - -/if2.h -/if2.cc -/parse2.c +/gen /libprog.a diff --git a/src/Makefile.am b/src/Makefile.am index 9f9fdd7a..cb33508f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -18,7 +18,9 @@ # along with Colm; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -INCLUDES = -I$(top_srcdir)/aapl +AM_CPPFLAGS = -I$(top_srcdir)/aapl + +AUTOMAKE_OPTIONS = subdir-objects bin_PROGRAMS = colm noinst_PROGRAMS = bootstrap0 bootstrap1 @@ -72,7 +74,7 @@ bootstrap1_CFLAGS = $(common_CFLAGS) bootstrap1_SOURCES = \ loadinit.h loadinit.cc main.cc nodist_bootstrap1_SOURCES = \ - if1.h if1.cc parse1.c + gen/if1.h gen/if1.cc gen/parse1.c bootstrap1_LDADD = libprog.a libcolmd.a colm_CXXFLAGS = $(common_CFLAGS) -DLOAD_COLM @@ -80,28 +82,32 @@ colm_CFLAGS = $(common_CFLAGS) colm_SOURCES = \ loadcolm.h loadcolm.cc main.cc nodist_colm_SOURCES = \ - if2.h if2.cc parse2.c + gen/if2.h gen/if2.cc gen/parse2.c colm_LDADD = libprog.a libcolmd.a colmincdir = $(includedir)/colm colminc_HEADERS = $(RUNTIME_HDR) -parse1.c: bootstrap0 - $(builddir)/bootstrap0 -c -o parse1.c -e if1.h -x if1.cc -if1.h: parse1.c -if1.cc: parse1.c +gen/parse1.c: bootstrap0 + mkdir -p gen + $(builddir)/bootstrap0 -c -o gen/parse1.c -e gen/if1.h -x gen/if1.cc + +gen/if1.h: gen/parse1.c +gen/if1.cc: gen/parse1.c + +gen/parse2.c: bootstrap1 colm.lm + mkdir -p gen + $(builddir)/bootstrap1 -c -o gen/parse2.c -e gen/if2.h -x gen/if2.cc colm.lm -parse2.c: bootstrap1 colm.lm - $(builddir)/bootstrap1 -c -o parse2.c -e if2.h -x if2.cc colm.lm -if2.h: parse2.c -if2.cc: parse2.c +gen/if2.h: gen/parse2.c +gen/if2.cc: gen/parse2.c -bootstrap1-if1.$(OBJEXT): if1.h if1.cc parse1.c -bootstrap1-loadinit.$(OBJEXT): if1.h if1.cc parse1.c +bootstrap1-if1.$(OBJEXT): gen/if1.h gen/if1.cc gen/parse1.c +bootstrap1-loadinit.$(OBJEXT): gen/if1.h gen/if1.cc gen/parse1.c -colm-if2.$(OBJEXT): if2.h if2.cc parse2.c -colm-loadcolm.$(OBJEXT): if2.h if2.cc parse2.c +colm-if2.$(OBJEXT): gen/if2.h gen/if2.cc gen/parse2.c +colm-loadcolm.$(OBJEXT): gen/if2.h gen/if2.cc gen/parse2.c BUILT_SOURCES = version.h include/colm diff --git a/src/bytecode.c b/src/bytecode.c index 8856d24c..e391b33a 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -268,7 +268,7 @@ static Tree *get_local_split( Program *prg, Execution *exec, long field ) } static void downref_local_trees( Program *prg, Tree **sp, - Execution *exec, LocalInfo *locals, long localsLen ) + Execution *exec, struct local_info *locals, long localsLen ) { long i; for ( i = localsLen-1; i >= 0; i-- ) { @@ -283,7 +283,7 @@ static void downref_local_trees( Program *prg, Tree **sp, } static void downref_locals( Program *prg, Tree ***psp, - Execution *exec, LocalInfo *locals, long localsLen ) + Execution *exec, struct local_info *locals, long localsLen ) { long i; for ( i = localsLen-1; i >= 0; i-- ) { @@ -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, RtCodeVect *rev ) +void colm_rcode_downref_all( Program *prg, Tree **sp, struct rt_code_vect *rev ) { while ( rev->tabLen > 0 ) { /* Read the length */ @@ -379,7 +379,7 @@ void colm_execute( Program *prg, Execution *exec, Code *code ) { Tree **sp = prg->stackRoot; - FrameInfo *fi = &prg->rtd->frameInfo[prg->rtd->rootFrameId]; + struct frame_info *fi = &prg->rtd->frameInfo[prg->rtd->rootFrameId]; /* Set up the stack as if we have * called. We allow a return value. */ @@ -424,7 +424,7 @@ Tree *colm_run_func( struct colm_program *prg, int frameId, Tree **sp = prg->stackRoot; - FrameInfo *fi = &prg->rtd->frameInfo[frameId]; + struct frame_info *fi = &prg->rtd->frameInfo[frameId]; Code *code = fi->codeWC; vm_pushn( paramCount ); @@ -476,8 +476,8 @@ Tree *colm_run_func( struct colm_program *prg, int frameId, int colm_make_reverse_code( struct pda_run *pdaRun ) { - RtCodeVect *reverseCode = &pdaRun->reverseCode; - RtCodeVect *rcodeCollect = &pdaRun->rcodeCollect; + struct rt_code_vect *reverseCode = &pdaRun->reverseCode; + struct rt_code_vect *rcodeCollect = &pdaRun->rcodeCollect; /* Do we need to revert the left hand side? */ @@ -487,9 +487,9 @@ int colm_make_reverse_code( struct pda_run *pdaRun ) if ( pdaRun->rcBlockCount == 0 ) { /* One reverse code run for the DECK terminator. */ - appendCode( reverseCode, IN_PCR_END_DECK ); - appendCode( reverseCode, IN_PCR_RET ); - appendWord( reverseCode, 2 ); + append_code_val( reverseCode, IN_PCR_END_DECK ); + append_code_val( reverseCode, IN_PCR_RET ); + append_word( reverseCode, 2 ); pdaRun->rcBlockCount += 1; colm_increment_steps( pdaRun ); } @@ -503,13 +503,13 @@ int colm_make_reverse_code( struct pda_run *pdaRun ) p--; long len = *p; p = p - len; - appendCode2( reverseCode, p, len ); + append_code_vect( reverseCode, p, len ); } /* Stop, then place a total length in the global stack. */ - appendCode( reverseCode, IN_PCR_RET ); + append_code_val( reverseCode, IN_PCR_RET ); long length = reverseCode->tabLen - startLength; - appendWord( reverseCode, length ); + append_word( reverseCode, length ); /* Clear the revere code buffer. */ rcodeCollect->tabLen = 0; @@ -531,7 +531,7 @@ void colm_transfer_reverse_code( struct pda_run *pdaRun, ParseTree *parseTree ) static void rcode_unit_term( Execution *exec ) { - appendCode( &exec->parser->pdaRun->rcodeCollect, exec->rcodeUnitLen ); + append_code_val( &exec->parser->pdaRun->rcodeCollect, exec->rcodeUnitLen ); exec->rcodeUnitLen = 0; } @@ -542,23 +542,23 @@ static void rcode_unit_start( Execution *exec ) static void rcode_code( Execution *exec, const Code code ) { - appendCode( &exec->parser->pdaRun->rcodeCollect, code ); + append_code_val( &exec->parser->pdaRun->rcodeCollect, code ); exec->rcodeUnitLen += SIZEOF_CODE; } static void rcodeHalf( Execution *exec, const Half half ) { - appendHalf( &exec->parser->pdaRun->rcodeCollect, half ); + append_half( &exec->parser->pdaRun->rcodeCollect, half ); exec->rcodeUnitLen += SIZEOF_HALF; } static void rcode_word( Execution *exec, const Word word ) { - appendWord( &exec->parser->pdaRun->rcodeCollect, word ); + append_word( &exec->parser->pdaRun->rcodeCollect, word ); exec->rcodeUnitLen += SIZEOF_WORD; } -Code *colm_pop_reverse_code( RtCodeVect *allRev ) +Code *colm_pop_reverse_code( struct rt_code_vect *allRev ) { /* Read the length */ Code *prcode = allRev->data + allRev->tabLen - SIZEOF_WORD; @@ -842,12 +842,12 @@ again: /* If there are captures (this is a translate block) then copy them into * the local frame now. */ - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; char **mark = exec->parser->pdaRun->mark; int i; for ( i = 0; i < lelInfo[exec->parser->pdaRun->tokenId].numCaptureAttr; i++ ) { - LangElInfo *lei = &lelInfo[exec->parser->pdaRun->tokenId]; + 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], mark[ca->mark_leave] - mark[ca->mark_enter] ); @@ -2305,7 +2305,7 @@ again: int frameSize = 0; if ( exec->parser->pdaRun->frameId >= 0 ) { - FrameInfo *fi = &prg->rtd->frameInfo[exec->parser->pdaRun->frameId]; + struct frame_info *fi = &prg->rtd->frameInfo[exec->parser->pdaRun->frameId]; frameSize = fi->frameSize; } @@ -2329,7 +2329,7 @@ again: exec->frameId = exec->parser->pdaRun->frameId; if ( exec->parser->pdaRun->frameId >= 0 ) { - FrameInfo *fi = &prg->rtd->frameInfo[exec->parser->pdaRun->frameId]; + struct frame_info *fi = &prg->rtd->frameInfo[exec->parser->pdaRun->frameId]; exec->framePtr = vm_ptop(); vm_pushn( fi->frameSize ); @@ -2348,7 +2348,7 @@ again: debug( prg, REALM_BYTECODE, "IN_PCR_RET\n" ); if ( exec->frameId >= 0 ) { - FrameInfo *fi = &prg->rtd->frameInfo[exec->frameId]; + struct frame_info *fi = &prg->rtd->frameInfo[exec->frameId]; downref_local_trees( prg, sp, exec, fi->locals, fi->localsLen ); debug( prg, REALM_BYTECODE, "RET: %d\n", fi->frameSize ); @@ -2721,8 +2721,8 @@ again: debug( prg, REALM_BYTECODE, "IN_CONSTRUCT\n" ); - //LangElInfo *lelInfo = prg->rtd->lelInfo; - //PatConsNode *nodes = prg->rtd->patReplNodes; + //struct lang_el_info *lelInfo = prg->rtd->lelInfo; + //struct pat_cons_node *nodes = prg->rtd->patReplNodes; int rootNode = prg->rtd->patReplInfo[patternId].offset; /* Note that bindIds are indexed at one. Add one spot for them. */ @@ -3332,8 +3332,8 @@ again: Half funcId; read_half( funcId ); - FunctionInfo *fi = &prg->rtd->functionInfo[funcId]; - FrameInfo *fr = &prg->rtd->frameInfo[fi->frameId]; + struct function_info *fi = &prg->rtd->functionInfo[funcId]; + struct frame_info *fr = &prg->rtd->frameInfo[fi->frameId]; debug( prg, REALM_BYTECODE, "IN_CALL_WV %s\n", fr->name ); @@ -3357,8 +3357,8 @@ again: Half funcId; read_half( funcId ); - FunctionInfo *fi = &prg->rtd->functionInfo[funcId]; - FrameInfo *fr = &prg->rtd->frameInfo[fi->frameId]; + struct function_info *fi = &prg->rtd->functionInfo[funcId]; + struct frame_info *fr = &prg->rtd->frameInfo[fi->frameId]; debug( prg, REALM_BYTECODE, "IN_CALL_WC %s %d\n", fr->name, fr->frameSize ); @@ -3417,7 +3417,7 @@ again: debug( prg, REALM_BYTECODE, "IN_UITER_CREATE_WV\n" ); - FunctionInfo *fi = prg->rtd->functionInfo + funcId; + struct function_info *fi = prg->rtd->functionInfo + funcId; vm_contiguous( (sizeof(UserIter) / sizeof(Word)) + FR_AA + fi->frameSize ); @@ -3452,7 +3452,7 @@ again: debug( prg, REALM_BYTECODE, "IN_UITER_CREATE_WC\n" ); - FunctionInfo *fi = prg->rtd->functionInfo + funcId; + struct function_info *fi = prg->rtd->functionInfo + funcId; vm_contiguous( (sizeof(UserIter) / sizeof(Word)) + FR_AA + fi->frameSize ); @@ -3501,7 +3501,7 @@ again: } case IN_RET: { - FrameInfo *fi = &prg->rtd->frameInfo[exec->frameId]; + struct frame_info *fi = &prg->rtd->frameInfo[exec->frameId]; downref_local_trees( prg, sp, exec, fi->locals, fi->localsLen ); vm_popn( fi->frameSize ); @@ -4207,7 +4207,7 @@ again: if ( exec->frameId == prg->rtd->rootFrameId ) break; - FrameInfo *fi = &prg->rtd->frameInfo[exec->frameId]; + struct frame_info *fi = &prg->rtd->frameInfo[exec->frameId]; debug( prg, REALM_BYTECODE, "IN_EXIT, popping frame %s, " "unwind-len %hd, arg-size %ld\n", diff --git a/src/bytecode.h b/src/bytecode.h index bb56b958..6b4aa885 100644 --- a/src/bytecode.h +++ b/src/bytecode.h @@ -647,7 +647,7 @@ Head *intToStr( struct colm_program *prg, Word i ); void colm_execute( struct colm_program *prg, Execution *exec, Code *code ); void reductionExecution( Execution *exec, Tree **sp ); void generationExecution( Execution *exec, Tree **sp ); -void reverseExecution( Execution *exec, Tree **sp, RtCodeVect *allRev ); +void reverseExecution( Execution *exec, Tree **sp, struct rt_code_vect *allRev ); Kid *allocAttrs( struct colm_program *prg, long length ); void freeAttrs( struct colm_program *prg, Kid *attrs ); @@ -655,7 +655,7 @@ Kid *getAttrKid( Tree *tree, long pos ); Tree *splitTree( struct colm_program *prg, Tree *t ); -void colm_rcode_downref_all( struct colm_program *prg, Tree **sp, RtCodeVect *cv ); +void colm_rcode_downref_all( struct colm_program *prg, Tree **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 ); @@ -664,7 +664,7 @@ void splitRef( struct colm_program *prg, Tree ***sp, Ref *fromRef ); void allocGlobal( struct colm_program *prg ); Tree **colm_execute_code( struct colm_program *prg, Execution *exec, Tree **sp, Code *instr ); -Code *colm_pop_reverse_code( RtCodeVect *allRev ); +Code *colm_pop_reverse_code( struct rt_code_vect *allRev ); #ifdef __cplusplus } diff --git a/src/codevect.c b/src/codevect.c index a05c7ea4..eb30388c 100644 --- a/src/codevect.c +++ b/src/codevect.c @@ -27,7 +27,7 @@ #include <assert.h> -void initRtCodeVect( RtCodeVect *vect ) +void initRtCodeVect( struct rt_code_vect *vect ) { vect->data = 0; vect->tabLen = 0; @@ -46,7 +46,7 @@ static long newSizeDown( long existing, long needed ) /* Up resize the data for len elements using Resize::upResize to tell us the * new tabLen. Reads and writes allocLen. Does not read or write tabLen. */ -static void upResize( RtCodeVect *vect, long len ) +static void upResize( struct rt_code_vect *vect, long len ) { /* Ask the resizer what the new tabLen will be. */ long newLen = newSizeUp(vect->allocLen, len); @@ -71,7 +71,7 @@ static void upResize( RtCodeVect *vect, long len ) /* Down resize the data for len elements using Resize::downResize to determine * the new tabLen. Reads and writes allocLen. Does not read or write tabLen. */ -static void downResize( RtCodeVect *vect, long len) +static void downResize( struct rt_code_vect *vect, long len) { /* Ask the resizer what the new tabLen will be. */ long newLen = newSizeDown( vect->allocLen, len ); @@ -94,7 +94,7 @@ static void downResize( RtCodeVect *vect, long len) } -void rtCodeVectEmpty( RtCodeVect *vect ) +void rtCodeVectEmpty( struct rt_code_vect *vect ) { if ( vect->data != 0 ) { /* Free the data space. */ @@ -104,7 +104,7 @@ void rtCodeVectEmpty( RtCodeVect *vect ) } } -void rtCodeVectReplace( RtCodeVect *vect, long pos, const Code *val, long len ) +void rtCodeVectReplace( struct rt_code_vect *vect, long pos, const Code *val, long len ) { long endPos, i; //Code *item; @@ -144,7 +144,7 @@ void rtCodeVectReplace( RtCodeVect *vect, long pos, const Code *val, long len ) *dst = *src; } -void rtCodeVectRemove( RtCodeVect *vect, long pos, long len ) +void rtCodeVectRemove( struct rt_code_vect *vect, long pos, long len ) { long newLen, lenToSlideOver, endPos; Code *dst;//, *item; diff --git a/src/compiler.h b/src/compiler.h index 7639baec..f8f190b3 100644 --- a/src/compiler.h +++ b/src/compiler.h @@ -835,7 +835,7 @@ struct Compiler void generateExports(); void generateExportsImpl(); - LocalInfo *makeLocalInfo( Locals &locals ); + struct local_info *makeLocalInfo( Locals &locals ); short *makeTrees( ObjectDef *objectDef, int &numTrees ); /* @@ -121,7 +121,7 @@ Tree *colm_map_iter_advance( Program *prg, Tree ***psp, GenericIter *iter ) Tree *colm_list_iter_deref_cur( Program *prg, GenericIter *iter ) { - GenericInfo *gi = &prg->rtd->genericInfo[iter->genericId]; + struct generic_info *gi = &prg->rtd->genericInfo[iter->genericId]; ListEl *el = (ListEl*)iter->ref.kid; struct colm_struct *s = el != 0 ? colm_struct_container( el, gi->elOffset ) : 0; @@ -130,7 +130,7 @@ Tree *colm_list_iter_deref_cur( Program *prg, GenericIter *iter ) Value colm_viter_deref_cur( Program *prg, GenericIter *iter ) { - GenericInfo *gi = &prg->rtd->genericInfo[iter->genericId]; + struct generic_info *gi = &prg->rtd->genericInfo[iter->genericId]; ListEl *el = (ListEl*)iter->ref.kid; struct colm_struct *s = el != 0 ? colm_struct_container( el, gi->elOffset ) : 0; @@ -191,7 +191,7 @@ void initUserIter( UserIter *userIter, Tree **stackRoot, long rootSize, } -UserIter *colm_uiter_create( Program *prg, Tree ***psp, FunctionInfo *fi, long searchId ) +UserIter *colm_uiter_create( Program *prg, Tree ***psp, struct function_info *fi, long searchId ) { Tree **sp = *psp; @@ -209,7 +209,7 @@ UserIter *colm_uiter_create( Program *prg, Tree ***psp, FunctionInfo *fi, long s } void uiterInit( Program *prg, Tree **sp, UserIter *uiter, - FunctionInfo *fi, int revertOn ) + struct function_info *fi, int revertOn ) { /* Set up the first yeild so when we resume it starts at the beginning. */ uiter->ref.kid = 0; @@ -211,7 +211,7 @@ List *colm_list_new( struct colm_program *prg ) struct colm_struct *colm_list_get( struct colm_program *prg, List *list, Word genId, Word field ) { - GenericInfo *gi = &prg->rtd->genericInfo[genId]; + struct generic_info *gi = &prg->rtd->genericInfo[genId]; ListEl *result = 0; switch ( field ) { case 0: @@ -233,7 +233,7 @@ struct colm_struct *colm_list_get( struct colm_program *prg, struct colm_struct *colm_list_el_get( struct colm_program *prg, ListEl *listEl, Word genId, Word field ) { - GenericInfo *gi = &prg->rtd->genericInfo[genId]; + struct generic_info *gi = &prg->rtd->genericInfo[genId]; ListEl *result = 0; switch ( field ) { case 0: diff --git a/src/loadcolm.cc b/src/loadcolm.cc index 0eaa18c8..0f4994ac 100644 --- a/src/loadcolm.cc +++ b/src/loadcolm.cc @@ -30,7 +30,7 @@ #include "global.h" #include "input.h" #include "loadcolm.h" -#include "if2.h" +#include "gen/if2.h" #include "colm/colm.h" extern colm_sections colm_object; diff --git a/src/loadinit.cc b/src/loadinit.cc index c806ba0a..34c0b9a0 100644 --- a/src/loadinit.cc +++ b/src/loadinit.cc @@ -31,7 +31,7 @@ #include "global.h" #include "input.h" #include "loadinit.h" -#include "if1.h" +#include "gen/if1.h" #include "colm/colm.h" using std::string; @@ -31,7 +31,7 @@ struct colm_struct *colm_map_el_get( struct colm_program *prg, MapEl *mapEl, Word genId, Word field ) { - GenericInfo *gi = &prg->rtd->genericInfo[genId]; + struct generic_info *gi = &prg->rtd->genericInfo[genId]; MapEl *result = 0; switch ( field ) { case 0: @@ -53,7 +53,7 @@ struct colm_struct *colm_map_el_get( struct colm_program *prg, struct colm_struct *colm_map_get( struct colm_program *prg, Map *map, Word genId, Word field ) { - GenericInfo *gi = &prg->rtd->genericInfo[genId]; + struct generic_info *gi = &prg->rtd->genericInfo[genId]; MapEl *result = 0; switch ( field ) { case 0: diff --git a/src/pdabuild.cc b/src/pdabuild.cc index fae9135d..73a69f0a 100644 --- a/src/pdabuild.cc +++ b/src/pdabuild.cc @@ -1279,10 +1279,10 @@ void Compiler::insertUniqueEmptyProductions() } } -LocalInfo *Compiler::makeLocalInfo( Locals &locals ) +struct local_info *Compiler::makeLocalInfo( Locals &locals ) { - LocalInfo *localInfo = new LocalInfo[locals.locals.length()]; - memset( localInfo, 0, sizeof(LocalInfo) * locals.locals.length() ); + struct local_info *localInfo = new local_info[locals.locals.length()]; + memset( localInfo, 0, sizeof(struct local_info) * locals.locals.length() ); for ( Vector<LocalLoc>::Iter l = locals.locals; l.lte(); l++ ) { localInfo[l.pos()].type = (int) l->type; @@ -1332,9 +1332,9 @@ void Compiler::makeRuntimeData() * ProdCodeBlockLens */ - runtimeData->frameInfo = new FrameInfo[nextFrameId]; + runtimeData->frameInfo = new frame_info[nextFrameId]; runtimeData->numFrames = nextFrameId; - memset( runtimeData->frameInfo, 0, sizeof(FrameInfo) * nextFrameId ); + memset( runtimeData->frameInfo, 0, sizeof(struct frame_info) * nextFrameId ); /* * Init code block. @@ -1364,7 +1364,7 @@ void Compiler::makeRuntimeData() * prodInfo */ count = prodList.length(); - runtimeData->prodInfo = new ProdInfo[count]; + runtimeData->prodInfo = new prod_info[count]; runtimeData->numProds = count; count = 0; @@ -1399,8 +1399,9 @@ void Compiler::makeRuntimeData() * regionInfo */ runtimeData->numRegions = regionList.length()+1; - runtimeData->regionInfo = new RegionInfo[runtimeData->numRegions]; - memset( runtimeData->regionInfo, 0, sizeof(RegionInfo) * runtimeData->numRegions ); + runtimeData->regionInfo = new region_info[runtimeData->numRegions]; + memset( runtimeData->regionInfo, 0, + sizeof(struct region_info) * runtimeData->numRegions ); runtimeData->regionInfo[0].defaultToken = -1; runtimeData->regionInfo[0].eofFrameId = -1; @@ -1435,9 +1436,9 @@ void Compiler::makeRuntimeData() */ count = nextSymbolId; - runtimeData->lelInfo = new LangElInfo[count]; + runtimeData->lelInfo = new lang_el_info[count]; runtimeData->numLangEls = count; - memset( runtimeData->lelInfo, 0, sizeof(LangElInfo)*count ); + memset( runtimeData->lelInfo, 0, sizeof(struct lang_el_info)*count ); for ( int i = 0; i < nextSymbolId; i++ ) { LangEl *lel = langElIndex[i]; @@ -1490,7 +1491,7 @@ void Compiler::makeRuntimeData() runtimeData->lelInfo[i].numCaptureAttr = 0; } else { - memset(&runtimeData->lelInfo[i], 0, sizeof(LangElInfo) ); + memset(&runtimeData->lelInfo[i], 0, sizeof(struct lang_el_info) ); runtimeData->lelInfo[i].name = "__UNUSED"; runtimeData->lelInfo[i].xmlTag = "__UNUSED"; runtimeData->lelInfo[i].frameId = -1; @@ -1498,13 +1499,13 @@ void Compiler::makeRuntimeData() } /* - * selInfo + * struct_el_info */ count = structEls.length(); - runtimeData->selInfo = new StructElInfo[count]; + runtimeData->selInfo = new struct_el_info[count]; runtimeData->numStructEls = count; - memset( runtimeData->selInfo, 0, sizeof(StructElInfo)*count ); + memset( runtimeData->selInfo, 0, sizeof(struct struct_el_info)*count ); StructElList::Iter sel = structEls; for ( int i = 0; i < count; i++, sel++ ) { int treesLen; @@ -1514,13 +1515,13 @@ void Compiler::makeRuntimeData() } /* - * FunctionInfo + * function_info */ count = functionList.length(); - runtimeData->functionInfo = new FunctionInfo[count]; + runtimeData->functionInfo = new function_info[count]; runtimeData->numFunctions = count; - memset( runtimeData->functionInfo, 0, sizeof(FunctionInfo)*count ); + memset( runtimeData->functionInfo, 0, sizeof(struct function_info)*count ); for ( FunctionList::Iter func = functionList; func.lte(); func++ ) { runtimeData->functionInfo[func->funcId].frameId = -1; @@ -1559,28 +1560,28 @@ void Compiler::makeRuntimeData() } /* - * PatConsInfo + * pat_cons_info */ /* Filled in later after patterns are parsed. */ - runtimeData->patReplInfo = new PatConsInfo[nextPatConsId]; - memset( runtimeData->patReplInfo, 0, sizeof(PatConsInfo) * nextPatConsId ); + runtimeData->patReplInfo = new pat_cons_info[nextPatConsId]; + memset( runtimeData->patReplInfo, 0, sizeof(struct pat_cons_info) * nextPatConsId ); runtimeData->numPatterns = nextPatConsId; runtimeData->patReplNodes = 0; runtimeData->numPatternNodes = 0; /* - * GenericInfo + * generic_info */ count = 1; for ( NamespaceList::Iter nspace = namespaceList; nspace.lte(); nspace++ ) count += nspace->genericList.length(); assert( count == nextGenericId ); - runtimeData->genericInfo = new GenericInfo[count]; + runtimeData->genericInfo = new generic_info[count]; runtimeData->numGenerics = count; - memset( &runtimeData->genericInfo[0], 0, sizeof(GenericInfo) ); + memset( &runtimeData->genericInfo[0], 0, sizeof(struct generic_info) ); for ( NamespaceList::Iter nspace = namespaceList; nspace.lte(); nspace++ ) { for ( GenericList::Iter gen = nspace->genericList; gen.lte(); gen++ ) { runtimeData->genericInfo[gen->id].type = gen->typeId; @@ -1728,10 +1729,10 @@ void countNodes( Program *prg, int &count, ParseTree *parseTree, Kid *kid ) } void fillNodes( Program *prg, int &nextAvail, Bindings *bindings, long &bindId, - PatConsNode *nodes, ParseTree *parseTree, Kid *kid, int ind ) + struct pat_cons_node *nodes, ParseTree *parseTree, Kid *kid, int ind ) { if ( kid != 0 ) { - PatConsNode &node = nodes[ind]; + struct pat_cons_node &node = nodes[ind]; Kid *child = !( parseTree->flags & PF_NAMED ) && @@ -1759,9 +1760,9 @@ void fillNodes( Program *prg, int &nextAvail, Bindings *bindings, long &bindId, node.leftIgnore = ignore == 0 ? -1 : nextAvail; while ( ignore != 0 ) { - PatConsNode &node = nodes[nextAvail++]; + struct pat_cons_node &node = nodes[nextAvail++]; - memset( &node, 0, sizeof(PatConsNode) ); + memset( &node, 0, sizeof(struct pat_cons_node) ); node.id = ignore->tree->id; node.prodNum = ignore->tree->prod_num; node.next = ignore->next == 0 ? -1 : nextAvail; @@ -1778,9 +1779,9 @@ void fillNodes( Program *prg, int &nextAvail, Bindings *bindings, long &bindId, node.rightIgnore = ignore == 0 ? -1 : nextAvail; while ( ignore != 0 ) { - PatConsNode &node = nodes[nextAvail++]; + struct pat_cons_node &node = nodes[nextAvail++]; - memset( &node, 0, sizeof(PatConsNode) ); + memset( &node, 0, sizeof(struct pat_cons_node) ); node.id = ignore->tree->id; node.prodNum = ignore->tree->prod_num; node.next = ignore->next == 0 ? -1 : nextAvail; @@ -1798,8 +1799,8 @@ void fillNodes( Program *prg, int &nextAvail, Bindings *bindings, long &bindId, // // Tree *attr = colm_get_attr( kid->tree, cap->offset ); // - // PatConsNode &node = nodes[nextAvail++]; - // memset( &node, 0, sizeof(PatConsNode) ); + // struct pat_cons_node &node = nodes[nextAvail++]; + // memset( &node, 0, sizeof(struct pat_cons_node) ); // // node.id = attr->id; // node.prodNum = attr->prodNum; @@ -1852,7 +1853,7 @@ void Compiler::fillInPatterns( Program *prg ) repl->pdaRun->stackTop->next->shadow ); } - runtimeData->patReplNodes = new PatConsNode[count]; + runtimeData->patReplNodes = new pat_cons_node[count]; runtimeData->numPatternNodes = count; int nextAvail = 0; @@ -1963,7 +1964,7 @@ PdaGraph *Compiler::makePdaGraph( LangElSet &parserEls ) struct pda_tables *Compiler::makePdaTables( PdaGraph *pdaGraph ) { int count, pos; - struct pda_tables *pdaTables = new struct pda_tables; + struct pda_tables *pdaTables = new pda_tables; /* * Counting max indices. diff --git a/src/pdacodegen.cc b/src/pdacodegen.cc index 8938bf76..7934c438 100644 --- a/src/pdacodegen.cc +++ b/src/pdacodegen.cc @@ -110,9 +110,9 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables } if ( runtimeData->frameInfo[i].localsLen > 0 ) { - out << "static LocalInfo locals_" << i << "[] = {\n\t"; + out << "static struct local_info locals_" << i << "[] = {\n\t"; - LocalInfo *li = runtimeData->frameInfo[i].locals; + struct local_info *li = runtimeData->frameInfo[i].locals; for ( int j = 0; j < runtimeData->frameInfo[i].localsLen; j++ ) { out << "{ " << (int)li[j].type << ", " << li[j].offset << " }"; @@ -166,9 +166,9 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables /* * lelInfo */ - out << "static LangElInfo " << lelInfo() << "[] = {\n"; + out << "static struct lang_el_info " << lelInfo() << "[] = {\n"; for ( int i = 0; i < runtimeData->numLangEls; i++ ) { - LangElInfo *el = &runtimeData->lelInfo[i]; + struct lang_el_info *el = &runtimeData->lelInfo[i]; out << "\t{"; /* Name. */ @@ -204,7 +204,7 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables for ( int i = 0; i < runtimeData->numStructEls; i++ ) { - StructElInfo *el = &runtimeData->selInfo[i]; + struct struct_el_info *el = &runtimeData->selInfo[i]; if ( el->treesLen > 0 ) { out << "static short struct_trees_" << i << "[] = {\n\t"; @@ -218,9 +218,9 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables /* * selInfo */ - out << "static StructElInfo " << selInfo() << "[] = {\n"; + out << "static struct struct_el_info " << selInfo() << "[] = {\n"; for ( int i = 0; i < runtimeData->numStructEls; i++ ) { - StructElInfo *el = &runtimeData->selInfo[i]; + struct struct_el_info *el = &runtimeData->selInfo[i]; out << "\t{ "; out << el->size << ", "; @@ -238,7 +238,7 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables /* * frameInfo */ - out << "static FrameInfo " << frameInfo() << "[] = {\n"; + out << "static struct frame_info " << frameInfo() << "[] = {\n"; for ( int i = 0; i < runtimeData->numFrames; i++ ) { out << "\t{ "; @@ -283,7 +283,7 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables /* * prodInfo */ - out << "static ProdInfo " << prodInfo() << "[] = {\n"; + out << "static struct prod_info " << prodInfo() << "[] = {\n"; for ( int i = 0; i < runtimeData->numProds; i++ ) { out << "\t{ "; @@ -314,7 +314,7 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables /* * patReplInfo */ - out << "static PatConsInfo " << patReplInfo() << "[] = {\n"; + out << "static struct pat_cons_info " << patReplInfo() << "[] = {\n"; for ( int i = 0; i < runtimeData->numPatterns; i++ ) { out << " { " << runtimeData->patReplInfo[i].offset << ", " << runtimeData->patReplInfo[i].numBindings << " },\n"; @@ -324,9 +324,9 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables /* * patReplNodes */ - out << "static PatConsNode " << patReplNodes() << "[] = {\n"; + out << "static struct pat_cons_node " << patReplNodes() << "[] = {\n"; for ( int i = 0; i < runtimeData->numPatternNodes; i++ ) { - PatConsNode &node = runtimeData->patReplNodes[i]; + struct pat_cons_node &node = runtimeData->patReplNodes[i]; out << " { " << node.id << ", " << node.prodNum << ", " << node.next << ", " << node.child << ", " << node.bindId << ", "; @@ -349,7 +349,7 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables /* * functionInfo */ - out << "static FunctionInfo " << functionInfo() << "[] = {\n"; + out << "static struct function_info " << functionInfo() << "[] = {\n"; for ( int i = 0; i < runtimeData->numFunctions; i++ ) { out << "\t{ " << runtimeData->functionInfo[i].frameId << ", " << @@ -365,7 +365,7 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables /* * regionInfo */ - out << "static RegionInfo " << regionInfo() << "[] = {\n"; + out << "static struct region_info " << regionInfo() << "[] = {\n"; for ( int i = 0; i < runtimeData->numRegions; i++ ) { out << "\t{ " << runtimeData->regionInfo[i].defaultToken << ", " << runtimeData->regionInfo[i].eofFrameId << @@ -380,7 +380,7 @@ void PdaCodeGen::writeRuntimeData( colm_sections *runtimeData, struct pda_tables /* * genericInfo */ - out << "static GenericInfo " << genericInfo() << "[] = {\n"; + out << "static struct generic_info " << genericInfo() << "[] = {\n"; for ( int i = 0; i < runtimeData->numGenerics; i++ ) { out << "\t{ " << runtimeData->genericInfo[i].type << ", " << diff --git a/src/pdarun.c b/src/pdarun.c index 9b49aa86..8caab5a9 100644 --- a/src/pdarun.c +++ b/src/pdarun.c @@ -196,7 +196,7 @@ static void send_back_ignore( Program *prg, Tree **sp, struct pda_run *pdaRun, StreamImpl *is, ParseTree *parseTree ) { #ifdef DEBUG - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; debug( prg, REALM_PARSE, "sending back: %s%s\n", lelInfo[parseTree->shadow->tree->id].name, parseTree->flags & PF_ARTIFICIAL ? " (artificial)" : "" ); @@ -367,7 +367,7 @@ Kid *make_token_with_data( Program *prg, struct pda_run *pdaRun, /* No children and ignores get added later. */ input->tree->child = attrs; - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; if ( lelInfo[id].numCaptureAttr > 0 ) { int i; for ( i = 0; i < lelInfo[id].numCaptureAttr; i++ ) { @@ -1045,7 +1045,7 @@ static long scan_token( Program *prg, struct pda_run *pdaRun, StreamImpl *is ) if ( pdaRun->matchedToken > 0 ) { /* If the token has a marker indicating the end (due to trailing * context) then adjust data now. */ - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; if ( lelInfo[pdaRun->matchedToken].markId >= 0 ) pdaRun->p = pdaRun->mark[lelInfo[pdaRun->matchedToken].markId]; @@ -1670,9 +1670,9 @@ again: // treeUpref( pdaRun->redLel->tree ); /* Add the restore instruct. */ - appendCode( &pdaRun->rcodeCollect, IN_RESTORE_LHS ); - appendWord( &pdaRun->rcodeCollect, (Word)pdaRun->parsed ); - appendCode( &pdaRun->rcodeCollect, SIZEOF_CODE + SIZEOF_WORD ); + append_code_val( &pdaRun->rcodeCollect, IN_RESTORE_LHS ); + append_word( &pdaRun->rcodeCollect, (Word)pdaRun->parsed ); + append_code_val( &pdaRun->rcodeCollect, SIZEOF_CODE + SIZEOF_WORD ); } else { /* Not changed. Done with parsed. */ @@ -1995,7 +1995,7 @@ _out: long colm_parse_loop( Program *prg, Tree **sp, struct pda_run *pdaRun, StreamImpl *is, long entry ) { - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; /* COROUTINE */ switch ( entry ) { diff --git a/src/pdarun.h b/src/pdarun.h index 5ee851a9..39c809fe 100644 --- a/src/pdarun.h +++ b/src/pdarun.h @@ -77,14 +77,14 @@ void undoStreamPull( StreamImpl *inputStream, const char *data, long length ); struct colm_execution; -typedef struct _RtCodeVect +struct rt_code_vect { Code *data; long tabLen; long allocLen; /* FIXME: leak when freed. */ -} RtCodeVect; +}; void listAddAfter( List *list, ListEl *prev_el, ListEl *new_el ); void listAddBefore( List *list, ListEl *next_el, ListEl *new_el ); @@ -98,24 +98,24 @@ ListEl *listDetachLast(List *list ); long listLength(List *list); -typedef struct _FunctionInfo +struct function_info { long frameId; long argSize; long frameSize; -} FunctionInfo; +}; /* * Program Data. */ -typedef struct _PatConsInfo +struct pat_cons_info { long offset; long numBindings; -} PatConsInfo; +}; -typedef struct _PatConsNode +struct pat_cons_node { long id; long prodNum; @@ -129,11 +129,11 @@ typedef struct _PatConsNode /* Just match nonterminal, don't go inside. */ unsigned char stop; -} PatConsNode; +}; /* FIXME: should have a descriptor for object types to give the length. */ -typedef struct _LangElInfo +struct lang_el_info { const char *name; const char *xmlTag; @@ -152,21 +152,16 @@ typedef struct _LangElInfo long markId; long captureAttr; long numCaptureAttr; -} LangElInfo; +}; -typedef struct _StructElInfo +struct struct_el_info { long size; short *trees; long treesLen; -} StructElInfo; - -typedef struct _ObjFieldInfo -{ - int typeId; -} ObjFieldInfo; +}; -typedef struct _ProdInfo +struct prod_info { unsigned long lhsId; short prodNum; @@ -176,7 +171,7 @@ typedef struct _ProdInfo unsigned char lhsUpref; unsigned char *copy; long copyLen; -} ProdInfo; +}; /* Must match the LocalType enum. */ #define LI_Tree 1 @@ -184,32 +179,32 @@ typedef struct _ProdInfo #define LI_RevIter 3 #define LI_UserIter 4 -typedef struct _LocalInfo +struct local_info { char type; short offset; -} LocalInfo; +}; -typedef struct _FrameInfo +struct frame_info { const char *name; Code *codeWV; long codeLenWV; Code *codeWC; long codeLenWC; - LocalInfo *locals; + struct local_info *locals; long localsLen; long argSize; long frameSize; char retTree; -} FrameInfo; +}; -typedef struct _RegionInfo +struct region_info { long defaultToken; long eofFrameId; int ciLelId; -} RegionInfo; +}; typedef struct _CaptureAttr { @@ -244,24 +239,24 @@ struct pda_tables int numPreRegionItems; }; -typedef struct _PoolBlock +struct pool_block { void *data; - struct _PoolBlock *next; -} PoolBlock; + struct pool_block *next; +}; -typedef struct _PoolItem +struct pool_item { - struct _PoolItem *next; -} PoolItem; + struct pool_item *next; +}; -typedef struct _PoolAlloc +struct pool_alloc { - PoolBlock *head; + struct pool_block *head; long nextel; - PoolItem *pool; + struct pool_item *pool; int sizeofT; -} PoolAlloc; +}; struct pda_run { @@ -301,8 +296,8 @@ struct pda_run int parserId; /* Reused. */ - RtCodeVect rcodeCollect; - RtCodeVect reverseCode; + struct rt_code_vect rcodeCollect; + struct rt_code_vect reverseCode; int stopParsing; long stopTarget; @@ -332,7 +327,7 @@ struct pda_run */ ParseTree *parseInput; - FrameInfo *fi; + struct frame_info *fi; int reduction; ParseTree *redLel; int curState; @@ -369,47 +364,46 @@ void colm_pda_init( struct colm_program *prg, struct pda_run *pdaRun, void colm_pda_clear( struct colm_program *prg, struct colm_tree **sp, struct pda_run *pdaRun ); -void rtCodeVectReplace( RtCodeVect *vect, long pos, const Code *val, long len ); -void rtCodeVectEmpty( RtCodeVect *vect ); -void rtCodeVectRemove( RtCodeVect *vect, long pos, long len ); +void rtCodeVectReplace( struct rt_code_vect *vect, long pos, const Code *val, long len ); +void rtCodeVectEmpty( struct rt_code_vect *vect ); +void rtCodeVectRemove( struct rt_code_vect *vect, long pos, long len ); -void initRtCodeVect( RtCodeVect *codeVect ); +void initRtCodeVect( struct rt_code_vect *codeVect ); -//inline static void remove( RtCodeVect *vect, long pos ); -inline static void appendCode( RtCodeVect *vect, const Code val ); -inline static void appendCode2( RtCodeVect *vect, const Code *val, long len ); -inline static void appendHalf( RtCodeVect *vect, Half half ); -inline static void appendWord( RtCodeVect *vect, Word word ); +inline static void append_code_val( struct rt_code_vect *vect, const Code val ); +inline static void append_code_vect( struct rt_code_vect *vect, const Code *val, long len ); +inline static void append_half( struct rt_code_vect *vect, Half half ); +inline static void append_word( struct rt_code_vect *vect, Word word ); -inline static void appendCode2( RtCodeVect *vect, const Code *val, long len ) +inline static void append_code_vect( struct rt_code_vect *vect, const Code *val, long len ) { rtCodeVectReplace( vect, vect->tabLen, val, len ); } -inline static void appendCode( RtCodeVect *vect, const Code val ) +inline static void append_code_val( struct rt_code_vect *vect, const Code val ) { rtCodeVectReplace( vect, vect->tabLen, &val, 1 ); } -inline static void appendHalf( RtCodeVect *vect, Half half ) +inline static void append_half( struct rt_code_vect *vect, Half half ) { /* not optimal. */ - appendCode( vect, half & 0xff ); - appendCode( vect, (half>>8) & 0xff ); + append_code_val( vect, half & 0xff ); + append_code_val( vect, (half>>8) & 0xff ); } -inline static void appendWord( RtCodeVect *vect, Word word ) +inline static void append_word( struct rt_code_vect *vect, Word word ) { /* not optimal. */ - appendCode( vect, word & 0xff ); - appendCode( vect, (word>>8) & 0xff ); - appendCode( vect, (word>>16) & 0xff ); - appendCode( vect, (word>>24) & 0xff ); + append_code_val( vect, word & 0xff ); + append_code_val( vect, (word>>8) & 0xff ); + append_code_val( vect, (word>>16) & 0xff ); + append_code_val( vect, (word>>24) & 0xff ); #if SIZEOF_LONG == 8 - appendCode( vect, (word>>32) & 0xff ); - appendCode( vect, (word>>40) & 0xff ); - appendCode( vect, (word>>48) & 0xff ); - appendCode( vect, (word>>56) & 0xff ); + append_code_val( vect, (word>>32) & 0xff ); + append_code_val( vect, (word>>40) & 0xff ); + append_code_val( vect, (word>>48) & 0xff ); + append_code_val( vect, (word>>56) & 0xff ); #endif } @@ -26,7 +26,7 @@ #include <colm/pool.h> #include <colm/debug.h> -void initPoolAlloc( PoolAlloc *poolAlloc, int sizeofT ) +void initPoolAlloc( struct pool_alloc *poolAlloc, int sizeofT ) { poolAlloc->head = 0; poolAlloc->nextel = FRESH_BLOCK; @@ -34,7 +34,7 @@ void initPoolAlloc( PoolAlloc *poolAlloc, int sizeofT ) poolAlloc->sizeofT = sizeofT; } -void *poolAllocAllocate( PoolAlloc *poolAlloc ) +void *poolAllocAllocate( struct pool_alloc *poolAlloc ) { //debug( REALM_POOL, "pool allocation\n" ); @@ -47,7 +47,7 @@ void *poolAllocAllocate( PoolAlloc *poolAlloc ) void *newEl = 0; if ( poolAlloc->pool == 0 ) { if ( poolAlloc->nextel == FRESH_BLOCK ) { - PoolBlock *newBlock = (PoolBlock*)malloc( sizeof(PoolBlock) ); + struct pool_block *newBlock = (struct pool_block*)malloc( sizeof(struct pool_block) ); newBlock->data = malloc( poolAlloc->sizeofT * FRESH_BLOCK ); newBlock->next = poolAlloc->head; poolAlloc->head = newBlock; @@ -65,11 +65,11 @@ void *poolAllocAllocate( PoolAlloc *poolAlloc ) #endif } -void poolAllocFree( PoolAlloc *poolAlloc, void *el ) +void poolAllocFree( struct pool_alloc *poolAlloc, void *el ) { #if 0 /* Some sanity checking. Best not to normally run with this on. */ - char *p = (char*)el + sizeof(PoolItem*); + char *p = (char*)el + sizeof(struct pool_item*); char *pe = (char*)el + sizeof(T); for ( ; p < pe; p++ ) assert( *p != 0xcc ); @@ -79,17 +79,17 @@ void poolAllocFree( PoolAlloc *poolAlloc, void *el ) #ifdef POOL_MALLOC free( el ); #else - PoolItem *pi = (PoolItem*) el; + struct pool_item *pi = (struct pool_item*) el; pi->next = poolAlloc->pool; poolAlloc->pool = pi; #endif } -void poolAllocClear( PoolAlloc *poolAlloc ) +void poolAllocClear( struct pool_alloc *poolAlloc ) { - PoolBlock *block = poolAlloc->head; + struct pool_block *block = poolAlloc->head; while ( block != 0 ) { - PoolBlock *next = block->next; + struct pool_block *next = block->next; free( block->data ); free( block ); block = next; @@ -100,11 +100,11 @@ void poolAllocClear( PoolAlloc *poolAlloc ) poolAlloc->pool = 0; } -long poolAllocNumLost( PoolAlloc *poolAlloc ) +long poolAllocNumLost( struct pool_alloc *poolAlloc ) { /* Count the number of items allocated. */ long lost = 0; - PoolBlock *block = poolAlloc->head; + struct pool_block *block = poolAlloc->head; if ( block != 0 ) { lost = poolAlloc->nextel; block = block->next; @@ -115,7 +115,7 @@ long poolAllocNumLost( PoolAlloc *poolAlloc ) } /* Subtract. Items that are on the free list. */ - PoolItem *pi = poolAlloc->pool; + struct pool_item *pi = poolAlloc->pool; while ( pi != 0 ) { lost -= 1; pi = pi->next; @@ -33,7 +33,7 @@ extern "C" { #endif -void initPoolAlloc( PoolAlloc *poolAlloc, int sizeofT ); +void initPoolAlloc( struct pool_alloc *poolAlloc, int sizeofT ); Kid *kidAllocate( Program *prg ); void kidFree( Program *prg, Kid *el ); diff --git a/src/program.h b/src/program.h index 9d86415d..b24ad7e3 100644 --- a/src/program.h +++ b/src/program.h @@ -34,35 +34,35 @@ struct stack_block struct colm_sections { - LangElInfo *lelInfo; + struct lang_el_info *lelInfo; long numLangEls; - StructElInfo *selInfo; + struct struct_el_info *selInfo; long numStructEls; - ProdInfo *prodInfo; + struct prod_info *prodInfo; long numProds; - RegionInfo *regionInfo; + struct region_info *regionInfo; long numRegions; Code *rootCode; long rootCodeLen; long rootFrameId; - FrameInfo *frameInfo; + struct frame_info *frameInfo; long numFrames; - FunctionInfo *functionInfo; + struct function_info *functionInfo; long numFunctions; - PatConsInfo *patReplInfo; + struct pat_cons_info *patReplInfo; long numPatterns; - PatConsNode *patReplNodes; + struct pat_cons_node *patReplNodes; long numPatternNodes; - GenericInfo *genericInfo; + struct generic_info *genericInfo; long numGenerics; long argvGenericId; @@ -121,11 +121,11 @@ struct colm_program int induceExit; int exitStatus; - PoolAlloc kidPool; - PoolAlloc treePool; - PoolAlloc parseTreePool; - PoolAlloc headPool; - PoolAlloc locationPool; + struct pool_alloc kidPool; + struct pool_alloc treePool; + struct pool_alloc parseTreePool; + struct pool_alloc headPool; + struct pool_alloc locationPool; Tree *trueVal; Tree *falseVal; diff --git a/src/struct.c b/src/struct.c index c9a916f2..fbe0784a 100644 --- a/src/struct.c +++ b/src/struct.c @@ -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, GenericInfo *gi ) +Parser *colm_parser_new( Program *prg, struct generic_info *gi ) { struct pda_run *pdaRun = malloc( sizeof(struct pda_run) ); @@ -121,7 +121,7 @@ Map *colm_map_new( struct colm_program *prg ) Struct *colm_construct_generic( Program *prg, long genericId ) { - GenericInfo *genericInfo = &prg->rtd->genericInfo[genericId]; + struct generic_info *genericInfo = &prg->rtd->genericInfo[genericId]; Struct *newGeneric = 0; switch ( genericInfo->type ) { case GEN_MAP_EL: diff --git a/src/struct.h b/src/struct.h index 64fe82c6..44e94eba 100644 --- a/src/struct.h +++ b/src/struct.h @@ -70,7 +70,7 @@ typedef struct colm_list ListEl *head, *tail; long listLen; - GenericInfo *genericInfo; + struct generic_info *genericInfo; } List; typedef struct colm_map_el @@ -95,7 +95,7 @@ typedef struct colm_map struct colm_map_el *head, *tail, *root; long treeSize; - GenericInfo *genericInfo; + struct generic_info *genericInfo; } Map; struct colm_struct *colm_struct_new_size( struct colm_program *prg, int size ); @@ -128,7 +128,7 @@ struct colm_struct *colm_struct_inbuilt( struct colm_program *prg, int size, #define colm_struct_to_map_el( prg, obj, genId ) \ colm_struct_get_addr( obj, MapEl*, prg->rtd->genericInfo[genId].elOffset ) -Parser *colm_parser_new( struct colm_program *prg, GenericInfo *gi ); +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 ); @@ -195,7 +195,7 @@ Value colm_get_pointer_val( Tree *ptr ) Tree *constructTerm( Program *prg, Word id, Head *tokdata ) { - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; Tree *tree = treeAllocate( prg ); tree->id = id; @@ -213,7 +213,7 @@ Kid *constructKid( Program *prg, Tree **bindings, Kid *prev, long pat ); static Kid *constructIgnoreList( Program *prg, long ignoreInd ) { - PatConsNode *nodes = prg->rtd->patReplNodes; + struct pat_cons_node *nodes = prg->rtd->patReplNodes; Kid *first = 0, *last = 0; while ( ignoreInd >= 0 ) { @@ -243,13 +243,13 @@ static Kid *constructIgnoreList( Program *prg, long ignoreInd ) static Kid *constructLeftIgnoreList( Program *prg, long pat ) { - PatConsNode *nodes = prg->rtd->patReplNodes; + struct pat_cons_node *nodes = prg->rtd->patReplNodes; return constructIgnoreList( prg, nodes[pat].leftIgnore ); } static Kid *constructRightIgnoreList( Program *prg, long pat ) { - PatConsNode *nodes = prg->rtd->patReplNodes; + struct pat_cons_node *nodes = prg->rtd->patReplNodes; return constructIgnoreList( prg, nodes[pat].rightIgnore ); } @@ -427,7 +427,7 @@ Tree *popLeftIgnore( Program *prg, Tree **sp, Tree *popFrom, Tree **leftIgnore ) Tree *constructObject( Program *prg, Kid *kid, Tree **bindings, long langElId ) { - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; Tree *tree = 0; tree = treeAllocate( prg ); @@ -450,8 +450,8 @@ Tree *constructObject( Program *prg, Kid *kid, Tree **bindings, long langElId ) * return a zero-ref tree. */ Tree *constructTree( Program *prg, Kid *kid, Tree **bindings, long pat ) { - PatConsNode *nodes = prg->rtd->patReplNodes; - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct pat_cons_node *nodes = prg->rtd->patReplNodes; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; Tree *tree = 0; if ( nodes[pat].bindId > 0 ) { @@ -550,7 +550,7 @@ Tree *constructTree( Program *prg, Kid *kid, Tree **bindings, long pat ) Kid *constructKid( Program *prg, Tree **bindings, Kid *prev, long pat ) { - PatConsNode *nodes = prg->rtd->patReplNodes; + struct pat_cons_node *nodes = prg->rtd->patReplNodes; Kid *kid = 0; if ( pat != -1 ) { @@ -575,7 +575,7 @@ Tree *constructToken( Program *prg, Tree **args, long nargs ) long id = (long)idInt;//->value; Head *tokdata = stringCopy( prg, textStr->value ); - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; Tree *tree; if ( lelInfo[id].ignore ) { @@ -608,7 +608,7 @@ Tree *constructToken( Program *prg, Tree **args, long nargs ) Tree *castTree( Program *prg, int langElId, Tree *tree ) { - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; /* Need to keep a lookout for next down. If * copying it, return the copy. */ @@ -698,7 +698,7 @@ Tree *makeTree( Program *prg, Tree **args, long nargs ) Int *idInt = (Int*)args[0]; long id = (long)idInt;//->value; - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; Tree *tree = treeAllocate( prg ); tree->id = id; @@ -848,7 +848,7 @@ Tree *copyRealTree( Program *prg, Tree *tree, Kid *oldNextDown, Kid **newNextDow Tree *copyTree( Program *prg, Tree *tree, Kid *oldNextDown, Kid **newNextDown ) { -// LangElInfo *lelInfo = prg->rtd->lelInfo; +// struct lang_el_info *lelInfo = prg->rtd->lelInfo; // long genericId = lelInfo[tree->id].genericId; // if ( genericId > 0 ) // assert(false); @@ -897,7 +897,7 @@ Tree *splitTree( Program *prg, Tree *tree ) void treeFreeRec( Program *prg, Tree **sp, Tree *tree ) { Tree **top = vm_ptop(); -// LangElInfo *lelInfo; +// struct lang_el_info *lelInfo; // long genericId; free_tree: @@ -967,7 +967,7 @@ void treeDownref( Program *prg, Tree **sp, Tree *tree ) void objectFreeRec( Program *prg, Tree **sp, Tree *tree ) { Tree **top = vm_ptop(); -// LangElInfo *lelInfo; +// struct lang_el_info *lelInfo; // long genericId; free_tree: @@ -1033,7 +1033,7 @@ void objectDownref( Program *prg, Tree **sp, Tree *tree ) /* Find the first child of a tree. */ Kid *treeChild( Program *prg, const Tree *tree ) { - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; Kid *kid = tree->child; if ( tree->flags & AF_LEFT_IGNORE ) @@ -1053,7 +1053,7 @@ Kid *treeChild( Program *prg, const Tree *tree ) /* Detach at the first real child of a tree. */ Kid *treeExtractChild( Program *prg, Tree *tree ) { - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; Kid *kid = tree->child, *last = 0; if ( tree->flags & AF_LEFT_IGNORE ) @@ -1195,7 +1195,7 @@ Tree *getFieldSplit( Program *prg, Tree *tree, Word field ) * in. */ int matchPattern( Tree **bindings, Program *prg, long pat, Kid *kid, int checkNext ) { - PatConsNode *nodes = prg->rtd->patReplNodes; + struct pat_cons_node *nodes = prg->rtd->patReplNodes; /* match node, recurse on children. */ if ( pat != -1 && kid != 0 ) { @@ -2042,7 +2042,7 @@ void openTreeXml( Program *prg, Tree **sp, struct colm_print_args *args, Kid *pa if ( kid->tree->id == 0 ) return; - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; /* List flattening: skip the repeats and lists that are a continuation of * the list. */ @@ -2101,7 +2101,7 @@ void closeTreeXml( Program *prg, Tree **sp, struct colm_print_args *args, Kid *p if ( kid->tree->id == 0 ) return; - LangElInfo *lelInfo = prg->rtd->lelInfo; + struct lang_el_info *lelInfo = prg->rtd->lelInfo; /* List flattening: skip the repeats and lists that are a continuation of * the list. */ @@ -35,7 +35,7 @@ typedef unsigned char Code; typedef unsigned long Word; typedef unsigned long Half; struct Bindings; -struct _FunctionInfo; +struct function_info; typedef struct colm_stream Stream; typedef struct colm_parser Parser; @@ -140,7 +140,7 @@ typedef struct _Str /* * Maps */ -typedef struct colm_generic_info +struct generic_info { long type; @@ -155,7 +155,7 @@ typedef struct colm_generic_info long valueOffset; long parserId; -} GenericInfo; +}; enum IterType { @@ -324,9 +324,9 @@ void printXmlStdout( struct colm_program *prg, Tree **sp, */ UserIter *colm_uiter_create( struct colm_program *prg, Tree ***psp, - struct _FunctionInfo *fi, long searchId ); + struct function_info *fi, long searchId ); void uiterInit( struct colm_program *prg, Tree **sp, UserIter *uiter, - struct _FunctionInfo *fi, int revertOn ); + struct function_info *fi, int revertOn ); void colm_init_tree_iter( TreeIter *treeIter, Tree **stackRoot, long argSize, long rootSize, const Ref *rootRef, int searchId ); |