home *** CD-ROM | disk | FTP | other *** search
/ Really Useful CD 1 / ReallyUsefulCD1.iso / extras / languages / smalltalk / read_me_2 next >
Encoding:
Text File  |  1990-05-23  |  6.8 KB  |  165 lines

  1.  
  2. Introduction to Little Smalltalk on the Archimedes
  3. __________________________________________________
  4.  
  5.  
  6. This distribution disk holds the files you need to use and examine Little
  7. Smalltalk. There is a runnable version of lst and lstparse in the LIBRARY 
  8. directory with a usable 'prelude' file in the lst.prelude directory.
  9.  
  10. All the source files are also on the disk, so that you can examine how Little
  11. Smalltalk works and modify it to try out your own ideas. Please note that
  12. this is public domain software, so you are charged only for the disk and
  13. the book (if you buy it of course!) and you are expected to retain the 
  14. disclaimers in the source files should you pass on the code. Also, Smalltalk
  15. Express and Smalltalk Exchange cannot commit any support; we will TRY to help
  16. when possible. 
  17.  
  18.  
  19. Where is it all?
  20. ________________
  21.  
  22. $.LIBRARY
  23.         This dir holds the 2 main programs; lst and lstparse.
  24.         Copy these into your library if you want to install LST on 
  25.         another disk.
  26.  
  27. $.tmp
  28.         An empty dir for use as temporary file storage during use of
  29.         lstparse etc. If you don't have $.tmp, you will almost certainly
  30.         get a "can't happen 22" error at some time.
  31.  
  32. $.lst
  33.         read_me - this file!
  34.         .sources - the dir holding;
  35.                 .c - all the source files
  36.                 .h - header files
  37.                 .o - where object files are kept. No object files are provided
  38.                      since if you need them, you will have the C compiler to
  39.                      produce them! One exception is o.systemcall, since you
  40.                      may well lack an object assembler.
  41.                 cc_lst - an EXEC file to compile all the sourcees
  42.                 link_lst - an EXEC file to build the .o files into a new
  43.                         copy of lst, which will exist in this dir so that
  44.                         it does NOT overwrite the (hopefully) working
  45.                         version in the library until you have tested it.
  46.                         Once you are happy with the new version, delete the old
  47.                         one and rename the new.
  48.         .parse
  49.                 .c - source files for the parser
  50.                 .h - header files. cmds is different to cmds in sources.h - 
  51.                      see later.
  52.                 cc_parse & linkparse build a new version of lstparse as above
  53.         .prelude - all the smalltalk source that is used to implement most
  54.                 of the system function. There is an EXEC file to build a new
  55.                 'standard' prelude, which is them file loaded each start
  56.                 time, called make_std. Note that the lstparse program
  57.                 take 2 args and reads code from the first and APPENDs to
  58.                 the second. This is changed from the original because IO
  59.                 redirection is a little dodgy in Arthur 1.2
  60.         .tests - some LST programs to test the operation of LST and act as
  61.                 examples. Study will be rewarded.
  62.  
  63. Using Little Smalltalk
  64. ______________________
  65.  
  66. The only files that you must have to use lst are:- lst, lstparse and the
  67. 'standard' prelude. You must have the FPE rmloaded. Simply type "lst" and
  68. wait a moment until the lst prompt comes up. After that, you need to know a
  69. bit about Little Smalltalk for which we recommend Tim Budd's book.
  70. To edit a class, you must have an editor in the library call "tw" - we use
  71. a version of TWIN 'filemove'd to run at &8000. Unfortunately, ARMBE is not
  72. suitable, since it insists on adding line numbers. 
  73.  
  74. To exit Little Smalltalk you should type ^D as described in the book.
  75.  
  76.  
  77. Directory structure required
  78. ____________________________ 
  79.  
  80. If you want to put just a running verion of LST onto another disk, all you
  81. need is to ensure that LST & LSTPARSE are in the library, and that the standard 
  82. prelude is called $.lst.prelude.standard.
  83.  
  84. Notes on the source code files
  85. ______________________________
  86.  
  87. The code is generally quite intelligable (for C). To make any alterations you
  88. must have a C compiler and linker- the current system was built using the
  89. Norcroft C compiler from Acorn. At various places in the code you will find
  90. comments with TPR in; these are places where Smalltalk Express staff
  91. had to make small alterations to change Little Smalltalk from UN*X to Arthur
  92. based. Feel free to alter anything, and please tell us if you come up with any
  93. amazing revelations! An interface to Plot3 commands is provided in c.armGraph
  94. so that the simple graphics of LST are available (try tests.penshow).
  95.  
  96. Note on sstr, h.cmds & c.syms
  97. _____________________________
  98.  
  99. sstr is a program intended to convert "string" to an address pointing to a 
  100. unique copy of "string" in an array. This is used to build a table of most of
  101. the symbols needed so that lst will not have to make new ones too often. 
  102. To make a new version of sources.c.syms, use "sstr -t symbols { > c.syms }"
  103. and then edit the resultant file to add 
  104.  
  105.         #include "object.h"
  106.         #include "symbol.h"
  107.  
  108. to the beginning. You are unlikely to need to worry about this!
  109. A similar process will be needed if yout change sources.h.cmds - you should in
  110. fact edit parser.h.cmds, which will have a list of "" surounded strings. Then
  111. run sstr like this " sstr symbols { < parser.h.cmds > sources.h.cmds }" which
  112. will leave a new h.cmds to be used in recompiling lst. This would all be much
  113. easier with a Make utiity of course, but we don`t have that yet!
  114. Unless you make very deep, major changes, you will not need to worry about sstr 
  115.  
  116. BUGS
  117. ____
  118.  
  119. Yes, there are some!
  120.  
  121. 1. try 'tests.file' - you will notice that the system claims to be unable to
  122. open a file to write. This seems to be a C error, as we cannot find problems
  123. elsewhere. Sorry.
  124.  
  125. 2. Save & Load of entire memory images is currently not implemented
  126.  
  127. 3. The backtrace() function in courier.c is commented out as a bug has been 
  128. found. A test case is :
  129.                           aBlock:=[10 isEven].
  130.                           aBlock value.
  131. If backtrace() is enabled, this dumps you out of Little Smalltalk with a
  132. "can't happen" error.
  133.  
  134. Notes For A310 Owners
  135. _____________________
  136.  
  137. You will have to reconfigure your system somewhat in order to make enough
  138. space to run LST.
  139. First, save your current configuration. Try
  140. a) Spool oldconf
  141. b) status
  142. c) spool
  143. Then
  144. conf. screensize 3
  145. conf. systemsize 0
  146. conf. spritesize 0
  147. conf. rmasize 4
  148. and reboot to set these values.
  149. You can only use mode 0 in this state, but since LST does not support colour,
  150. that is hardly a problem!
  151. This config uses 184k, so there is 840k left for LST and LSTPARSE. LST is set 
  152. to run at 256K up, so it has 616K available, which is just enough. If you are 
  153. willing to exit LST each time you want to edit/parse some code, you could
  154. ask for a version to run at the default start address and gain 224K ; it's
  155. a little tedious though.
  156.  
  157. Tim Rowledge
  158. Smalltalk Exchange
  159. Hyde House
  160. The Hyde
  161. Edgware
  162. London NW9 6LA
  163.  
  164.  
  165.