home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / EFFO / pd6.lzh / DOC / blocks.doc < prev    next >
Text File  |  1989-12-21  |  3KB  |  71 lines

  1. BLOCKS(2)               LITERAL CODE BLOCK FUNCTIONS                  BLOCKS(2)
  2.  
  3. NAME
  4.        blocks - definition and execution of code blocks
  5.  
  6. SYNOPSIS
  7.        #include blocks.f83
  8.  
  9.        blocks ( -- ) 
  10.  
  11.        +block ( addr1 -- addr2) private
  12.  
  13.        block[ ( -- ) immediate
  14.        ]; ( -- block ) immediate
  15.  
  16.        call ( block  -- )
  17.  
  18. DESCRIPTION
  19.        Allows definition and execution of code blocks. An alternative
  20.        to passing functions as arguments.
  21.  
  22. +block ( addr1 -- addr2) private
  23.        Field access variable to calculate the offset for in-line block
  24.        literals in colon definitions.
  25.  
  26. block[ ( -- ) immediate
  27.        Used in the following form:     
  28.                block[ <block-definition> ];    
  29.        Start the definition of a code block. Compiles a code block until
  30.        "];" and returns the address to the code block. The code block 
  31.        may be executed using "call". Code block may contain definitions
  32.        of other code blocks. A code block should not contain "does>" or
  33.        "exception>" as these require a vocabulary entry.
  34.  
  35. ]; ( -- block) immediate
  36.        Marks the end of a code block. Returns a pointer to the code block.
  37.  
  38. call ( block  -- )
  39.        Executes a code block. Any parameters used by the code block are
  40.        passed as usual on the parameter stack. Return values are handled
  41.        in the same manner.
  42.  
  43. SEE ALSO
  44.        forth(1), compiler(1)
  45.  
  46. COPYING
  47.        Copyright (C) 1989 Mikael R.K. Patel
  48.        Permission is granted to make and distribute verbatim copies
  49.        of this manual provided the copyright notice and this permission
  50.        notice are preserved on all copies.
  51.        Permission is granted to copy and distribute modified versions
  52.        of this manual under the conditions for verbatim copying, 
  53.        provided also that the section entitled "GNU General Public
  54.        License" is included exactly as in the original, and provided
  55.        that the entire resulting derived work is distributed under
  56.        the terms of a permission notice identical to this one.
  57.        Permission is granted to copy and distribute translations of
  58.        this manual into another language, under the above conditions
  59.        for modified versions, except that the section entitled "GNU
  60.        General Public License" may be included in a translation approved
  61.        by the author instead of in the original English.
  62.  
  63. AUTHOR
  64.        Mikael R.K. Patel
  65.        Computer Aided Design Laboratory (CADLAB)
  66.        Department of Computer and Information Science
  67.        Linkoping University
  68.        S-581 83 LINKOPING
  69.        SWEDEN
  70.        Email: mip@ida.liu.se
  71.