Diff for /gforth/Attic/gforth.ds between versions 1.20 and 1.24

version 1.20, 1995/10/29 21:35:11 version 1.24, 1995/11/15 17:29:07
Line 9 Line 9
 @ifinfo  @ifinfo
 This file documents Gforth 0.1  This file documents Gforth 0.1
   
 Copyright @copyright{} 1994 Gforth Development Group  Copyright @copyright{} 1995 Free Software Foundation, Inc.
   
      Permission is granted to make and distribute verbatim copies of       Permission is granted to make and distribute verbatim copies of
      this manual provided the copyright notice and this permission notice       this manual provided the copyright notice and this permission notice
Line 36  Copyright @copyright{} 1994 Gforth Devel Line 36  Copyright @copyright{} 1994 Gforth Devel
      of in the original English.       of in the original English.
 @end ifinfo  @end ifinfo
   
   @finalout
 @titlepage  @titlepage
 @sp 10  @sp 10
 @center @titlefont{Gforth Manual}  @center @titlefont{Gforth Manual}
Line 49  Copyright @copyright{} 1994 Gforth Devel Line 50  Copyright @copyright{} 1994 Gforth Devel
 @comment  The following two commands start the copyright page.  @comment  The following two commands start the copyright page.
 @page  @page
 @vskip 0pt plus 1filll  @vskip 0pt plus 1filll
 Copyright @copyright{} 1994 Gforth Development Group  Copyright @copyright{} 1995 Free Software Foundation, Inc.
   
 @comment !! Published by ... or You can get a copy of this manual ...  @comment !! Published by ... or You can get a copy of this manual ...
   
Line 75  Copyright @copyright{} 1994 Gforth Devel Line 76  Copyright @copyright{} 1994 Gforth Devel
 @node Top, License, (dir), (dir)  @node Top, License, (dir), (dir)
 @ifinfo  @ifinfo
 Gforth is a free implementation of ANS Forth available on many  Gforth is a free implementation of ANS Forth available on many
 personal machines. This manual corresponds to version 0.0.  personal machines. This manual corresponds to version 0.1.
 @end ifinfo  @end ifinfo
   
 @menu  @menu
Line 487  library.  If this is what you want to do Line 488  library.  If this is what you want to do
 Public License instead of this License.  Public License instead of this License.
   
 @iftex  @iftex
   @node    Preface
   @comment node-name,     next,           previous, up
 @unnumbered Preface  @unnumbered Preface
   @cindex Preface
 This manual documents Gforth. The reader is expected to know  This manual documents Gforth. The reader is expected to know
 Forth. This manual is primarily a reference manual. @xref{Other Books}  Forth. This manual is primarily a reference manual. @xref{Other Books}
 for introductory material.  for introductory material.
Line 555  can also get it from Global Engineering Line 559  can also get it from Global Engineering
 for publication is available electronically and for free in some MS Word  for publication is available electronically and for free in some MS Word
 format, and it has been converted to HTML. Some pointers to these  format, and it has been converted to HTML. Some pointers to these
 versions can be found through  versions can be found through
 http://www.complang.tuwien.ac.at/projects/forth.html.  @*@file{http://www.complang.tuwien.ac.at/projects/forth.html}.
   
 @cite{Forth: The new model} by Jack Woehr (!! Publisher) is an  @cite{Forth: The new model} by Jack Woehr (Prentice-Hall, 1993) is an
 introductory book based on a draft version of the standard. It does not  introductory book based on a draft version of the standard. It does not
 cover the whole standard. It also contains interesting background  cover the whole standard. It also contains interesting background
 information (Jack Woehr was in the ANS Forth Technical Committe). It is  information (Jack Woehr was in the ANS Forth Technical Committe). It is
