DPANS.HTM (13785B)
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 <HR> 9 <H2>American National Standard 10 for Information Systems </H2> 11 12 <H1>Programming Languages </H1> 13 14 <H1>Forth</H1> 15 16 <P> 17 18 Secretariat 19 <BR> 20 <B>Computer and Business Equipment Manufacturers Association</B> 21 <BR> 22 Approved: March 24, 1994 23 <BR> 24 <B>American National Standards Institute, Inc.</B> 25 <P> 26 27 28 <HR> 29 <P> 30 31 Copyright (c) 1994 by Technical Committee X3J14. All rights reserved. 32 <P> 33 34 This is a working document of Technical Committee X3J14 which 35 represents the last draft of ANS Forth submitted to ANSI for publication. 36 Permission is hereby granted to copy this document provided that it is 37 copied in its entirety without alteration or as altered by (1) adding text 38 that is clearly marked as an insertion; (2) shading or highlighting 39 existing text; and/or (3) deleting examples. 40 <P> 41 42 Specifically, permission is granted to use this working document as the 43 foundation for textbooks, system manuals, and online documentation so 44 long as the requirements in the preceding paragraph are met and the 45 resulting product addresses a technical need that is not practically met by 46 the official ANS. 47 <P> 48 49 <DL><DT><B>NOTE:</B> 50 <DD>This file is provided as a working document of the TC for 51 public review and comment as well as documentation uses described above. 52 <I>It is not intended as a substitute for the official ANS Forth document 53 published by ANSI.</I> In the event of conflict, only the printed document 54 X3.215-1994 represents the official ANS Forth. </DL> 55 56 <P> 57 58 To obtain the official standard, please contact the American 59 National Standards Institute Sales Department, at (212) 642-4900 or FAX 60 (212) 302-1286, or Global Engineering Documents, at (800) 854-7179 or 61 FAX (303) 843-9880, and request Document X3.215-1994. Thank you very 62 much for your interest. 63 64 <P> 65 66 67 <HR> 68 69 <h3>HTML version 3.2</h3> 70 71 <a href=notes.htm>Editorial Notes</a> 72 <br> 73 <a href=rfilist.htm>Requests for Interpretations</a> 74 <p> 75 <hr> 76 <a name=toc> 77 <H3>Table of Contents</H3> 78 </a> 79 80 81 <P> 82 83 84 <hr> 85 <A href=dpans1.htm#foreword>Foreword</A> 86 <BR> 87 <A href=dpans1.htm#x3.membership>X3 Membership</A> 88 <BR> 89 <A href=dpans1.htm#x3j14.membership>X3J14 Membership</A> 90 <BR> 91 <P> 92 93 94 <hr> 95 <A href=dpans1.htm#1.>1.</a> Introduction 96 <BR> 97 <DL> 98 <A href=dpans1.htm#1.1>1.1</a> Purpose 99 <BR> 100 <A href=dpans1.htm#1.2>1.2</a> Scope 101 <BR> 102 <A href=dpans1.htm#1.3>1.3</a> Document organization 103 <BR> 104 <A href=dpans1.htm#1.4>1.4</a> Future directions 105 <BR></DL> 106 107 <P> 108 109 110 <hr> 111 <A href=dpans2.htm>2.</a> Terms, notation, and references 112 <BR> 113 <DL> 114 <A href=dpans2.htm#2.1>2.1</a> Definitions of terms 115 <BR> 116 <A href=dpans2.htm#2.2>2.2</a> Notation 117 <BR> 118 <dl> 119 <A href=dpans2.htm#2.2.1>2.2.1</a> Numeric notation 120 <BR> 121 <A href=dpans2.htm#2.2.2>2.2.2</a> Stack notation 122 <BR> 123 <A href=dpans2.htm#2.2.3>2.2.3</a> Parsed-text notation 124 <BR> 125 <A href=dpans2.htm#2.2.4>2.2.4</a> Glossary notation 126 <BR></dl> 127 <A href=dpans2.htm#2.3>2.3</a> References 128 <BR></DL> 129 130 <P> 131 132 <hr> 133 <A href=dpans3.htm>3.</a> Usage requirements 134 <BR> 135 <DL> 136 <A href=dpans3.htm#3.1>3.1</a> Data types 137 <BR> 138 <dl> 139 <a href=dpans3.htm#3.1.1>3.1.1</a> Data-type relationships 140 <BR> 141 <a href=dpans3.htm#3.1.2>3.1.2</a> Character types 142 <BR> 143 <a href=dpans3.htm#3.1.3>3.1.3</a> Single-cell types 144 <BR> 145 <a href=dpans3.htm#3.1.4>3.1.4</a> Cell-pair types 146 <BR> 147 <a href=dpans3.htm#3.1.5>3.1.5</a> System types 148 <BR></dl> 149 <A href=dpans3.htm#3.2>3.2</a> The implementation environment 150 <BR> 151 <dl> 152 <A href=dpans3.htm#3.2.1>3.2.1</a> Numbers 153 <BR> 154 <A href=dpans3.htm#3.2.2>3.2.2</a> Arithmetic 155 <BR> 156 <A href=dpans3.htm#3.2.3>3.2.3</a> Stacks 157 <BR> 158 <A href=dpans3.htm#3.2.4>3.2.4</a> Operator terminal 159 <BR> 160 <A href=dpans3.htm#3.2.5>3.2.5</a> Mass storage 161 <BR> 162 <A href=dpans3.htm#3.2.6>3.2.6</a> Environmental queries 163 <BR></dl> 164 <A href=dpans3.htm#3.3>3.3</a> The Forth dictionary 165 <BR> 166 <dl> 167 <A href=dpans3.htm#3.3.1>3.3.1</a> Name space 168 <BR> 169 <A href=dpans3.htm#3.3.2>3.3.2</a> Code space 170 <BR> 171 <A href=dpans3.htm#3.3.3>3.3.3</a> Data space 172 <BR></dl> 173 <A href=dpans3.htm#3.4>3.4</a> The Forth text interpreter 174 <BR> 175 <dl> 176 <A href=dpans3.htm#3.4.1>3.4.1</a> Parsing 177 <BR> 178 <A href=dpans3.htm#3.4.2>3.4.2</a> Finding definition names 179 <BR> 180 <A href=dpans3.htm#3.4.3>3.4.3</a> Semantics 181 <BR> 182 <A href=dpans3.htm#3.4.4>3.4.4</a> Possible actions on an ambiguous condition 183 <BR> 184 <A href=dpans3.htm#3.4.5>3.4.5</a> Compilation 185 </dl> 186 <BR></DL> 187 188 <P> 189 190 <hr> 191 <A href=dpans4.htm>4.</a> Documentation requirements 192 <BR> 193 <DL> 194 <A href=dpans4.htm#4.1>4.1</a> System documentation 195 <BR> 196 <A href=dpans4.htm#4.2>4.2</a> Program documentation 197 <BR></DL> 198 199 <P> 200 201 <hr> 202 <A href=dpans5.htm>5.</a> Compliance and labeling 203 <BR> 204 <DL> 205 <A href=dpans5.htm#5.1>5.1</a> ANS Forth systems 206 <BR> 207 <A href=dpans5.htm#5.2>5.2</a> ANS Forth programs 208 <BR></DL> 209 210 <P> 211 212 <hr> 213 <A href=dpans6.htm>6.</a> Glossary 214 <BR> 215 <DL> 216 <A href=dpans6.htm#6.1>6.1</a> Core words 217 <BR> 218 <A href=dpans6.htm#6.2>6.2</a> Core extension words 219 <BR></DL> 220 221 <P> 222 223 <hr> 224 <A href=dpans7.htm>7.</a> The optional Block word set 225 <BR> 226 <DL> 227 <A href=dpans7.htm#7.1>7.1</a> Introduction 228 <BR> 229 <A href=dpans7.htm#7.2>7.2</a> Additional terms 230 <BR> 231 <A href=dpans7.htm#7.3>7.3</a> Additional usage requirements 232 <BR> 233 <A href=dpans7.htm#7.4>7.4</a> Additional documentation requirements 234 <BR> 235 <A href=dpans7.htm#7.5>7.5</a> Compliance and labeling 236 <BR> 237 <A href=dpans7.htm#7.6.1>7.6.1</a> Block words 238 <BR> 239 <A href=dpans7.htm#7.6.2>7.6.2</a> Block extension words 240 <BR></DL> 241 242 <P> 243 244 <hr> 245 <A href=dpans8.htm>8.</a> The optional Double-Number word set 246 <BR> 247 <DL> 248 <A href=dpans8.htm#8.1>8.1</a> Introduction 249 <BR> 250 <A href=dpans8.htm#8.2>8.2</a> Additional terms and notation 251 <BR> 252 <A href=dpans8.htm#8.3>8.3</a> Additional usage requirements 253 <BR> 254 <A href=dpans8.htm#8.4>8.4</a> Additional documentation requirements 255 <BR> 256 <A href=dpans8.htm#8.5>8.5</a> Compliance and labeling 257 <BR> 258 <A href=dpans8.htm#8.6.1>8.6.1</a> Double-Number words 259 <BR> 260 <A href=dpans8.htm#8.6.2>8.6.2</a> Double-Number extension words 261 <BR></DL> 262 263 <P> 264 265 <hr> 266 <A href=dpans9.htm>9.</a> The optional Exception word set 267 <BR> 268 <DL> 269 <A href=dpans9.htm#9.1>9.1</a> Introduction 270 <BR> 271 <A href=dpans9.htm#9.2>9.2</a> Additional terms and notation 272 <BR> 273 <A href=dpans9.htm#9.3>9.3</a> Additional usage requirements 274 <BR> 275 <A href=dpans9.htm#9.4>9.4</a> Additional documentation requirements 276 <BR> 277 <A href=dpans9.htm#9.5>9.5</a> Compliance and labeling 278 <BR> 279 <A href=dpans9.htm#9.6.1>9.6.1</a> Exception words 280 <BR> 281 <A href=dpans9.htm#9.6.2>9.6.2</a> Exception extension words 282 <BR></DL> 283 284 <P> 285 286 <hr> 287 <A href=dpans10.htm>10.</a> The optional Facility word set 288 <BR> 289 <DL> 290 <A href=dpans10.htm#10.1>10.1</a> Introduction 291 <BR> 292 <A href=dpans10.htm#10.2>10.2</a> Additional terms and notation 293 <BR> 294 <A href=dpans10.htm#10.3>10.3</a> Additional usage requirements 295 <BR> 296 <A href=dpans10.htm#10.4>10.4</a> Additional documentation requirements 297 <BR> 298 <A href=dpans10.htm#10.5>10.5</a> Compliance and labeling 299 <BR> 300 <A href=dpans10.htm#10.6.1>10.6.1</a> Facility words 301 <BR> 302 <A href=dpans10.htm#10.6.2>10.6.2</a> Facility extension words 303 <BR></DL> 304 305 <P> 306 307 <hr> 308 <A href=dpans11.htm>11.</a> The optional File-Access word set 309 <BR> 310 <DL> 311 <A href=dpans11.htm#11.1>11.1</a> Introduction 312 <BR> 313 <A href=dpans11.htm#11.2>11.2</a> Additional terms 314 <BR> 315 <A href=dpans11.htm#11.3>11.3</a> Additional usage requirements 316 <BR> 317 <A href=dpans11.htm#11.4>11.4</a> Additional documentation requirements 318 <BR> 319 <A href=dpans11.htm#11.5>11.5</a> Compliance and labeling 320 <BR> 321 <A href=dpans11.htm#11.6.1>11.6.1</a> File-Access words 322 <BR> 323 <A href=dpans11.htm#11.6.2>11.6.2</a> File-Access extension words 324 <BR></DL> 325 326 <P> 327 328 <hr> 329 <A href=dpans12.htm>12.</a> The optional Floating-Point word set 330 <BR> 331 <DL> 332 <A href=dpans12.htm#12.1>12.1</a> Introduction 333 <BR> 334 <A href=dpans12.htm#12.2>12.2</a> Additional terms and notation 335 <BR> 336 <A href=dpans12.htm#12.3>12.3</a> Additional usage requirements 337 <BR> 338 <A href=dpans12.htm#12.4>12.4</a> Additional documentation requirements 339 <BR> 340 <A href=dpans12.htm#12.5>12.5</a> Compliance and labeling 341 <BR> 342 <A href=dpans12.htm#12.6.1>12.6.1</a> Floating-Point words 343 <BR> 344 <A href=dpans12.htm#12.6.2>12.6.2</a> Floating-Point extension words 345 <BR></DL> 346 347 <P> 348 349 <hr> 350 <A href=dpans13.htm>13.</a> The optional Locals word set 351 <BR> 352 <DL> 353 <A href=dpans13.htm#13.1>13.1</a> Introduction 354 <BR> 355 <A href=dpans13.htm#13.2>13.2</a> Additional terms and notation 356 <BR> 357 <A href=dpans13.htm#13.3>13.3</a> Additional usage requirements 358 <BR> 359 <A href=dpans13.htm#13.4>13.4</a> Additional documentation requirements 360 <BR> 361 <A href=dpans13.htm#13.5>13.5</a> Compliance and labeling 362 <BR> 363 <A href=dpans13.htm#13.6.1>13.6.1</a> Locals words 364 <BR> 365 <A href=dpans13.htm#13.6.2>13.6.2</a> Locals extension words 366 <BR></DL> 367 368 <P> 369 370 <hr> 371 <A href=dpans14.htm>14.</a> The optional Memory-Allocation word set 372 <BR> 373 <DL> 374 <A href=dpans14.htm#14.1>14.1</a> Introduction 375 <BR> 376 <A href=dpans14.htm#14.2>14.2</a> Additional terms and notation 377 <BR> 378 <A href=dpans14.htm#14.3>14.3</a> Additional usage requirements 379 <BR> 380 <A href=dpans14.htm#14.4>14.4</a> Additional documentation requirements 381 <BR> 382 <A href=dpans14.htm#14.5>14.5</a> Compliance and labeling 383 <BR> 384 <A href=dpans14.htm#14.6.1>14.6.1</a> Memory-Allocation words 385 <BR></DL> 386 387 <P> 388 389 <hr> 390 <A href=dpans15.htm>15.</a> The optional Programming-Tools word set 391 <BR> 392 <DL> 393 <A href=dpans15.htm#15.1>15.1</a> Introduction 394 <BR> 395 <A href=dpans15.htm#15.2>15.2</a> Additional terms and notation 396 <BR> 397 <A href=dpans15.htm#15.3>15.3</a> Additional usage requirements 398 <BR> 399 <A href=dpans15.htm#15.4>15.4</a> Additional documentation requirements 400 <BR> 401 <A href=dpans15.htm#15.5>15.5</a> Compliance and labeling 402 <BR> 403 <A href=dpans15.htm#15.6.1>15.6.1</a> Programming-Tools words 404 <BR> 405 <A href=dpans15.htm#15.6.2>15.6.2</a> Programming-Tools extension words 406 <BR></DL> 407 408 <P> 409 410 <hr> 411 <A href=dpans16.htm>16.</a> The optional Search-Order word set 412 <BR> 413 <DL> 414 <A href=dpans16.htm#16.1>16.1</a> Introduction 415 <BR> 416 <A href=dpans16.htm#16.2>16.2</a> Additional terms and notation 417 <BR> 418 <A href=dpans16.htm#16.3>16.3</a> Additional usage requirements 419 <BR> 420 <A href=dpans16.htm#16.4>16.4</a> Additional documentation requirements 421 <BR> 422 <A href=dpans16.htm#16.5>16.5</a> Compliance and labeling 423 <BR> 424 <A href=dpans16.htm#16.6.1>16.6.1</a> Search-Order words 425 <BR> 426 <A href=dpans16.htm#16.6.2>16.6.2</a> Search-Order extension words 427 <BR></DL> 428 429 <P> 430 431 <hr> 432 <A href=dpans17.htm>17.</a> The optional String word set 433 <BR> 434 <DL> 435 <A href=dpans17.htm#17.1>17.1</a> Introduction 436 <BR> 437 <A href=dpans17.htm#17.2>17.2</a> Additional terms and notation 438 <BR> 439 <A href=dpans17.htm#17.3>17.3</a> Additional usage requirements 440 <BR> 441 <A href=dpans17.htm#17.4>17.4</a> Additional documentation requirements 442 <BR> 443 <A href=dpans17.htm#17.5>17.5</a> Compliance and labeling 444 <BR> 445 <A href=dpans17.htm#17.6.1>17.6.1</a> String words 446 <BR></DL> 447 <P> 448 449 <hr> 450 <A href=dpansa1.htm>A.</a> Rationale (informative annex) 451 <BR> 452 <DL> 453 <A href=dpansa1.htm>A.1</a> Introduction 454 <BR> 455 <A href=dpansa2.htm>A.2</a> Terms and notation 456 <BR> 457 <A href=dpansa3.htm>A.3</a> Usage requirements 458 <BR> 459 <A href=dpansa4.htm>A.4</a> Documentation requirements 460 <BR> 461 <A href=dpansa5.htm>A.5</a> Compliance and labeling 462 <BR> 463 <A href=dpansa6.htm>A.6</a> Glossary 464 <BR> 465 <A href=dpansa7.htm>A.7</a> The optional Block word set 466 <BR> 467 <A href=dpansa8.htm>A.8</a> The optional Double-Number word set 468 <BR> 469 <A href=dpansa9.htm>A.9</a> The optional Exception word set 470 <BR> 471 <A href=dpansa10.htm>A.10</a> The optional Facility word set 472 <BR> 473 <A href=dpansa11.htm>A.11</a> The optional File-Access word set 474 <BR> 475 <A href=dpansa12.htm>A.12</a> The optional Floating-Point word set 476 <BR> 477 <A href=dpansa13.htm>A.13</a> The optional Locals word set 478 <BR> 479 <A href=dpansa14.htm>A.14</a> The optional Memory-Allocation word set 480 <BR> 481 <A href=dpansa15.htm>A.15</a> The optional Programming-Tools word set 482 <BR> 483 <A href=dpansa16.htm>A.16</a> The optional Search-Order word set 484 <BR> 485 <A href=dpansa17.htm>A.17</a> The optional String word set 486 <BR></DL> 487 488 <P> 489 490 <hr> 491 <A href=dpansb.htm>B.</a> Bibliography (informative annex) 492 <BR> 493 <DL> 494 <A href=dpansb.htm#Industry.standards>Industry standards</A> 495 <BR> 496 <A href=dpansb.htm#Books>Books</A> 497 <BR> 498 <A href=dpansb.htm#Journals>Journals, magazines and newsletters</A> 499 <BR> 500 <A href=dpansb.htm#Selected.articles>Selected articles</A> 501 <BR></DL> 502 503 <P> 504 505 <hr> 506 <A href=dpansc.htm>C.</a> Perspective (informative annex) 507 <BR> 508 <DL> 509 <A href=dpansc.htm#C.1>C.1</a> Features of Forth 510 <BR> 511 <A href=dpansc.htm#C.2>C.2</a> History of Forth 512 <BR> 513 <A href=dpansc.htm#C.3>C.3</a> Hardware implementations of Forth 514 <BR> 515 <A href=dpansc.htm#C.4>C.4</a> Standardization efforts 516 <BR> 517 <A href=dpansc.htm#C.5>C.5</a> Programming in Forth 518 <BR> 519 <A href=dpansc.htm#C.6>C.6</a> Multiprogrammed systems 520 <BR> 521 <A href=dpansc.htm#C.7>C.7</a> Design and management considerations 522 <BR> 523 <A href=dpansc.htm#C.8>C.8</a> Conclusion 524 <BR></DL> 525 526 <P> 527 528 <hr> 529 <A href=dpansd.htm>D.</a> Compatibility analysis of ANS Forth 530 (informative annex) 531 <BR> 532 <DL> 533 <A href=dpansd.htm#D.1>D.1</a> FIG Forth (circa 1978) 534 <BR> 535 <A href=dpansd.htm#D.2>D.2</a> Forth-79 536 <BR> 537 <A href=dpansd.htm#D.3>D.3</a> Forth-83 538 <BR> 539 <A href=dpansd.htm#D.4>D.4</a> Recent developments 540 <BR> 541 <A href=dpansd.htm#D.5>D.5</a> ANS Forth approach 542 <BR> 543 <A href=dpansd.htm#D.6>D.6</a> Differences from Forth-83 544 <BR></DL> 545 546 <P> 547 548 <hr> 549 <A href=dpanse.htm>E.</a> ANS Forth portability guide (informative 550 annex) 551 <BR> 552 <DL> 553 <A href=dpanse.htm#E.1>E.1</a> Introduction 554 <BR> 555 <A href=dpanse.htm#E.2>E.2</a> Hardware peculiarities 556 <BR> 557 <A href=dpanse.htm#E.3>E.3</a> Number representation 558 <BR> 559 <A href=dpanse.htm#E.4>E.4</a> Forth system implementation 560 <BR> 561 <A href=dpanse.htm#E.5>E.5</a> ROMed application disciplines and 562 conventions 563 <BR> 564 <A href=dpanse.htm#E.6>E.6</a> Summary 565 <BR></DL> 566 567 <P> 568 569 <hr> 570 <A href=dpansf.htm>F.</a> Alphabetic list of words (informative 571 annex) 572 <BR> 573 <hr> 574 <P> 575 </BODY> 576 </HTML>