


          TILE(1)                                                   TILE(1)


          NAME
                 tile   c  based forth-83 standard compiler and programming
                 environment

          SYNOPSIS
                 forth [dpru size] [file ...] [a argument ...]
                 forth [dpru size] [file ...]  [s  start-symbol]  [argument
                 ...]

          DESCRIPTION
                 forth uses a command syntax much like a compiler. The file
                 arguments are loaded before the interaction  top  loop  is
                 started.  A  startsymbol  may also be given as an argument
                 making  forth  act  as  a  `compile-and-go'  compiler   of
                 applications.  Any  extra  options or parameters passed to
                 forth may be accessed by the application. As extensions of
                 the   Forth-83  Standard  forth  supports  floating  point
                 numbers,  strings,  multi-tasking,   exceptions,   private
                 definitions, argument binding and local variables and much
                 more.  Written in C the kernel may be used  as  a  general
                 purpose    environment   for   interactive   testing   and
                 development of C-code.

                 To provide  an  interactive  programming  environment  for
                 developing  programs  forth may be run as a sub-process to
                 GNU Emacs in a specialized forthmode.  Source code may  be
                 edited  and  directly tested by passing either a paragraph
                 of code or  a  whole  buffer  to  forth  from  Emacs.  The
                 forthmode   also   supports  documentation  retrieval  and
                 automatic  indentation  of  forth   code,   comments   and
                 definitions.

                 An  environment  variable  is  used to specify file search
                 paths and support management of libraries of source  code.
                 forth  compiles  faster  than  most  compilers  link  with
                 approx. 70.000 lines per minute on a  SUN-3/60  (and  over
                 200.000  on  a SUN-SPARCstation 1).  Code is only saved in
                 source form.  Loading all  available  library  code  takes
                 less than a second.

          OPTIONS
                 ddictionary-size
                        Size  of dictionary in bytes. Default allocation is
                        1024K bytes.

                 pparameters-stack-size
                        Size of foreground process parameter stack in cells
                        (32-bits).  Default allocation is 256 cells.

                 rreturn-stack-size
                        Size  of  foreground  process return stack in cells
                        (32-bits).  Default allocation is 256 cells.





          Version 3.33             August 16, 1990                        1





          TILE(1)                                                   TILE(1)


                 uuser-area-size
                        Size of foreground  process  user  area  in  bytes.
                        Default allocation is 1024 bytes.

                 a argument ...
                        Allows  access  of  the  rest of the arguments. The
                        first arguments is the string forth.

                 s start-symbol
                        Defines the symbol to be used instead of the normal
                        interaction  top-loop.  The startsymbol becomes the
                        first argument and any  further  arguments  may  be
                        accessed  by  the application. The library contains
                        some examples of argument fetching functions.

          LIBRARIES
                 The  tile   environment   consists   currently   of   five
                 directories with C kernel source, forth-83 source library,
                 test and example code,  manuals  and  documentation.   The
                 directory  src  contains  all the C-level code and the GNU
                 emacs programming environment.  The directory lib contains
                 Forth-83  source  code  modules, consisting of a number of
                 data modelling, and debugging tools, and high level multi-
                 tasking   constructs   such   as   semaphores,   channels,
                 rendezvous and task types.  Documentation  of  the  source
                 code  and the kernel are found in the directory man and in
                 the directory doc.  These  are  use  for  handling  manual
                 commands   or  documentation  search  in  the  programming
                 environment  (in  GNU  emacs).  Test  programs  for   each
                 forth-83 source library code may be found in the directory
                 tst.

          FILES
                 file.f83            Forth-83 source input file
                 file.tst            Forth-83 source test file
                 file.3              Forth-83 source manual pages
                 file.doc            Forth-83 source documentation file
                 kernel.c..h..v      multi-tasking c based Forth-83  kernel
                                     and extension vocabularies
                 error.c..h          error management package
                 io.c..h             multi-tasking input package
                 memory.c..h         memory management package
                 forth.c             this application
                 forth.el            GNU Emacs forth-mode source
                 tile.1              this manual
                 Makefile            puts the forth application together

          ENVIRONMENT
                 TILE                Path for the tile directory structure.
                                     A normal setting for a single user  is
                                     `$HOME/tile'.

                 TILEPATH            Search  path for library source files.
                                     A       normal       setting        is



          Version 3.33             August 16, 1990                        2





          TILE(1)                                                   TILE(1)


                                     `$TILE/lib:$TILE/tst' which will allow
                                     the file include function in forth  to
                                     locate  library  source  files  in the
                                     current directory ($PWD), the standard
                                     library,  and  the  test code library.
                                     forth also looks  for  files  at  your
                                     home directory ($HOME).

                 MANPATH             Search  path  for manual source files.
                                     Used  by  man  for  access  of  manual
                                     pages.    Setting   this   environment
                                     variable to `$TILE/man:/usr/share/man'
                                     will  allow  you  to  read  the  forth
                                     manual pages.

          GNU EMACS FORTH MODE
                 The GNU Emacs forth-mode supports interactive programming,
                 automatic  indentation  of  source code, and documentation
                 search of the forth kernel and library  within  Emacs.  To
                 allow  automatic  loading  of  the  mode  your .emacs file
                 should contain the following definitions;

                   (set-variable 'load-path
                                 (append load-path
                                         '(nil "~/tile")))
                   (setq forth-help-load-path '(nil "~/tile/doc"))
                   (setq auto-mode-alist
                         (append '(("\\.tst$" . forth-mode)
                                  ("\\.f83$" . forth-mode))
                                  auto-mode-alist))
                   (autoload 'forth-mode "forth")

                 Further documentation about the forthmode may be found  by
                 giving the command `M-x describe-mode' in Emacs.

          BUGS
                 Bugs  should  be  reported  to  mip@ida.liu.se.  Bugs tend
                 actually to be fixed if they can be isolated, so it is  in
                 your  interest  to report them in such a way that they can
                 be easily reproduced according to get newer version.

          COPYING
                 Copyright (C) 1989-90 Mikael R.K. Patel
                 Permission is granted  to  make  and  distribute  verbatim
                 copies  of  this  manual provided the copyright notice and
                 this permission notice are preserved on all copies.
                 Permission is granted  to  copy  and  distribute  modified
                 versions  of this manual under the conditions for verbatim
                 copying, provided also  that  the  section  entitled  "GNU
                 General  Public  License"  is  included  exactly as in the
                 original, and provided that the entire  resulting  derived
                 work is distributed under the terms of a permission notice
                 identical to this one.
                 Permission is granted to copy and distribute  translations



          Version 3.33             August 16, 1990                        3





          TILE(1)                                                   TILE(1)


                 of  this  manual  into  another  language, under the above
                 conditions for modified versions, except that the  section
                 entitled "GNU General Public License" may be included in a
                 translation approved by  the  author  instead  of  in  the
                 original English.

          AUTHORS
                 Mikael R.K. Patel
                 Computer Aided Design Laboratory (CADLAB)
                 Department of Computer and Information Science
                 Linkoping University
                 S-581 83 LINKOPING
                 SWEDEN
                 Email: mip@ida.liu.se











































          Version 3.33             August 16, 1990                        4


