diff --git a/modules/src/em_code/e/.distr b/modules/src/em_code/e/.distr deleted file mode 100644 index 66366f55e..000000000 --- a/modules/src/em_code/e/.distr +++ /dev/null @@ -1,2 +0,0 @@ -em.c -em_private.h diff --git a/modules/src/em_code/e/C_failed.c b/modules/src/em_code/e/C_failed.c deleted file mode 100644 index 9b3cd21f0..000000000 --- a/modules/src/em_code/e/C_failed.c +++ /dev/null @@ -1,12 +0,0 @@ -/* $Header$ */ -/* - * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. - * See the copyright notice in the ACK home directory, in the file "Copyright". - */ -#include - -C_failed() -{ - sys_write(STDERR,"write failed\n",13); - sys_stop(S_EXIT); -} diff --git a/modules/src/em_code/e/em.c b/modules/src/em_code/e/em.c deleted file mode 100644 index 4c79fa88e..000000000 --- a/modules/src/em_code/e/em.c +++ /dev/null @@ -1,159 +0,0 @@ -/* $Header$ */ -/* - * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. - * See the copyright notice in the ACK home directory, in the file "Copyright". - */ -/* EM CODE OUTPUT ROUTINES */ - -#include "io.c" -#include "em_private.h" - -/* - The C_pt_*() functions serve as formatting functions of the - various EM language constructs. - See "Description of a Machine Architecture for use with - Block Structured Languages" par. 11.2 for the meaning of these - names. -*/ - -C_magic() -{ -} - -/*** the readable code generating routines ***/ - -static -wrs(s) - register char *s; -{ - while (*s) { - C_putbyte(*s++); - } -} - -C_pt_dnam(s) - char *s; -{ - wrs(s); -} - -C_pt_ilb(l) - label l; -{ - char buf[16]; - - sprint(buf, "*%ld", (long) l); - wrs(buf); -} - -extern char em_mnem[][4]; -extern char em_pseu[][4]; - -C_pt_op(x) -{ - C_putbyte(' '); - wrs(em_mnem[x - sp_fmnem]); - C_putbyte(' '); -} - -C_pt_cst(l) - arith l; -{ - char buf[16]; - - sprint(buf, "%ld", (long) l); - wrs(buf); -} - -C_pt_scon(x, y) - char *x; - arith y; -{ - char xbuf[1024]; - register char *p; - char *bts2str(); - - C_putbyte('\''); - p = bts2str(x, (int) y, xbuf); - while (*p) { - if (*p == '\'') { - C_putbyte('\\'); - } - C_putbyte(*p++); - } - C_putbyte('\''); -} - -C_pt_ps(x) -{ - C_putbyte(' '); - wrs(em_pseu[x - sp_fpseu]); - C_putbyte(' '); -} - -C_pt_dlb(l) - label l; -{ - char buf[16]; - - sprint(buf, ".%ld", (long) l); - wrs(buf); -} - -C_pt_doff(l, v) - label l; - arith v; -{ - char buf[16]; - - C_pt_dlb(l); - if (v != 0) { - sprint(buf,"+%ld", (long) v); - wrs(buf); - } -} - -C_pt_noff(s, v) - char *s; - arith v; -{ - char buf[16]; - - wrs(s); - if (v != 0) { - sprint(buf,"+%ld", (long) v); - wrs(buf); - } -} - -C_pt_pnam(s) - char *s; -{ - C_putbyte('$'); - wrs(s); -} - -C_pt_dfilb(l) - label l; -{ - char buf[16]; - - sprint(buf, "%ld", (long) l); - wrs(buf); -} - -C_pt_wcon(sp, v, sz) /* sp_icon, sp_ucon or sp_fcon with int repr */ - int sp; - char *v; - arith sz; -{ - int ch = sp == sp_icon ? 'I' : sp == sp_ucon ? 'U' : 'F'; - - wrs(v); - C_putbyte(ch); - C_pt_cst(sz); -} - -C_pt_nl() { C_putbyte('\n'); } -C_pt_comma() { C_putbyte(','); } -C_pt_ccend() { C_putbyte('?'); } diff --git a/modules/src/em_code/e/em_private.h b/modules/src/em_code/e/em_private.h deleted file mode 100644 index 7a89d6731..000000000 --- a/modules/src/em_code/e/em_private.h +++ /dev/null @@ -1,37 +0,0 @@ -/* $Header$ */ -/* - * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. - * See the copyright notice in the ACK home directory, in the file "Copyright". - */ -/* private inclusion file */ - -#include -#include - -/* include the EM description files */ -#include -#include -#include -#include - -/* macros used in the definitions of the interface functions C_* */ -#define OP(x) C_pt_op(x) -#define CST(x) C_pt_cst(x) -#define DCST(x) C_pt_cst(x) -#define SCON(x,y) C_pt_scon((x), (y)) -#define PS(x) C_pt_ps(x) -#define DLB(x) C_pt_dlb(x) -#define DFDLB(x) C_pt_dlb(x) -#define ILB(x) C_pt_ilb(x) -#define DFILB(x) C_pt_dfilb(x) -#define NOFF(x,y) C_pt_noff((x), (y)) -#define DOFF(x,y) C_pt_doff((x), (y)) -#define PNAM(x) C_pt_pnam(x) -#define DNAM(x) C_pt_dnam(x) -#define DFDNAM(x) C_pt_dnam(x) -#define CEND() -#define CCEND() C_pt_ccend() -#define WCON(x,y,z) C_pt_wcon((x), (y), (z)) -#define COMMA() C_pt_comma() -#define NL() C_pt_nl() -#define CILB(x) C_pt_ilb(x) diff --git a/modules/src/em_code/io.c b/modules/src/em_code/io.c deleted file mode 100644 index 8e59e5704..000000000 --- a/modules/src/em_code/io.c +++ /dev/null @@ -1,143 +0,0 @@ -/* $Header$ */ - -/* I/O part of em_code module. - Also contains C_open, C_close -*/ -#include -#include -#include -#include "insert.h" - -int C_ontmpfile = 0; -int C_sequential = 1; -Part *C_curr_part; -Part *C_stable[TABSIZ]; -char *C_tmpdir = TMP_DIR; -int (*C_outpart)(), (*C_swtout)(), (*C_swttmp)(); - -#ifdef INCORE -char *C_BASE; -#endif - -File *C_ofp; - -#ifndef INCORE -File *C_tfr, *C_old_ofp; -char *C_tmpfile; -char *strcpy(), *strcat(); -char *C_ibuf = 0; -long C_current_out; -#endif - -#if BUFSIZ <= 1024 && BIGMACHINE -#define BUFFERSIZ 8*BUFSIZ -#else -#define BUFFERSIZ BUFSIZ -#endif - -static char obuf[BUFFERSIZ]; -char *C_top = &obuf[BUFFERSIZ]; -char *C_old_top; -char *C_old_opp; -#ifdef INCORE -char *C_current_out = obuf; -#else -char *C_opp = obuf; -#endif - -C_flush() { -#ifdef INCORE - static unsigned int bufsiz; - - if (C_ontmpfile) { - if (C_BASE == 0) { - C_BASE = Malloc(BUFFERSIZ); - bufsiz = BUFFERSIZ; - C_current_out = C_BASE; - } - else { - C_BASE = Srealloc(C_BASE, (bufsiz << 1)); - C_current_out = C_BASE + bufsiz; - bufsiz <<= 1; - } - C_top = C_BASE + bufsiz; - return; - } -#endif - if (C_opp != obuf && sys_write(C_ofp, obuf, C_opp - obuf) == 0) { - C_failed(); - } - C_opp = obuf; -} - -#ifndef INCORE -#define Xputbyte(c) if (C_ontmpfile) C_current_out++; put(c) -#else -#define Xputbyte(c) put(c) -#endif - -C_putbyte(c) - int c; -{ - Xputbyte(c); -} - -#define C_putbyte Xputbyte - -C_init(w, p) - arith w, p; -{ -} - -C_open(nm) - char *nm; -{ - /* Open file "nm" for output - */ - - if (nm == 0) - C_ofp = STDOUT; /* standard output */ - else - if (sys_open(nm, OP_WRITE, &C_ofp) == 0) - return 0; - return 1; -} - -C_close() -{ - /* Finish the code-generation. - */ - -#ifndef INCORE - C_flush(); - if (C_tmpfile) { - (*C_swttmp)(); - sys_close(C_ofp); -#else - if (C_BASE) { -#endif - if (C_curr_part) { - C_curr_part->p_parts->pp_end = C_current_out - C_BASE; - } - (*C_swtout)(); - if (! C_sequential) { - (*C_outpart)(0); - } -#ifndef INCORE - sys_close(C_tfr); - sys_remove(C_tmpfile); - if (C_ibuf) free(C_ibuf); -#else - free(C_BASE); -#endif - } - C_flush(); - if (C_ofp != STDOUT) - sys_close(C_ofp); - C_ofp = 0; -} - -C_busy() -{ - return C_ofp != 0; /* true if code is being generated */ -} diff --git a/modules/src/em_code/k/.distr b/modules/src/em_code/k/.distr deleted file mode 100644 index 66366f55e..000000000 --- a/modules/src/em_code/k/.distr +++ /dev/null @@ -1,2 +0,0 @@ -em.c -em_private.h diff --git a/modules/src/em_code/k/C_failed.c b/modules/src/em_code/k/C_failed.c deleted file mode 100644 index 9b3cd21f0..000000000 --- a/modules/src/em_code/k/C_failed.c +++ /dev/null @@ -1,12 +0,0 @@ -/* $Header$ */ -/* - * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. - * See the copyright notice in the ACK home directory, in the file "Copyright". - */ -#include - -C_failed() -{ - sys_write(STDERR,"write failed\n",13); - sys_stop(S_EXIT); -} diff --git a/modules/src/em_code/k/em.c b/modules/src/em_code/k/em.c deleted file mode 100644 index 73f0c6884..000000000 --- a/modules/src/em_code/k/em.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. - * See the copyright notice in the ACK home directory, in the file "Copyright". - */ -/* $Header$ */ -/* EM CODE OUTPUT ROUTINES */ - -#include "io.c" -#include "em_private.h" - -#define put8(x) C_putbyte(x) -#define put16(x) put8((int) x); put8((int) (x >> 8)) -#define put32(x) put16((int) x); put16((int) (x >> 16)) - -/* - The C_pt_*() functions serve as formatting functions of the - various EM language constructs. - See "Description of a Machine Architecture for use with - Block Structured Languages" par. 11.2 for the meaning of these - names. -*/ - -C_magic() -{ - put16(sp_magic); -} - -/*** the compact code generating routines ***/ -#define fit16i(x) ((x) >= (long)(-0x8000) && (x) <= (long)0x7FFF) -#define fit8u(x) ((x) <= 0xFF) /* x is already unsigned */ - -C_pt_ilb(l) - register label l; -{ - if (fit8u(l)) { - put8(sp_ilb1); - put8(l); - } - else { - put8(sp_ilb2); - put16(l); - } -} - -C_pt_dlb(l) - register label l; -{ - if (fit8u(l)) { - put8(sp_dlb1); - put8(l); - } - else { - put8(sp_dlb2); - put16((int)l); - } -} - -C_pt_cst(l) - register arith l; -{ - if (l >= (arith) -sp_zcst0 && l < (arith) (sp_ncst0 - sp_zcst0)) { - /* we can convert 'l' to an int because its value - can be stored in a byte. - */ - put8((int)l + (sp_zcst0 + sp_fcst0)); - } - else - if (fit16i(l)) { /* the cast from long to int causes no trouble here */ - put8(sp_cst2); - put16((int) l); - } - else { - put8(sp_cst4); - put32(l); - } -} - -C_pt_doff(l, v) - label l; - arith v; -{ - if (v == 0) { - C_pt_dlb(l); - } - else { - put8(sp_doff); - C_pt_dlb(l); - C_pt_cst(v); - } -} - -C_pt_noff(s, v) - char *s; - arith v; -{ - if (v == 0) { - C_pt_dnam(s); - } - else { - put8(sp_doff); - C_pt_dnam(s); - C_pt_cst(v); - } -} - -C_pt_dnam(s) - char *s; -{ - put8(sp_dnam); - C_pt_str(s); -} - -C_pt_pnam(s) - char *s; -{ - put8(sp_pnam); - C_pt_str(s); -} - -C_pt_wcon(sp, v, sz) /* sp_icon, sp_ucon or sp_fcon with int repr */ - int sp; - char *v; - arith sz; -{ - /* how 'bout signextension int --> long ??? */ - put8(sp); - C_pt_cst(sz); - C_pt_str(v); -} - -C_pt_str(s) - register char *s; -{ - register int len; - - C_pt_cst((arith) (len = strlen(s))); - while (--len >= 0) { - put8(*s++); - } -} - -C_pt_scon(b, n) - register char *b; - register arith n; -{ - put8(sp_scon); - C_pt_cst(n); - while (--n >= 0) { - put8(*b++); - } -} diff --git a/modules/src/em_code/k/em_private.h b/modules/src/em_code/k/em_private.h deleted file mode 100644 index 9ac1da393..000000000 --- a/modules/src/em_code/k/em_private.h +++ /dev/null @@ -1,41 +0,0 @@ -/* $Header$ */ -/* - * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. - * See the copyright notice in the ACK home directory, in the file "Copyright". - */ -/* private inclusion file */ - -#include -#include - -/* include the EM description files */ -#include -#include -#include -#include - -/* macros used in the definitions of the interface functions C_* */ -#define OP(x) C_pt_op(x) -#define CST(x) C_pt_cst(x) -#define DCST(x) C_pt_cst(x) -#define SCON(x,y) C_pt_scon((x), (y)) -#define PS(x) C_pt_ps(x) -#define DLB(x) C_pt_dlb(x) -#define DFDLB(x) C_pt_dlb(x) -#define ILB(x) C_pt_ilb(x) -#define DFILB(x) C_pt_ilb(x) -#define NOFF(x,y) C_pt_noff((x), (y)) -#define DOFF(x,y) C_pt_doff((x), (y)) -#define PNAM(x) C_pt_pnam(x) -#define DNAM(x) C_pt_dnam(x) -#define DFDNAM(x) C_pt_dnam(x) -#define CEND() C_pt_cend() -#define CCEND() C_pt_cend() -#define WCON(x,y,z) C_pt_wcon((x), (y), (z)) -#define COMMA() -#define NL() -#define CILB(x) CST((arith) x) - -#define C_pt_cend() C_putbyte(sp_cend) -#define C_pt_op(x) C_putbyte(x) -#define C_pt_ps(x) C_putbyte(x)