umouse

umouse.git
git clone git://git.lenczewski.org/umouse.git
Log | Files | Refs | Submodules | README

DPANSA5.HTM (3708B)


      1 <HTML><HEAD>
      2 <TITLE>DPANS94</TITLE>
      3 <link disabled rel="stylesheet" href="mpexc6.css">
      4 <style>@import url(mpexc6.css);</style>
      5 </head>
      6 
      7 <BODY>
      8 <table width=100%>
      9 <tr>
     10 <td align=left>
     11 <a href=dpansa4.htm><img src=left.gif
     12  width=26 height=26 align=ALIGN border=0></a>
     13 <a href=dpansa6.htm><img src=right.gif
     14  width=26 height=26 align=ALIGN border=0></a>
     15 </td>
     16 <td align=right>
     17 <a href=dpans.htm#toc><img src=up.gif 
     18  width=26 height=26 align=ALIGN border=0></a>
     19 <a name=A.5>Table of Contents</a>
     20 </td>
     21 </tr>
     22 </table>
     23 <p>
     24 <hr size=4>
     25 
     26 
     27 <H1>A.5 Compliance and labeling</H1>
     28 
     29 
     30 <hr>
     31 <a name=A.5.1>
     32 <H2>A.5.1 ANS Forth systems</H2>
     33 </a>
     34 
     35 <a href=dpans5.htm#5.1>Section 5.1</a> defines the criteria that 
     36 a system must meet in order to
     37 justify the label <B>ANS Forth System</B>.  Briefly, the minimum
     38 requirement is that the system must <B>implement</B> the Core word set.
     39 There are several ways in which this requirement may be met.  The most
     40 obvious is that all Core words may be in a pre-compiled kernel.  This is
     41 not the only way of satisfying the requirement, however.  For example,
     42 some words may be provided in source blocks or files with instructions
     43 explaining how to add them to the system if they are needed.  So long as
     44 the words are provided in such a way that the user can obtain access to
     45 them with a clear and straightforward procedure, they may be considered
     46 to be present.
     47 
     48 <P>
     49 
     50 A Forth cross-compiler has many characteristics in common with an ANS
     51 Forth System, in that both use similar compiling tools to process a
     52 program.  However, in order to fully specify an ANS Forth cross compiler
     53 it would be necessary to address complex issues dealing with compilation
     54 and execution semantics in both host and target environments as well as
     55 ROMability issues.  The level of effort to do this properly has proved
     56 to be impractical at this time.  As a result, although it may be
     57 possible for a Forth cross-compiler to correctly prepare an ANS Forth
     58 program for execution in a target environment, it is inappropriate for a
     59 cross-compiler to be labeled an ANS Forth System.
     60 
     61 <P>
     62 
     63 <hr>
     64 <a name=A.5.2>
     65 <H2>A.5.2 ANS Forth programs</H2>
     66 </a>
     67 
     68 
     69 <hr>
     70 <a name=A.5.2.2>
     71 <H3>A.5.2.2 Program labeling</H3>
     72 </a>
     73 
     74 Declaring an environmental dependency should not be considered
     75 undesirable, merely an acknowledgment that the author has taken
     76 advantage of some assumed architecture.  For example, most computers in
     77 common use are based on two's complement binary arithmetic.  By
     78 acknowledging an environmental dependency on this architecture, a
     79 programmer becomes entitled to use the number -1 to represent all bits
     80 set without significantly restricting the portability of the program.
     81 
     82 <P>
     83 
     84 Because all programs require space for data and instructions, and time
     85 to execute those instructions, they depend on the presence of an
     86 environment providing those resources.  It is impossible to predict how
     87 little of some of these resources (e.g.  stack space) might be necessary
     88 to perform some task, so this Standard does not do so.
     89 
     90 <P>
     91 
     92 On the other hand, as a program requires increasing levels of resources,
     93 there will probably be sucessively fewer systems on which it will
     94 execute sucessfully.  An algorithm requiring an array of 109 cells might
     95 run on fewer computers than one requiring only 103.
     96 
     97 <P>
     98 
     99 Since there is also no way of knowing what minimum level of resources
    100 will be implemented in a system useful for at least some tasks, any
    101 program performing real work labeled simply an <B>ANS Forth Program</B>
    102 is unlikely to be labeled correctly.
    103 
    104 <P>
    105 
    106 <hr>
    107 <A href=dpans.htm#toc><IMG   src="up.gif" ></A>    Table of Contents 
    108 <BR>
    109 <A href=dpansa6.htm><IMG   src="right.gif" ></A>
    110 Next Section
    111 <P>
    112 </BODY>
    113 </HTML>