umouse

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

DPANS1.HTM (17560B)


      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 
      8 <BODY>
      9 <table width=100%>
     10 <tr>
     11 <td align=left>
     12 <a href=dpans2.htm><img src=right.gif
     13  width=26 height=26 align=ALIGN border=0></a>
     14 </td>
     15 <td align=right>
     16 <a href=dpans.htm#toc><img src=up.gif 
     17  width=26 height=26 align=ALIGN border=0></a>
     18 Table of Contents
     19 </td>
     20 </tr>
     21 </table>
     22 <p>
     23 <hr size=4>
     24 
     25 <H1>American National Standard for Information Systems</H1>
     26 
     27 <H1>Programming Languages</H1>
     28 
     29 <H1>Forth</H1>
     30 
     31 
     32 Secretariat
     33 
     34 <BR>
     35 Computer and Business Equipment Manufacturers Association
     36 
     37 <BR>
     38 Approved:  March 24, 1994
     39 
     40 <BR>
     41 American National Standards Institute, Inc.
     42 
     43 <P>
     44 
     45 
     46 Copyright (c) 1994 by Technical Committee X3J14.  
     47 All rights reserved.
     48 
     49 <P>
     50 
     51 
     52 This is a working document of Technical Committee X3J14 which represents
     53 the last draft of ANS Forth submitted to ANSI for publication. 
     54 Permission is hereby granted to copy this document provided that it is
     55 copied in its entirety without alteration or as altered by (1) adding
     56 text that is clearly marked as an insertion; (2) shading or highlighting
     57 existing text; and/or (3) deleting examples. 
     58 
     59 <P>
     60 
     61 
     62 Specifically, permission is granted to use this working document as the
     63 foundation for textbooks, system manuals, and online documentation so
     64 long as the requirements in the preceding paragraph are met and the
     65 resulting product addresses a technical need that is not practically met
     66 by the official ANS. 
     67 
     68 <P>
     69 
     70 
     71 <b>NOTE:</b> This file is provided as a working document of the TC for public
     72 review and comment as well as documentation uses described above.  It is
     73 not intended as a substitute for the official ANS Forth document
     74 published by ANSI.  In the event of conflict, only the printed document
     75 X3.215-1994 represents the official ANS Forth. 
     76 
     77 <P>
     78 
     79 
     80 To obtain the official standard, please contact the American National
     81 Standards Institute Sales Department, at (212) 642-4900 or FAX (212)
     82 302-1286, or Global Engineering Documents, at (800) 854-7179 or FAX
     83 (303) 843-9880, and request Document X3.215-1994.  Thank you very much
     84 for your interest. 
     85 
     86 
     87 
     88 <HR>
     89 <a name=foreword>
     90 <H1>Foreword</H1>
     91 </a>
     92 
     93 
     94 (This foreword is not a part of
     95 American National Standard X3.215-1994)
     96 
     97 <P>
     98 
     99 
    100 Forth is a language for direct communication between human beings and
    101 machines.  Using natural-language diction and machine-oriented syntax,
    102 Forth provides an economical, productive environment for interactive
    103 compilation and execution of programs.  Forth also provides low-level
    104 access to computer-controlled hardware, and the ability to extend the
    105 language itself.  This extensibility allows the language to be quickly
    106 expanded and adapted to special needs and different hardware systems. 
    107 
    108 <P>
    109 
    110 
    111 Forth was invented by Mr.  Charles Moore to increase programmer
    112 productivity without sacrificing machine efficiency.  Forth is a layered
    113 environment containing the elements of a computer language as well as
    114 those of an operating system and a machine monitor.  This extensible,
    115 layered environment provides for highly interactive program development
    116 and testing. 
    117 
    118 <P>
    119 
    120 
    121 In the interests of transportability of application software written in
    122 Forth, standardization efforts began in the mid-1970s by an
    123 international group of users and implementors who adopted the name
    124 <B>Forth Standards Team</B>.  This effort resulted in the Forth-77
    125 Standard.  As the language continued to evolve, an interim Forth-78
    126 Standard was published by the Forth Standards Team.  Following Forth
    127 Standards Team meetings in 1979, the Forth-79 Standard was published in
    128 1980.  Major changes were made by the Forth Standards Team in the
    129 Forth-83 Standard, which was published in 1983. 
    130 
    131 <P>
    132 
    133 
    134 The first meeting of the Technical Committee on Forth Programming
    135 Systems was convened by the Organizing Committee of the X3J14 Forth
    136 Technical Committee on August 3, 1987, and has met subsequently on
    137 November 11-12, 1987, February 10-12, 1988, May 25-28, 1988, August
    138 10-13, 1988, October 26-29, 1988, January 25-28, 1989, May 3-6, 1989,
    139 July 26-29, 1989, October 25-28, 1989, January 24-27, 1990, May 22-26,
    140 1990, August 21-25, 1990, November 6-10,1990, January 29-February 2,
    141 1991, May 3-4, 1991, June 16-19, 1991, July 30-August 3, 1991, March
    142 17-21, 1992, October 13-17, 1992, January 26-30, 1993, June 28-30, 1993,
    143 and June 21, 1994. 
    144 
    145 <P>
    146 
    147 Requests for interpretation, suggestions for improvement or addenda, or
    148 defect reports are welcome.  They should be sent to the X3 Secretariat,
    149 Computer and Business Equipment Manufacturers Association, 1250 Eye
    150 Street, NW, Suite 200, Washington, DC 20005. 
    151 
    152 
    153 
    154 <HR>
    155 <a name=x3.membership>
    156 <H1>X3 Membership</H1>
    157 </a>
    158 
    159 This standard was processed and approved for submittal to ANSI by the
    160 Accredited Standards Committee on Information Processing Systems, X3.
    161 Committee approval of this standard does not necessarily imply that all
    162 committee members voted for its approval.  At the time it approved this
    163 standard, the X3 Committee had the following members:
    164 
    165 <P>
    166 
    167 
    168 James D. Converse, Chair
    169 Donald C. Loughry, Vice-Chair
    170 Joanne Flanagan, Secretary
    171 
    172 <P>
    173 
    174 
    175 
    176 
    177 <PRE>
    178 Producer Group                          Name of Representative
    179 --------------                          ----------------------
    180 AMP Incorporated                        Edward Kelly
    181                                         Charles Brill (Alt.)
    182 
    183 AT&T/NCR Corporation                    Thomas W. Kern
    184                                         Thomas F. Frost (Alt.)
    185 
    186 Apple Computer, Inc.                    Karen Higginbottom
    187 
    188 Compaq Computers                        James Barnes
    189 
    190 Digital Equipment Corporation           Delbert Shoemaker
    191                                         Kevin Lewis
    192 
    193 Hitachi America Ltd.                    John Neumann
    194                                         Kei Yamashita (Alt.)
    195 
    196 Hewlett Packard                         Donald C. Loughry
    197 
    198 Bull HN Information Systems Inc.        William George
    199 
    200 IBM Corporation                         Joel Urman
    201                                         Mary Anne Lawler (Alt.)
    202 
    203 Unisys Corporation                      John Hill
    204                                         Stephen P. Oksala (Alt.)
    205 
    206 Sony Corporation of America             Michael Deese
    207 
    208 Storage Technology Corporation          Joseph S. Zajaczkowski
    209                                         Samuel D. Cheatham (Alt.)
    210 
    211 Sun Microsystems, Inc.                  Scott Jameson
    212                                         Gary S. Robinson (Alt.)
    213 
    214 * Xerox Corporation                     Dwight McBain
    215                                         Roy Pierce (Alt.)
    216 
    217 3M Company                              Edie T. Morioka
    218                                         Paul D. Jahnke (Alt.
    219 
    220 </PRE>
    221 <P>
    222 
    223 
    224 Consumers Group
    225 
    226 <BR>
    227 ---------------
    228 
    229 
    230 <PRE>
    231 Boeing Company                          Catherine Howells
    232                                         Andrea Vanosdoll (Alt.)
    233 
    234 Eastman Kodak Company                   James Converse
    235                                         Michael Nier (Alt.)
    236 
    237 General Services Administration         Douglas Arai
    238                                         Larry L. Jackson (Alt.)
    239 
    240 Guide International Inc.                Frank Kirshenbaum
    241                                         Harold Kuneke (Alt.)
    242 
    243 ** Hughes Aircraft Company              Harold Zebrack
    244 
    245 National Communications Systems         Dennis Bodson
    246 
    247 Northern Telecom Inc.                   Mel Woinsky
    248                                         Subhash Patel (Alt.)
    249 
    250 ** Recognition Tech Users Association   Herbert P. Schantz
    251                                         Edwin Hale (Alt.)
    252 
    253 Share Inc.                              Gary AinsworthDavid Thewis (Alt.)
    254 
    255 U. S. Department of Defense             William Rinehuls
    256                                         J. Pasquariello (Alt.)
    257 
    258 U. S. Department of Energy              Alton Cox
    259                                         Lawrence A. Wasson (Alt.)
    260 
    261 Wintergreen Information Services        John Wheeler
    262 </PRE>
    263 <P>
    264 
    265 
    266 
    267 General Interest Group
    268 
    269 <BR>
    270 ----------------------
    271 
    272 
    273 <PRE>
    274 American Nuclear Society                Geraldine C. Main
    275                                         Sally Hartzell (Alt.)
    276 
    277 Assn. of the Institute for Certification of Computer Professionals
    278                                         Kenneth Zemrowski
    279 
    280 Nat'l Institute of Standards and Technology     
    281                                         Robert E. Rountree
    282                                         Micharl Hogan (Alt.)
    283 
    284 Neville & Associates                    Carlton Neville
    285 ________________________
    286 
    287 * Abstain      ** Non-Response
    288 </PRE>
    289 
    290 <P>
    291 
    292 
    293 
    294 
    295 <HR>
    296 <a name=x3j14.membership>
    297 <H3>X3J14 Membership</H3>
    298 </a>
    299 
    300 At the time it approved this draft of the proposed American National
    301 Standard, the Technical Committee X3J14 on the Forth Programming
    302 Language had the following members:
    303 
    304 <P>
    305 
    306 
    307 Elizabeth Rather, Chair
    308 
    309 <BR>
    310 Mitch Bradley, acting Vice-Chair
    311 
    312 <BR>
    313 Don Colburn, Secretary
    314 
    315 <BR>
    316 John Rible, Technical Editor
    317 
    318 <BR>
    319 Len Zettel, Vocabulary Representative
    320 
    321 <BR>
    322 Greg Bailey, Technical Subcommittee Chair
    323 
    324 <BR>
    325 
    326 <P>
    327 
    328 
    329 
    330 
    331 <PRE>
    332 Organization Represented                Name of Representative
    333 ------------------------                ----------------------
    334 ATHENA Programming, Inc.                Greg Bailey
    335                                         Howe Fong (Alt.)
    336 
    337 Bradley Forthware                       Mitch Bradley
    338 
    339 Creative Solutions, Inc.                Don Colburn
    340 
    341 Ford Motor Company                      Leonard F. Zettel, Jr.
    342 
    343 FORTH, Inc.                             Elizabeth Rather
    344                                         Dennis Ruffer (Alt.)
    345 
    346 Institute for Applied Forth Research    Lawrence Forsley
    347                                         Horace Simmons (Alt.)
    348 
    349 Johns Hopkins University, Applied Physics Lab.  
    350                                         John Hayes
    351 
    352 Mephistopheles Systems                  Dave Harralson
    353 
    354 NASA/Goddard Space Flight Center        James Rash
    355 
    356 Nomadic Software                        John K. Stevenson
    357 
    358 Unisyn, Inc.                            Gary Betts
    359                                         Stephen Egbert (Alt.)
    360 
    361 Up and Running                          Martin Tracy
    362 
    363 Vesta Technology                        Jack Woehr
    364 
    365 Individual Members                      Loring Craymer
    366                                         John Rible
    367                                         E. (Jet) Thomas
    368 
    369 X3 Liasons                              Clyde R. Camp
    370                                         Kathleen McMillan
    371 </PRE>
    372 
    373 <P>
    374 
    375 
    376 The following organizations and individuals have also participated in this
    377 project as Technical Committee members, alternates, or observers.  The
    378 Technical Committee recognizes and respects their contributions:
    379 
    380 <P>
    381 
    382 
    383 Organizations
    384 
    385 <BR>
    386 -------------
    387 
    388 
    389 <PRE>
    390 British Columbia Inst. of Tech.  MCI Telecommunications Corp.
    391 Computer Cowboys                 Micromotion
    392 Computer Sciences Corp.          MicroProcessor Engineering Ltd.
    393 Computer Strategies, Inc.        National Institute of Standards & Technology
    394 Digalog Corp.                    NCR Medical Systems Group
    395 Embedded Sys. Programming Mag.   Performance Packages, Inc.
    396 Forth Interest Group (FIG)       Purdue University
    397 H.B. Pascal & Co., Inc.          Robert Berkey Services
    398 Harris Semiconductor             Shaw Laboratories
    399 IBM Corporation                  Social Security Administration
    400 IEEE                             Software Engineering
    401 Kelly Enterprises                Texas Instruments
    402 Laboratory Microsystems, Inc.    The Dickens Company
    403 Maxtor Corp.
    404 </PRE>
    405 
    406 <P>
    407 
    408 
    409 Individuals
    410 
    411 <BR>
    412 -----------
    413 
    414 
    415 <PRE>
    416 David J. Angel  Ray Duncan      Charles Moore   Dean Sanderson
    417 Wil Baden       Douglas Fishman Mike Nemeth     George Shaw
    418 Robert Berkey   Tom Hand        Harry Pascal    Gerald Shifrin
    419 Ron Braithwaite Gregory Ilg     Stephen Pelc    Robert Smith
    420 Jack Brown      Charles Keane   Dean Perrine    Tyler Sperry
    421 Chris Colburn   Guy M. Kelly    David C. Petty  Tom Zimmer
    422 Ted Dickens     Andrew Kobziar  Bill Ragsdale   James Ryland
    423 John Dorband    Martin Lascelles
    424 
    425 </PRE>
    426 <P>
    427 
    428 <hr>
    429 <H1>AMERICAN NATIONAL STANDARD ANSI X3.215-1994 American National
    430 Standard for Information Systems</A></H1>
    431 
    432 
    433 
    434 <H3>Programming Language</A></H3>
    435 
    436 
    437 <H3>Forth</A></H3>
    438 
    439 
    440 
    441 <HR>
    442 <a name=1.>
    443 <H1>1. Introduction</H1>
    444 </a>
    445 
    446 
    447 <hr>
    448 <a name=1.1>
    449 <H2>1.1 Purpose</H2>
    450 </a>
    451 
    452 The purpose of this Standard is to promote the portability of Forth programs
    453 for use on a wide variety of computing systems, to facilitate the
    454 communication of programs, programming techniques, and ideas among Forth
    455 programmers, and to serve as a basis for the future evolution of the Forth
    456 language.
    457 
    458 <P>
    459 
    460 
    461 <hr>
    462 <a name=1.2>
    463 <H2>1.2 Scope</H2>
    464 </a>
    465 
    466 This Standard specifies an interface between a Forth System and a Forth
    467 Program by defining the words provided by a Standard System.
    468 
    469 <p>
    470 <code>
    471 See:
    472 <a href=dpansa1.htm#A.1.2>A.1.2</a> Scope
    473 </code>
    474 <p>
    475 
    476 <hr>
    477 <a name=1.2.1>
    478 <H3>1.2.1 Inclusions</H3>
    479 </a>
    480 
    481 This Standard specifies:
    482 <P>
    483 
    484 
    485 <UL>
    486 <LI>the forms
    487 that a program written in the Forth language may take;
    488 <LI>the rules for interpreting the meaning of a program and its data.
    489 </UL>
    490 
    491 <P>
    492 
    493 
    494 <hr>
    495 <a name=1.2.2>
    496 <H3>1.2.2 Exclusions</H3>
    497 </a>
    498 
    499 This Standard does not specify:
    500 <P>
    501 
    502 
    503 <UL>
    504 <LI>the mechanism
    505 by which programs are transformed for use on computing
    506 systems;
    507 <LI>the operations
    508 required for setup and control of the use of programs
    509 on computing systems;
    510 <LI>the method
    511 of transcription of programs or their input or output data
    512 to or from a storage medium;
    513 <LI>the program
    514 and Forth system behavior when the rules of this Standard
    515 fail to establish an interpretation;
    516 <LI>the size
    517 or complexity of a program and its data that will exceed the
    518 capacity of any specific computing system or the capability of a particular
    519 Forth system;
    520 <LI>the physical
    521 properties of input/output records, files, and units;
    522 <LI>the physical
    523 properties and implementation of storage.
    524 </UL>
    525 
    526 <P>
    527 
    528 
    529 <hr>
    530 <a name=1.3>
    531 <H2>1.3 Document organization</H2>
    532 </a>
    533 
    534 <P>
    535 
    536 
    537 <hr>
    538 <a name=1.3.1>
    539 <H3>1.3.1 Word sets</H3>
    540 </a>
    541 
    542 This Standard groups Forth words and capabilities into word sets under a name
    543 indicating some shared aspect, typically their common functional area. Each
    544 word set may have an extension, containing words that offer additional
    545 functionality.  These words are not required in an implementation of the word
    546 set.
    547 
    548 <P>
    549 
    550 
    551 The <B>Core</B> word set, defined in sections 1 through 6, contains the
    552 required
    553 words and capabilities of a Standard System.  The other word sets, defined in
    554 sections 7 through 17, are optional, making it possible to provide Standard
    555 Systems with tailored levels of functionality.
    556 
    557 <p>
    558 <code>
    559 See:
    560 <a href=dpansa1.htm#A.1.3.1>A.1.3.1</a> Word sets
    561 </code>
    562 <p>
    563 
    564 
    565 
    566 <hr>
    567 <a name=1.3.1.1>
    568 <H4>1.3.1.1 Text sections</H4>
    569 </a>
    570 
    571 Within each word set, section 1 contains introductory and explanatory material
    572 and section 2 introduces terms and notation used throughout the Standard.
    573 There are no requirements in these sections.
    574 
    575 <P>
    576 
    577 
    578 Sections 3 and 4 contain the usage and documentation requirements,
    579 respectively, for Standard Systems and Programs, while section 5 specifies
    580 their labeling.
    581 
    582 <P>
    583 
    584 
    585 <hr>
    586 <a name=1.3.1.2>
    587 <H4>1.3.1.2 Glossary sections</H4>
    588 </a>
    589 
    590 Section 6 of each word set specifies the required behavior of the definitions
    591 in the word set and the extensions word set.
    592 
    593 <P>
    594 
    595 
    596 <hr>
    597 <a name=1.3.2>
    598 <H3>1.3.2 Annexes</H3>
    599 </a>
    600 
    601 The annexes do not 
    602 contain any required material.
    603 <P>
    604 
    605 
    606 <a href=dpansa1.htm>Annex A</a> 
    607 provides some of the rationale behind the committee's decisions in
    608 creating this Standard, as well as implementation examples.  It has the same
    609 section numbering as the body of the Standard to make it easy to relate each
    610 requirements section to its rationale section.
    611 
    612 <P>
    613 
    614 
    615 <a href=dpansb.htm>Annex B</a> 
    616 is a short bibliography on Forth.
    617 
    618 <P>
    619 
    620 
    621 <a href=dpansc.htm>Annex C</a> 
    622 provides an introduction to Forth.
    623 
    624 <P>
    625 
    626 
    627 <a href=dpansd.htm>Annex D</a> 
    628 discusses the compatibility of ANS Forth with earlier Forths,
    629 emphasizing the differences from Forth-83.
    630 
    631 <P>
    632 
    633 
    634 <a href=dpanse.htm>Annex E</a> 
    635 presents some techniques for writing portable programs in ANS Forth.
    636 
    637 <P>
    638 
    639 
    640 <a href=dpansf.htm>Annex F</a> 
    641 includes the words from all word sets in a single list, and serves as
    642 an index of ANS Forth words.
    643 
    644 <P>
    645 
    646 
    647 <hr>
    648 <a name=1.4>
    649 <H2>1.4 Future directions</H2>
    650 </a>
    651 
    652 
    653 
    654 <hr>
    655 <A name=1.4.1>
    656 <H3>1.4.1 New technology</H3>
    657 </a>
    658 
    659 This Standard adopts certain words and practices that are increasingly found
    660 in common practice.  New words have also been adopted to ease creation of
    661 portable programs.
    662 
    663 <P>
    664 
    665 <hr>
    666 <A name=1.4.2>
    667 <H3>1.4.2 Obsolescent features</H3>
    668 </a>
    669 
    670 This Standard adopts certain words and practices that cause some previously
    671 used words to become obsolescent.  Although retained here because of their
    672 widespread use, their use in new implementations or new programs is
    673 discouraged, because they may be withdrawn from future revisions of the
    674 Standard.
    675 
    676 <P>
    677 
    678 This Standard designates the following words as obsolescent:
    679 <P>
    680 
    681 
    682 
    683 <PRE>
    684 <a href=dpans6.htm#6.2.0060>6.2.0060</a>        #TIB
    685 <a href=dpans15.htm#15.6.2.1580>15.6.2.1580</a>     FORGET
    686 <a href=dpans6.htm#6.2.2240>6.2.2240</a>        SPAN
    687 <a href=dpans6.htm#6.2.0970>6.2.0970</a>        CONVERT
    688 <a href=dpans6.htm#6.2.2040>6.2.2040</a>        QUERY
    689 <a href=dpans6.htm#6.2.2290>6.2.2290</a>        TIB
    690 <a href=dpans6.htm#6.2.1390>6.2.1390</a>        EXPECT
    691 </PRE>
    692 
    693 <P>
    694 
    695 <hr>
    696 <A href=dpans.htm#toc><IMG   src="up.gif" ></A>    Table of Contents 
    697 <BR>
    698 <A href=dpans2.htm><IMG   src="right.gif" ></A>
    699 Next Section
    700 <P>
    701 </BODY>
    702 </HTML>