rsalz@bbn.com (Rich Salz) (12/21/90)
Submitted-by: Steven Pemberton <steven@cwi.nl> Posting-number: Volume 23, Issue 104 Archive-name: abc/part25 #! /bin/sh # This is a shell archive. Remove anything before this line, then feed it # into a shell via "sh file" or similar. To overwrite existing files, # type "sh file -c". # The tool that generated this appeared in the comp.sources.unix newsgroup; # send mail to comp-sources-unix@uunet.uu.net if you want that tool. # Contents: abc/b/MF abc/bed/MF abc/bed/e1term.c abc/bhdrs/bcom.h # abc/bhdrs/bgfx.h abc/bhdrs/bmem.h abc/bhdrs/getopt.h # abc/bhdrs/release.h abc/bint1/MF abc/bint2/MF abc/bint3/MF # abc/bio/MF abc/bio/i4inp.c abc/bio/i4lis.c abc/boot/alloc.c # abc/btr/MF abc/btr/etex.h abc/btr/i1tlt.h abc/ch_clean # abc/ch_depend abc/ch_makefiles abc/ehdrs/code.h abc/ehdrs/gram.h # abc/ehdrs/queu.h abc/ex/DoExamples abc/ex/generate.in # abc/ex/generate/analyze.cmd abc/ex/generate/enders.cts # abc/ex/generate/fill.cmd abc/ex/generate/generate.cmd # abc/ex/generate/perm.abc abc/ex/generate/start.cmd # abc/ex/generate/starters.cts abc/ex/generate/suggest.abc # abc/ex/hanoi.in abc/ex/hanoi.out abc/ex/hanoi/hanoi.cmd # abc/ex/hanoi/perm.abc abc/ex/pi.in abc/ex/pi.out # abc/ex/pi/perm.abc abc/ex/pi/pi.cmd abc/ex/pi/suggest.abc # abc/ex/try/analyze.cmd abc/ex/try/enders.cts abc/ex/try/fill.cmd # abc/ex/try/generate.cmd abc/ex/try/perm.abc abc/ex/try/start.cmd # abc/ex/try/starters.cts abc/ex/try/suggest.abc abc/ex/xref.in # abc/ex/xref.out abc/ex/xref/alphabet.mpd abc/ex/xref/output.cmd # abc/ex/xref/perm.abc abc/ex/xref/save.cmd abc/ex/xref/suggest.abc # abc/ex/xref/text.cts abc/ex/xref/words.mfd abc/ex/xref/xref.cmd # abc/ex/xref/xtab.cts abc/ihdrs/i2gen.h abc/ihdrs/i3bws.h # abc/ihdrs/i3in2.h abc/ihdrs/i3scr.h abc/ihdrs/i3sta.h # abc/ihdrs/i3typ.h abc/lin/etex.h abc/stc/MF abc/tc/tc1.c # abc/uhdrs/args.h abc/uhdrs/defs.h abc/uhdrs/osconf.h # abc/ukeys/abckeys_2640b abc/unix/MF # Wrapped by rsalz@litchi.bbn.com on Mon Dec 17 13:28:34 1990 PATH=/bin:/usr/bin:/usr/ucb ; export PATH echo If this archive is complete, you will see the following message: echo ' "shar: End of archive 25 (of 25)."' if test -f 'abc/b/MF' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/b/MF'\" else echo shar: Extracting \"'abc/b/MF'\" \(59 characters\) sed "s/^X//" >'abc/b/MF' <<'END_OF_FILE' Xall: b1file.o b1grab.o b1memo.o b1mess.o b1outp.o getopt.o END_OF_FILE if test 59 -ne `wc -c <'abc/b/MF'`; then echo shar: \"'abc/b/MF'\" unpacked with wrong size! fi # end of 'abc/b/MF' fi if test -f 'abc/bed/MF' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bed/MF'\" else echo shar: Extracting \"'abc/bed/MF'\" \(266 characters\) sed "s/^X//" >'abc/bed/MF' <<'END_OF_FILE' Xall: e1cell.o e1code.o e1comm.o e1deco.o e1edit.o e1edoc.o e1erro.o e1eval.o e1getc.o e1goto.o e1gram.o e1help.o e1ins2.o e1inse.o e1lexi.o e1line.o e1move.o e1node.o e1outp.o e1que1.o e1que2.o e1save.o e1scrn.o e1spos.o e1sugg.o e1supr.o e1tabl.o e1term.o e1wide.o END_OF_FILE if test 266 -ne `wc -c <'abc/bed/MF'`; then echo shar: \"'abc/bed/MF'\" unpacked with wrong size! fi # end of 'abc/bed/MF' fi if test -f 'abc/bed/e1term.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bed/e1term.c'\" else echo shar: Extracting \"'abc/bed/e1term.c'\" \(467 characters\) sed "s/^X//" >'abc/bed/e1term.c' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X X/* X * B editor -- Init/end terminal-related modules. X * X * This file should be wiped out completely. X */ X X#include "b.h" X#include "feat.h" X#include "erro.h" X X#ifdef GOTOCURSOR X X/* X * Compatible interface with trmsense; return No if not sensed. X */ X XVisible bool Xsense(py, px) X int *py; X int *px; X{ X trmsense(py, px); X if (*py >= 0 && *px >= 0) X return Yes; X ederr(GOTO_BAD); X return No; X} X#endif END_OF_FILE if test 467 -ne `wc -c <'abc/bed/e1term.c'`; then echo shar: \"'abc/bed/e1term.c'\" unpacked with wrong size! fi # end of 'abc/bed/e1term.c' fi if test -f 'abc/bhdrs/bcom.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bhdrs/bcom.h'\" else echo shar: Extracting \"'abc/bhdrs/bcom.h'\" \(330 characters\) sed "s/^X//" >'abc/bhdrs/bcom.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X X/* communication between interpreter and editor */ X X#define R_cmd 'c' /* command */ X#define R_expr 'e' /* EG expression */ X#define R_raw 'r' /* RAW expression */ X#define R_ioraw 'i' /* RAW expression for abc_input */ X#define R_answer 'q' /* Yes/No */ X X END_OF_FILE if test 330 -ne `wc -c <'abc/bhdrs/bcom.h'`; then echo shar: \"'abc/bhdrs/bcom.h'\" unpacked with wrong size! fi # end of 'abc/bhdrs/bcom.h' fi if test -f 'abc/bhdrs/bgfx.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bhdrs/bgfx.h'\" else echo shar: Extracting \"'abc/bhdrs/bgfx.h'\" \(353 characters\) sed "s/^X//" >'abc/bhdrs/bgfx.h' <<'END_OF_FILE' X/* X * Shared data between graphics routines. X */ X Xtypedef struct ivector { X int x; X int y; X} ivector; X Xextern ivector dev_origin; /* Lower left corner of device */ Xextern ivector dev_corner; /* Upper right corner of device */ X Xextern bool enter_gfx(); Xextern exit_gfx(); X Xextern int gfx_mode; X#define TEXT_MODE 1 X#define GFX_MODE 2 X#define SPLIT_MODE 3 END_OF_FILE if test 353 -ne `wc -c <'abc/bhdrs/bgfx.h'`; then echo shar: \"'abc/bhdrs/bgfx.h'\" unpacked with wrong size! fi # end of 'abc/bhdrs/bgfx.h' fi if test -f 'abc/bhdrs/bmem.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bhdrs/bmem.h'\" else echo shar: Extracting \"'abc/bhdrs/bmem.h'\" \(417 characters\) sed "s/^X//" >'abc/bhdrs/bmem.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X X/* B memory management */ X Xtypedef char *ptr; X#define Nil ((ptr) 0) X Xptr getmem(); Xptr savestr(); X#define freestr(s) (freemem((ptr)(s))) X X#ifdef MEMTRACE Xtypedef unsigned long address; /* for PC and symbol table (on a tahoe) */ X#define F_ALLOC 'A' X#define F_FREE 'F' X#endif X Xstruct bufadm {char *buf, *ptr, *end; }; Xtypedef struct bufadm bufadm; END_OF_FILE if test 417 -ne `wc -c <'abc/bhdrs/bmem.h'`; then echo shar: \"'abc/bhdrs/bmem.h'\" unpacked with wrong size! fi # end of 'abc/bhdrs/bmem.h' fi if test -f 'abc/bhdrs/getopt.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bhdrs/getopt.h'\" else echo shar: Extracting \"'abc/bhdrs/getopt.h'\" \(265 characters\) sed "s/^X//" >'abc/bhdrs/getopt.h' <<'END_OF_FILE' Xextern int opterr; /* no error messages if zero */ Xextern int optopt; /* option letter found */ Xextern int optind; /* argv index of next argument */ Xextern char *optarg; /* start of option argument */ X Xextern int getopt(); /* returns option letter or '?' or EOF */ END_OF_FILE if test 265 -ne `wc -c <'abc/bhdrs/getopt.h'`; then echo shar: \"'abc/bhdrs/getopt.h'\" unpacked with wrong size! fi # end of 'abc/bhdrs/getopt.h' fi if test -f 'abc/bhdrs/release.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bhdrs/release.h'\" else echo shar: Extracting \"'abc/bhdrs/release.h'\" \(26 characters\) sed "s/^X//" >'abc/bhdrs/release.h' <<'END_OF_FILE' X#define RELEASE "1.02.01" END_OF_FILE if test 26 -ne `wc -c <'abc/bhdrs/release.h'`; then echo shar: \"'abc/bhdrs/release.h'\" unpacked with wrong size! fi # end of 'abc/bhdrs/release.h' fi if test -f 'abc/bint1/MF' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bint1/MF'\" else echo shar: Extracting \"'abc/bint1/MF'\" \(93 characters\) sed "s/^X//" >'abc/bint1/MF' <<'END_OF_FILE' Xall: i1com.o i1fun.o i1nua.o i1nuc.o i1nug.o i1nui.o i1num.o i1nuq.o i1nur.o i1nut.o i1tra.o END_OF_FILE if test 93 -ne `wc -c <'abc/bint1/MF'`; then echo shar: \"'abc/bint1/MF'\" unpacked with wrong size! fi # end of 'abc/bint1/MF' fi if test -f 'abc/bint2/MF' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bint2/MF'\" else echo shar: Extracting \"'abc/bint2/MF'\" \(85 characters\) sed "s/^X//" >'abc/bint2/MF' <<'END_OF_FILE' Xall: i2ana.o i2cmd.o i2dis.o i2exp.o i2fix.o i2gen.o i2syn.o i2tar.o i2tes.o i2uni.o END_OF_FILE if test 85 -ne `wc -c <'abc/bint2/MF'`; then echo shar: \"'abc/bint2/MF'\" unpacked with wrong size! fi # end of 'abc/bint2/MF' fi if test -f 'abc/bint3/MF' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bint3/MF'\" else echo shar: Extracting \"'abc/bint3/MF'\" \(133 characters\) sed "s/^X//" >'abc/bint3/MF' <<'END_OF_FILE' Xall: i3bws.o i3com.o i3env.o i3err.o i3fil.o i3fpr.o i3gfx.o i3imm.o i3in2.o i3ini.o i3int.o i3loc.o i3scr.o i3sou.o i3sta.o i3typ.o END_OF_FILE if test 133 -ne `wc -c <'abc/bint3/MF'`; then echo shar: \"'abc/bint3/MF'\" unpacked with wrong size! fi # end of 'abc/bint3/MF' fi if test -f 'abc/bio/MF' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bio/MF'\" else echo shar: Extracting \"'abc/bio/MF'\" \(61 characters\) sed "s/^X//" >'abc/bio/MF' <<'END_OF_FILE' Xall: i4bio.o i4fil.o i4grp.o i4inp.o i4lis.o i4out.o i4rec.o END_OF_FILE if test 61 -ne `wc -c <'abc/bio/MF'`; then echo shar: \"'abc/bio/MF'\" unpacked with wrong size! fi # end of 'abc/bio/MF' fi if test -f 'abc/bio/i4inp.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bio/i4inp.c'\" else echo shar: Extracting \"'abc/bio/i4inp.c'\" \(659 characters\) sed "s/^X//" >'abc/bio/i4inp.c' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X X#include "b.h" X#include "bmem.h" X#include "bobj.h" X#include "i4bio.h" X X/* read_table_of_texts */ X XVisible Procedure abcinput(name_arg) char *name_arg; { X value name; X value tab, v; X value n, m; X bool eoi= No; /* end of input */ X X name= mk_text(name_arg); X if (!is_abcname(name)) { X bioerrV(IO_NAME, name); X release(name); X return; X } X tab= mk_elt(); X n= zero; X while (!eoi) { X eoi= read_ioraw(&v); X if (Valid(v)) { X n= sum(m= n, one); X replace(v, &tab, n); X release(m); release(v); X } X } X still_ok= Yes; interrupted= No; X def_target(name, tab); X release(n); X release(name); X} END_OF_FILE if test 659 -ne `wc -c <'abc/bio/i4inp.c'`; then echo shar: \"'abc/bio/i4inp.c'\" unpacked with wrong size! fi # end of 'abc/bio/i4inp.c' fi if test -f 'abc/bio/i4lis.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/bio/i4lis.c'\" else echo shar: Extracting \"'abc/bio/i4lis.c'\" \(683 characters\) sed "s/^X//" >'abc/bio/i4lis.c' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X X#include "b.h" X#include "bmem.h" X#include "bobj.h" X#include "bfil.h" X#include "i3sou.h" X#include "i4bio.h" X X/* list howto's */ X XVisible Procedure abclist(ofp) FILE *ofp; { X intlet k, len; X FILE *fp; X value fname; X char *line; X X len= length(b_perm); X for (k= 0; k<len && !Interrupted(); ++k) { X fname= *assoc(b_perm, k); X if (!Is_text(fname) || !unitfile(fname)) X continue; X fp= fopen(strval(fname), "r"); X if (fp == NULL) X continue; X while (!interrupted && (line= f_getline(fp)) != NULL) { X putstr(ofp, line); X fflush(ofp); X freestr(line); X } X fclose(fp); X putnewline(ofp); X fflush(ofp); X } X} END_OF_FILE if test 683 -ne `wc -c <'abc/bio/i4lis.c'`; then echo shar: \"'abc/bio/i4lis.c'\" unpacked with wrong size! fi # end of 'abc/bio/i4lis.c' fi if test -f 'abc/boot/alloc.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/boot/alloc.c'\" else echo shar: Extracting \"'abc/boot/alloc.c'\" \(535 characters\) sed "s/^X//" >'abc/boot/alloc.c' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X X/* X * Allocate the arrays holding the tables. X */ X X#include "b.h" X#include "main.h" X XVisible Procedure allocate_tables() { X X symdef= (struct syminfo *) X getmem((unsigned) maxsym*sizeof(struct syminfo)); X X classdef= (struct classinfo *) X getmem((unsigned) maxclass*sizeof(struct classinfo)); X X lexdef= (struct lexinfo *) X getmem((unsigned) maxlex*sizeof(struct lexinfo)); X X namelist= (struct nameinfo *) X getmem((unsigned) maxname*sizeof(struct nameinfo)); X} END_OF_FILE if test 535 -ne `wc -c <'abc/boot/alloc.c'`; then echo shar: \"'abc/boot/alloc.c'\" unpacked with wrong size! fi # end of 'abc/boot/alloc.c' fi if test -f 'abc/btr/MF' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/btr/MF'\" else echo shar: Extracting \"'abc/btr/MF'\" \(54 characters\) sed "s/^X//" >'abc/btr/MF' <<'END_OF_FILE' Xall: e1etex.o i1btr.o i1lta.o i1obj.o i1tex.o i1tlt.o END_OF_FILE if test 54 -ne `wc -c <'abc/btr/MF'`; then echo shar: \"'abc/btr/MF'\" unpacked with wrong size! fi # end of 'abc/btr/MF' fi if test -f 'abc/btr/etex.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/btr/etex.h'\" else echo shar: Extracting \"'abc/btr/etex.h'\" \(346 characters\) sed "s/^X//" >'abc/btr/etex.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X Xextern int e_length(); Xextern value mk_etext(); Xextern char e_ncharval(); Xextern string e_strval(); Xextern string e_sstrval(); X/* extern Procedure e_fstrval(); */ Xextern value e_icurtail(); Xextern value e_ibehead(); Xextern value e_concat(); X/* extern Procedure e_concto(); */ END_OF_FILE if test 346 -ne `wc -c <'abc/btr/etex.h'`; then echo shar: \"'abc/btr/etex.h'\" unpacked with wrong size! fi # end of 'abc/btr/etex.h' fi if test -f 'abc/btr/i1tlt.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/btr/i1tlt.h'\" else echo shar: Extracting \"'abc/btr/i1tlt.h'\" \(420 characters\) sed "s/^X//" >'abc/btr/i1tlt.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X X/* Private definitions for B texts, lists and tables */ X Xtypedef struct telita { X HEADER; btreeptr root; X} a_telita, *telita; X X#define Itemtype(v) (((telita) (v))->len) /* Itemtype */ X#define Root(v) (((telita) (v))->root) X#define Tltsize(v) (Root(v) EQ Bnil ? 0 : Size(Root(v))) X X#define Character(v) ((bool) (Type(v) EQ Tex && Tltsize(v) EQ 1)) END_OF_FILE if test 420 -ne `wc -c <'abc/btr/i1tlt.h'`; then echo shar: \"'abc/btr/i1tlt.h'\" unpacked with wrong size! fi # end of 'abc/btr/i1tlt.h' fi if test -f 'abc/ch_clean' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ch_clean'\" else echo shar: Extracting \"'abc/ch_clean'\" \(230 characters\) sed "s/^X//" >'abc/ch_clean' <<'END_OF_FILE' X: 'from make clean to make clobber' X Xecho " " Xecho "You can clean up the automatically created makefiles */Mf and */Dep" Xcase $1 in Xabc.mse) echo "as well as the messages file 'abc.mse'";; Xesac Xecho "with 'make clobber'." X Xexit 0 END_OF_FILE if test 230 -ne `wc -c <'abc/ch_clean'`; then echo shar: \"'abc/ch_clean'\" unpacked with wrong size! fi chmod +x 'abc/ch_clean' # end of 'abc/ch_clean' fi if test -f 'abc/ch_depend' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ch_depend'\" else echo shar: Extracting \"'abc/ch_depend'\" \(433 characters\) sed "s/^X//" >'abc/ch_depend' <<'END_OF_FILE' X: Check whether makefile is properly edited X Xecho " " Xecho "Made dependency files 'Dep' in subdirectories." >&2 X Xcase $1 in XDep) echo "You can now make the ABC system with 'make all'." >&2 X exit 0;; XDEP) echo "Make would still use the distributed ones, however." >&2 X echo "Redefine DEP=Dep in ./Makefile before you call 'make all'." >&2 X exit 1;; X*) echo "You did not edit the makefile properly; see ./Problems" >&2 X exit 1;; Xesac END_OF_FILE if test 433 -ne `wc -c <'abc/ch_depend'`; then echo shar: \"'abc/ch_depend'\" unpacked with wrong size! fi chmod +x 'abc/ch_depend' # end of 'abc/ch_depend' fi if test -f 'abc/ch_makefiles' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ch_makefiles'\" else echo shar: Extracting \"'abc/ch_makefiles'\" \(437 characters\) sed "s/^X//" >'abc/ch_makefiles' <<'END_OF_FILE' X: Check whether makefile is properly edited for make makefiles X Xecho " " >&2 Xecho "Made makefiles 'Mf' in subdirectories." >&2 X Xcase $1 in XMf) echo "You can now try 'make depend'." >&2 X exit 0;; XMF) echo "Make would still use the distributed makefiles, however." >&2 X echo "Redefine MF=Mf in ./Makefile before you call 'make depend all'." >&2 X exit 1;; X*) echo "You did not edit the makefile properly; see ./Problems" >&2 X exit 1;; Xesac END_OF_FILE if test 437 -ne `wc -c <'abc/ch_makefiles'`; then echo shar: \"'abc/ch_makefiles'\" unpacked with wrong size! fi chmod +x 'abc/ch_makefiles' # end of 'abc/ch_makefiles' fi if test -f 'abc/ehdrs/code.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ehdrs/code.h'\" else echo shar: Extracting \"'abc/ehdrs/code.h'\" \(314 characters\) sed "s/^X//" >'abc/ehdrs/code.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X Xextern char code_array[]; Xextern char invcode_array[]; Xextern int lastcode; X Xextern Procedure initcodes(); X X#define RANGE 128 /* ASCII characters are in {0 .. RANGE-1} */ X X#define Code(c) code_array[c] X#define Invcode(code) invcode_array[code] END_OF_FILE if test 314 -ne `wc -c <'abc/ehdrs/code.h'`; then echo shar: \"'abc/ehdrs/code.h'\" unpacked with wrong size! fi # end of 'abc/ehdrs/code.h' fi if test -f 'abc/ehdrs/gram.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ehdrs/gram.h'\" else echo shar: Extracting \"'abc/ehdrs/gram.h'\" \(539 characters\) sed "s/^X//" >'abc/ehdrs/gram.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X X/* X * Routines defined in "gram.c". X */ X Xstring *noderepr(); Xnode gram(); Xnode suggestion(); Xnode variable(); Xstring symname(); Xbool allows_colon(); X X/* X * Macros for oft-used functions. X */ X X#define Fwidth(str) ((str) ? fwidth(str) : 0) X X#define Fw_zero(str) (!(str) || strchr("\b\t", (str)[0])) X#define Fw_positive(str) ((str) && (str)[0] >= ' ') X#define Fw_negative(str) ((str) && (str)[0] == '\n') X X#define MAXNBUILTIN 50 /* should be calculated by boot/mktable */ END_OF_FILE if test 539 -ne `wc -c <'abc/ehdrs/gram.h'`; then echo shar: \"'abc/ehdrs/gram.h'\" unpacked with wrong size! fi # end of 'abc/ehdrs/gram.h' fi if test -f 'abc/ehdrs/queu.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ehdrs/queu.h'\" else echo shar: Extracting \"'abc/ehdrs/queu.h'\" \(408 characters\) sed "s/^X//" >'abc/ehdrs/queu.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X X/* X * B editor -- Definitions for queues of nodes. X */ X Xtypedef struct queue *queue; X Xstruct queue { X HEADER; X node q_data; X queue q_link; X}; X X#define Qnil ((queue) Vnil) X#ifdef lint Xqueue qcopy(); Xqrelease(); X#else X#define qcopy(q) ((queue)copy(q)) X#define qrelease(q) release(q) X#endif X#define emptyqueue(q) (!(q)) X Xnode queuebehead(); END_OF_FILE if test 408 -ne `wc -c <'abc/ehdrs/queu.h'`; then echo shar: \"'abc/ehdrs/queu.h'\" unpacked with wrong size! fi # end of 'abc/ehdrs/queu.h' fi if test -f 'abc/ex/DoExamples' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/DoExamples'\" else echo shar: Extracting \"'abc/ex/DoExamples'\" \(587 characters\) sed "s/^X//" >'abc/ex/DoExamples' <<'END_OF_FILE' XWS='generate hanoi pi xref' X Xcase $1 in Xlocal) abc=../abc;; X*) abc=abc;; Xesac X Xfor ws in $WS Xdo X echo " " X echo "Testing $ws example ..." X echo " " X $abc -W `pwd` -w $ws <$ws.in | tee out X echo " " X if cmp -s out $ws.out X then X echo "... $ws example OK ..." X else X echo "... $ws example NOT OK ..." X echo "Differences: <is >should-be" X diff out $ws.out X fi X echo " " X echo "... $ws example done" Xdone X Xecho " " Xcase $1 in Xlocal) echo "If all examples were OK, try the ABC editor with 'make try_editor'.";; X*) echo "If all examples were OK, try the ABC editor with TryEditor.";; Xesac END_OF_FILE if test 587 -ne `wc -c <'abc/ex/DoExamples'`; then echo shar: \"'abc/ex/DoExamples'\" unpacked with wrong size! fi chmod +x 'abc/ex/DoExamples' # end of 'abc/ex/DoExamples' fi if test -f 'abc/ex/generate.in' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/generate.in'\" else echo shar: Extracting \"'abc/ex/generate.in'\" \(123 characters\) sed "s/^X//" >'abc/ex/generate.in' <<'END_OF_FILE' XSTART XMary had a little lamb, XIts fleece was white as snow, XAnd everywhere that Mary went, XThat lamb was sure to go. X X\EOF END_OF_FILE if test 123 -ne `wc -c <'abc/ex/generate.in'`; then echo shar: \"'abc/ex/generate.in'\" unpacked with wrong size! fi # end of 'abc/ex/generate.in' fi if test -f 'abc/ex/generate/analyze.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/generate/analyze.cmd'\" else echo shar: Extracting \"'abc/ex/generate/analyze.cmd'\" \(361 characters\) sed "s/^X//" >'abc/ex/generate/analyze.cmd' <<'END_OF_FILE' XHOW TO ANALYZE line: X SHARE followers, starters, enders X IF #line>2: X PUT line item 1, line item 2 IN c1, c2 X INSERT c1, c2 IN starters X INSERT line@#line IN enders X FOR c3 IN line@3: X IF (c1, c2) not.in keys followers: X PUT {} IN followers[c1,c2] X INSERT c3 IN followers[c1, c2] X PUT c2, c3 IN c1, c2 END_OF_FILE if test 361 -ne `wc -c <'abc/ex/generate/analyze.cmd'`; then echo shar: \"'abc/ex/generate/analyze.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/generate/analyze.cmd' fi if test -f 'abc/ex/generate/enders.cts' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/generate/enders.cts'\" else echo shar: Extracting \"'abc/ex/generate/enders.cts'\" \(21 characters\) sed "s/^X//" >'abc/ex/generate/enders.cts' <<'END_OF_FILE' X{","; ","; ","; "."} END_OF_FILE if test 21 -ne `wc -c <'abc/ex/generate/enders.cts'`; then echo shar: \"'abc/ex/generate/enders.cts'\" unpacked with wrong size! fi # end of 'abc/ex/generate/enders.cts' fi if test -f 'abc/ex/generate/fill.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/generate/fill.cmd'\" else echo shar: Extracting \"'abc/ex/generate/fill.cmd'\" \(107 characters\) sed "s/^X//" >'abc/ex/generate/fill.cmd' <<'END_OF_FILE' XHOW TO FILL text: X READ line RAW X WHILE line > '': X PUT line IN text[#text+1] X READ line RAW END_OF_FILE if test 107 -ne `wc -c <'abc/ex/generate/fill.cmd'`; then echo shar: \"'abc/ex/generate/fill.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/generate/fill.cmd' fi if test -f 'abc/ex/generate/generate.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/generate/generate.cmd'\" else echo shar: Extracting \"'abc/ex/generate/generate.cmd'\" \(223 characters\) sed "s/^X//" >'abc/ex/generate/generate.cmd' <<'END_OF_FILE' XHOW TO GENERATE: X SHARE followers, starters, enders X PUT choice starters IN c1, c2 X WRITE c1^c2 X WHILE c2 not.in enders: X PUT choice followers[c1, c2] IN c3 X WRITE c3 X PUT c2, c3 IN c1, c2 X WRITE / END_OF_FILE if test 223 -ne `wc -c <'abc/ex/generate/generate.cmd'`; then echo shar: \"'abc/ex/generate/generate.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/generate/generate.cmd' fi if test -f 'abc/ex/generate/perm.abc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/generate/perm.abc'\" else echo shar: Extracting \"'abc/ex/generate/perm.abc'\" \(204 characters\) sed "s/^X//" >'abc/ex/generate/perm.abc' <<'END_OF_FILE' X{["1ANALYZE"]:"analyze.cmd";["1FILL"]:"fill.cmd";["1GENERATE"]:"generate.cmd";["1START"]:"start.cmd";["8enders"]:"enders.cts";["8followers"]:"follower.cts";["8starters"]:"starters.cts";[":"]:"1GENERATE"} END_OF_FILE if test 204 -ne `wc -c <'abc/ex/generate/perm.abc'`; then echo shar: \"'abc/ex/generate/perm.abc'\" unpacked with wrong size! fi # end of 'abc/ex/generate/perm.abc' fi if test -f 'abc/ex/generate/start.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/generate/start.cmd'\" else echo shar: Extracting \"'abc/ex/generate/start.cmd'\" \(314 characters\) sed "s/^X//" >'abc/ex/generate/start.cmd' <<'END_OF_FILE' XHOW TO START: X SHARE followers, starters, enders X PUT {}, {}, {} IN followers, starters, enders X SET RANDOM 'Do sample.' X READ line RAW X WRITE line / X WHILE line <> '': X ANALYZE line X READ line RAW X WRITE line / X FOR i IN {1..3}: X FOR j IN {1..4}: X GENERATE X WRITE / END_OF_FILE if test 314 -ne `wc -c <'abc/ex/generate/start.cmd'`; then echo shar: \"'abc/ex/generate/start.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/generate/start.cmd' fi if test -f 'abc/ex/generate/starters.cts' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/generate/starters.cts'\" else echo shar: Extracting \"'abc/ex/generate/starters.cts'\" \(45 characters\) sed "s/^X//" >'abc/ex/generate/starters.cts' <<'END_OF_FILE' X{("A","n"); ("I","t"); ("M","a"); ("T","h")} END_OF_FILE if test 45 -ne `wc -c <'abc/ex/generate/starters.cts'`; then echo shar: \"'abc/ex/generate/starters.cts'\" unpacked with wrong size! fi # end of 'abc/ex/generate/starters.cts' fi if test -f 'abc/ex/generate/suggest.abc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/generate/suggest.abc'\" else echo shar: Extracting \"'abc/ex/generate/suggest.abc'\" \(32 characters\) sed "s/^X//" >'abc/ex/generate/suggest.abc' <<'END_OF_FILE' XANALYZE ? XFILL ? XGENERATE XSTART END_OF_FILE if test 32 -ne `wc -c <'abc/ex/generate/suggest.abc'`; then echo shar: \"'abc/ex/generate/suggest.abc'\" unpacked with wrong size! fi # end of 'abc/ex/generate/suggest.abc' fi if test -f 'abc/ex/hanoi.in' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/hanoi.in'\" else echo shar: Extracting \"'abc/ex/hanoi.in'\" \(8 characters\) sed "s/^X//" >'abc/ex/hanoi.in' <<'END_OF_FILE' XHANOI 3 END_OF_FILE if test 8 -ne `wc -c <'abc/ex/hanoi.in'`; then echo shar: \"'abc/ex/hanoi.in'\" unpacked with wrong size! fi # end of 'abc/ex/hanoi.in' fi if test -f 'abc/ex/hanoi.out' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/hanoi.out'\" else echo shar: Extracting \"'abc/ex/hanoi.out'\" \(175 characters\) sed "s/^X//" >'abc/ex/hanoi.out' <<'END_OF_FILE' XMove piece 1 from 1 to 2 XMove piece 2 from 1 to 3 XMove piece 1 from 2 to 3 XMove piece 3 from 1 to 2 XMove piece 1 from 3 to 1 XMove piece 2 from 3 to 2 XMove piece 1 from 1 to 2 END_OF_FILE if test 175 -ne `wc -c <'abc/ex/hanoi.out'`; then echo shar: \"'abc/ex/hanoi.out'\" unpacked with wrong size! fi # end of 'abc/ex/hanoi.out' fi if test -f 'abc/ex/hanoi/hanoi.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/hanoi/hanoi.cmd'\" else echo shar: Extracting \"'abc/ex/hanoi/hanoi.cmd'\" \(490 characters\) sed "s/^X//" >'abc/ex/hanoi/hanoi.cmd' <<'END_OF_FILE' XHOW TO HANOI n: X INITIALISE X FOR i IN {1..(2**n)-1}: X SELECT.PROCESS X WRITE 'Move piece', piece, 'from', from, 'to', to / X RE.SCHEDULE XINITIALISE: X PUT {} IN process X FOR i IN {1..n}: X INSERT 2**(i-1), i, 1, (-1)**(i+n), 2**i IN process XSELECT.PROCESS: X PUT min process IN time, piece, from, direction, wait X REMOVE min process FROM process XRE.SCHEDULE: X INSERT time+wait, piece, to, direction, wait IN process Xto: X RETURN ((from+direction-1) mod 3) + 1 END_OF_FILE if test 490 -ne `wc -c <'abc/ex/hanoi/hanoi.cmd'`; then echo shar: \"'abc/ex/hanoi/hanoi.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/hanoi/hanoi.cmd' fi if test -f 'abc/ex/hanoi/perm.abc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/hanoi/perm.abc'\" else echo shar: Extracting \"'abc/ex/hanoi/perm.abc'\" \(25 characters\) sed "s/^X//" >'abc/ex/hanoi/perm.abc' <<'END_OF_FILE' X{["1HANOI"]:"hanoi.cmd"} END_OF_FILE if test 25 -ne `wc -c <'abc/ex/hanoi/perm.abc'`; then echo shar: \"'abc/ex/hanoi/perm.abc'\" unpacked with wrong size! fi # end of 'abc/ex/hanoi/perm.abc' fi if test -f 'abc/ex/pi.in' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/pi.in'\" else echo shar: Extracting \"'abc/ex/pi.in'\" \(6 characters\) sed "s/^X//" >'abc/ex/pi.in' <<'END_OF_FILE' XPI 20 END_OF_FILE if test 6 -ne `wc -c <'abc/ex/pi.in'`; then echo shar: \"'abc/ex/pi.in'\" unpacked with wrong size! fi # end of 'abc/ex/pi.in' fi if test -f 'abc/ex/pi.out' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/pi.out'\" else echo shar: Extracting \"'abc/ex/pi.out'\" \(23 characters\) sed "s/^X//" >'abc/ex/pi.out' <<'END_OF_FILE' X3.14159265358979323846 END_OF_FILE if test 23 -ne `wc -c <'abc/ex/pi.out'`; then echo shar: \"'abc/ex/pi.out'\" unpacked with wrong size! fi # end of 'abc/ex/pi.out' fi if test -f 'abc/ex/pi/perm.abc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/pi/perm.abc'\" else echo shar: Extracting \"'abc/ex/pi/perm.abc'\" \(19 characters\) sed "s/^X//" >'abc/ex/pi/perm.abc' <<'END_OF_FILE' X{["1PI"]:"pi.cmd"} END_OF_FILE if test 19 -ne `wc -c <'abc/ex/pi/perm.abc'`; then echo shar: \"'abc/ex/pi/perm.abc'\" unpacked with wrong size! fi # end of 'abc/ex/pi/perm.abc' fi if test -f 'abc/ex/pi/pi.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/pi/pi.cmd'\" else echo shar: Extracting \"'abc/ex/pi/pi.cmd'\" \(458 characters\) sed "s/^X//" >'abc/ex/pi/pi.cmd' <<'END_OF_FILE' XHOW TO PI n': X \Print the first n places of pi. a, b, c and d get very large. X WRITE '3.' X PUT n' IN n X PUT 3, 0, 40, 4, 24, 0, 1 IN k, a, b, c, d, e, f X WHILE n>0: X WHILE e=f AND n>0: X WRITE e<<1 X PUT n-1 IN n X PUT 10*(a-e*c), 10*(b-f*d) IN a, b X PUT floor(a/c), floor(b/d) IN e, f X PUT k**2, 2*k+1, k+1 IN p, q, k X PUT b, p*a+q*b, d, p*c+q*d IN a, b, c, d X PUT f, floor(b/d) IN e, f X WRITE / END_OF_FILE if test 458 -ne `wc -c <'abc/ex/pi/pi.cmd'`; then echo shar: \"'abc/ex/pi/pi.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/pi/pi.cmd' fi if test -f 'abc/ex/pi/suggest.abc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/pi/suggest.abc'\" else echo shar: Extracting \"'abc/ex/pi/suggest.abc'\" \(5 characters\) sed "s/^X//" >'abc/ex/pi/suggest.abc' <<'END_OF_FILE' XPI ? END_OF_FILE if test 5 -ne `wc -c <'abc/ex/pi/suggest.abc'`; then echo shar: \"'abc/ex/pi/suggest.abc'\" unpacked with wrong size! fi # end of 'abc/ex/pi/suggest.abc' fi if test -f 'abc/ex/try/analyze.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/try/analyze.cmd'\" else echo shar: Extracting \"'abc/ex/try/analyze.cmd'\" \(361 characters\) sed "s/^X//" >'abc/ex/try/analyze.cmd' <<'END_OF_FILE' XHOW TO ANALYZE line: X SHARE followers, starters, enders X IF #line>2: X PUT line item 1, line item 2 IN c1, c2 X INSERT c1, c2 IN starters X INSERT line@#line IN enders X FOR c3 IN line@3: X IF (c1, c2) not.in keys followers: X PUT {} IN followers[c1,c2] X INSERT c3 IN followers[c1, c2] X PUT c2, c3 IN c1, c2 END_OF_FILE if test 361 -ne `wc -c <'abc/ex/try/analyze.cmd'`; then echo shar: \"'abc/ex/try/analyze.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/try/analyze.cmd' fi if test -f 'abc/ex/try/enders.cts' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/try/enders.cts'\" else echo shar: Extracting \"'abc/ex/try/enders.cts'\" \(21 characters\) sed "s/^X//" >'abc/ex/try/enders.cts' <<'END_OF_FILE' X{"."; "."; "."; "."} END_OF_FILE if test 21 -ne `wc -c <'abc/ex/try/enders.cts'`; then echo shar: \"'abc/ex/try/enders.cts'\" unpacked with wrong size! fi # end of 'abc/ex/try/enders.cts' fi if test -f 'abc/ex/try/fill.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/try/fill.cmd'\" else echo shar: Extracting \"'abc/ex/try/fill.cmd'\" \(107 characters\) sed "s/^X//" >'abc/ex/try/fill.cmd' <<'END_OF_FILE' XHOW TO FILL text: X READ line RAW X WHILE line > '': X PUT line IN text[#text+1] X READ line RAW END_OF_FILE if test 107 -ne `wc -c <'abc/ex/try/fill.cmd'`; then echo shar: \"'abc/ex/try/fill.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/try/fill.cmd' fi if test -f 'abc/ex/try/generate.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/try/generate.cmd'\" else echo shar: Extracting \"'abc/ex/try/generate.cmd'\" \(223 characters\) sed "s/^X//" >'abc/ex/try/generate.cmd' <<'END_OF_FILE' XHOW TO GENERATE: X SHARE followers, starters, enders X PUT choice starters IN c1, c2 X WRITE c1^c2 X WHILE c2 not.in enders: X PUT choice followers[c1, c2] IN c3 X WRITE c3 X PUT c2, c3 IN c1, c2 X WRITE / END_OF_FILE if test 223 -ne `wc -c <'abc/ex/try/generate.cmd'`; then echo shar: \"'abc/ex/try/generate.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/try/generate.cmd' fi if test -f 'abc/ex/try/perm.abc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/try/perm.abc'\" else echo shar: Extracting \"'abc/ex/try/perm.abc'\" \(201 characters\) sed "s/^X//" >'abc/ex/try/perm.abc' <<'END_OF_FILE' X{["1ANALYZE"]:"analyze.cmd";["1FILL"]:"fill.cmd";["1GENERATE"]:"generate.cmd";["1START"]:"start.cmd";["8enders"]:"enders.cts";["8followers"]:"follower.cts";["8starters"]:"starters.cts";[":"]:"1START"} END_OF_FILE if test 201 -ne `wc -c <'abc/ex/try/perm.abc'`; then echo shar: \"'abc/ex/try/perm.abc'\" unpacked with wrong size! fi # end of 'abc/ex/try/perm.abc' fi if test -f 'abc/ex/try/start.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/try/start.cmd'\" else echo shar: Extracting \"'abc/ex/try/start.cmd'\" \(314 characters\) sed "s/^X//" >'abc/ex/try/start.cmd' <<'END_OF_FILE' XHOW TO START: X SHARE followers, starters, enders X PUT {}, {}, {} IN followers, starters, enders X SET RANDOM 'Do sample.' X READ line RAW X WRITE line / X WHILE line <> '': X ANALYZE line X READ line RAW X WRITE line / X FOR i IN {1..3}: X FOR j IN {1..4}: X GENERATE X WRITE / END_OF_FILE if test 314 -ne `wc -c <'abc/ex/try/start.cmd'`; then echo shar: \"'abc/ex/try/start.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/try/start.cmd' fi if test -f 'abc/ex/try/starters.cts' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/try/starters.cts'\" else echo shar: Extracting \"'abc/ex/try/starters.cts'\" \(45 characters\) sed "s/^X//" >'abc/ex/try/starters.cts' <<'END_OF_FILE' X{("a","b"); ("d","a"); ("m","a"); ("v","o")} END_OF_FILE if test 45 -ne `wc -c <'abc/ex/try/starters.cts'`; then echo shar: \"'abc/ex/try/starters.cts'\" unpacked with wrong size! fi # end of 'abc/ex/try/starters.cts' fi if test -f 'abc/ex/try/suggest.abc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/try/suggest.abc'\" else echo shar: Extracting \"'abc/ex/try/suggest.abc'\" \(32 characters\) sed "s/^X//" >'abc/ex/try/suggest.abc' <<'END_OF_FILE' XANALYZE ? XFILL ? XGENERATE XSTART END_OF_FILE if test 32 -ne `wc -c <'abc/ex/try/suggest.abc'`; then echo shar: \"'abc/ex/try/suggest.abc'\" unpacked with wrong size! fi # end of 'abc/ex/try/suggest.abc' fi if test -f 'abc/ex/xref.in' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref.in'\" else echo shar: Extracting \"'abc/ex/xref.in'\" \(158 characters\) sed "s/^X//" >'abc/ex/xref.in' <<'END_OF_FILE' XPUT {} IN text XPUT 'Now is the time' IN text[1] XPUT 'for all good men' IN text[2] XPUT 'to come to the aid' IN text[3] XPUT 'of the party' IN text[4] XXREF text END_OF_FILE if test 158 -ne `wc -c <'abc/ex/xref.in'`; then echo shar: \"'abc/ex/xref.in'\" unpacked with wrong size! fi # end of 'abc/ex/xref.in' fi if test -f 'abc/ex/xref.out' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref.out'\" else echo shar: Extracting \"'abc/ex/xref.out'\" \(223 characters\) sed "s/^X//" >'abc/ex/xref.out' <<'END_OF_FILE' XNow 1 Xaid 3 Xall 2 Xcome 3 Xfor 2 Xgood 2 Xis 1 Xmen 2 Xof 4 Xparty 4 Xthe 1 3 4 Xtime 1 Xto 3 3 END_OF_FILE if test 223 -ne `wc -c <'abc/ex/xref.out'`; then echo shar: \"'abc/ex/xref.out'\" unpacked with wrong size! fi # end of 'abc/ex/xref.out' fi if test -f 'abc/ex/xref/alphabet.mpd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref/alphabet.mpd'\" else echo shar: Extracting \"'abc/ex/xref/alphabet.mpd'\" \(82 characters\) sed "s/^X//" >'abc/ex/xref/alphabet.mpd' <<'END_OF_FILE' XHOW TO REPORT alphabetic char: X REPORT char in {'a'..'z'} OR char in {'A'..'Z'} END_OF_FILE if test 82 -ne `wc -c <'abc/ex/xref/alphabet.mpd'`; then echo shar: \"'abc/ex/xref/alphabet.mpd'\" unpacked with wrong size! fi # end of 'abc/ex/xref/alphabet.mpd' fi if test -f 'abc/ex/xref/output.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref/output.cmd'\" else echo shar: Extracting \"'abc/ex/xref/output.cmd'\" \(139 characters\) sed "s/^X//" >'abc/ex/xref/output.cmd' <<'END_OF_FILE' XHOW TO OUTPUT xtab: X FOR word IN keys xtab: X WRITE word<<10 X FOR line IN xtab[word]: X WRITE line>>4, ' ' X WRITE / END_OF_FILE if test 139 -ne `wc -c <'abc/ex/xref/output.cmd'`; then echo shar: \"'abc/ex/xref/output.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/xref/output.cmd' fi if test -f 'abc/ex/xref/perm.abc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref/perm.abc'\" else echo shar: Extracting \"'abc/ex/xref/perm.abc'\" \(180 characters\) sed "s/^X//" >'abc/ex/xref/perm.abc' <<'END_OF_FILE' X{["1OUTPUT"]:"output.cmd";["1SAVE"]:"save.cmd";["1XREF"]:"xref.cmd";["3words"]:"words.mfd";["6alphabetic"]:"alphabet.mpd";["8text"]:"text.cts";["8xtab"]:"xtab.cts";[":"]:"3words"} END_OF_FILE if test 180 -ne `wc -c <'abc/ex/xref/perm.abc'`; then echo shar: \"'abc/ex/xref/perm.abc'\" unpacked with wrong size! fi # end of 'abc/ex/xref/perm.abc' fi if test -f 'abc/ex/xref/save.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref/save.cmd'\" else echo shar: Extracting \"'abc/ex/xref/save.cmd'\" \(125 characters\) sed "s/^X//" >'abc/ex/xref/save.cmd' <<'END_OF_FILE' XHOW TO SAVE word AT line: X SHARE xtab X IF word not.in keys xtab: X PUT {} IN xtab[word] X INSERT line IN xtab[word] END_OF_FILE if test 125 -ne `wc -c <'abc/ex/xref/save.cmd'`; then echo shar: \"'abc/ex/xref/save.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/xref/save.cmd' fi if test -f 'abc/ex/xref/suggest.abc' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref/suggest.abc'\" else echo shar: Extracting \"'abc/ex/xref/suggest.abc'\" \(28 characters\) sed "s/^X//" >'abc/ex/xref/suggest.abc' <<'END_OF_FILE' XOUTPUT ? XSAVE ? AT ? XXREF ? END_OF_FILE if test 28 -ne `wc -c <'abc/ex/xref/suggest.abc'`; then echo shar: \"'abc/ex/xref/suggest.abc'\" unpacked with wrong size! fi # end of 'abc/ex/xref/suggest.abc' fi if test -f 'abc/ex/xref/text.cts' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref/text.cts'\" else echo shar: Extracting \"'abc/ex/xref/text.cts'\" \(91 characters\) sed "s/^X//" >'abc/ex/xref/text.cts' <<'END_OF_FILE' X{[1]:"Now is the time";[2]:"for all good men";[3]:"to come to the aid";[4]:"of the party"} END_OF_FILE if test 91 -ne `wc -c <'abc/ex/xref/text.cts'`; then echo shar: \"'abc/ex/xref/text.cts'\" unpacked with wrong size! fi # end of 'abc/ex/xref/text.cts' fi if test -f 'abc/ex/xref/words.mfd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref/words.mfd'\" else echo shar: Extracting \"'abc/ex/xref/words.mfd'\" \(370 characters\) sed "s/^X//" >'abc/ex/xref/words.mfd' <<'END_OF_FILE' XHOW TO RETURN words line: X PUT {} IN list X TO.WORD.START X WHILE line > "": X PUT line|1, line@2 IN word, line X TO.WORD.END X INSERT word IN list X TO.WORD.START X RETURN list XTO.WORD.START: X WHILE line > "" AND NOT alphabetic line|1: X PUT line@2 IN line XTO.WORD.END: X WHILE alphabetic line|1: X PUT word^line|1, line@2 IN word, line END_OF_FILE if test 370 -ne `wc -c <'abc/ex/xref/words.mfd'`; then echo shar: \"'abc/ex/xref/words.mfd'\" unpacked with wrong size! fi # end of 'abc/ex/xref/words.mfd' fi if test -f 'abc/ex/xref/xref.cmd' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref/xref.cmd'\" else echo shar: Extracting \"'abc/ex/xref/xref.cmd'\" \(177 characters\) sed "s/^X//" >'abc/ex/xref/xref.cmd' <<'END_OF_FILE' XHOW TO XREF text: X SHARE xtab X PUT {} IN xtab X FOR line IN keys text: X TREAT.LINE X OUTPUT xtab XTREAT.LINE: X FOR word IN words text[line]: X SAVE word AT line END_OF_FILE if test 177 -ne `wc -c <'abc/ex/xref/xref.cmd'`; then echo shar: \"'abc/ex/xref/xref.cmd'\" unpacked with wrong size! fi # end of 'abc/ex/xref/xref.cmd' fi if test -f 'abc/ex/xref/xtab.cts' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ex/xref/xtab.cts'\" else echo shar: Extracting \"'abc/ex/xref/xtab.cts'\" \(169 characters\) sed "s/^X//" >'abc/ex/xref/xtab.cts' <<'END_OF_FILE' X{["Now"]:{1};["aid"]:{3};["all"]:{2};["come"]:{3};["for"]:{2};["good"]:{2};["is"]:{1};["men"]:{2};["of"]:{4};["party"]:{4};["the"]:{1; 3; 4};["time"]:{1};["to"]:{3; 3}} END_OF_FILE if test 169 -ne `wc -c <'abc/ex/xref/xtab.cts'`; then echo shar: \"'abc/ex/xref/xtab.cts'\" unpacked with wrong size! fi # end of 'abc/ex/xref/xtab.cts' fi if test -f 'abc/ihdrs/i2gen.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ihdrs/i2gen.h'\" else echo shar: Extracting \"'abc/ihdrs/i2gen.h'\" \(507 characters\) sed "s/^X//" >'abc/ihdrs/i2gen.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X X#define Is_node(t) ((t) != NilTree && Is_parsetree(t)) X Xextern int nextvarnumber; /* Counts local targets (including formals) */ Xextern value locals, globals, mysteries, refinements; Xextern string gentab[]; X Xstruct state { X parsetree h_last; X parsetree *h_wanthere; X parsetree h_bpchain; X}; X X#define f_expr(p) fix(p, 'v') /* "evaluate" */ X#define f_targ(p) fix(p, 'l') /* "locate" */ X Xvalue copydef(); Xbool modify_tag(); Xbool is_name(); END_OF_FILE if test 507 -ne `wc -c <'abc/ihdrs/i2gen.h'`; then echo shar: \"'abc/ihdrs/i2gen.h'\" unpacked with wrong size! fi # end of 'abc/ihdrs/i2gen.h' fi if test -f 'abc/ihdrs/i3bws.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ihdrs/i3bws.h'\" else echo shar: Extracting \"'abc/ihdrs/i3bws.h'\" \(297 characters\) sed "s/^X//" >'abc/ihdrs/i3bws.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X Xextern char *bwsdir; Xextern value ws_group; Xextern bool groupchanges; Xextern value curwskey; Xextern value lastwskey; Xextern bool is_gr_reccall; Xextern value cur_ws; Xbool is_path(); X#ifdef WSP_DIRNAME Xvalue abc_wsname(); X#endif END_OF_FILE if test 297 -ne `wc -c <'abc/ihdrs/i3bws.h'`; then echo shar: \"'abc/ihdrs/i3bws.h'\" unpacked with wrong size! fi # end of 'abc/ihdrs/i3bws.h' fi if test -f 'abc/ihdrs/i3in2.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ihdrs/i3in2.h'\" else echo shar: Extracting \"'abc/ihdrs/i3in2.h'\" \(338 characters\) sed "s/^X//" >'abc/ihdrs/i3in2.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X X/* Interpreter utilities */ X Xvalue v_local(); Xvalue v_global(); Xloc local_loc(); Xloc global_loc(); Xloc trim_loc(); Xloc tbsel_loc(); Xvalue pre_fun(); Xextern value resval; X Xvalue evalthread(); X X#define Changed_formal(v) (v == Vnil || !Is_indirect(v)) X Xvalue locvalue(); END_OF_FILE if test 338 -ne `wc -c <'abc/ihdrs/i3in2.h'`; then echo shar: \"'abc/ihdrs/i3in2.h'\" unpacked with wrong size! fi # end of 'abc/ihdrs/i3in2.h' fi if test -f 'abc/ihdrs/i3scr.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ihdrs/i3scr.h'\" else echo shar: Extracting \"'abc/ihdrs/i3scr.h'\" \(244 characters\) sed "s/^X//" >'abc/ihdrs/i3scr.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X X/* screen */ X Xextern value iname; Xextern bool outeractive; Xextern bool at_nwl; Xextern bool Eof; Xextern FILE *ifile; Xextern FILE *sv_ifile; Xchar *getline(); Xchar q_answer(); X END_OF_FILE if test 244 -ne `wc -c <'abc/ihdrs/i3scr.h'`; then echo shar: \"'abc/ihdrs/i3scr.h'\" unpacked with wrong size! fi # end of 'abc/ihdrs/i3scr.h' fi if test -f 'abc/ihdrs/i3sta.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ihdrs/i3sta.h'\" else echo shar: Extracting \"'abc/ihdrs/i3sta.h'\" \(281 characters\) sed "s/^X//" >'abc/ihdrs/i3sta.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X Xextern parsetree pc; /* 'Program counter', current parsetree node */ Xextern parsetree next; /* Next parsetree node (changed by jumps) */ Xextern bool report; /* 'Condition code register', outcome of last test */ END_OF_FILE if test 281 -ne `wc -c <'abc/ihdrs/i3sta.h'`; then echo shar: \"'abc/ihdrs/i3sta.h'\" unpacked with wrong size! fi # end of 'abc/ihdrs/i3sta.h' fi if test -f 'abc/ihdrs/i3typ.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ihdrs/i3typ.h'\" else echo shar: Extracting \"'abc/ihdrs/i3typ.h'\" \(177 characters\) sed "s/^X//" >'abc/ihdrs/i3typ.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1986. */ X X/* Type matching */ X Xtypedef value btype; Xbtype valtype(); Xbtype loctype(); X/* Procedure must_agree(); */ X END_OF_FILE if test 177 -ne `wc -c <'abc/ihdrs/i3typ.h'`; then echo shar: \"'abc/ihdrs/i3typ.h'\" unpacked with wrong size! fi # end of 'abc/ihdrs/i3typ.h' fi if test -f 'abc/lin/etex.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/lin/etex.h'\" else echo shar: Extracting \"'abc/lin/etex.h'\" \(393 characters\) sed "s/^X//" >'abc/lin/etex.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X X#undef Etex X#define Etex Tex X X#define e_length length X#define mk_etext mk_text X#define e_ncharval ncharval X#define e_strval strval X#define e_sstrval sstrval X#define e_fstrval fstrval X#define e_icurtail icurtail X#define e_ibehead ibehead X#define e_concat concat X#define e_concto concato X Xvalue icurtail(); Xvalue ibehead(); X END_OF_FILE if test 393 -ne `wc -c <'abc/lin/etex.h'`; then echo shar: \"'abc/lin/etex.h'\" unpacked with wrong size! fi # end of 'abc/lin/etex.h' fi if test -f 'abc/stc/MF' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/stc/MF'\" else echo shar: Extracting \"'abc/stc/MF'\" \(37 characters\) sed "s/^X//" >'abc/stc/MF' <<'END_OF_FILE' Xall: i2tca.o i2tce.o i2tcp.o i2tcu.o END_OF_FILE if test 37 -ne `wc -c <'abc/stc/MF'`; then echo shar: \"'abc/stc/MF'\" unpacked with wrong size! fi # end of 'abc/stc/MF' fi if test -f 'abc/tc/tc1.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/tc/tc1.c'\" else echo shar: Extracting \"'abc/tc/tc1.c'\" \(355 characters\) sed "s/^X//" >'abc/tc/tc1.c' <<'END_OF_FILE' X/* X * tc1 [term] X * dummy program to test termlib. X * gets entry, counts it, and prints it. X */ X#include <stdio.h> Xchar buf[1024]; Xchar *getenv(); X Xmain(argc, argv) char **argv; { X char *p; X int rc; X X if (argc < 2) X p = getenv("TERM"); X else X p = argv[1]; X rc = tgetent(buf,p); X printf("tgetent returns %d, len=%d, text=\n'%s'\n",rc,strlen(buf),buf); X} END_OF_FILE if test 355 -ne `wc -c <'abc/tc/tc1.c'`; then echo shar: \"'abc/tc/tc1.c'\" unpacked with wrong size! fi # end of 'abc/tc/tc1.c' fi if test -f 'abc/uhdrs/args.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/uhdrs/args.h'\" else echo shar: Extracting \"'abc/uhdrs/args.h'\" \(197 characters\) sed "s/^X//" >'abc/uhdrs/args.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X Xextern char *bws_arg; Xextern char *wsp_arg; X#ifndef NDEBUG Xextern bool dflag; X#ifdef DUMPKEYS Xextern bool kflag; X#endif X#endif END_OF_FILE if test 197 -ne `wc -c <'abc/uhdrs/args.h'`; then echo shar: \"'abc/uhdrs/args.h'\" unpacked with wrong size! fi # end of 'abc/uhdrs/args.h' fi if test -f 'abc/uhdrs/defs.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/uhdrs/defs.h'\" else echo shar: Extracting \"'abc/uhdrs/defs.h'\" \(187 characters\) sed "s/^X//" >'abc/uhdrs/defs.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X X#define MAXHIST 101 /* One more than the number of UNDO's allowed. */ X X#define SUGGBUFSIZE 128 X#define NSUGGSIZE 128 END_OF_FILE if test 187 -ne `wc -c <'abc/uhdrs/defs.h'`; then echo shar: \"'abc/uhdrs/defs.h'\" unpacked with wrong size! fi # end of 'abc/uhdrs/defs.h' fi if test -f 'abc/uhdrs/osconf.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/uhdrs/osconf.h'\" else echo shar: Extracting \"'abc/uhdrs/osconf.h'\" \(380 characters\) sed "s/^X//" >'abc/uhdrs/osconf.h' <<'END_OF_FILE' X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1988. */ X X/* Operating system dependent ABC configuration */ X/* This contains the things ../mkconfig.c needs */ X X#include <stdio.h> X Xtypedef char literal; /* to emphasize meaning only */ X Xtypedef short reftype; /* type used for reference counts */ X#define Maxrefcnt Maxintlet /* Maxintlet is calculated in config.h */ END_OF_FILE if test 380 -ne `wc -c <'abc/uhdrs/osconf.h'`; then echo shar: \"'abc/uhdrs/osconf.h'\" unpacked with wrong size! fi # end of 'abc/uhdrs/osconf.h' fi if test -f 'abc/ukeys/abckeys_2640b' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/ukeys/abckeys_2640b'\" else echo shar: Extracting \"'abc/ukeys/abckeys_2640b'\" \(484 characters\) sed "s/^X//" >'abc/ukeys/abckeys_2640b' <<'END_OF_FILE' X[widen] = "\033p" = "Cntl-f1" X[extend] = "\033q" = "Cntl-f2" X[first] = "\033r" = "Cntl-f3" X[last] = "\033s" = "Cntl-f4" X# because arrow keys are drawn on the keyboards keys: X[up] = "\033t" = "Cntl-f5" X[down] = "\033u" = "Cntl-f6" X[left] = "\033v" = "Cntl-f7" X[right] = "\033w" = "Cntl-f8" X[previous] = "\033[" = "ESC-[" X[next] = "\033]" = "ESC-]" X[upline] = "\033k" = "ESC-k" X[downline] = "\033j" = "ESC-j" X[term-init]= "" = "" X[term-done]= "" = "" END_OF_FILE if test 484 -ne `wc -c <'abc/ukeys/abckeys_2640b'`; then echo shar: \"'abc/ukeys/abckeys_2640b'\" unpacked with wrong size! fi # end of 'abc/ukeys/abckeys_2640b' fi if test -f 'abc/unix/MF' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'abc/unix/MF'\" else echo shar: Extracting \"'abc/unix/MF'\" \(81 characters\) sed "s/^X//" >'abc/unix/MF' <<'END_OF_FILE' Xall: u1dir.o u1edit.o u1file.o u1keys.o u1main.o u1os.o u1sig.o u1time.o u1trm.o END_OF_FILE if test 81 -ne `wc -c <'abc/unix/MF'`; then echo shar: \"'abc/unix/MF'\" unpacked with wrong size! fi # end of 'abc/unix/MF' fi echo shar: End of archive 25 \(of 25\). cp /dev/null ark25isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 25 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still must unpack the following archives: echo " " ${MISSING} fi exit 0 # Just in case... -- Please send comp.sources.unix-related mail to rsalz@uunet.uu.net. Use a domain-based address or give alternate paths, or you may lose out.