[pgm_base.h] Common function library for the (test) programms

contents



#include "standard.h"
#include "symbols.h"
#include "hmap.h"
#include "scn_pre.h"
#include "scn_base.h"
#include "prs.h"
#include "prs_io.h"
#include "ptm.h"
#include "ptm_gen.h"


void PGM_init(int argc, char* argv[], void (*ctxinit)(int argc, char* argv[]))
init program
void PGM_quit(void)
quit program
void PGM_initPreprocessing(c_string prepar, c_string premac, c_string cset)
init STYX-like macro preprocessing
according commandline parameters 'prepar', 'premac' and 'cset'

void PGM_quitPreprocessing(c_string prepar)
quit STYX-like macro preprocessing; release resources
Scn_Stream PGM_initScanStream
           (
             Scn_T Scn, c_string filename,
             c_string prepar, c_string prefun,
             c_bool binmode, c_string cset,
             c_string skipset, c_bool stdTokIDs
           )
create and init scan stream according commandline parameters
'filename', 'prepar', 'prefun', 'binmode' and 'cset'
stdTokIDs --> set default token IDs

void PGM_quitScanStream(Scn_Stream cStream)
close and release scan stream
void PGM_initTables
     (
       c_string Environ, c_string language, PLR_Tab* PTab, Scn_T* Scn
     )
create scan and parse tables according commandline parameter
'Environ' and 'language'

PT_Cfg PGM_initParsing(Scn_Stream cStream, PLR_Tab PTab)
init parse term configuration for
scan stream 'cStream' and parse table 'PTab'

void PGM_quitTables(PLR_Tab PTab, Scn_T Scn)
release scan and parse tables
PT_Term PGM_parse
        (
          PT_Cfg PCfg, c_string start,
          c_string shiftfun, c_string reducefun,
          c_bool early, c_bool xaron
        )
parse according commandline parameters
'start', 'shiftfun', 'reducefun', 'early' and 'xaron'

void PGM_printTree(PT_Term PTree, c_string cset, c_bool wprint)
print 'PTree' according commandline parameters 'cset' and 'wprint'
void PGM_scan(Scn_Stream cStream, c_bool output, c_string cset, c_bool wprint)
scan 'cStream'
output --> print according commandline parameters 'cset' and 'wprint'