Added ocm, m2, ego, opt2, \b\b.
authorceriel <none@none>
Thu, 26 Feb 1987 12:45:37 +0000 (12:45 +0000)
committerceriel <none@none>
Thu, 26 Feb 1987 12:45:37 +0000 (12:45 +0000)
lib/descr/fe.src

index 0713481..d38f7a1 100644 (file)
@@ -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