removed
authorceriel <none@none>
Wed, 6 Dec 1995 13:08:44 +0000 (13:08 +0000)
committerceriel <none@none>
Wed, 6 Dec 1995 13:08:44 +0000 (13:08 +0000)
12 files changed:
fast_misc/.distr [deleted file]
fast_misc/INSTALL [deleted file]
fast_misc/INSTALL_A [deleted file]
fast_misc/READ_ME.n [deleted file]
fast_misc/driver.c [deleted file]
fast_misc/man/.distr [deleted file]
fast_misc/man/afcc.1 [deleted file]
fast_misc/man/afm2.1.src [deleted file]
fast_misc/man/fcc.1 [deleted file]
fast_misc/man/fm2.1.src [deleted file]
fast_misc/man/fpc.1 [deleted file]
fast_misc/str_change.c [deleted file]

diff --git a/fast_misc/.distr b/fast_misc/.distr
deleted file mode 100644 (file)
index 13c1d92..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-man
-INSTALL
-INSTALL_A
-READ_ME.n
-driver.c
-str_change.c
diff --git a/fast_misc/INSTALL b/fast_misc/INSTALL
deleted file mode 100755 (executable)
index a1af098..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-#!/bin/sh
-
-# installation of fast ACK compilers fcc, fm2, and fpc
-
-# is the call correct?
-case $# in
-1)
-       if [ -d $1 ] 
-       then
-               :
-       else
-               echo $0: $1 is not a directory >&2
-               exit 1
-       fi
-       ;;
-*)
-       echo $0: Call is $0 \<bin directory\> >&2
-       exit 1
-       ;;
-esac
-
-# investigate machine: either vax or sun(3)
-
-echo $0: determining type of machine ...
-cat > t.c <<'EOF'
-main() {
-#ifdef sun
-       printf("sun\n");
-#endif
-#ifdef vax
-       printf("vax\n");
-#endif
-}
-EOF
-if cc t.c
-then
-       :
-else
-       $0: compilation failed >&2
-       exit 1
-fi
-m=`./a.out`
-rm -f a.out t.[co]
-case $m in
-sun|vax)
-       echo $0: Starting installation for a $m ...
-       ;;
-*)
-       echo $0: machine must be sun or vax >&2
-       exit 1
-       ;;
-esac
-
-# make links to proper bin and lib directories
-
-echo $0: creating bin and lib directories ...
-rm -f bin lib
-ln -s bin.$m bin
-ln -s lib.$m lib
-
-# edit manual page
-sed s@CHANGE_ME@`pwd`/def@ < man/fm2.1.src > man/fm2.1
-
-# now compile the driver program
-
-echo $0: compiling driver program ...
-rm -f fcc fm2 fpc
-SunOs4=
-if [ -f /usr/lib/ld.so ]
-then
-# different options for the loader on SunOs 4.0
-       SunOs4=-DSunOs4
-fi
-if cc -O -DFASTDIR=\"`pwd`\" $SunOs4 -DFCC -o fcc driver.c &&
-   cc -O -DFASTDIR=\"`pwd`\" $SunOs4 -DFM2 -o fm2 driver.c &&
-   cc -O -DFASTDIR=\"`pwd`\" $SunOs4 -DFPC -o fpc driver.c
-then
-       :
-else
-       echo $0: compilation of driver program failed >&2
-       exit 1
-fi
-
-if cc -o str_change str_change.c
-then
-       case $m in
-       vax)
-               ./str_change CHANGE_ME `pwd` < bin.vax/m2mm > fm2mm
-               ;;
-       sun)
-               ./str_change CHANGE_ME `pwd` < bin.sun/m2mm > fm2mm
-               ;;
-       esac
-       rm -f str_change.o str_change
-       chmod +x fm2mm
-else
-       echo "$0: compilation of string patching program failed; cannot create fm2mm" >&2
-fi
-
-#now run simple tests
-
-echo $0: run some simple tests
-failed=false
-cat > test.mod <<'EOF'
-MODULE test;
-FROM InOut IMPORT      WriteString, WriteLn;
-BEGIN
-       WriteString("Hello World");
-       WriteLn
-END test.
-EOF
-if ./fm2 test.mod 2>/dev/null
-then
-       case `a.out` in
-       "Hello World")
-               ;;
-       *)
-               echo $0: fm2 test failed >&2
-               failed=true
-               ;;
-       esac
-else
-       echo $0: fm2 compilation failed >&2
-       failed=true
-fi
-
-cat > test.c <<'EOF'
-main() { printf("Hello World\n"); }
-EOF
-if ./fcc test.c 2>/dev/null
-then
-       case `a.out` in
-       "Hello World")
-               ;;
-       *)
-               echo $0: fcc test failed >&2
-               failed=true
-               ;;
-       esac
-else
-       echo $0: fcc compilation failed >&2
-       failed=true
-fi
-
-cat > test.p <<'EOF'
-program p(output); begin writeln('Hello World') end.
-EOF
-if ./fpc test.p 2>/dev/null
-then
-       case `a.out` in
-       "Hello World")
-               ;;
-       *)
-               echo $0: fpc test failed >&2
-               failed=true
-               ;;
-       esac
-else
-       echo $0: fpc compilation failed >&2
-       failed=true
-fi
-
-rm -f test.* a.out
-
-case $failed in
-true)
-       echo $0: some tests failed, installation aborted >&2
-       exit 1
-       ;;
-false)
-       rm -f $1/fm2 $1/fcc $1/fpc
-       cp fm2 fcc fpc $1
-       if [ -f fm2mm ]
-       then
-               rm -f $1/fm2mm
-               cp fm2mm $1/fm2mm
-       fi
-       rm -f fm2 fpc fcc fm2mm
-       echo $0: Installation completed
-       exit 0
-       ;;
-esac
diff --git a/fast_misc/INSTALL_A b/fast_misc/INSTALL_A
deleted file mode 100755 (executable)
index 9b7b071..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-#!/bin/sh
-
-# installation of fast ACK compilers afcc, afm2
-
-# is the call correct?
-case $# in
-1)
-       if [ -d $1 ] 
-       then
-               :
-       else
-               echo $0: $1 is not a directory >&2
-               exit 1
-       fi
-       ;;
-*)
-       echo $0: Call is $0 \<ACK home directory\> >&2
-       exit 1
-       ;;
-esac
-
-# investigate machine: either vax or sun(3)
-
-echo $0: determining type of machine ...
-cat > t.c <<'EOF'
-main() {
-#ifdef sun
-       printf("sun\n");
-#endif
-#ifdef vax
-       printf("vax\n");
-#endif
-}
-EOF
-if cc t.c
-then
-       :
-else
-       echo $0: compilation failed >&2
-       exit 1
-fi
-m=`./a.out`
-rm -f a.out t.[co]
-case $m in
-sun|vax)
-       echo $0: Starting installation for a $m ...
-       ;;
-*)
-       echo $0: machine must be sun or vax >&2
-       exit 1
-       ;;
-esac
-
-# edit manual page
-sed s@CHANGE_ME@$1/lib/m2@ < man/afm2.1.src > man/afm2.1
-
-# install the compiler binaries
-
-echo $0: copying compiler binaries ...
-case $m in
-sun)
-       cp ack.sun/cemcom* ack.sun/m2* $1/lib/m68020
-       ;;
-vax)
-       cp ack.vax/cemcom* ack.vax/m2* $1/lib/vax4
-       ;;
-esac
-
-# now compile the driver program
-
-echo $0: compiling driver program ...
-rm -f afcc afm2
-if cc -O -DACK_BIN -I$1/h -DFCC -o afcc driver.c &&
-   cc -O -DACK_BIN -I$1/h -DFM2 -o afm2 driver.c
-then
-       :
-else
-       echo $0: compilation of driver program failed >&2
-       exit 1
-fi
-
-( cd $1/lang/m2/libm2
-  echo 'killbss() { }' > killbss.c
-  ../../../bin/acc -L -c -LIB killbss.c
-  cp LIST LIST.old
-  echo 'killbss.c' >> LIST
-  ../../../bin/arch r tail_m2.a killbss.c
-) > /dev/null 2>&1
-
-case $m in
-sun)
-       ( cd $1/lib/sun3
-         cp tail_m2 tail_m2.orig
-         ../../bin/aal r tail_m2 ../../lang/m2/libm2/killbss.o
-       )
-       ;;
-vax)
-       ( cd $1/lib/vax4
-         cp tail_m2 tail_m2.orig
-         ar r tail_m2 ../../lang/m2/libm2/killbss.o
-         ranlib tail_m2
-       )
-       ;;
-esac > /dev/null 2>&1
-
-#now run simple tests
-
-echo $0: run some simple tests
-failed=false
-cat > test.mod <<'EOF'
-MODULE test;
-FROM InOut IMPORT      WriteString, WriteLn;
-BEGIN
-       WriteString("Hello World");
-       WriteLn
-END test.
-EOF
-if ./afm2 test.mod 2>/dev/null
-then
-       case `a.out` in
-       "Hello World")
-               ;;
-       *)
-               echo $0: afm2 test failed >&2
-               failed=true
-               ;;
-       esac
-else
-       echo $0: afm2 compilation failed >&2
-       failed=true
-fi
-
-cat > test.c <<'EOF'
-main() { printf("Hello World\n"); }
-EOF
-if ./afcc test.c 2>/dev/null
-then
-       case `a.out` in
-       "Hello World")
-               ;;
-       *)
-               echo $0: afcc test failed >&2
-               failed=true
-               ;;
-       esac
-else
-       echo $0: afcc compilation failed >&2
-       failed=true
-fi
-
-rm -f test.* a.out
-
-case $failed in
-true)
-       echo $0: some tests failed, installation aborted >&2
-       exit 1
-       ;;
-false)
-       rm -f $1/bin/afm2 $1/bin/afcc
-       cp afm2 afcc $1/bin
-       rm -f afm2 afcc
-       cp man/afcc.1 man/afm2.1 $1/man
-       echo $0: Installation completed
-       exit 0
-       ;;
-esac
diff --git a/fast_misc/READ_ME.n b/fast_misc/READ_ME.n
deleted file mode 100644 (file)
index ca20713..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-.ND
-.SH
-Installing the fast ACK compilers
-.LP
-This is the first distribution of the fast ACK compilers, in
-binary form, for either a DEC VAX running Berkeley Unix BSD 4.2 or BSD 4.3,
-or a SUN-3 MC68020 work-station running SunOS 3.2-3.5, or SunOS 4.0.
-The distribution contains a C-, a Modula-2-, and a Pascal-compiler producing object
-code that is compatible with cc-produced object code. There are also
-versions for C and Modula-2 producing object code that is compatible
-with ACK, 4th distribution.
-The distribution also contains a Modula-2 makefile generator.
-.LP
-The tape contains the following files and directories:
-.IP "lib.vax and bin.vax"
-.br
-binaries and libraries for the VAX.
-.IP "lib.sun and bin.sun"
-.br
-binaries and libraries for the SUN-3.
-.IP def
-directory containing definition modules of the Modula-2 run-time system.
-.IP man
-directory containing manual pages.
-.IP doc
-directory containing some documents describing the languages implemented.
-.IP "ack.sun and ack.vax"
-.br
-binaries for ACK compatible fast compilers.
-.IP "driver.c"
-.br
-sources of the compiler driver.
-.IP "READ_ME"
-.br
-the file you are reading now.
-.IP "INSTALL" and "INSTALL_A"
-.br
-shell-scripts taking care of the installation.
-.LP
-Installation makes the following commands available:
-.IP fm2
-fast Modula-2 compiler.
-.IP fcc
-fast C compiler.
-.IP fpc
-fast Pascal compiler.
-.IP fm2mm
-.br
-makefile generator for fast Modula-2 compiler.
-.LP
-To install these commands, proceed as follows:
-.IP 1.
-Create a directory for the compilers, f.i. /usr/local/lib/fastc.
-You will need about 3 megabyte to extract the tape.
-.IP 2.
-Go to this directory and extract the tape (which is in 1600 bpi tar-format).
-.IP 3.
-Execute the INSTALL shell-script with one argument: the directory in
-which the fm2, fcc, fpc, and fm2mm binaries must be installed, f.i.
-/usr/local/bin.
-This will take care of the installation of the cc(1) compatible
-versions of the fast ACK compilers.
-The INSTALL script will also run some small tests.
-.IP 4.
-The man-subdirectory contains manual pages. When you have satisfied
-yourself that fm2, fcc, and fpc work properly, install the
-fm2, fm2mm, fcc, and fpc manual pages
-in a public man-directory, and announce the availability of
-fm2, fm2mm, fcc, and fpc.
-.IP 5.
-The tape also contains ACK-compatible fast ACK compilers for C and Modula-2.
-If you have the 4th ACK distribution (became available in august 1988),
-you can use the INSTALL_A shell-script to install these in the ACK tree.
-Call INSTALL_A with the ACK home directory as argument.
-This will make afm2 and afcc available in the ACK bin-directory.
-.IP 6.
-After the installation, some directories are no longer needed. The ack.sun
-and ack.vax directories can be removed; when on a SUN, the bin.vax and
-lib.vax directories can be removed; when on a VAX, the bin.sun and lib.sun
-directories can be removed.
diff --git a/fast_misc/driver.c b/fast_misc/driver.c
deleted file mode 100644 (file)
index f413d7f..0000000
+++ /dev/null
@@ -1,1097 +0,0 @@
-/*     fcc/fm2/fpc 
-       Driver for fast ACK compilers.
-
-       Derived from the C compiler driver from Minix.
-
-       You can create cc-compatible versions by compiling with
-               cc -O '-DFASTDIR="<this directory>"' -DF?? driver.c
-       where F?? is either FCC, FM2, or FPC.
-       Install resulting binaries in a public place (f.i. /usr/local/bin).
-       Suggested names: fcc, fm2, and fpc.
-
-       If you have ACK, you can create ACK-compatible versions by compiling
-       this file with
-               cc -O -DACK_BIN -I<ACK home directory>/h -DF?? driver.c
-       where F?? is either FCC, FPC, or FM2.
-       Install the resulting binaries in the EM bin directory.
-       Suggested names: afcc, afm2, and afpc.
-       The ACK compatible version afpc is not compatible with the 4th
-       ACK distribution, and thus is not on the tape.
-*/
-
-
-#ifndef vax
-#ifndef sun
-In this case, no fast ACK compiler available
-#endif
-#endif
-
-#if FM2+FPC+FCC > 1
-Something wrong here! Only one of FM2, FPC, or FCC must be defined
-#endif
-
-#include <errno.h>
-#include <signal.h>
-#include <varargs.h>
-#include <stdio.h>
-#ifdef ACK_BIN
-#include <em_path.h>
-#define M2DEF  "/lib/m2"
-#define FASTDIR EM_DIR
-#else
-#define M2DEF "/def"
-#define TMP_DIR        "/tmp"
-#endif ACK_BIN
-
-
-#ifndef ACK_BIN
-#define BINDIR "/bin/"
-#define LIBDIR "/lib/"
-#else ACK_BIN
-#define BINDIR "/lib/"
-#ifdef sun
-#define LIBDIR "/lib/sun3/"
-#endif sun
-#ifdef vax
-#define LIBDIR "/lib/vax4/"
-#endif vax
-#define CCINCL "/include/_tail_cc"
-#endif ACK_BIN
-char *ROOT_DIR = FASTDIR;
-
-/*
-#ifndef ACK_BIN
-       Version producing VAX or SUN .o files in one pass.
-#else ACK_BIN
-       Version producing ACK .o files in one pass.
-#endif ACK_BIN
-*/
-#define MAXARGC        256     /* maximum number of arguments allowed in a list */
-#define USTR_SIZE      128     /* maximum length of string variable */
-
-typedef char USTRING[USTR_SIZE];
-
-USTRING INCLUDE = "-I";
-
-struct arglist {
-       int al_argc;
-       char *al_argv[MAXARGC];
-};
-
-#define LD     "/bin/ld"
-#define AS     "/bin/as"
-#define CPP    "*cpp"
-#if ACK_BIN && !vax
-#undef LD
-#undef AS
-#define LD     "*em_led"
-#define CV     "~cv"           /* machine dependent; resides in lib directory */
-#endif ACK_BIN && !vax
-#define SHELL  "/bin/sh"
-
-/*     flags passed to linker */
-#define TO_LD  "dnNrsSi"
-#if ACK_BIN && !vax
-#undef TO_LD
-#define TO_LD  "rs"
-#endif ACK_BIN && !vax
-
-int kids =  -1;
-int ecount = 0;
-
-struct arglist CPP_FLAGS = {
-#ifdef vax
-       8,
-#endif
-#ifdef sun
-       10,
-#endif
-       {
-               "-Dunix",
-               "-DEM_WSIZE=4",
-               "-DEM_PSIZE=4",
-               "-DEM_SSIZE=2",
-               "-DEM_LSIZE=4",
-               "-DEM_FSIZE=4",
-               "-DEM_DSIZE=8",
-#ifdef vax
-               "-Dvax"
-#endif
-#ifdef sun
-               "-Dmc68000",
-               "-Dsun",
-               "-Dmc68020"
-#endif
-       }
-};
-
-struct arglist COMP_FLAGS;
-
-#ifdef FCC
-struct arglist LD_HEAD = {
-#ifdef ACK_BIN
-       2,
-       {
-               "~head_em",
-               "~head_cc"
-       }
-#else ACK_BIN
-#ifdef sun
-#ifdef SunOs4
-       7,
-#else
-       5,
-#endif
-       {
-               "-e",
-               "start",
-               "-X",
-#ifdef SunOs4
-               "-L/usr/lib/fsoft",
-               "-Bstatic",
-#endif
-               "/lib/crt0.o",
-               "/lib/Fcrt1.o"
-       }
-#endif
-#ifdef vax
-       2,
-       {
-               "-X",
-               "/lib/crt0.o"
-       }
-#endif
-#endif ACK_BIN
-};
-
-struct arglist LD_TAIL = {
-#ifdef ACK_BIN
-#ifdef sun
-       6,
-       {
-               "~tail_cc.1s",
-               "~tail_cc.2g",
-               "*m68020/tail_fp",
-               "*m68020/tail_em",
-               "~tail_mon",
-               "*m68020/end_em"
-       }
-#endif sun
-#ifdef vax
-       4,
-       {
-               "~tail_cc.1s",
-               "~tail_cc.2g",
-               "~tail_em",
-               "~tail_mon"
-       }
-#endif vax
-#else ACK_BIN
-#ifdef sun
-       2,
-       {
-               "~tail_ext",
-               "-lc"
-       }
-#endif
-#ifdef vax
-       2,
-       {
-               "~tail_em",
-               "-lc"
-       }
-#endif
-#endif ACK_BIN
-};
-#endif FCC
-
-#ifdef FPC
-struct arglist LD_HEAD = {
-#ifdef ACK_BIN
-       2,
-       {
-               "~head_em",
-#ifdef vax
-               "~head_pc"
-#endif
-#ifdef sun
-               "*m68020/head_pc"
-#endif
-       }
-#else ACK_BIN
-#ifdef sun
-#ifdef SunOs4
-       7,
-#else
-       5,
-#endif
-       {
-               "-e",
-               "begtext",
-               "-X",
-#ifdef SunOs4
-               "-L/usr/lib/fsoft",
-               "-Bstatic",
-#endif
-               "~head_em",
-               "~head_pc"
-       }
-#endif sun
-#ifdef vax
-       3,
-       {
-               "-X",
-               "~head_em",
-               "~head_pc"
-       }
-#endif vax
-#endif ACK_BIN
-};
-struct arglist LD_TAIL = {
-#ifndef ACK_BIN
-#ifdef sun
-       3,
-       {
-               "~tail_pc",
-               "~tail_ext",
-               "-lc"
-       }
-#endif sun
-#ifdef vax
-       3,
-       {
-               "~tail_pc",
-               "~tail_em",
-               "-lc"
-       }
-#endif vax
-#else ACK_BIN
-#ifdef sun
-       5,
-       {
-               "*m68020/tail_pc",
-               "*m68020/tail_fp",
-               "*m68020/tail_em",
-               "~tail_mon",
-               "*m68020/end_em"
-       }
-#endif sun
-#ifdef vax
-       3,
-       {
-               "~tail_pc",
-               "~tail_em",
-               "~tail_mon"
-       }
-#endif vax
-#endif ACK_BIN
-};
-#endif FPC
-
-#ifdef FM2
-struct arglist LD_HEAD = {
-#ifdef ACK_BIN
-       2,
-       {
-               "~head_em",
-               "~head_m2"
-       }
-#else ACK_BIN
-#ifdef sun
-#ifdef SunOs4
-       7,
-#else
-       5,
-#endif
-       {
-               "-e",
-               "begtext",
-               "-X",
-#ifdef SunOs4
-               "-L/usr/lib/fsoft",
-               "-Bstatic",
-#endif
-               "~head_em",
-               "~head_m2"
-       }
-#endif sun
-#ifdef vax
-       3,
-       {
-               "-X",
-               "~head_em",
-               "~head_m2"
-       }
-#endif vax
-#endif ACK_BIN
-};
-struct arglist LD_TAIL = {
-#ifndef ACK_BIN
-#ifdef sun
-       3,
-       {
-               "~tail_m2",
-               "~tail_ext",
-               "-lc"
-       }
-#endif sun
-#ifdef vax
-       3,
-       {
-               "~tail_m2",
-               "~tail_em",
-               "-lc"
-       }
-#endif vax
-#else ACK_BIN
-#ifdef sun
-       5,
-       {
-               "~tail_m2",
-               "*m68020/tail_fp",
-               "*m68020/tail_em",
-               "~tail_mon",
-               "*m68020/end_em"
-       }
-#endif sun
-#ifdef vax
-       3,
-       {
-               "~tail_m2",
-               "~tail_em",
-               "~tail_mon"
-       }
-#endif vax
-#endif ACK_BIN
-};
-#endif FM2
-
-#if ACK_BIN && !vax
-#ifdef sun
-struct arglist def_align = {
-       5,
-       {
-               "-a0:4",
-               "-a1:4",
-               "-a2:0x20000",
-               "-a3:4",
-               "-b0:0x2020"
-       }
-};
-
-struct arglist n_align = {
-       5,
-       {
-               "-a0:4",
-               "-a1:4",
-               "-a2:0x20000",
-               "-a3:4",
-               "-b0:0x2000"
-       }
-};
-
-struct arglist N_align = {
-       5,
-       {
-               "-a0:4",
-               "-a1:4",
-               "-a2:4",
-               "-a3:4",
-               "-b0:0x2000"
-       }
-};
-#endif sun
-
-struct arglist *sect_align = &def_align;
-
-#endif ACK_BIN && !vax
-
-char *o_FILE = "a.out"; /* default name for executable file */
-
-#define remove(str)    ((noexec || unlink(str)), (str)[0] = '\0')
-#define cleanup(str)           (str && str[0] && remove(str))
-#define init(al)               ((al)->al_argc = 1)
-
-char ProgCall[128];
-
-struct arglist SRCFILES;
-struct arglist LDFILES;
-struct arglist GEN_LDFILES;
-
-int RET_CODE = 0;
-
-struct arglist LD_FLAGS;
-
-struct arglist CALL_VEC;
-
-int o_flag = 0;
-int c_flag = 0;
-int v_flag = 0;
-int O_flag = 0;
-
-char *mkstr();
-char *malloc();
-char *alloc();
-char *extension();
-
-USTRING ofile;
-USTRING BASE;
-USTRING tmp_file;
-
-int noexec = 0;
-
-extern char *strcat(), *strcpy(), *mktemp(), *strchr();
-
-trapcc(sig)
-       int sig;
-{
-       signal(sig, SIG_IGN);
-       if (kids != -1) kill(kids, sig);
-       cleanup(ofile);
-       cleanup(tmp_file);
-       exit(1);
-}
-
-#ifdef FCC
-#define lang_suffix()  "c"
-#ifndef ACK_BIN
-#define comp_name()    "*cemcom_ce"
-#else
-#ifdef vax
-#define comp_name()    "~cemcom_ce"
-#endif
-#ifdef sun
-#define comp_name()    "*m68020/cemcom_ce"
-#endif
-#endif ACK_BIN
-#endif FCC
-
-#ifdef FM2
-#define lang_suffix()  "mod"
-#ifndef ACK_BIN
-#define comp_name()    "*m2_ce"
-#else
-#ifdef vax
-#define comp_name()    "~m2_ce"
-#endif
-#ifdef sun
-#define comp_name()    "*m68020/m2_ce"
-#endif
-#endif ACK_BIN
-#endif FM2
-
-#ifdef FPC
-#define lang_suffix()  "p"
-#ifndef ACK_BIN
-#define comp_name()    "*pc_ce"
-#else
-#ifdef vax
-#define comp_name()    "~pc_ce"
-#endif
-#ifdef sun
-#define comp_name()    "*m68020/pc_ce"
-#endif
-#endif ACK_BIN
-
-#endif FPC
-
-
-#ifdef FCC
-int
-lang_opt(str)
-       char *str;
-{
-       switch(str[1]) {
-       case '-':       /* debug options */
-       case 'w':       /* disable warnings */
-       case 'R':       /* strict K&R C.  */
-               append(&COMP_FLAGS, str);
-               return 1;
-       }
-       return 0;
-}
-#endif FCC
-
-#ifdef FM2
-int
-lang_opt(str)
-       char *str;
-{
-       switch(str[1]) {
-       case '-':       /* debug options */
-       case 'w':       /* disable warnings */
-       case 'R':       /* no runtime checks */
-       case 'W':       /* add warnings */
-       case 'L':       /* no line numbers */
-       case 'A':       /* extra array bound checks */
-       case '3':       /* only accept 3rd edition Modula-2 */
-               append(&COMP_FLAGS, str);
-               return 1;
-       case 'I':
-               append(&COMP_FLAGS, str);
-               break;  /* !!! */
-       case 'U':       /* underscores in identifiers allowed */
-               if (str[2] == '\0') {
-                       append(&COMP_FLAGS, str);
-                       return 1;
-               }
-               break;
-       case 'e':       /* local extension for Modula-2 compiler:
-                          procedure constants
-                       */
-               str[1] = 'l';
-               append(&COMP_FLAGS, str);
-               return 1;
-       }
-       return 0;
-}
-#endif FM2
-
-#ifdef FPC
-int
-lang_opt(str)
-       char *str;
-{
-       switch(str[1]) {
-       case '-':       /* debug options */
-       case 'a':       /* enable assertions */
-       case 'd':       /* allow doubles (longs) */
-       case 'i':       /* set size of integer sets */
-       case 't':       /* tracing */
-       case 'w':       /* disable warnings */
-       case 'A':       /* extra array bound checks */
-       case 'C':       /* distinguish between lower case and upper case */
-       case 'L':       /* no FIL and LIN instructions */
-       case 'R':       /* no runtime checks */
-               append(&COMP_FLAGS, str);
-               return 1;
-       case 'u':
-       case 'U':
-               /* underscores in identifiers */
-       case 's':
-               /* only compile standard pascal */
-       case 'c':
-               /* C type strings */
-               if (str[2] == '+' && str[3] == '\0') {
-                       str[2] = 0;
-                       append(&COMP_FLAGS, str);
-                       return 1;
-               }
-       }
-       return 0;
-}
-#endif FPC
-
-main(argc, argv)
-       char *argv[];
-{
-       char *str;
-       char **argvec;
-       int count;
-       char *ext;
-       register struct arglist *call = &CALL_VEC;
-       char *file;
-       char *ldfile = 0;
-       USTRING COMP;
-       int compile_cnt = 0;
-
-       setbuf(stdout, (char *) 0);
-       basename(*argv++,ProgCall);
-       strcat(INCLUDE, ROOT_DIR);
-#ifdef FM2
-       strcat(INCLUDE, M2DEF);
-#endif FM2
-#ifdef FCC
-#ifdef ACK_BIN
-       strcat(INCLUDE, CCINCL);
-#else
-       INCLUDE[0] = '\0';
-#endif ACK_BIN
-#endif FCC
-#ifdef FPC
-       INCLUDE[0] = '\0';
-#endif FPC
-       strcpy(COMP,comp_name());
-
-       if (signal(SIGHUP, SIG_IGN) != SIG_IGN)
-               signal(SIGHUP, trapcc);
-       if (signal(SIGINT, SIG_IGN) != SIG_IGN)
-               signal(SIGINT, trapcc);
-       if (signal(SIGQUIT, SIG_IGN) != SIG_IGN)
-               signal(SIGQUIT, trapcc);
-       while (--argc > 0) {
-               if (*(str = *argv++) != '-') {
-                       append(&SRCFILES, str);
-                       continue;
-               }
-
-               if (lang_opt(str)) {
-               }
-               else switch (str[1]) {
-
-               case 'c':       /* stop after producing .o files */
-                       c_flag = 1;
-                       break;
-               case 'D':       /* preprocessor #define */
-               case 'U':       /* preprocessor #undef */
-                       append(&CPP_FLAGS, str);
-                       break;
-               case 'I':       /* include directory */
-                       append(&CPP_FLAGS, str);
-                       break;
-               case 'o':       /* target file */
-                       if (argc-- >= 0) {
-                               o_flag = 1;
-                               o_FILE = *argv++;
-                               ext = extension(o_FILE);
-                               if (ext != o_FILE && ! strcmp(ext, lang_suffix())
-#ifndef ACK_BIN
-                                    || !strcmp(ext, "s")
-#endif
-                               ) {
-                                       error("-o would overwrite %s", o_FILE);
-                               }
-                       }
-                       break;
-               case 'u':       /* mark identifier as undefined */
-                       append(&LD_FLAGS, str);
-                       if (argc-- >= 0)
-                               append(&LD_FLAGS, *argv++);
-                       break;
-               case 'O':       /* use built in peephole optimizer */
-                       if (! O_flag) strcat(COMP, "opt");
-                       O_flag = 1;
-                       break;
-               case 'v':       /* verbose */
-                       v_flag++;
-                       if (str[2] == 'n')
-                               noexec = 1;
-                       break;
-               case 'l':       /* library file */
-                       append(&SRCFILES, str);
-                       break;
-               case 'M':       /* use other compiler (for testing) */
-                       strcpy(COMP, str+2);
-                       break;
-#if ACK_BIN && !vax
-               case 'n':       /* text portion sharable, read-only. No
-                                  demand paging
-                               */
-                       sect_align = &n_align;
-                       break;
-               case 'N':       /* text portion not sharable, not read-only */
-                       sect_align = &N_align;
-                       break;
-               case 'd':       /* force definition of common storage */
-                       append(&LD_FLAGS, "-c");
-                       break;
-#endif ACK_BIN && !vax
-               default:
-#ifdef sun
-                       if (! strcmp(str, "-sun3")) {
-                               /* SunOs4.0 make passes this flag to
-                                  $(CC). Ignore it silently.
-                               */
-                               break;
-                       }
-#endif
-                       if (strchr(TO_LD, str[1]) == 0)
-                               warning("%s flag ignored", str);
-                       else {
-                               append(&LD_FLAGS, str);
-                       }
-                       break;
-               }
-       }
-
-       if (ecount) exit(1);
-
-#if FCC && !ACK_BIN
-       append(&COMP_FLAGS, "-L"); /* disable line number and filename admin */
-#endif FCC && !ACK_BIN
-       count = SRCFILES.al_argc;
-       argvec = &(SRCFILES.al_argv[0]);
-       while (count-- > 0) {
-               ext = extension(*argvec);
-               if (*argvec[0] != '-' && 
-                   ext != *argvec++ && (! strcmp(ext, lang_suffix())
-#ifndef ACK_BIN
-                    || !strcmp(ext, "s")
-#endif
-               )) {
-                       compile_cnt++;
-               }
-       }
-
-       if (compile_cnt > 1 && c_flag && o_flag) {
-               warning("-o flag ignored");
-               o_flag = 0;
-       }
-
-       count = SRCFILES.al_argc;
-       argvec = &(SRCFILES.al_argv[0]);
-       while (count-- > 0) {
-               register char *f;
-               basename(file = *argvec++, BASE);
-
-               ext = extension(file);
-
-               if (file[0] != '-' &&
-                   ext != file && (!strcmp(ext, lang_suffix())
-#ifndef ACK_BIN
-                   || !strcmp(ext, "s")
-#endif
-               )) {
-#ifndef ACK_BIN
-                       if (compile_cnt > 1)
-                               printf("%s:\n", file);
-#else
-                       printf("%s\n", file);
-#endif
-
-                       ldfile = c_flag ? ofile : alloc((unsigned)strlen(BASE)+3);
-                       if (
-#ifdef FCC
-                           !strcmp(ext, "s") &&
-#endif
-                           needsprep(file)) {
-                               strcpy(tmp_file, TMP_DIR);
-                               strcat(tmp_file, "/F_XXXXXX");
-                               mktemp(tmp_file);
-                               init(call);
-                               append(call, CPP);
-                               concat(call, &CPP_FLAGS);
-                               append(call, INCLUDE);
-                               append(call, file);
-                               if (runvec(call, tmp_file)) {
-                                       file = tmp_file;
-                               }
-                               else {
-                                       remove(tmp_file);
-                                       tmp_file[0] = '\0';
-                                       continue;
-                               }
-                       }
-                       init(call);
-                       if (o_flag && c_flag) {
-                               f = o_FILE;
-                       }
-                       else    f = mkstr(ldfile, BASE, ".o", (char *)0);
-#ifndef ACK_BIN
-                       if (strcmp(ext, "s")) {
-#endif
-                               append(call, COMP);
-#ifdef FCC
-                               concat(call, &CPP_FLAGS);
-#endif
-                               concat(call, &COMP_FLAGS);
-#if FM2 || FCC
-                               append(call, INCLUDE);
-#endif
-                               append(call, file);
-                               append(call, f);
-#ifndef ACK_BIN
-                       }
-                       else {
-                               append(call, AS);
-                               append(call, "-o");
-                               append(call, f);
-#ifdef sun
-                               append(call, "-mc68020");
-#endif
-                               append(call, file);
-                       }
-#endif
-                       if (runvec(call, (char *) 0)) {
-                               file = f;
-                       }
-                       else {
-                               remove(f);
-                               continue;
-                       }
-                       cleanup(tmp_file);
-                       tmp_file[0] = '\0';
-               }
-
-               else if (file[0] != '-' &&
-                        strcmp(ext, "o") && strcmp(ext, "a")) {
-                       warning("file with unknown suffix (%s) passed to the loader", ext);
-               }
-
-               if (c_flag)
-                       continue;
-
-               append(&LDFILES, file);
-               if (ldfile) {
-                       append(&GEN_LDFILES, ldfile);
-                       ldfile = 0;
-               }
-       }
-
-       /* *.s to a.out */
-       if (RET_CODE == 0 && LDFILES.al_argc > 0) {
-#ifndef ACK_BIN
-               if (compile_cnt > 1) {
-                       printf("Linking:\n");
-               }
-#endif
-               init(call);
-               append(call, LD);
-               concat(call, &LD_HEAD);
-               concat(call, &LD_FLAGS);
-               append(call, "-o");
-#if ACK_BIN && !vax
-               strcpy(tmp_file, TMP_DIR);
-               strcat(tmp_file, "/LF_XXXXXX");
-               mktemp(tmp_file);
-               append(call, tmp_file);
-               concat(call, sect_align);
-#else ACK_BIN && !vax
-               append(call, o_FILE);
-#endif ACK_BIN && !vax
-               concat(call, &LDFILES);
-               concat(call, &LD_TAIL);
-#if ACK_BIN && !vax
-               if (! runvec(call, (char *) 0)) {
-                       cleanup(tmp_file);
-                       exit(RET_CODE);
-               }
-               init(call);
-               append(call, CV);
-               append(call, tmp_file);
-               append(call, o_FILE);
-#endif ACK_BIN && !vax
-               if (runvec(call, (char *) 0) && GEN_LDFILES.al_argc == 1)
-#ifdef ACK_BIN
-                       ;
-#else
-                       remove(GEN_LDFILES.al_argv[0]);
-#endif ACK_BIN
-#if ACK_BIN && !vax
-               cleanup(tmp_file);
-#endif ACK_BIN && !vax
-       }
-       exit(RET_CODE);
-}
-
-needsprep(name)
-       char *name;
-{
-       int file;
-       char fc;
-
-       file = open(name,0);
-       if (file < 0) return 0;
-       if (read(file, &fc, 1) != 1) fc = 0;
-       close(file);
-       return fc == '#';
-}
-
-char *
-alloc(u)
-       unsigned u;
-{
-       char *p = malloc(u);
-
-       if (p == 0)
-               panic("no space");
-       return p;
-}
-
-append(al, arg)
-       struct arglist *al;
-       char *arg;
-{
-       if (!arg || !*arg) return;
-       if (al->al_argc >= MAXARGC)
-               panic("argument list overflow");
-       if (*arg == '~' || *arg == '*') {
-               char *p;
-               char *lb = *arg == '~' ? LIBDIR : BINDIR;
-               p = alloc((unsigned)strlen(ROOT_DIR)+strlen(lb)+strlen(arg+1)+1);
-               strcpy(p, ROOT_DIR);
-               strcat(p, lb);
-               strcat(p, arg+1);
-               arg = p;
-       }
-       al->al_argv[(al->al_argc)++] = arg;
-}
-
-concat(al1, al2)
-       struct arglist *al1, *al2;
-{
-       register i = al2->al_argc;
-       register char **p = &(al1->al_argv[al1->al_argc]);
-       register char **q = &(al2->al_argv[0]);
-
-       if ((al1->al_argc += i) >= MAXARGC)
-               panic("argument list overflow");
-       while (i-- > 0) {
-               if (**q == '~' || **q == '*') {
-                       char *lb = **q == '~' ? LIBDIR : BINDIR;
-                       *p = alloc((unsigned)strlen(ROOT_DIR)+strlen(lb)+strlen(*q+1)+2);
-                       strcpy(*p, ROOT_DIR);
-                       strcat(*p, lb);
-                       strcat(*p++, *q+1);
-                       q++;
-               }
-               else    *p++ = *q++;
-       }
-}
-
-/*VARARGS*/
-char *
-mkstr(va_alist)
-       va_dcl
-{
-       va_list ap;
-       char *dst;
-
-       va_start(ap);
-       {
-               register char *p;
-               register char *q;
-
-               dst = q = va_arg(ap, char *);
-               p = va_arg(ap, char *);
-
-               while (p) {
-                       while (*q++ = *p++);
-                       q--;
-                       p = va_arg(ap, char *);
-               }
-       }
-       va_end(ap);
-
-       return dst;
-}
-
-basename(str, dst)
-       char *str;
-       register char *dst;
-{
-       register char *p1 = str;
-       register char *p2 = p1;
-
-       while (*p1)
-               if (*p1++ == '/')
-                       p2 = p1;
-       p1--;
-       while (*p1 != '.' && p1 >= p2) p1--;
-       if (p1 >= p2) {
-               *p1 = '\0';
-               while (*dst++ = *p2++);
-               *p1 = '.';
-       }
-       else
-               while (*dst++ = *p2++);
-}
-
-char *
-extension(fn)
-       char *fn;
-{
-       register char *c = fn;
-
-       while (*c++) ;
-       while (*--c != '.' && c >= fn) { }
-       if (c++ < fn || !*c) return fn;
-       return c;
-}
-
-runvec(vec, outp)
-       struct arglist *vec;
-       char *outp;
-{
-       int pid, status;
-
-       if (v_flag) {
-               pr_vec(vec);
-               putc('\n', stderr);
-       }
-       if ((pid = fork()) == 0) {      /* start up the process */
-               if (outp) {     /* redirect standard output     */
-                       close(1);
-                       if (creat(outp, 0666) != 1)
-                               panic("cannot create output file");
-               }
-               ex_vec(vec);
-       }
-       if (pid == -1)
-               panic("no more processes");
-       kids = pid;
-       wait(&status);
-       if (status) switch(status & 0177) {
-       case SIGHUP:
-       case SIGINT:
-       case SIGQUIT:
-       case SIGTERM:
-       case 0:
-               break;
-       default:
-               error("%s died with signal %d\n", vec->al_argv[1], status&0177);
-       }
-       kids = -1;
-       return status ? ((RET_CODE = 1), 0) : 1;
-}
-
-/*VARARGS1*/
-error(str, s1, s2)
-       char *str, *s1, *s2;
-{
-       fprintf(stderr, "%s: ", ProgCall);
-       fprintf(stderr, str, s1, s2);
-       putc('\n', stderr);
-       ecount++;
-}
-
-/*VARARGS1*/
-warning(str, s1, s2)
-       char *str, *s1, *s2;
-{
-       fprintf(stderr, "%s: (warning) ", ProgCall);
-       fprintf(stderr, str, s1, s2);
-       putc('\n', stderr);
-}
-
-panic(str)
-       char *str;
-{
-       error(str);
-       trapcc(SIGINT);
-}
-
-pr_vec(vec)
-       register struct arglist *vec;
-{
-       register char **ap = &vec->al_argv[1];
-
-       vec->al_argv[vec->al_argc] = 0;
-       fputs(*ap, stderr);
-       while (*++ap) {
-               putc(' ', stderr);
-               fputs(*ap, stderr);
-       }
-}
-
-extern int errno;
-
-ex_vec(vec)
-       register struct arglist *vec;
-{
-       if (noexec)
-               exit(0);
-       vec->al_argv[vec->al_argc] = 0;
-       execv(vec->al_argv[1], &(vec->al_argv[1]));
-       if (errno == ENOEXEC) { /* not an a.out, try it with the SHELL */
-               vec->al_argv[0] = SHELL;
-               execv(SHELL, &(vec->al_argv[0]));
-       }
-       if (access(vec->al_argv[1], 1) == 0) {
-               /* File is executable. */
-               error("cannot execute %s", vec->al_argv[1]);
-       } else {
-               error("%s is not executable", vec->al_argv[1]);
-       }
-       exit(1);
-}
diff --git a/fast_misc/man/.distr b/fast_misc/man/.distr
deleted file mode 100644 (file)
index f222c72..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-afcc.1
-afm2.1.src
-fcc.1
-fm2.1.src
-fpc.1
diff --git a/fast_misc/man/afcc.1 b/fast_misc/man/afcc.1
deleted file mode 100644 (file)
index d618f0a..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-.TH AFCC 1
-.SH NAME
-afcc \- fast ACK compatible C compiler
-.SH SYNOPSIS
-.B afcc
-[
-.B \-c
-]
-[
-.B \-O
-]
-[
-.B \-v
-]
-[
-.B \-vn
-]
-[ \fB\-D\fIname\fR ]
-[ \fB\-D\fIname\fB=\fIdef\fR ]
-[
-.BI \-I pathname
-]
-[
-.B \-w
-]
-[
-.B \-o 
-.I outfile
-]
-[
-.B \-R
-]
-[
-.BI \-U name
-]
-[
-.BI -M compiler
-]
-.I sourcefile ...
-.SH DESCRIPTION
-.LP
-.I Afcc
-is a fast
-.B C
-compiler. It translates 
-.B C
-programs
-into ack(1ACK)-compatible relocatable object modules, and does so in one pass.
-Then, if the \fB\-c\fP flag is not given,
-.I afcc
-offers the object modules to a link-editor,
-to create an executable binary.
-.LP
-.I Afcc
-accepts several types of filename arguments.  Files with 
-names ending in
-.B .c
-are taken to be 
-.B C
-source programs. 
-They are compiled, and the resulting object module is placed in the current
-directory.
-The object module is named after its source file, the suffix
-.B .o
-replacing 
-.BR .c
-in the name of the object.
-.LP
-Other arguments refer to loader options,
-object modules, or object libraries.
-Unless the
-.B \-c
-flag is given, these modules and libraries, together with the results of any
-specified compilations, are passed (in the order given) to the
-link-editor to produce
-an output file named
-.IR a.out .
-You can specify a name for the executable by using the
-.B \-o 
-option.
-.SH OPTIONS
-.LP
-The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP,
-\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are
-passed to the link-editor program.
-The \fB\-u\fP option takes an extra argument.
-.IP \fB\-c\fP
-.br
-Suppress the loading phase of the compilation, and force an object module to
-be produced, even if only one program is compiled.
-A single object module can be named explicitly using the
-.B \-o
-option.
-.IP \fB\-D\fIname\fR\fB=\fIdef\fR
-Define a symbol
-.I name
-to the 
-preprocessor, as if by "#define".
-.IP \fB\-D\fIname\fR
-.br
-same as \fB\-D\fIname\fB=1\fR.
-.IP \fB\-I\fIpathname\fR
-.br
-Add
-.I pathname
-to the list of directories in which to search for
-.B #include
-files with filenames not beginning with slash.
-The compiler first searches for
-.B #include
-files in the directory containing
-.I sourcefile,
-then in directories in
-.B \-I
-options, then in the ACK include directory,
-and finally, in
-.I /usr/include.
-.IP "\fB\-o \fIoutput\fR"
-Name the final output file
-.I output.
-.IP \fB\-O\fP
-.br
-Use a version of the compiler that is just a bit slower, but produces
-better code.
-.IP \fB\-U\fIname\fR
-.br
-Remove any initial definition of
-.I name.
-.IP \fB\-v\fP
-.br
-Verbose. Print the commands as they are executed.
-.IP \fB\-vn\fP
-.br
-Verbose, no execute. Only print the commands, do not execute them.
-.IP \fB\-w\fP
-suppress warning messages.
-.IP \fB\-R\fP
-.br
-test for more compatibility with Kernighan & Ritchie C [1].
-.IP \fB\-M\fIcompiler\fR
-.br
-use \fIcompiler\fR as C-2 compiler instead of the default.
-.LP
-Object modules produced by ack(1ACK) and
-.I afcc
-can be freely mixed.
-.SH "SEE ALSO"
-.IP [1]
-B.W. Kernighan, D. Ritchie, "\fIThe C programming Language\fP", Prentice-Hall Inc., 1978
-.IP [2]
-E.H. Baalbergen, "\fIThe ACK CEM compiler\fP".
-.IP [3]
-ack(1ACK) manual page.
-.SH DIAGNOSTICS
-Diagnostics are intended to be self-explanatory.
-.SH REMARKS
-You need the 4th ACK distribution to be able to use this program.
diff --git a/fast_misc/man/afm2.1.src b/fast_misc/man/afm2.1.src
deleted file mode 100644 (file)
index a6cc06a..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-.TH FM2 1
-.SH NAME
-afm2 \- fast ACK compatible Modula-2 compiler
-.SH SYNOPSIS
-.B afm2
-[
-.B \-c
-]
-[
-.B \-O
-]
-[
-.B \-v
-]
-[
-.B \-vn
-]
-[ \fB\-D\fIname\fR ]
-[ \fB\-D\fIname\fB=\fIdef\fR ]
-[
-.BI \-I pathname
-]
-[
-.BI \-w classes
-]
-[
-.BI \-W classes
-]
-[
-.B \-L
-]
-[
-.B \-o 
-.I outfile
-]
-[
-.B \-R
-]
-[
-.B \-A
-]
-[
-.B \-3
-]
-[
-.B \-_
-]
-[
-.BI \-U name
-]
-[
-.BI -M compiler
-]
-.I sourcefile ...
-.SH DESCRIPTION
-.LP
-.I afm2
-is a fast
-.B Modula-2
-compiler. It translates 
-.B Modula-2
-programs
-into ack(1ACK)-compatible relocatable object modules, and does so in one pass.
-Then, if the \fB\-c\fP flag is not given,
-.I afm2
-offers the object modules to a link-editor,
-to create an executable binary.
-.LP
-.I Afm2
-accepts several types of filename arguments.  Files with 
-names ending in
-.B .mod
-are taken to be 
-.B Modula-2
-source programs. 
-They are compiled, and the resulting object module is placed in the current
-directory.
-The object module is named after its source file, the suffix
-.B .o
-replacing 
-.BR .mod
-in the name of the object.
-A file with suffix
-.B .mod
-is passed through the C preprocessor if it begins with a '#'.
-.PP
-Definition modules are not separately compiled. The compiler reads them when
-it needs them.
-Definition modules are expected to reside in files with names ending
-in
-.BR .def .
-The name of the file in which a definition module is stored must be the same as
-the module-name, apart from the extension.
-Also, in most Unix systems filenames are only 14 characters long.
-So, given an IMPORT declaration for a module called "LongModulName",
-the compiler will try to open a file called "LongModulN.def".
-The requirement does not hold for implementation or program modules,
-but is certainly recommended.
-.LP
-Other arguments refer to loader options,
-object modules, or object libraries.
-Unless the
-.B \-c
-flag is given, these modules and libraries, together with the results of any
-specified compilations, are passed (in the order given) to the
-link-editor to produce
-an output file named
-.IR a.out .
-You can specify a name for the executable by using the
-.B \-o 
-option.
-.SH OPTIONS
-.LP
-The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP,
-\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are
-passed to the link-editor program.
-The \fB\-u\fP option takes an extra argument.
-.IP \fB\-c\fP
-.br
-Suppress the loading phase of the compilation, and force an object module to
-be produced, even if only one program is compiled.
-A single object module can be named explicitly using the
-.B \-o
-option.
-.IP \fB\-D\fIname\fR\fB=\fIdef\fR
-Define a symbol
-.I name
-to the 
-preprocessor, as if by "#define".
-.IP \fB\-D\fIname\fR
-.br
-same as \fB\-D\fIname\fB=1\fR.
-.IP \fB\-I\fIpathname\fR
-.br
-Add
-.I pathname
-to the list of directories in which to search for
-.B #include
-files with filenames not beginning with slash.
-The preprocessor first searches for
-.B #include
-files in the directory containing
-.I sourcefile,
-then in directories in
-.B \-I
-options, then in the ACK include directory,
-and finally, in
-.I /usr/include.
-This flag is also passed to the compiler. When the compiler needs a definition
-module, it is first searched for in the current directory, then in the
-directories given to it by the \fB\-I\fP flag, and then in a default directory,
-.I CHANGE_ME.
-.I afm2
-This default directory contains all definition modules of
-the runtime system.
-.IP "\fB\-o \fIoutput\fR"
-Name the final output file
-.I output.
-.IP \fB\-O\fP
-.br
-Use a version of the compiler that is just a bit slower, but produces
-better code.
-.IP \fB\-U\fIname\fR
-.br
-Remove any initial definition of
-.I name.
-.IP \fB\-v\fP
-.br
-Verbose. Print the commands as they are executed.
-.IP \fB\-vn\fP
-.br
-Verbose, no execute. Only print the commands, do not execute them.
-.IP \fB\-L\fR
-do not generate code to keep track of
-the current location in the source code.
-.IP \fB\-w\fR\fIclasses\fR
-suppress warning messages whose class is a member of \fIclasses\fR.
-Currently, there are three classes: \fBO\fR, indicating old-flashioned use,
-\fBW\fR, indicating "ordinary" warnings, and \fBR\fR, indicating
-restricted Modula-2.
-If no \fIclasses\fR are given, all warnings are suppressed.
-By default, warnings in class \fBO\fR and \fBW\fR are given.
-.IP \fB\-W\fR\fIclasses\fR
-allow for warning messages whose class is a member of \fIclasses\fR.
-.IP \fB\-R\fP
-.br
-disable all range-checks.
-.IP \fB\-A\fP
-.br
-enable extra array bound checks. Unfortunately, the back-end used for this
-compiler is a bit sloppy, so extra array bound checks are needed if you want
-detection of array bound errors.
-.IP \fB\-3\fP
-.br
-Only accept Modula-2 programs that strictly conform to the 3rd Edition of
-[1].
-.IP \fB\-_\fP
-.br
-allow for underscores within identifiers. Identifiers may not start or end
-with an underscore, even if this flag is given.
-.IP \fB\-M\fIcompiler\fR
-.br
-use \fIcompiler\fR as Modula-2 compiler instead of the default.
-.SH "SEE ALSO"
-.IP [1]
-N. Wirth, \fIProgramming in Modula-2\fP, 3rd edition, Springer Verlag.
-.IP [2]
-C.J.H. Jacobs, \fIThe ACK Modula-2 Compiler\fP.
-.IP [3]
-ack(1ACK) unix manual page.
-.SH DIAGNOSTICS
-Diagnostics are intended to be self-explanatory.
-.SH REMARKS
-You need the 4th ACK distribution to be able to use this program.
diff --git a/fast_misc/man/fcc.1 b/fast_misc/man/fcc.1
deleted file mode 100644 (file)
index a0b5e1f..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-.TH FCC 1
-.SH NAME
-fcc \- fast CC-compatible C compiler
-.SH SYNOPSIS
-.B fcc
-[
-.B \-c
-]
-[
-.B \-O
-]
-[
-.B \-v
-]
-[
-.B \-vn
-]
-[ \fB\-D\fIname\fR ]
-[ \fB\-D\fIname\fB=\fIdef\fR ]
-[
-.BI \-I pathname
-]
-[
-.B \-w
-]
-[
-.B \-o 
-.I outfile
-]
-[
-.B \-R
-]
-[
-.BI \-U name
-]
-[
-.BI -M compiler
-]
-.I sourcefile ...
-.SH DESCRIPTION
-.LP
-.I Fcc
-is a fast
-.B C
-compiler. It translates 
-.B C
-programs
-into cc(1)-compatible relocatable object modules, and does so in one pass.
-Then, if the \fB\-c\fP flag is not given,
-.I fcc
-offers the object modules to a link-editor,
-to create an executable binary.
-.LP
-.I Fcc
-accepts several types of filename arguments.  Files with 
-names ending in
-.B .c
-are taken to be 
-.B C
-source programs. 
-They are compiled, and the resulting object module is placed in the current
-directory.
-The object module is named after its source file, the suffix
-.B .o
-replacing 
-.BR .c
-in the name of the object.
-.LP
-Other arguments refer to loader options,
-object modules, or object libraries.
-Unless the
-.B \-c
-flag is given, these modules and libraries, together with the results of any
-specified compilations, are passed (in the order given) to the
-link-editor to produce
-an output file named
-.IR a.out .
-You can specify a name for the executable by using the
-.B \-o 
-option.
-.LP
-If a single 
-.B C
-program is compiled and loaded all at once, the object module
-file is deleted.
-.SH OPTIONS
-.LP
-The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP,
-\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are
-passed to the link-editor program.
-The \fB\-u\fP option takes an extra argument.
-.IP \fB\-c\fP
-.br
-Suppress the loading phase of the compilation, and force an object module to
-be produced, even if only one program is compiled.
-A single object module can be named explicitly using the
-.B \-o
-option.
-.IP \fB\-D\fIname\fR\fB=\fIdef\fR
-Define a symbol
-.I name
-to the 
-preprocessor, as if by "#define".
-.IP \fB\-D\fIname\fR
-.br
-same as \fB\-D\fIname\fB=1\fR.
-.IP \fB\-I\fIpathname\fR
-.br
-Add
-.I pathname
-to the list of directories in which to search for
-.B #include
-files with filenames not beginning with slash.
-The compiler first searches for
-.B #include
-files in the directory containing
-.I sourcefile,
-then in directories in
-.B \-I
-options, and finally, in
-.I /usr/include.
-.IP "\fB\-o \fIoutput\fR"
-Name the final output file
-.I output.
-.IP \fB\-O\fP
-.br
-Use a version of the compiler that is just a bit slower, but produces
-better code.
-.IP \fB\-U\fIname\fR
-.br
-Remove any initial definition of
-.I name.
-.IP \fB\-v\fP
-.br
-Verbose. Print the commands as they are executed.
-.IP \fB\-vn\fP
-.br
-Verbose, no execute. Only print the commands, do not execute them.
-.IP \fB\-w\fP
-suppress warning messages.
-.IP \fB\-R\fP
-.br
-test for more compatibility with Kernighan & Ritchie C [1].
-.IP \fB\-M\fIcompiler\fR
-.br
-use \fIcompiler\fR as C-2 compiler instead of the default.
-.LP
-Object modules produced by cc(1) and
-.I fcc
-can be freely mixed, as long as the link-editor is called through
-.I fcc.
-.SH "SEE ALSO"
-.IP [1]
-B.W. Kernighan, D. Ritchie, "\fIThe C programming Language\fP", Prentice-Hall Inc., 1978
-.IP [2]
-E.H. Baalbergen, "\fIThe ACK CEM compiler\fP".
-.IP [3]
-cc(1) unix manual page.
-.SH DIAGNOSTICS
-Diagnostics are intended to be self-explanatory.
diff --git a/fast_misc/man/fm2.1.src b/fast_misc/man/fm2.1.src
deleted file mode 100644 (file)
index 2493420..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-.TH FM2 1
-.SH NAME
-fm2 \- fast CC compatible Modula-2 compiler
-.SH SYNOPSIS
-.B fm2
-[
-.B \-c
-]
-[
-.B \-O
-]
-[
-.B \-v
-]
-[
-.B \-vn
-]
-[ \fB\-D\fIname\fR ]
-[ \fB\-D\fIname\fB=\fIdef\fR ]
-[
-.BI \-I pathname
-]
-[
-.BI \-w classes
-]
-[
-.BI \-W classes
-]
-[
-.B \-L
-]
-[
-.B \-o 
-.I outfile
-]
-[
-.B \-R
-]
-[
-.B \-A
-]
-[
-.B \-3
-]
-[
-.B \-U
-]
-[
-.B \-e
-]
-[
-.BI \-U name
-]
-[
-.BI -M compiler
-]
-.I sourcefile ...
-.SH DESCRIPTION
-.LP
-.I fm2
-is a fast
-.B Modula-2
-compiler. It translates 
-.B Modula-2
-programs
-into cc(1)-compatible relocatable object modules, and does so in one pass.
-Then, if the \fB\-c\fP flag is not given,
-.I fm2
-offers the object modules to a link-editor,
-to create an executable binary.
-.LP
-.I Fm2
-accepts several types of filename arguments.  Files with 
-names ending in
-.B .mod
-are taken to be 
-.B Modula-2
-source programs. 
-They are compiled, and the resulting object module is placed in the current
-directory.
-The object module is named after its source file, the suffix
-.B .o
-replacing 
-.BR .mod
-in the name of the object.
-A file with suffix
-.B .mod
-is passed through the C preprocessor if it begins with a '#'.
-.PP
-Definition modules are not separately compiled. The compiler reads them when
-it needs them.
-Definition modules are expected to reside in files with names ending
-in
-.BR .def .
-The name of the file in which a definition module is stored must be the same as
-the module-name, apart from the extension.
-Also, in most Unix systems filenames are only 14 characters long.
-So, given an IMPORT declaration for a module called "LongModulName",
-the compiler will try to open a file called "LongModulN.def".
-The requirement does not hold for implementation or program modules,
-but is certainly recommended.
-.LP
-Other arguments refer to loader options,
-object modules, or object libraries.
-Unless the
-.B \-c
-flag is given, these modules and libraries, together with the results of any
-specified compilations, are passed (in the order given) to the
-link-editor to produce
-an output file named
-.IR a.out .
-You can specify a name for the executable by using the
-.B \-o 
-option.
-.LP
-If a single 
-.B Modula-2
-program is compiled and loaded all at once, the object module
-file is deleted.
-.SH OPTIONS
-.LP
-The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP,
-\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are
-passed to the link-editor program.
-The \fB\-u\fP option takes an extra argument.
-.IP \fB\-c\fP
-.br
-Suppress the loading phase of the compilation, and force an object module to
-be produced, even if only one program is compiled.
-A single object module can be named explicitly using the
-.B \-o
-option.
-.IP \fB\-D\fIname\fR\fB=\fIdef\fR
-Define a symbol
-.I name
-to the 
-preprocessor, as if by "#define".
-.IP \fB\-D\fIname\fR
-.br
-same as \fB\-D\fIname\fB=1\fR.
-.IP \fB\-I\fIpathname\fR
-.br
-Add
-.I pathname
-to the list of directories in which to search for
-.B #include
-files with filenames not beginning with slash.
-The preprocessor first searches for
-.B #include
-files in the directory containing
-.I sourcefile,
-then in directories in
-.B \-I
-options, and finally, in
-.I /usr/include.
-This flag is also passed to the compiler. When the compiler needs a definition
-module, it is first searched for in the current directory, then in the
-directories given to it by the \fB\-I\fP flag, and then in a default directory,
-.I CHANGE_ME.
-.I fm2
-This default directory contains all definition modules of
-the runtime system.
-.IP "\fB\-o \fIoutput\fR"
-Name the final output file
-.I output.
-.IP \fB\-O\fP
-.br
-Use a version of the compiler that is just a bit slower, but produces
-better code.
-.IP \fB\-U\fIname\fR
-.br
-Remove any initial definition of
-.I name.
-.IP \fB\-v\fP
-.br
-Verbose. Print the commands as they are executed.
-.IP \fB\-vn\fP
-.br
-Verbose, no execute. Only print the commands, do not execute them.
-.IP \fB\-L\fR
-do not generate code to keep track of
-the current location in the source code.
-.IP \fB\-w\fR\fIclasses\fR
-suppress warning messages whose class is a member of \fIclasses\fR.
-Currently, there are three classes: \fBO\fR, indicating old-flashioned use,
-\fBW\fR, indicating "ordinary" warnings, and \fBR\fR, indicating
-restricted Modula-2.
-If no \fIclasses\fR are given, all warnings are suppressed.
-By default, warnings in class \fBO\fR and \fBW\fR are given.
-.IP \fB\-W\fR\fIclasses\fR
-allow for warning messages whose class is a member of \fIclasses\fR.
-.IP \fB\-R\fP
-.br
-disable all range-checks.
-.IP \fB\-A\fP
-.br
-enable extra array bound checks. Unfortunately, the back-end used for this
-compiler is a bit sloppy, so extra array bound checks are needed if you want
-detection of array bound errors.
-.IP \fB\-3\fP
-.br
-Only accept Modula-2 programs that strictly conform to the 3rd Edition of
-[1].
-.IP \fB\-U\fP
-.br
-allow for underscores within identifiers. Identifiers may not start or end
-with an underscore, even if this flag is given.
-.IP \fB\-e\fP
-.br
-allow for local extensions. Currently, the only local extensions are
-procedure constants.
-.IP \fB\-M\fIcompiler\fR
-.br
-use \fIcompiler\fR as Modula-2 compiler instead of the default.
-.PP
-The compiler does not do any version-control. Instead, a makefile
-generator,
-.IR m2mm ,
-is included.
-.SH "SEE ALSO"
-.IP [1]
-N. Wirth, \fIProgramming in Modula-2\fP, 3rd edition, Springer Verlag.
-.IP [2]
-C.J.H. Jacobs, \fIThe ACK Modula-2 Compiler\fP.
-.IP [3]
-cc(1) unix manual page.
-.IP [4]
-m2mm(1) manual page.
-.SH DIAGNOSTICS
-Diagnostics are intended to be self-explanatory.
diff --git a/fast_misc/man/fpc.1 b/fast_misc/man/fpc.1
deleted file mode 100644 (file)
index aaf061c..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-.TH FM2 1
-.SH NAME
-fpc \- fast CC compatible Modula-2 compiler
-.SH SYNOPSIS
-.B fpc
-[
-.B \-c
-]
-[
-.B \-O
-]
-[
-.B \-v
-]
-[
-.B \-vn
-]
-[ \fB\-D\fIname\fR ]
-[ \fB\-D\fIname\fB=\fIdef\fR ]
-[
-.BI \-I pathname
-]
-[
-.B \-w
-]
-[
-.B \-L
-]
-[
-.B \-o 
-.I outfile
-]
-[
-.B \-R
-]
-[
-.B \-A
-]
-[
-.B \-a
-]
-[
-.B \-d
-]
-[
-.BI \-i num
-]
-[
-.B \-t
-]
-[
-.B \-C
-]
-[
-.B \-U+
-]
-[
-.B \-u+
-]
-[
-.B \-s+
-]
-[
-.B \-c+
-]
-[
-.BI \-U name
-]
-[
-.BI -M compiler
-]
-.I sourcefile ...
-.SH DESCRIPTION
-.LP
-.I fpc
-is a fast
-.B Pascal
-compiler. It translates 
-.B Pascal
-programs
-into cc(1)-compatible relocatable object modules, and does so in one pass.
-Then, if the \fB\-c\fP flag is not given,
-.I fpc
-offers the object modules to a link-editor,
-to create an executable binary.
-.LP
-.I Fpc
-accepts several types of filename arguments.  Files with 
-names ending in
-.B .p
-are taken to be 
-.B Pascal
-source programs. 
-They are compiled, and the resulting object module is placed in the current
-directory.
-The object module is named after its source file, the suffix
-.B .o
-replacing 
-.BR .p
-in the name of the object.
-A file with suffix
-.B .p
-is passed through the C preprocessor if it begins with a '#'.
-.LP
-Other arguments refer to loader options,
-object modules, or object libraries.
-Unless the
-.B \-c
-flag is given, these modules and libraries, together with the results of any
-specified compilations, are passed (in the order given) to the
-link-editor to produce
-an output file named
-.IR a.out .
-You can specify a name for the executable by using the
-.B \-o 
-option.
-.LP
-If a single 
-.B Pascal
-program is compiled and loaded all at once, the object module
-file is deleted.
-.SH OPTIONS
-.LP
-The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP,
-\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are
-passed to the link-editor program.
-The \fB\-u\fP option takes an extra argument.
-.IP \fB\-c\fP
-.br
-Suppress the loading phase of the compilation, and force an object module to
-be produced, even if only one program is compiled.
-A single object module can be named explicitly using the
-.B \-o
-option.
-.IP \fB\-D\fIname\fR\fB=\fIdef\fR
-Define a symbol
-.I name
-to the 
-preprocessor, as if by "#define".
-.IP \fB\-D\fIname\fR
-.br
-same as \fB\-D\fIname\fB=1\fR.
-.IP \fB\-I\fIpathname\fR
-.br
-Add
-.I pathname
-to the list of directories in which to search for
-.B #include
-files with filenames not beginning with slash.
-The preprocessor first searches for
-.B #include
-files in the directory containing
-.I sourcefile,
-then in directories in
-.B \-I
-options, and finally, in
-.I /usr/include.
-.IP "\fB\-o \fIoutput\fR"
-Name the final output file
-.I output.
-.IP \fB\-O\fP
-.br
-Use a version of the compiler that is just a bit slower, but produces
-better code.
-.IP \fB\-U\fIname\fR
-.br
-Remove any initial definition of
-.I name.
-.IP \fB\-v\fP
-.br
-Verbose. Print the commands as they are executed.
-.IP \fB\-vn\fP
-.br
-Verbose, no execute. Only print the commands, do not execute them.
-.IP \fB\-L\fP
-.br
-do not generate code to keep track of
-the current location in the source code.
-.IP \fB\-w\fP
-.br
-suppress warning messages.
-.IP \fB\-d\fP
-.br
-allow for "long"s.
-.IP \fB\-i\fInum\fR
-.br
-set size for integer sets. By default, the set size is the word size.
-.IP \fB\-C\fP
-.br
-distinguish between lower case and upper case. Normally, upper case letters
-are considered equal to their lower case counterpart.
-.IP \fB\-t\fP
-.br
-trace calls and exits of procedures and functions.
-.IP \fB\-R\fP
-.br
-disable all range-checks.
-.IP \fB\-A\fP
-.br
-enable extra array bound checks. Unfortunately, the back-end used for this
-compiler is a bit sloppy, so extra array bound checks are needed if you want
-detection of array bound errors.
-.IP \fB\-a\fP
-.br
-disable assertions. Assertions are skipped instead of evaluated.
-.IP "\fB\-U+\fP, \fB\-u+\fP"
-.br
-allow for underscores within identifiers. Identifiers may not start
-with an underscore, even if this flag is given.
-.IP \fB-s+\fP
-.br
-allow only standard 
-.BR Pascal .
-This disables the \fB\-c+\fP, \fB\-d\fR, \fB\-u+\fR,
-\fB\-U+\fR and \fB\-C\fR options.
-Furthermore, assertions are not recognized at all.
-.IP \fB-c+\fP
-.br
-allow C-like strings. This option is mainly intended for usage with
-C-functions. This option will cause the type 'string' to be known.
-.IP \fB\-M\fIcompiler\fR
-.br
-use \fIcompiler\fR as Modula-2 compiler instead of the default.
-.SH "SEE ALSO"
-.IP [1]
-J.W. Stevenson, H. v. Eck, \fIAmsterdam Compiler Kit-Pascal reference manual\fP.
-.IP [2]
-cc(1) unix manual page.
-.SH DIAGNOSTICS
-Diagnostics are intended to be self-explanatory.
diff --git a/fast_misc/str_change.c b/fast_misc/str_change.c
deleted file mode 100644 (file)
index 1ea7a44..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*     Utility to change strings in binary files.
-       Reads from standard input, writes on standard output.
-       Only replaces one occurrence if the -s flag is given.
-*/
-
-#include <stdio.h>
-
-main(argc, argv)
-       char *argv[];
-{
-       register char *psrc;
-       register int ch;
-       int srclen;
-       int sflag = 0;
-       char *progname = argv[0];
-
-       while (argc > 1 && argv[1][0] == '-') {
-               switch(argv[1][1]) {
-               case 's':
-                       sflag = 1;
-                       break;
-               default:
-                       fprintf(stderr,
-                       "Usage: %s [-s] <originalstring> <replacementstring>\n",
-                       progname);
-                       exit(1);
-               }
-               argc--;
-               argv++;
-       }
-       if (argc != 3) {
-               fprintf(stderr,
-                       "Usage: %s [-s] <originalstring> <replacementstring>\n",
-                       progname);
-               exit(1);
-       }
-
-       psrc = argv[1];
-       srclen = strlen(psrc);
-       if (srclen == 0) {
-               fprintf(stderr,
-                       "%s: originalstring must have length > 0\n",
-                       progname);
-               exit(1);
-       }
-       for (;;) {
-               ch = getchar();
-               if (ch == EOF) exit(0);
-               if (ch != (*psrc & 0377)) {
-                       putchar(ch);
-                       continue;
-               }
-               do {
-                       psrc++;
-                       ch = getchar();
-               } while (ch && ch == (*psrc & 0377));
-               if (ch != EOF) ungetc(ch, stdin);
-               if (*psrc == '\0') {
-                       /* we have a match */
-                       register int i;
-                       register char *prepl = argv[2];
-
-                       for (i = srclen; i; i--) {
-                               if (*prepl) {
-                                       putchar(*prepl);
-                                       prepl++;
-                               }
-                               else putchar('\0');
-                       }
-                       while (*prepl) {
-                               putchar(*prepl);
-                               prepl++;
-                               if (ch != EOF) ch = getchar();
-                       }
-                       if (sflag) {
-                               break;
-                       }
-               }
-               else {
-                       register char *p = argv[1];
-                       
-                       while (p < psrc) {
-                               putchar(*p);
-                               p++;
-                       }
-                       if (ch == EOF) exit(0);
-               }
-               psrc = argv[1];
-       }
-       if (ch == EOF) exit(0);
-       while ((ch = getchar()) != EOF) {
-               putchar(ch);
-       }
-       exit(0);
-}