Line 642  Forth words, you have to quote them or u Line 646  Forth words, you have to quote them or u
 after processing the command line (instead of entering interactive mode)  after processing the command line (instead of entering interactive mode)
 append @code{-e bye} to the command line.  append @code{-e bye} to the command line.
   
   If you have several versions of Gforth installed, @code{gforth} will
   invoke the version that was installed last. @code{gforth-@var{version}}
   invokes a specific version. You may want to use the option
   @code{--path}, if your environment contains the variable
   @code{GFORTHPATH}.
   
 Not yet implemented:  Not yet implemented:
 On startup the system first executes the system initialization file  On startup the system first executes the system initialization file
 (unless the option @code{--no-init-file} is given; note that the system  (unless the option @code{--no-init-file} is given; note that the system
Line 1434  laden with restrictions. Therefore, we p Line 1444  laden with restrictions. Therefore, we p
 locals wordset, but also our own, more powerful locals wordset (we  locals wordset, but also our own, more powerful locals wordset (we
 implemented the ANS Forth locals wordset through our locals wordset).  implemented the ANS Forth locals wordset through our locals wordset).
   
   The ideas in this section have also been published in the paper
   @cite{Automatic Scoping of Local Variables} by M. Anton Ertl, presented
   at EuroForth '94; it is available at
   @*@file{http://www.complang.tuwien.ac.at/papers/ertl94l.ps.gz}.
   
 @menu  @menu
 * Gforth locals::                 * Gforth locals::               
 * ANS Forth locals::              * ANS Forth locals::            
Line 3200  file: Line 3215  file:
 Reading this section is not necessary for programming with Gforth. It  Reading this section is not necessary for programming with Gforth. It
 should be helpful for finding your way in the Gforth sources.  should be helpful for finding your way in the Gforth sources.
   
   The ideas in this section have also been published in the papers
   @cite{ANS fig/GNU/??? Forth} (in German) by Bernd Paysan, presented at
   the Forth-Tagung '93 and @cite{A Portable Forth Engine} by M. Anton
   Ertl, presented at EuroForth '93; the latter is available at
   @*@file{http://www.complang.tuwien.ac.at/papers/ertl93.ps.Z}.
   
 @menu  @menu
 * Portability::                   * Portability::                 
 * Threading::                     * Threading::                   
Line 3601  We used four small benchmarks: the ubiqu Line 3622  We used four small benchmarks: the ubiqu
 matrix multiplication come from the Stanford integer benchmarks and have  matrix multiplication come from the Stanford integer benchmarks and have
 been translated into Forth by Martin Fraeman; we used the versions  been translated into Forth by Martin Fraeman; we used the versions
 included in the TILE Forth package; and a recursive Fibonacci number  included in the TILE Forth package; and a recursive Fibonacci number
 computation for benchmark calling performance. The following table shows  computation for benchmarking calling performance. The following table shows
 the time taken for the benchmarks scaled by the time taken by Gforth (in  the time taken for the benchmarks scaled by the time taken by Gforth (in
 other words, it shows the speedup factor that Gforth achieved over the  other words, it shows the speedup factor that Gforth achieved over the
 other systems).  other systems).
Line 3638  machine registers by itself and would no Line 3659  machine registers by itself and would no
 register declarations, giving a 1.3 times slower engine (on a 486DX2/66  register declarations, giving a 1.3 times slower engine (on a 486DX2/66
 running the Sieve) than the one measured above.  running the Sieve) than the one measured above.
   
   The numbers in this section have also been published in the paper
   @cite{Translating Forth to Efficient C} by M. Anton Ertl and Martin
   Maierhofer, presented at EuroForth '95. It is available at
   @*@file{http://www.complang.tuwien.ac.at/papers/ertl&maierhofer95.ps.gz};
   it also contains numbers for some native code systems. You can find
   numbers for Gforth on various machines in @file{Benchres}.
   
 @node Bugs, Pedigree, Internals, Top  @node Bugs, Pedigree, Internals, Top
 @chapter Bugs  @chapter Bugs
   
 Known bugs are described in the file BUGS in the Gforth distribution.  Known bugs are described in the file BUGS in the Gforth distribution.
   
 If you find a bug, please send a bug report to !!. A bug report should  If you find a bug, please send a bug report to
   @code{gforth-bugs@@mips.complang.tuwien.ac.at}. A bug report should
 describe the Gforth version used (it is announced at the start of an  describe the Gforth version used (it is announced at the start of an
 interactive Gforth session), the machine and operating system (on Unix  interactive Gforth session), the machine and operating system (on Unix
 systems you can use @code{uname -a} to produce this information), the  systems you can use @code{uname -a} to produce this information), the
 installation options (!! a way to find them out), and a complete list of  installation options (send the @code{config.status} file), and a
 changes you (or your installer) have made to the Gforth sources (if  complete list of changes you (or your installer) have made to the Gforth
 any); it should contain a program (or a sequence of keyboard commands)  sources (if any); it should contain a program (or a sequence of keyboard
 that reproduces the bug and a description of what you think constitutes  commands) that reproduces the bug and a description of what you think
 the buggy behaviour.  constitutes the buggy behaviour.
   
 For a thorough guide on reporting bugs read @ref{Bug Reporting, , How  For a thorough guide on reporting bugs read @ref{Bug Reporting, , How
 to Report Bugs, gcc.info, GNU C Manual}.  to Report Bugs, gcc.info, GNU C Manual}.
Line 3661  to Report Bugs, gcc.info, GNU C Manual}. Line 3690  to Report Bugs, gcc.info, GNU C Manual}.
 @chapter Pedigree  @chapter Pedigree
   
 Gforth descends from BigForth (1993) and fig-Forth. Gforth and PFE (by  Gforth descends from BigForth (1993) and fig-Forth. Gforth and PFE (by
 Dirk Zoller) will cross-fertilize each other. Of course, a significant part of the design of Gforth was prescribed by ANS Forth.  Dirk Zoller) will cross-fertilize each other. Of course, a significant
   part of the design of Gforth was prescribed by ANS Forth.
 Bernd Paysan wrote BigForth, a child of VolksForth.  
   
 VolksForth descends from F83. !! Authors? When?  Bernd Paysan wrote BigForth, a descendent from TurboForth, an unreleased
   32 bit native code version of VolksForth for the Atari ST, written
   mostly by Dietrich Weineck.
   
   VolksForth descends from F83. It was written by Klaus Schleisiek, Bernd
   Pennemann, Georg Rehfeld and Dietrich Weineck for the C64 (called
   UltraForth there) in the mid-80s and ported to the Atari ST in 1986.
   
 Laxen and Perry wrote F83 as a model implementation of the  Laxen and Perry wrote F83 as a model implementation of the
 Forth-83 standard. !! Pedigree? When?  Forth-83 standard. !! Pedigree? When?
   
 A team led by Bill Ragsdale implemented fig-Forth on many processors in  A team led by Bill Ragsdale implemented fig-Forth on many processors in
 1979. Dean Sanderson and Bill Ragsdale developed the original  1979. Robert Selzer and Bill Ragsdale developed the original
 implementation of fig-Forth based on microForth.  implementation of fig-Forth for the 6502 based on microForth.
   
   The principal architect of microForth was Dean Sanderson. microForth was
   FORTH, Inc.'s first off-the-shelf product. It was developped in 1976 for
   the 1802, and subsequently implemented on the 8080, the 6800 and the
   Z80.
   
 !! microForth pedigree  All earlier Forth systems were custom-made, usually by Charles Moore,
   who discovered (as he puts it) Forth in the late 60s.
   
 A part of the information in this section comes from @cite{The Evolution  A part of the information in this section comes from @cite{The Evolution
 of Forth} by Elizabeth D. Rather, Donald R. Colburn and Charles  of Forth} by Elizabeth D. Rather, Donald R. Colburn and Charles

Removed from v.1.20  
changed lines
  Added in v.1.24


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>