213 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			213 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
 | |
| # $Header$
 | |
| #
 | |
| # Don't generate line updating code by default (i.e.: -L flag provided to cem).
 | |
| # To put it on again: use -NL
 | |
| var LFLAG=-L
 | |
| 
 | |
| 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*
 | |
| 	mapflag -P CPP_F={CPP_F?} -P
 | |
| 	mapflag -C CPP_F={CPP_F?} -C
 | |
| 	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} \
 | |
| 		-D_EM_WSIZE={w} -D_EM_PSIZE={p} \
 | |
| 		-D_EM_SSIZE={s} -D_EM_LSIZE={l} -D_EM_FSIZE={f} -D_EM_DSIZE={d} \
 | |
| 		<
 | |
| 	stdout
 | |
| 	prep is
 | |
| end
 | |
| name cem
 | |
| 	from .c
 | |
| 	to .k
 | |
| 	program {EM}/lib/em_cemcom
 | |
| #	mapflag -I* CPP_F={CPP_F?} -I*
 | |
| #	mapflag -U* CPP_F={CPP_F?} -U*
 | |
| #	mapflag -D* CPP_F={CPP_F?} -D*
 | |
| 	mapflag -M* CEM_F={CEM_F?} -M*
 | |
| 	mapflag -L CEM_F={CEM_F?} -L
 | |
| 	mapflag -NL LFLAG=
 | |
| 	mapflag -KR CEM_F={CEM_F?} -R
 | |
| 	mapflag -w CEM_F={CEM_F?} -w
 | |
| 	mapflag -p CEM_F={CEM_F?} -p
 | |
| 	mapflag -V* CEM_F={CEM_F?} -V*
 | |
| 	args \
 | |
| 		{CPP_F?} {INCLUDES?}  \
 | |
| 		-D{NAME} \
 | |
| 		-DEM_WSIZE={w} -DEM_PSIZE={p} \
 | |
| 		-DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d} \
 | |
| 		-D_EM_WSIZE={w} -D_EM_PSIZE={p} \
 | |
| 		-D_EM_SSIZE={s} -D_EM_LSIZE={l} -D_EM_FSIZE={f} -D_EM_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?} \
 | |
| 		{CEM_F?} {LFLAG?} < >
 | |
| 	rts .c
 | |
| 	need .c
 | |
| 	callname acc
 | |
| 	callname cc
 | |
| end
 | |
| name pc
 | |
| 	from .p
 | |
| 	to .k
 | |
| 	program {EM}/lib/em_pc
 | |
| 	mapflag -L PC_F={PC_F?} -L
 | |
| #	mapflag -s PC_F={PC_F?} -s
 | |
| 	mapflag -_ PC_F={PC_F?} -U
 | |
| 	mapflag -w PC_F={PC_F?} -w
 | |
| 	mapflag -V* PC_F={PC_F?} -V*
 | |
| 	mapflag -M* PC_F={PC_F?} -M*
 | |
| #	mapflag -i* PC_F={PC_F?} -i*
 | |
| 	mapflag -A  PC_F={PC_F?} -A
 | |
| #	mapflag -R  PC_F={PC_F?} -R
 | |
| 	mapflag --* PC_F={PC_F?} -*
 | |
| #range checks can only be disabled through comments
 | |
| 	args \
 | |
| 		-Vw{w}.{w}i{w}.{w}l{l}.{w}p{p}.{w}f{d}.{w}S{w}.{w} \
 | |
| 		{PC_F?} < > {SOURCE}
 | |
| 	prep cond
 | |
| 	rts .p
 | |
| 	need .p
 | |
| 	callname apc
 | |
| 	callname pc
 | |
| end
 | |
| name m2
 | |
| 	from .mod.def
 | |
| 	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 -_ M2_F={M2_F?} -U
 | |
| 	mapflag -M* M2_F={M2_F?} -M*
 | |
| 	mapflag -x M2_F={M2_F?} -x
 | |
| 	mapflag -Xs M2_F={M2_F?} -s
 | |
| 	mapflag -V* M2_F={M2_F?} -V*
 | |
| 	mapflag --* M2_F={M2_F?} -*
 | |
| 	args \
 | |
| 		{M2_INCL?} -I{EM}/lib/m2 {M2SYSLIB?} \
 | |
| 		-Vw{w}.{w}i{w}.{w}p{p}.{w}l{l}.{w}f{f}.{w}d{d}.{w} \
 | |
| 		{M2_ALIGN?} {M2_F?} < >
 | |
| 	prep cond
 | |
| 	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 .k
 | |
| 	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 -Vw{w}p{p}f{d} {ABC_F?} < > {SOURCE}
 | |
| 	prep cond
 | |
| 	rts .b
 | |
| 	need .b
 | |
| 	callname abc
 | |
| end
 | |
| var A68INIT={EM}/lib/em_a68s_init
 | |
| name a68s
 | |
|         from .8.a68
 | |
|         to .k
 | |
|         program {EM}/lib/em_a68s{w}{p}
 | |
|         mapflag -PA* A68INIT=*
 | |
|         args < > {SOURCE}.lst {A68INIT}{w}{p} /dev/null
 | |
|         prep cond
 | |
|         rts .8
 | |
|         need .8
 | |
|         callname a68s
 | |
| 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
 | |
| var EGO={EM}/lib/em_ego
 | |
| name ego
 | |
| 	from .m.ma
 | |
| 	to .gk
 | |
| 	program /bin/sh
 | |
| 	mapflag -EGO-* EGO_F={EGO_F?} -*
 | |
| 	mapflag -EGO=* EGO=*
 | |
| # The following lines are obsolete, but here for backwards compatibility.
 | |
| # They should be removed some day.
 | |
| 	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 -EV EGO_F={EGO_F?} -V
 | |
| # End of obsolete lines
 | |
| 	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*
 | |
| 	mapflag -a* EGO_F={EGO_F?} -a*
 | |
| 	mapflag -O* EGO_F={EGO_F?} -O*
 | |
| 	args \
 | |
| 		{EGO} {EM} {EGO_F?} -P {EM}/lib/ego \
 | |
| 		-M{EM}/lib/ego/{M}descr <
 | |
| 	optimizer 2
 | |
| 	stdout
 | |
| 	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
 |