From 509439d90603e911cb74f49bde4e1d486b603d9b Mon Sep 17 00:00:00 2001 From: ceriel Date: Thu, 26 Feb 1987 12:45:37 +0000 Subject: [PATCH] Added ocm, m2, ego, opt2, . --- lib/descr/fe.src | 92 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 81 insertions(+), 11 deletions(-) diff --git a/lib/descr/fe.src b/lib/descr/fe.src index 0713481f4..d38f7a10b 100644 --- a/lib/descr/fe.src +++ b/lib/descr/fe.src @@ -8,7 +8,9 @@ name 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?} {INCLUDES?} -D{NAME} -DEM_WSIZE={w} -DEM_PSIZE={p} \ + 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 @@ -16,13 +18,18 @@ end name cem from .c to .k - program {EM}/lib/em_cem - mapflag -p CEM_F={CEM_F?} -Xp - mapflag -L CEM_F={CEM_F?} -l - args -Vw{w}i{w}p{p}f{f}s{s}l{l}d{d} {CEM_F?} - stdin - stdout - prep always + 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 + 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} < > rts .c need .c callname acc @@ -42,14 +49,42 @@ name pc mapflag -L PC_F={PC_F?} -\{l-} mapflag -Pr* PC_ERRPATH=* mapflag -PR* PC_PCPATH=* - args -Vw{w}i{w}p{p}f{d}l{l} -R{PC_PCPATH} -r{PC_ERRPATH} {PC_F?} < > {SOURCE} + 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 abc +end +name m2 + from .mod + to .k + program {EM}/lib/em_m2 + mapflag -I* M2_F={M2_F?} -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 + args {M2_F?} -I{EM}/lib/m2 {M2SYSLIB?} -Vi{w}.{w}p{p}.{w}l{l}.{w} < > + 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 + args {OCM_F?} -Vw{w}p{p}l{l} + stdin + stdout + rts .ocm + need .ocm + prep cond + callname ocm +end +name abc from .b to .e program {EM}/lib/em_bem @@ -81,6 +116,41 @@ name opt 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 -- 2.34.1