home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / lang / forth / 3005 < prev    next >
Encoding:
Internet Message Format  |  1992-08-22  |  4.6 KB

  1. Path: sparky!uunet!gatech!pitt!willett!ForthNet
  2. From: ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie)
  3. Newsgroups: comp.lang.forth
  4. Subject: ANS TC Magnet for ROMability
  5. Message-ID: <4003.UUL1.3#5129@willett.pgh.pa.us>
  6. Date: 22 Aug 92 13:27:13 GMT
  7. Organization: EIEI-U
  8. Lines: 106
  9.  
  10. Category 10,  Topic 22
  11. Message 79        Fri Aug 21, 1992
  12. B.RODRIGUEZ2 [Brad]          at 22:54 EDT
  13.  
  14.                  ANSI X3J14 FORTH TECHNICAL PROPOSAL
  15.                      (X3J14 dpANS-3, March 1992)
  16.  
  17. TITLE:  X attribute for cross-interpretable words
  18.  
  19. SECTION:  5.1 Glossary Index Line
  20.           various sections as indicated below
  21.  
  22. SUMMARY:  Identify those Standard words that are available inter-
  23.      pretively in a cross-compiler environment.
  24.  
  25. PROPOSAL:  Add to Table 5.1 in Section 5.1 the following Word
  26.      Definition Attribute:
  27.  
  28.           "X   the word may be used interpretively during cross-
  29.                compilation."
  30.  
  31.      Add the "X" attribute to the following Standard words:
  32.           6.1.0070  '              6.1.2260  SWAP
  33.           6.1.0080  (              6.1.2360  UM*
  34.           6.1.0090  *              6.1.2410  VARIABLE
  35.           6.1.0100  */             6.1.2490  XOR
  36.           6.1.0110  */MOD          6.1.2540  ]
  37.           6.1.0120  +              6.2.0200  .(
  38.           6.1.0150  ,              6.2.0455  :NONAME
  39.           6.1.0160  -              6.2.1485  FALSE
  40.           6.1.0230  /              6.2.1660  HEX
  41.           6.1.0240  /MOD           6.2.2298  TRUE
  42.           6.1.0450  :              6.2.2405  VALUE
  43.           6.1.0550  >BODY          6.2.2535  \
  44.           6.1.0705  ALIGN          7.2.1790  LOAD
  45.           6.1.0706  ALIGNED        7.2.2280  THRU
  46.           6.1.0710  ALLOT          7.2.2535  \
  47.           6.1.0720  AND            8.1.0360  2CONSTANT
  48.           6.1.0860  C,             8.1.0440  2VARIABLE
  49.           6.1.0890  CELLS          11.1.0080  (
  50.           6.1.0898  CHARS          11.1.1718  INCLUDED
  51.           6.1.0950  CONSTANT       11.1.2165  S"
  52.           6.1.1000  CREATE         11.2.2535  \
  53.           6.1.1170  DECIMAL        12.1.1490  FCONSTANT
  54.           6.1.1260  DROP           12.1.1630  FVARIABLE
  55.           6.1.1290  DUP            15.2.0450  :
  56.           6.1.1345  ENVIRONMENT?   15.2.0455  :NONAME
  57.           6.1.1650  HERE           15.2.0740  ASSEMBLER
  58.           6.1.1710  IMMEDIATE      15.2.0930  CODE
  59.           6.1.1890  MOD            15.2.1340  END-CODE
  60.           6.1.1980  OR             15.2.2531  [ELSE]
  61.           6.1.1990  OVER           15.2.2532  [IF]
  62.           6.1.2160  ROT            15.2.2533  [THEN]
  63.           6.1.2165  S"
  64.  
  65.      Note: this list of words is a suggestion, based on my expe-
  66.      rience with cross-compiled applications.  The exact list of
  67.      words to be given the "X" attribute may be modified by the
  68.      Technical Committee, without altering the intent of this
  69.      proposal.
  70.  
  71. RELATED PROPOSALS:  "New category: ANS Forth Translator"
  72.  
  73. DISCUSSION:  A Forth cross-compiler must provide interpretive
  74.      access to at least some of the Core word set.  Words such as
  75.      : CONSTANT and VARIABLE are necessary to write a cross-
  76.      compilable Forth program.  But it is unnecessary and imprac-
  77.      tical for the entire Core word set to be available.
  78.  
  79.      This proposal identifies those words that must be available
  80.      interpretively while cross-compiling, and thereby defines
  81.      the meaning of an "ANS Forth cross compiler."  (See related
  82.      proposal for "ANS Forth Translator".)
  83.  
  84.      Included in this list are:
  85.  
  86.      a)  all of the defining words in the dpANS ("D" attribute),
  87.           except MARKER.  These are the words that allow the
  88.           creation of new Forth definitions.
  89.  
  90.      b)  other words that control the compilation of data and
  91.           programs, such as ALLOT C, and HERE.
  92.  
  93.      c)  the words that are necessary to control loading of
  94.           source code.
  95.  
  96.      d)  an assortment of arithmetic, logical, and stack opera-
  97.           tors.  These allow the use of arithmetic and logical
  98.           expressions to create numeric values.
  99.  
  100.      e)  other words that have proven useful for cross-compiling
  101.           applications.
  102.  
  103.      Note that memory access words such as @ ! and FILL have been
  104.      specifically excluded from this list.  Not all cross-
  105.      compilers can support these operations interpretively.
  106.  
  107.      Note also that the "C" and "X" attributes are mutually
  108.      exclusive, as "C" denotes compilation-only, and "X" denotes
  109.      a word that can be interpreted.
  110.  
  111. -----
  112. This message came from GEnie via willett.  You *cannot* reply to the author
  113. using e-mail.  Please post a follow-up article, or use any instructions
  114. the author may have included (USMail addresses, telephone #, etc.).
  115. Report problems to: dwp@willett.pgh.pa.us
  116.