earlw@pesnta.UUCP (Earl Wallace) (06/13/85)
#! /bin/sh # # This is an another posting of the Little Smalltalk source, the last posting # of this source went out in 5 parts and they were too big (>200k) for most # sites so I redid the whole mess to keep the files around the 50k range. # # The complete set is now 20 parts. # # P.S. - If you don't receive all 20 parts within 5 days, drop me a line. # Also, I have the Rand sources of May 1984, if someone has a more # updated copy, I'll be happy to post them (or YOU can post them :-)) # # -earlw@pesnta # #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # LOGFILE # Makefile # READ_ME # disclaim # docs/BUGS # docs/INDEX # docs/Makefile # This archive created: Thu Jun 13 11:31:33 1985 # By: Earl Wallace (Perkin-Elmer Data Systems Group / Customer Service) export PATH; PATH=/bin:$PATH if test -f 'LOGFILE' then echo shar: will not over-write existing file "'LOGFILE'" else cat << \SHAR_EOF > 'LOGFILE' echo "Installing Little Smalltalk System" Installing Little Smalltalk System cd parser ; make install cc -c y.tab.c cc -c parse1.c cc -c parse2.c cc -o parse y.tab.o parse1.o parse2.o -lm mv parse ../bin cd sources ; make install cp ../parser/drive.h . sstr symbols <../parser/cmds.h >cmds.h cp ../parser/env.h . cc -c main.c cc -c object.c cc -c line.c cc -c class.c cc -c number.c cc -c symbol.c cc -c string.c cc -c byte.c cc -c array.c cc -c file.c cc -c primitive.c cc -c syms.c cc -c cldict.c cc -c process.c cc -c interp.c cc -c block.c cc -c courier.c cc -c lex.c cc -c drive.c cc -c lexcmd.c cc -o st main.o object.o line.o class.o number.o symbol.o string.o byte.o array.o file.o primitive.o syms.o cldict.o process.o interp.o block.o courier.o lex.o drive.o lexcmd.o -lm mv st ../bin cd prelude ; make install make fastsave ../bin/st -m <savescript Little Smalltalk cd tests ; make install echo Performing Self Checking Tests Performing Self Checking Tests make basic.test ../bin/st -m basic.st <in | diff - basic.out make blocks.test ../bin/st -m blocks.st <in | diff - blocks.out make fork.test ../bin/st -m fork.st <in | diff - fork.out make new.test ../bin/st -m new.st <in | diff - new.out make super.test ../bin/st -m super.st <in | diff - super.out make copy.test ../bin/st -m copy.st <in | diff - copy.out make num.test ../bin/st -m num.st <in | diff - num.out make file.test ../bin/st -m file.st <in | diff - file.out make primes.test ../bin/st -m primes.st <in | diff - primes.out make collect.test ../bin/st -m collect.st <in | diff - collect.out make 4queen.test ../bin/st -m 4queen.st <in | diff - 4queen.out echo The following produce cycles, thus have nonzero differences The following produce cycles, thus have nonzero differences make phil.test ../bin/st -m phil.st <in | diff - phil.out echo Differences in random numbers may change results in following Differences in random numbers may change results in following make sim1.test ../bin/st -m sim1.st <in | diff - sim1.out 4c4 < customer received at 7 --- > customer received at 5 8c8 < customer received at 9 --- > customer received at 10 12c12 < customer received at 17 --- > customer received at 14 14c14 < customer received at 21 --- > customer received at 19 16c16 < customer received at 25 --- > customer received at 23 18c18,20 < profits are 4.08 --- > customer received at 27 > customer has 3 scoops > profits are 4.59 *** Error code 1 *** Error code 1 (ignored) make sim2.test ../bin/st -m sim2.st <in | diff - sim2.out 3,5c3,5 < group of 6 have 8 scoops < customer received at 7 < group of 6 have 9 scoops --- > group of 7 have 10 scoops > customer received at 5 > group of 7 have 9 scoops 7,9c7,9 < group of 6 have 7 scoops < customer received at 9 < group of 6 have 11 scoops --- > group of 7 have 11 scoops > customer received at 10 > group of 7 have 7 scoops 11,18c11,20 < group of 6 have 10 scoops < customer received at 17 < group of 6 have 8 scoops < customer received at 21 < group of 6 have 6 scoops < customer received at 25 < group of 6 have 7 scoops < profits are 11.22 --- > group of 7 have 9 scoops > customer received at 14 > group of 7 have 10 scoops > customer received at 19 > group of 7 have 11 scoops > customer received at 23 > group of 7 have 8 scoops > customer received at 27 > group of 7 have 8 scoops > profits are 14.11 *** Error code 1 *** Error code 1 (ignored) echo Finished Self Checking Tests Finished Self Checking Tests SHAR_EOF if test 3563 -ne "`wc -c < 'LOGFILE'`" then echo shar: error transmitting "'LOGFILE'" '(should have been 3563 characters)' fi fi # end of overwriting check if test -f 'Makefile' then echo shar: will not over-write existing file "'Makefile'" else cat << \SHAR_EOF > 'Makefile' install: @echo "Installing Little Smalltalk System" cd parser ; make install cd sources ; make install cd prelude ; make install cd tests ; make install clean: cd sources; make clean cd parser; make clean shar: @echo shar started... shar -c Makefile READ_ME disclaim bin symbols \ parser newsletters tests > lst.1 shar -c sources > lst.2 shar -c prelude > lst.3 shar -c projects > lst.4 shar -c docs > lst.5 @echo shar completed. tartape: tar cv Makefile unbundle *.bundle projects newsletters 800tartape: tar cvf /dev/rmt0 Makefile unbundle *.bundle projects newsletters gone: @echo "WARNING: You just tried to delete all files!" @echo " If you want to do that use: rm -rf *" SHAR_EOF if test 785 -ne "`wc -c < 'Makefile'`" then echo shar: error transmitting "'Makefile'" '(should have been 785 characters)' fi fi # end of overwriting check if test -f 'READ_ME' then echo shar: will not over-write existing file "'READ_ME'" else cat << \SHAR_EOF > 'READ_ME' NOTE: * Origional XELOS directory was /u/smalltalk/... Grep sources for reference to hard-coding and modify as appropriate * Compiled XELOS objects in ../bin need be moved to an accessible path * Documentation is in ../docs. Unfortunately, macros are for the "ms" set and Makefile is geared for itroff and ditroff. * It works so far! Marc Ries June 1985 SHAR_EOF if test 380 -ne "`wc -c < 'READ_ME'`" then echo shar: error transmitting "'READ_ME'" '(should have been 380 characters)' fi fi # end of overwriting check if test -f 'disclaim' then echo shar: will not over-write existing file "'disclaim'" else cat << \SHAR_EOF > 'disclaim' /* The source code for the Little Smalltalk System may be freely copied provided that the source of all files is acknowledged and that this condition is copied with each file. The Little Smalltalk System is distributed without responsibility for the performance of the program and without any guarantee of maintenance. All questions concerning Little Smalltalk should be addressed to: Professor Tim Budd Department of Computer Science The University of Arizona Tucson, Arizona 85721 USA */ SHAR_EOF if test 512 -ne "`wc -c < 'disclaim'`" then echo shar: error transmitting "'disclaim'" '(should have been 512 characters)' fi fi # end of overwriting check if test -f 'docs/BUGS' then echo shar: will not over-write existing file "'docs/BUGS'" else cat << \SHAR_EOF > 'docs/BUGS' KNOWN BUGS 1/1/85 assigning a block to a variable will usually cause cycles (not really a bug, caused by the implementation - blocks need to access the context, which includes the local variables, which includes the block, which needs to access the context ... ) 1/1/85 The stack size allocated by the parser is fixed. It should be computed by the parser and varied for different methods. 1/1/85 system should be modified to allow execution on system with no ``system()'' system call (whew!). This would involve using two programs - a parser to take class descriptions and turn them into internal form, and the smalltalk system. Should be easy to do, however. 2/1/85 fast loading does not work on the HP9000 4/1/85 if you modify the class Smalltalk (and thereby the pseudo variable smalltalk) the pseudo variable does not get properly initialized. 4/1/85 Because of bootstrapping peculiarities, a few classes (such as Object or Symbol or String) do not respond to the message ``variables'' correctly. SHAR_EOF if test 1022 -ne "`wc -c < 'docs/BUGS'`" then echo shar: error transmitting "'docs/BUGS'" '(should have been 1022 characters)' fi fi # end of overwriting check if test -f 'docs/INDEX' then echo shar: will not over-write existing file "'docs/INDEX'" else cat << \SHAR_EOF > 'docs/INDEX' 1983 :books 0/122 234/101 1984 :books 123/110 addiso :books 0/122 123/110 234/101 adele :books 0/122 123/110 advice :books 234/101 bits :books 234/101 blue :books 0/122 david :books 0/122 enviro :books 123/110 glenn :books 234/101 goldbe :books 0/122 123/110 green :books 234/101 histor :books 234/101 implem :books 0/122 intera :books 123/110 its :books 0/122 krasne :books 234/101 langua :books 0/122 orange :books 123/110 progra :books 123/110 robson :books 0/122 smallt :books 0/122 123/110 234/101 words :books 234/101 SHAR_EOF if test 524 -ne "`wc -c < 'docs/INDEX'`" then echo shar: error transmitting "'docs/INDEX'" '(should have been 524 characters)' fi fi # end of overwriting check if test -f 'docs/Makefile' then echo shar: will not over-write existing file "'docs/Makefile'" else cat << \SHAR_EOF > 'docs/Makefile' TROFF = itroff DITROFF = ditroff FILES = Makefile macros books BUGS INDEX \ install userman apndx1 man syntax INDEX: books invert books installguide: $(TROFF) -ms install manbody: INDEX bib userman | tbl | $(TROFF) -ms appendix1: apndx1 macros tbl apndx1 | $(TROFF) -ms appendix2: $(TROFF) -man man appendix3: pic syntax | $(DITROFF) -ms bundle: $(FILES) bundle $(FILES) >../docs.bundle SHAR_EOF if test 404 -ne "`wc -c < 'docs/Makefile'`" then echo shar: error transmitting "'docs/Makefile'" '(should have been 404 characters)' fi fi # end of overwriting check # End of shell archive exit 0