# (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands. # $Header$ callname ack name cpp # no from, this is a preprocessor to .i program {EM}/lib/cpp mapflag -I* CPP_F={CPP_F?} -I* mapflag -U* CPP_F={CPP_F?} -U* mapflag -D* CPP_F={CPP_F?} -D* args {CPP_F?} ({SUFFIX?}:.ocm=-I{EM}/include/occam) \ ({SUFFIX}:.c={INCLUDES?}) \ -D{NAME} -DEM_WSIZE={w} -DEM_PSIZE={p} \ -DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d} < stdout prep is end name cem from .c to .k program {EM}/lib/em_cemcom mapflag -I* CEM_F={CEM_F?} -I* mapflag -U* CEM_F={CEM_F?} -U* mapflag -D* CEM_F={CEM_F?} -D* mapflag -M* CEM_F={CEM_F?} -M* mapflag -L CEM_F={CEM_F?} -L mapflag -K CEM_F={CEM_F?} -R mapflag -w CEM_F={CEM_F?} -w mapflag -p CEM_F={DEM_F?} -p mapflag -V CEM_F={DEM_F?} -V* args {CPP_F?} {CEM_F?} {INCLUDES?} -D{NAME} -DEM_WSIZE={w} -DEM_PSIZE={p} \ -DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d} \ -Vw{w}.{w}i{w}.{w}p{p}.{w}f{f}.{w}s{s}.{s}l{l}.{w}d{d}.{w} {CC_ALIGN?} < > rts .c need .c callname acc callname cc end var PC_PCPATH={EM}/lib/pc_pem var PC_ERRPATH={EM}/etc/pc_errors name pc from .p to .k program {EM}/lib/em_pc mapflag -p PC_F={PC_F?} -p mapflag -w PC_F={PC_F?} -w mapflag -E PC_F={PC_F?} -E mapflag -e PC_F={PC_F?} -e mapflag -{*} PC_F={PC_F?} -\{*} mapflag -L PC_F={PC_F?} -\{l-} mapflag -V* PC_F={PC_F?} -V* mapflag -Pr* PC_ERRPATH=* mapflag -PR* PC_PCPATH=* args -Vw{w}i{w}j{w}p{p}f{d}l{l} -R{PC_PCPATH} -r{PC_ERRPATH} {PC_F?} < > {SOURCE} prep cond rts .p need .p callname apc callname pc end name m2 from .mod to .k program {EM}/lib/em_m2 mapflag -I* M2_INCL={M2_INCL?} -I* mapflag -L M2_F={M2_F?} -L mapflag -w* M2_F={M2_F?} -w* mapflag -W* M2_F={M2_F?} -W* mapflag -M* M2_F={M2_F?} -M* mapflag -x M2_F={M2_F?} -x mapflag -V* M2_F={M2_F?} -V* args -I{M2_INCL?} -I{EM}/lib/m2 {M2SYSLIB?} -Vi{w}.{w}p{p}.{w}l{l}.{w} {M2_F?} < > rts .mod need .mod callname m2 end name ocm from .ocm to .k program {EM}/lib/em_occam mapflag -L OCM_F={OCM_F?} -L mapflag -V* OCM_F={OCM_F?} -V* args -Vw{w}p{p}l{l} {OCM_F?} stdin stdout rts .ocm need .ocm prep cond callname ocm end name abc from .b to .e program {EM}/lib/em_bem mapflag -h ABC_F={ABC_F?} -h mapflag -w ABC_F={ABC_F?} -w mapflag -L ABC_F={ABC_F?} -L mapflag -E ABC_F={ABC_F?} -E # mapflag -d ABC_F={ABC_F?} -d args {ABC_F?} < > {SOURCE} prep always rts .b need .b callname abc end name encode from .e to .k program {EM}/lib/em_encode args < prep cond stdout end name opt from .k to .m program {EM}/lib/em_opt mapflag -LIB OPT_F={OPT_F?} -L args {OPT_F?} < stdout optimizer end name ego from .m.ma to .gk program /bin/sh mapflag -IL* EGO_F={EGO_F?} -IL* mapflag -CS* EGO_F={EGO_F?} -CS* mapflag -SR* EGO_F={EGO_F?} -SR* mapflag -UD* EGO_F={EGO_F?} -UD* mapflag -LV* EGO_F={EGO_F?} -LV* mapflag -SA* EGO_F={EGO_F?} -RA* mapflag -SP* EGO_F={EGO_F?} -SP* mapflag -BO* EGO_F={EGO_F?} -BO* mapflag -CJ* EGO_F={EGO_F?} -CJ* mapflag -Q* EGO_F={EGO_F?} -Q* mapflag -T* EGO_F={EGO_F?} -T* mapflag -S* EGO_F={EGO_F?} -S* mapflag -s* EGO_F={EGO_F?} -s* args {EM}/lib/em_ego {EGO_F?} -P {EM}/lib/ego \ -M{EM}/lib/ego/{M}descr < optimizer stdout priority -1 combiner end name opt2 # output of the global optimizer is processed by a stripped version # of the em peephole optimizer from .gk to .g program {EM}/lib/em_opt2 mapflag -LIB OPT_F={OPT_F?} -L args {OPT_F?} < optimizer stdout end name decode from .k.m.g to .e program {EM}/lib/em_decode args < stdout end