v23i104: ABC interactive programming environment, Part25/25

Rich Salz rsalz at bbn.com
Fri Dec 21 03:18:26 AEST 1990


Submitted-by: Steven Pemberton <steven at 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 at 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 at 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 at 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 at 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 at 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 at 2 IN line
XTO.WORD.END:
X   WHILE alphabetic line|1:
X      PUT word^line|1, line at 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 at uunet.uu.net.
Use a domain-based address or give alternate paths, or you may lose out.



More information about the Comp.sources.unix mailing list