From: ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie)
Newsgroups: comp.lang.forth
Subject: ANS TC Magnet for ROMability
Date: 22 Aug 92 13:27:09 GMT
Organization: EIEI-U

Category 10,  Topic 22
Message 78        Fri Aug 21, 1992
B.RODRIGUEZ2 [Brad]          at 22:52 EDT
 
                 ANSI X3J14 FORTH TECHNICAL PROPOSAL
                     (X3J14 dpANS-3, March 1992)

TITLE:  New category: ANS Forth Translator

SECTION:  4. Compliance and Labeling

SUMMARY:  Define a new category, "ANS Forth Translator," to allow
     for cross-compilers.

PROPOSAL:  Renumber sections 4.2 through 4.5 as sections 4.3
     through 4.6, and add the following as section 4.2:

     "4.2 ANS Forth Translator

          A programming language processor conforms to this
          Standard and may be labeled an 'ANS Forth Translator'
          if it is capable of compiling, but not executing, in
          accordance with this document, any ANS Forth Program
          whose environmental dependencies are compatible with
          the system's environmental restrictions."

          [The remainder of this section should be taken directly
          from section 4.1, beginning with the second paragraph
          of section 4.1, and including sub-sections 4.1.1
          through 4.1.4, renumbering sections as required, and
          substituting the phrase "ANS Forth Translator" for the
          phrase "ANS Forth System".]

RELATED PROPOSALS:  "Add clarifying text re. cross-compilers"
          "X attribute for cross-interpretable words"

DISCUSSION:  As currently written, dpANS Forth appears to exclude
     all cross-compilers from being ANS Forth Standard Systems.
     This is a serious deficiency in a language that is touted
     for embedded systems!

     This proposal is to create a third category of ANS compli-
     ance (in addition to Standard Systems and Standard
     Programs): the Standard Translator.  This allows for the
     possibility of cross-compilers, without necessitating major
     changes to the dpANS.

     A Forth Standard Translator is a subset of a Standard
     System, which can only compile -- not execute -- Forth code.
     There are two cases that need be considered:

     a) execution of newly-defined (application) words.  Few
          existing cross-compilers have this capability at all.
          This has not prevented many major applications from
          being created with cross-compilers, so it would not
          appear to be an onerous restriction for dpANS Forth to
          disallow this entirely.

     b) execution of Standard words.  Most cross-compilers allow
          the execution of a few core words, namely, those words
          that are executed in a Forth environment to create new
          definitions.  As a minimum, the words
            :  ALLOT  CONSTANT  CREATE  IMMEDIATE  VARIABLE
          from the Core word set must be available interpretively
          to create Forth programs.  The arithmetic and stack
          operators, and such words as
            '  ,  C,
          may also be useful.  Major applications have been
          cross-compiled with just this limited subset of Forth
          words, so a similar subset should suffice for dpANS
          Forth cross-compilers.  This subset should be identi-
          fied in the dpANS document.  (See the related proposal,
          re. the "X" attribute.)

     Thus, an ANS Forth Translator would lose some -- but not all
     -- of the functionality of an ANS Forth System.  The ANS
     Forth Translator is a useful subset that should be defined
     in the dpANS.

-----
This message came from GEnie via willett.  You *cannot* reply to the author
using e-mail.  Please post a follow-up article, or use any instructions
the author may have included (USMail addresses, telephone #, etc.).
Report problems to: dwp@willett.pgh.pa.us