Стандарт ANSI X3.215-1994 на язык Форт [Коллектив авторов] (txt) читать онлайн
Книга в формате txt ! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
Цвет фона черный светло-черный бежевый бежевый 2 персиковый зеленый серо-зеленый желтый синий серый красный белый
Цвет шрифта белый зеленый желтый синий темно-синий серый светло-серый тёмно-серый красный
Размер шрифта 14px 16px 18px 20px 22px 24px
Шрифт Arial, Helvetica, sans-serif "Arial Black", Gadget, sans-serif "Bookman Old Style", serif "Comic Sans MS", cursive Courier, monospace "Courier New", Courier, monospace Garamond, serif Georgia, serif Impact, Charcoal, sans-serif "Lucida Console", Monaco, monospace "Lucida Sans Unicode", "Lucida Grande", sans-serif "MS Sans Serif", Geneva, sans-serif "MS Serif", "New York", sans-serif "Palatino Linotype", "Book Antiqua", Palatino, serif Symbol, sans-serif Tahoma, Geneva, sans-serif "Times New Roman", Times, serif "Trebuchet MS", Helvetica, sans-serif Verdana, Geneva, sans-serif
Насыщенность шрифта жирный
Обычный стиль курсив Ширина текста 400px 500px 600px 700px 800px 900px 1000px 1100px 1200px Показывать меню Убрать меню Абзац 0px 4px 12px 16px 20px 24px 28px 32px 36px 40px
Межстрочный интервал 18px 20px 22px 24px 26px 28px 30px 32px
???????????? ???????????? ????????
??? ?????????????? ?????? --
????? ???????????????? ---
Forth
???????????
???????????? ? ??????? ?????????? ????????????? ????????????
??????????: 24 ????? 1994
American National Standards Institute, Inc.
1
____________________________________________________________________________
Copyright ( c ) 1994 ??????????? ????????? X3J14. ??? ????? ???????????????.
??? - ??????? ???????? ???????????? ???????? (??) X3J14, ??????? ????????????
????????? ?????? ANS Forth ?????????????? ? ANSI ??? ??????????. ?????????
??????????????? ????? ?????????? ???? ???????? ??? ???????, ??? ?? ??????????
????????? ??? ????????? ??? ??????? ???????????:
(1) ?????????? ??????, ??????? ???? ??????? ??? ???????;
(2) ????????? ??? ????????? ????????????? ??????; ?/???
(3) ???????? ????????.
? ?????????, ??????????????? ????? ???????????? ???? ??????? ???????? ???
?????? ??? ?????????, ????????? ??????????, ? ?????????? ????????????, ????
????????? ?????????? ??????????? ?????????, ? ?????????????? ??????? ????????
??????????? ????????????, ?? ??????????????? ??????????? ANS.
??????????: ???? ???? ???????????? ??? ??????? ???????? T? ??? ?????????????
?????????? ? ??????????????? ? ????? ??? ????????????? ? ????????????,
????????? ????. ?? ?? ???????????? ??? ?????? ???????????? ANS Forth ?????????,
??????????????? ANSI. ? ?????? ?????????, ?????? ???????????? ???????? X3.215-
1994 ???????????? ??????????? ANS Forth.
??? ????????? ???????????? ?????????, ??????????, ????????? ? American National
Standards Institute Sales Department, ? (212) 642-4900 ??? ???? (212) 302-1286,
??? Global Engineering Documents, ? (800) 854-7179 ??? ???? (303) 843-9880, ?
????????? ???????? X3.215-1994.
??????? ??????? ?? ??? ???????.
2
__________
??????????
??????????? ......................................................... 6
?3 ?????? ........................................................... 7
X3J14 ?????? ........................................................ 9
1. ???????? .........................................................11
1.1 ???? ........................................................... 11
1.2 ?????????? ..................................................... 11
1.2.1 ????????? .................................................... 11
1.2.2 ?????????? ................................................... 11
1.3 ??????????? ????????? .......................................... 12
1.3.1 ?????? ???? .................................................. 12
1.3.2 ?????????? ................................................... 12
1.4 ??????? ??????????? ............................................ 13
1.4.1 ????? ?????????? ............................................. 13
1.4.2 ?????????? ???????............................................ 13
2. ???????, ???????, ? ?????? ...................................... 14
2.1 ??????????? ???????? ........................................... 14
2.2 ??????? ........................................................ 17
2.2.1 ???????? ??????? ............................................. 17
2.2.2 ???????? ??????? ............................................. 17
2.2.3 ??????? ??????? ?????? ....................................... 18
2.2.4 ????????? ??????? ............................................ 18
2.3 ?????? ......................................................... 19
3. ??????? ?????????? .............................................. 20
3.1 ???? ?????? .................................................... 20
3.1.1 ????????? ????? ?????? ....................................... 20
3.1.2 ?????????? ???? .............................................. 21
3.1.3 ???? ????-?????? ............................................. 23
3.1.4 ???? ????-????? .............................................. 24
3.1.5 ????????? ???? ............................................... 24
3.2 ????? ?????????? ............................................... 25
3.2.1 ????? ........................................................ 25
3.2.2 ?????????? ................................................... 26
3.2.3 ????? ........................................................ 27
3.2.4 ???????? ????????? ........................................... 28
3.2.5 ???????????? ?????????? ??????? ??????? ...................... 28
3.2.6 ??????? ? ????????? ......................................... 28
3.3 ??????? Forth .................................................. 29
3.3.1 ??????? ????? ................................................ 29
3.3.2 ??????? ???? ................................................. 30
3.3.3 ??????? ?????? ............................................... 30
3.4 ????????????? ?????? Forth ..................................... 32
3.4.1 ?????????????? ?????? ........................................ 33
3.4.2 ????? ??????????? ???? ....................................... 34
3.4.3 ????????? .................................................... 34
3.4.4 ????????? ???????? ?? ?????????????? ???????? ................ 35
3.4.5 ?????????? ................................................... 35
4. ???????????????? ?????????? ..................................... 36
4.1 ????????? ???????????? ......................................... 36
4.1.1 ????? ???????????? ??????????? ............................... 36
3
4.1.2 ????????????? ??????? ........................................ 37
4.1.3 ?????? ????????? ???????????? ................................ 38
4.2 ??????????? ???????????? ....................................... 38
4.2.1 ??????????? ????????? ........................................ 38
4.2.2 ?????? ??????????? ???????????? .............................. 38
5. ?????????? ? ???????????? ....................................... 40
5.1 ANS Forth ??????? .............................................. 40
5.1.1 ????????? ?????????? ......................................... 40
5.1.2 ????????? ???????????? ....................................... 40
5.2 ANS Forth ????????? ............................................ 40
5.2.1 ??????????? ?????????? ....................................... 40
5.2.2 ??????????? ???????????? ..................................... 40
6. ??????? ......................................................... 41
6.1 ???????? ????? ................................................. 41
6.2 ?????????? ???????? ???? ....................................... 64
7. ?????????????? ??????? ????? ???? ............................... 73
8. ?????????????? ????? ???? ??????? ????? ......................... 79
9. ?????????????? ????? ???? ?????????? ............................ 84
10. ?????????????? ????????? ????? ???? ............................ 89
11. ?????????????? ????? ???? ??????? ? ?????? ..................... 93
12. ?????????????? ????? ???? ??? ????????? ????? ................. 102
13. ?????????????? Locals ????? ???? .............................. 119
14. ?????????????? ????? ???? ????????????? ?????? ................ 124
15. ?????????????? ????? ???? ?????? .............................. 127
16. ?????????????? ????? ???? ??????? ?????? ...................... 134
17. ?????????????? ????????? ????? ???? ........................... 139
A. ??????????? (?????????????? ??????????) ........................ 142
A.1 ???????? ...................................................... 142
?.2 ??????? ? ??????? ............................................. 144
?.3 ??????? ?????????? ............................................ 145
?.4 ???????????????? ?????????? ................................... 159
A.5 ?????????? ? ???????????? ..................................... 159
A.6 ??????? ....................................................... 161
A.7 ?????????????? ??????? ????? ???? ............................. 182
A.8 ?????????????? ????? ???? ??????? ????? ....................... 183
A.9 ?????????????? ????? ???? ?????????? .......................... 184
A.10 ?????????????? ????????? ????? ???? .......................... 188
A.11 ?????????????? ????? ???? ??????? ? ?????? ................... 191
A.12 ?????????????? ????? ???? ??? ????????? ????? ................ 194
A.13 ?????????????? Locals ????? ???? ............................. 198
A.14 ?????????????? ????? ???? ????????????? ?????? ............... 202
A.15 ?????????????? ????? ???? ?????? ............................. 202
A.16 ?????????????? ????? ???? ??????? ?????? ..................... 205
A.17 ?????????????? ????????? ????? ???? .......................... 208
B. ???????????? (?????????????? ??????????) ....................... 209
C. ??????????? (?????????????? ??????????) ........................ 212
C.1 ?????????? Forth .............................................. 212
C.2 ?????????? Forth .............................................. 213
C.3 ?????????? ?????????? Forth ................................... 213
C.4 ??????? ?????????????? ........................................ 214
C.5 ???????????????? ? Forth ...................................... 214
4
C.6 ????????????????? ??????? ..................................... 222
C.7 ??????????????? ? ??????????????? ??????????? ................. 223
C.8 ?????????? .................................................... 223
D. ?????? ????????????? ANS Forth (?????????????? ??????????) ..... 224
D.1 FIG Forth (?????????????? 1978) ............................... 224
D.2 Forth 79 ...................................................... 224
D.3 Forth 83 ...................................................... 224
D.4 ???????? ?????????? ........................................... 225
D.5 ANS Forth ?????? .............................................. 226
D.6 ??????? ?? Forth 83 ........................................... 226
D.6.1 ?????? ????? ................................................ 226
D.6.2 ????????????? ????? ......................................... 227
D.6.3 ?????????? ???????? ......................................... 227
D.6.4 ?????????? ?????? ??? ?????? ?????? ?? ??? .................. 228
D.6.5 ???????????? ?????? ......................................... 229
D.'.' ??????????? ?????????? Division/modulus ..................... 230
D.6.7 Immediate-????? ............................................. 231
D.6.8 ??????? ????? ???????? ...................................... 233
D.6.9 ?????? ? UM/MOD ............................................. 233
D.6.10 ??????? / ?????? ???? ...................................... 234
D.6.11 ??????????? ?????????????????????? ......................... 235
D.6.12 ?????, ?? ?????????????? ? ??????????? ????? ............... 235
E. ??????????? ?? ????????????? ANS Forth (????????. ??????????) .. 237
E.1 ???????? ...................................................... 237
E.2 ?????????? ??????????? ........................................ 237
E.2.1 Data/memory ?????????? ...................................... 237
E.2.2 ??????????? ................................................. 237
E.2.3 ????????? ?????? ............................................ 238
E.2.4 ???????? ???????????? ....................................... 239
E.3 ????????????? ????? ........................................... 240
E.3.1 ???????? ??????? ???? ?????? ??????? ??????? ???? ........... 240
E.3.2 ??????????? ALU ............................................. 240
E.4 ?????????? Forth ??????? ...................................... 241
E.4.1 ??????????? ................................................. 241
E.4.2 ???? ........................................................ 242
E.5 ?????????? ?????????? ROM ?????????? .......................... 242
E.6 ?????? ........................................................ 243
F. ?????????? ?????? ???? (?????????????? ??????????) ............. 244
5
____________
???????????
( ??? ??????????? - ?? ????? ????????????? ????????????? ????????? X3.215-1994)
Forth - ???? ??? ???????????????? ????? ????? ?????? ? ????????. ?????????
????? ????????????? ????? ? ???????-??????????????? ?????????, Forth
???????????? ???????????, ???????????????? ????? ??? ????????????? ?????????? ?
?????????? ????????. Forth ????? ???????????? ?????????????? ?????? ?
??????????? ??????????? ?????????? ?????????, ? ??????????? ????????? ????
???????????????. ??? ????????????? ????????? ?????? ????????? ???? ?
??????????????? ??? ? ??????????? ???????????? ? ????????? ?????????? ????????.
Forth ??? ????????? ?. ???????? ?????, ????? ????????? ??????????????????
???????????? ??? ?????????? ? ?????? ???????? ?????????????. Forth -
?????????????? ?????, ?????????? ???????? ????????? ?????, ? ????? ????????????
??????? ? ???????? ???????. ??? ???????????, ?????????????? ????? ?????????????
??? ?????? ????????????? ?????????? ? ??????? ????????.
? ????????? ????????????? ??????????? ???????????? ???????????, ??????????? ?
Forth, ?????? ?? ?????????????? ???????? ? ???????? 1970-?? ?????????????
??????? ????????????? ? ?????????????, ????????? ???????? "Forth Standards
Team". ??? ?????? ??????????? ?????????? Forth-77. ????????? ???? ?????????
???????????, "Forth Standards Team" ??? ????? ????????????? ???????? Forth-78.
????????? ??????? "Forth Standards Team" ???? ? 1979, ? Forth-79 ???????? ???
????? ? 1980. ??????? ????????? ???? ??????? "Forth Standards Team" ? Forth-83
?????????, ??????? ??? ????? ? 1983.
?????? ??????? Technical Committee ?? ???????? ???????????????? ?? Forth ????
??????? ???????????? X3J14 Forth Technical Committee 3 ??????? 1987, ?
???????????? ????????? 11-12 ?????? 1987, 10-12 ??????? 1988, 25-28 ??? 1988,
10-13 ??????? 1988, 26-29 ??????? 1988, 25-28 ?????? 1989, 3-6 ???, 1989, 26-
29 ???? 1989, 25-28 ??????? 1989, 24-27 ?????? 1990, 22-26 ??? 1990, 21-25
??????? 1990, 6-10 ?????? 1990, ? 29 ?????? ?? 2 ??????? 1991, 3-4 ??? 1991,
16-19 ???? 1991, ? 30 ???? ?? 3 ??????? 1991, 17-21 ????? 1992, 13-17 ???????
1992, 26-30 ?????? 1993, 28-30 ???? 1993, ? 21 ???? 1994.
??????? ?? ?????????????, ??????????? ?? ???????????? ? ???????????, ??? ??????
?? ??????? ???????????. ??? ?????? ???? ??????? ? X3 ???????????, Computer and
Business Equipment Manufacturers Association, 1250 Eye Street, NW, Suite 200,
Washington, DC 20005.
6
_________
X3 ??????
???? ???????? ??? ?????????? ? ??????? ??? ????????????? ? ANSI ???
Accredited Standards Committee on Information Processing Systems,X3. ?????????
????????? ????? ????????? ?? ????????????? ???????????, ??? ??? ????? ????????
?????????? ?? ??? ?????????. ?? ????? ????????? ????? ?????????, X3 ???????
???? ????????? ??????:
James D. Converse, Chair
Donald C. Loughry, Vice-Chair
Joanne Flanagan, Secretary
Producer Group Name of Representative
AMP Incorporated ............................. Edward Kelly
Charles Brill (Alt.)
AT&T/NCR Corporation ......................... Thomas W. Kern
Thomas F. Frost (Alt.)
Apple Computer, Inc .......................... Karen Higginbottom
Compaq Computers ............................. James Barnes
Digital Equipment Corporation ................ Delbert Shoemaker
Kevin Lewis
Hitachi America Ltd .......................... John Neumann
Kei Yamashita (Alt.)
Hewlett Packard .............................. Donald C. Loughry
Bull HN Information Systems Inc .............. William George
IBM Corporation .............................. Joel Urman
Mary Anne Lawler (Alt.)
Unisys Corporation ........................... John Hill
Stephen P. Oksala (Alt.)
Sony Corporation of America .................. Michael Deese
Storage Technology Corporation ............... Joseph S. Zajaczkowski
Samuel D. Cheatham (Alt.)
Sun Microsystems, Inc ........................ Scott Jameson
Gary S. Robinson (Alt.)
* Xerox Corporation ............................ Dwight McBain
Roy Pierce (Alt.)
3M Company ................................... Edie T. Morioka
Paul D. Jahnke (Alt.
Consumers Group
Boeing Company ............................... Catherine Howells
Andrea Vanosdoll (Alt.)
Eastman Kodak Company ........................ James Converse
Michael Nier (Alt.)
General Services Administration .............. Douglas Arai
Larry L. Jackson (Alt.)
Guide International Inc ...................... Frank Kirshenbaum
Harold Kuneke (Alt.)
** Hughes Aircraft Company ...................... Harold Zebrack
National Communications Systems .............. Dennis Bodson
7
Northern Telecom Inc ......................... Mel Woinsky
Subhash Patel (Alt.)
** Recognition Tech Users Association ........... Herbert P. Schantz
G. Edwin Hale (Alt.)
Share Inc .................................... Gary Ainsworth
David Thewis (Alt.)
U. S. Department of Defense .................. William Rinehuls
C. J. Pasquariello (Alt.)
U. S. Department of Energy ................... Alton Cox
Lawrence A. Wasson (Alt.)
Wintergreen Information Services ............. John Wheeler
General Interest Group
American Nuclear Society ..................... Geraldine C. Main
Sally Hartzell (Alt.)
Assn. of the Institute for Certification
of Computer Professionals .................... Kenneth Zemrowski
Nat'l Institute of Standards and Technology .. Robert E. Rountree
Micharl Hogan (Alt.)
Neville & Associates ......................... Carlton Neville
--------------------------------
* ??????????? ** ??? ??????
8
____________
X3J14 ??????
?? ????? ????????? ????? ??????? ????????????? American National Standard,
Technical Committee X3J14 ?? ???? ???????????????? Forth ???? ????????? ??????:
Elizabeth Rather, Chair
Mitch Bradley, acting Vice-Chair
Don Colburn, Secretary
John Rible, Technical Editor
Len Zettel, Vocabulary Representative
Greg Bailey, Technical Subcommittee Chair
Organization Represented Name of Representative
ATHENA Programming, Inc ...................... Greg Bailey
Howe Fong (Alt.)
Bradley Forthware ............................ Mitch Bradley
Creative Solutions, Inc ...................... Don Colburn
Ford Motor Company ........................... Leonard F. Zettel, Jr.
FORTH, Inc ................................... Elizabeth Rather
Dennis Ruffer (Alt.)
Institute for Applied Forth Research ......... Lawrence Forsley
Horace Simmons (Alt.)
Johns Hopkins University, Applied Physics Lab. John Hayes
Mephistopheles Systems ....................... Dave Harralson
NASA/Goddard Space Flight Center ............. James Rash
Nomadic Software ............................. John K. Stevenson
Unisyn, Inc .................................. Gary Betts
Stephen Egbert (Alt.)
Up and Running ............................... Martin Tracy
Vesta Technology ............................. Jack Woehr
Individual Members
Loring Craymer
John Rible
J. E. (Jet) Thomas
X3 Liasons
Clyde R. Camp
Kathleen McMillan
????????? ??????????? ? ??????? ???? ????? ??????????? ? ???? ??????? ??? ?????
Technical Committee, ???????????, ??? ???????????. Technical Committee ????? ?
??????? ?? ?????:
Organizations
British Columbia Inst. of Tech. MCI Telecommunications Corp.
Computer Cowboys Micromotion
Computer Sciences Corp. MicroProcessor Engineering Ltd.
Computer Strategies, Inc. National Institute of Standards &
Technology
9
Digalog Corp. NCR Medical Systems Group
Embedded Sys. Programming Mag. Performance Packages, Inc.
Forth Interest Group (FIG) Purdue University
H.B. Pascal & Co., Inc. Robert Berkey Services
Harris Semiconductor Shaw Laboratories
IBM Corporation Social Security Administration
IEEE Software Engineering
Kelly Enterprises Texas Instruments
Laboratory Microsystems, Inc. The Dickens Company
Maxtor Corp.
Individuals
David J. Angel Ray Duncan Charles Moore Dean Sanderson
Wil Baden Douglas Fishman Mike Nemeth George Shaw
Robert Berkey Tom Hand Harry Pascal Gerald Shifrin
Ron Braithwaite Gregory Ilg Stephen Pelc Robert Smith
Jack Brown Charles Keane Dean Perrine Tyler Sperry
Chris Colburn Guy M. Kelly David C. Petty Tom Zimmer
Ted Dickens Andrew Kobziar Bill Ragsdale
John Dorband Martin Lascelles James Ryland
10
AMERICAN NATIONAL STANDARD
ANSI X3.215-1994
???????????? ???????????? ????????
??? ?????????????? ?????? --
????? ???????????????? ---
Forth
Forth
Forth
1. ________
????????
1.1 ____
????
???? ????? ????????? ??????? ? ???, ????? ?????????????? ????????????? Forth
???????? ??? ????????????? ?? ??????? ???????????? ?????????????? ??????, ?????
????????? ????? ???????????, ???????? ????????????????, ? ?????? ?????
????????????? Forth, ? ??????? ??? ????????? ???????? ???????? ????? Forth.
1.2 __________
??????????
???? ???????? ????????????? ????????? ????? Forth ???????? ? Forth ??????????
???????????? ????, ??????????????? ??????????? ????????.
1.2.1 _________
?????????
???? ???????? ??????????:
- ?????, ??????? ????? ????? ?????????, ?????????? ?? ????? Forth;
- ??????? ??? ????????????? ?????? ????????? ? ?? ??????.
1.2.2 __________
??????????
???? ???????? ?? ??????????:
- ????????, ??????? ????????? ????????????? ??? ????????????? ?? ??????????????
????????;
- ????????, ????????? ??? ????????? ? ???????? ?? ??????????? ???????? ??
?????????????? ????????;
- ????? ???????? ???????? ??? ?? ???????/???????? ?????? ?? ???????? ??? ??
???????? ??????;
- ????????? ????????? ? Forth ???????, ? ??????? ?? ????????????? ?????????
????? ?????????;
- ?????? ??? ????????? ????????? ? ?? ??????, ??????? ???????? ?????????
??????????? ????? ???? ?????????????? ??????? ??? ??????????? ??????????
Forth ???????;
11
- ?????????? ???????? ??????? ?????/??????, ??????, ? ???????;
- ?????????? ???????? ? ?????????? ??????.
1.3 _____________________
??????????? ?????????
1.3.1 ___________
?????? ????
???? ???????? ?????????? Forth ????? ? ???????? ? ?????? ???? ??? ???????
???????????? ?? ????????? ????? ????????, ??????? ?? ????? ???????
????????????????. ?????? ????? ???? ????? ????? ??????????, ?????????? ?????,
??????? ?????????? ?????????????? ?????????????? ???????????. ??? ????? - ??
????????? ? ?????????? ?????? ????.
"????????" ????? ????, ???????????? ? ???????? ? 1 ?? 6, ???????? ?????????
????? ? ???????? ??????????? ???????. ?????? ?????? ????, ???????????? ?
???????? ? 7 ?? 17, ???????? ???????????????, ????? ????????? ??????????
??????????? ??????? ??????????????? ???????? ????????????????.
1.3.1.1 _________________
????????? ???????
? ???????? ??????? ?????? ????, ?????? 1 ???????? ??????? ? ??????????????
????????, ? ?????? 2 ???????????? ??????? ? ???????, ???????????? ? ?????????.
??? ??????? ?????????? ? ???? ????????.
??????? 3 ? 4 ???????? ?????????? ????????????? ? ????????????, ??????????????,
??? ??????????? ?????? ? ????????, ? ?? ????? ??? ?????? 5 ?????????? ??
????????????.
1.3.1.2 _______________
??????? ???????
?????? 6 ??????? ?????? ???? ?????????? ????????? ????????? ??????????? ?
?????? ???? ? ?????? ???? ??????????.
1.3.2 __________
??????????
?????????? ?? ???????? ???????? ?????????? ?????????.
?????????? A ????????????? ????????? ??????????? ????? ?? ????????? ???????? ?
???????? ????? ?????????, ? ????? ??????? ??????????. ?? ?? ????? ?????????
???????, ??? ? ? ???? ?????????, ????????? ????? ??????? ??????? ?????????? ?
??? ???????? ??????????.
?????????? B - ???????? ???????????? Forth.
?????????? C ????????????? ???????? ? Forth.
?????????? D ????????? ????????????? ANS Forth ? ????? ??????? Forth,
??????????? ???????? ? Forth 83.
?????????? E ???????????? ????????? ?????? ??? ???????? ??????????? ???????? ?
ANS Forth.
12
?????????? F ???????? ????? ?? ???? ??????? ???? ? ????? ??????, ? ?????? ???
?????? ANS Forth ????.
1.4 ___________________
??????? ???????????
1.4.1 ________________
????? ??????????
???? ???????? ????????? ????????? ????? ? ????????, ??????? ??? ????? ? ?????
????????? ? ????? ????????. ????? ???? ??????? ????? ????? ??? ??????????
???????? ??????????? ????????.
1.4.2 __________________
?????????? ???????
???? ???????? ????????? ????????? ????? ? ????????, ??????? ?????? ?????????
????? ???????????? ????? ???????????. ???? ??? ????????? ????? ??-?? ??
???????? ???????????????, ?? ????????????? ? ????? ??????????? ??? ?????
?????????? ?? ?????????????, ?????? ??? ??? ????? ???? ?????? ?? ???????
???????? ?????????.
???? ???????? ?????????? ????????? ????? ??? ??????????:
6.2.0060 #TIB 15.6.2.1580 FORGET 6.2.2240 SPAN
6.2.0970 CONVERT 6.2.2040 QUERY 6.2.2290 TIB
6.2.1390 EXPECT
13
2. __________________________
???????, ???????, ? ??????
????? "??????:" ???????????? ? ???? ????????? ??? ??????????? ???????? ? ??????
???????? ?????????, ??????? ????? ?????? ????????? ? ???????? ???????.
? ???? ?????????, "???????" ????????????? ?????????? ? ??????? ??? ?????????;
????????, "?? ???????" ???????? ???????????; "?? ?????????" ???????? "??
????????? ???"; "??????????" ????????? ???????????? ?????????; ? "????????", ?
??????????? ?? ?????????, ???????? "?????????" ??? "????? ?????????".
??????? ? ?????????, ?????? ???????????? ????????? ????????:
- ???? ???????????????? Serif ????? ???????????? ??? ??????, ? ????????,
???????????? ??? ???????? ? ??????? ????????? ????? ????????;
- ?????????? ???????????????? sans-serif ????? ???????????? ??? ??????????;
- ?????????? Serif ????? ????????????? ?????? ???????????? ??? ?????? ?????-
Forth.
2.1 ____________________
??????????? ????????
???????, ???????????? ? ???? ??????? ???????????? ?????? ??????? ? ????
?????????. ?????????????? ??????? ??????????? ??? ???????????? ??????? ????,
?????????? ? ???? ??????? ????. ?????? ???????, ???????????? ??? ?? ??????
?????????, ?????????? ????????. ???????, ?? ???????????? ? ???? ?????????,
??????????????? ???????? ??????? ??? ?????????????? ??????, ANSI X3.172-1990.
?????????? ???????: ? ??????????? ?? ?????????:
1) ????????, ?? ??????? ????????? ???????? ???????????? Forth ? ?????
?????????? ???????? ?????? ???? ???????? ? ??????????;
2) ?????????? ???????????? ???????? ??????, ??????????????? ???? ?????????;
3) ?????????? ?????? ????????????? ???????? ??????;
4) ??? ????????, ? ??????? ??????????????? ??????? ????? ??????? ??????.
??????????? ?????: ????? ?????????????? ? ??????, ? ???????? ????? ??????????
??? ? ???????, ??????, ???? ?????, ??? ????? ?????? ???-??????.
?????????????? ????????: ??????????????, ??? ???????? ???? ???????? ??
???????????? ????????????? ????????? ??? Forth ?????? ? ????????.
?????????????? ???????? ???????? ????? ???? ??? ?????????? ????????????
??????????? ?? ????? ??????????????? ???????, ??????? ??????? ? ???????????????
?????, ??? ??????? ????????????? ??????????????? ?????.
?????????????? ???????? ????? ??????????, ????? ??????????? ????? ????????
????????, ??????? ???????? ????????????? ??? ?????????? ?? ?????????.
??????: ????????? ??????? ?????????? ? ??????????? Forth ???????.
???? ?????: ??? ??????, ??????? ??????????????? ??? ???? ???????.
??????: ? ??????????? ?? ?????????:
1) ??????? ??????, ????????? ??????? ??????; ???
2) ??????? ?????? ????????.
14
?????????-??????????? ?????: ????? ?????????????? ? ??????, ? ???????? ?????
?????????? ??? ? ???????.
?????????? ??????: ??????? ??????, ??????? ??????? ? ???????????
??????????????????? ?????????-??????????? ???????. ?????????? ?????? ??????
???????? ?????. ???? ????? ?? ??????????, ?????? "??????" ??????????
"?????????? ??????".
??????? ????: ?????????? ??????? ???????, ? ??????? ??????????? ?????????
?????.
?????????????: ????????????? ???????? ????? ? ??????????? ???????.
????????? ??????????: ????????? Forth ???????????, ????? ??? ??? ?????????
????????? ????????????? ? ????????? ??????????.
?????? ?? ?????????: ????????? ??????, ????????? ?? ?????? ???????,
??????????? ????? ????????? ?? ??? ??????? ??? ????? ???????????
?????????????????? ?????????? ??????. ??????, ?????? ?? ????????? ????????
?????.
????? ??????????: ???????, ??????? ??????????? ????????? ??? ????????????
?????????? ? ?????, ??????? ????????, ????? ????????? ? ????????? ???????? ??
????? ??????????????. ? ????? ???????????, ?????? "host" ??????????? ? ?????
??????????, ? ?????? "target" ??????????? ? ????? ???????-??????????.
??????? ???????????: ???????????, ??? ?????????? ???? ??????, ?? ??? ??
?????????.
???? ??????: ??????? ?????? ????????? ?? ??????, ???????????? ?????, CREATE.
??????? ??????: ?????????? ??????? ???????, ? ??????? ????? ??????????.
????????? ??????? ??????: ????? ?????????????? ????????? ????????? ???????
??????, ?? ????, ????????, ???????????? HERE.
???? ??????: ????, ??????? ????? ???????????? ??? ???????? ?????????? ?????
?????????????. ????? ?? ???????? ????????, ???? ?????? ???????? ??? "????".
? ??????? ?? ????? ?????????.
??? ??????: ????????????? ??? ?????? ????????, ??????? ????? ????? ??????
??????.
???????????? ?????: Forth ?????, ??????? ??????? ????? ??????????? ???
??????????.
???????????: Forth ??????????? ?????????, ????????????????? ? ???????.
???????: ??????????? ?????????, ??????? ???????? ??????????? ? ?????????
??????? ??????.
??????????: ??????? ???? ??? ????? ???????? ?? ?????????? ?????? ????????????.
??????????? ?? ?????????: ??????? ??????????? ????????????? ?? ??????
?????????? Forth ??????? ??? ????????????? ????????????. ????????, ?????????,
??????? ????????? ?????? ?????? ???????, ??? 16 ???, ????????? ?????????? ??
?????????.
????????? ??????????: ????????? Forth ???????????, ????? ??? ???????????.
15
?????? ??????????: ????????, ??????? ?????????????? ????????? ??????????
???????????.
??????: ??????????? ??????? ??? ????? ???????????, ???????????????? ??????
??????.
????? ???????????? ??????????: Forth ?????, ??? ????????? ?????????? ??????
????????? ??? ????????? ??????????.
???????????? ???????????: ?????????? ????????? ????????? ??? ???????????,
??????? ?????? ???? ?????????? ? ??????????????? ????????, ?? ??????? ?????
???????? ?? ?????????? ???? ??????????.
????????? ?? ??????????: ?????????? ????????? ????????? ??? ???????????,
??????? ?????? ???? ?????????? ????????, ?? ??????? ????? ???????? ??
?????????? ???? ??????????.
??????? ?????: ??????? ??????, ?????????? ?????????????????? ???????? ??
???????? ?????????, ??????? ????????? ????? ???????? ??? ?????????.
??????? ????????: ??????????, ????, ????, ??? ?????? ????????, ???????
?????????? ??????? ??? ?????????? ???????? ??????.
???????????? ???????? ?????????: ????? ??????????, ??????????? ?????????
????????? ???????? ?????????, ???????? ??????, ? ??????? ???????. ????
?????????? ??????????, ??? ??????????? ?????????? ? ?????????????? ???
??????????? ???????? ?????????? ??????????????? ??????? ? ??? ?? ??? ??????
??????? ?????????.
????????? ?????????????: ????????? Forth ???????????, ????? ??? ??? ?????????
????????? ????????????? ? ????????? ?????????????.
??????? ??????????: ????????, ?????????? ????????, ????????????
???????????????? ???????? ?? ???????????????? ??????? ??????????. ??????
"??????????" ? ???? ????????? ?? ????????? ?????? ???? ???????????????? ???????
?????????.
??????: ?????????????????? ????????, ? ??????????? ??????????? ???
??????????????? ????????? ????? ??????.
??????? ????: ?????????? ??????? ???????, ? ??????? ????????? ?????
???????????.
?????: ? ???? ?????????, "?????" ???????????? ??? ?????? ????????, ????????
"????? ?????". ?????????? "??????? ?????" ???????? "????? ????? ???-??????".
??????: ??????? ? ????????? ?????????? ?????? ?? ??????? ???????, ?????????
???????? ????? ???????? ????????????, ?????????? ?????????????.
??????? ???????: ????? ???????? ??????, ??????? ??? ?? ???????????????, ?
????? ??????? ???????? ??????? ??? ??????????? ????????? ?????????
??????????????? ??? ??????? ?????????? ??????????????? ???????.
????? ????????????? ?????: ?????? ????????? ??????, ? ??????? ?????????????
?????, ????????? Forth ?????, ??????? ?????????? ????????????? "???????????"
????????? ??????.
?????????: ??????????? ???????????? ??????????, ??? ?????????? ????????????
??????? (?????????? ??????) ?????????? ? ????? ????????? ?????? Forth.
16
???????: ???????? ??????? ?? ????????????????? ???????? ??????????.
???? ?????????: ????, ??????? ????? ???????????? ??? ?????????? ??????????
????????, ?????????? do-loop, ????????? ??????, ? ?????? ?????.
??????????? ?????: ??????????? Forth ?????????, ????????? ???????????? ? ????
?????????.
???????????????? ??????? ??????????: ?????????? ????? ??????, ? ?????????
????? ????????? ??? ???????? ?????????? ??????, ?????? ??????????.
???????????????? ???????? ??????????: ?????????? ??????, ? ????????? ?????
????????? ??? ??????? ????????? ??????.
??????????: ??????????? ??????? ?????? ????????????? ? ????????? ?? ?? ??????
??????.
?????: ? ??????????? ?? ?????????:
1) ??? Forth ???????????; ???
2) ????????????? ??????????? ?????????????????? ????????, ??????? ?????
???? ?????? Forth ???????????.
?????? ????: ?????? ????????? ???? Forth ???????????, ??????? ????? ????
?????????? ?? ????? ?????? ? ???????.
????? ????: ????? ??????????? Forth, ??????????????? ?????? ? ???? ?????????
??? ??????, ??????????? ?? ????????? ????? ????????, ??????? ?? ????? ???????
????????????????.
2.2 _______
???????
2.2.1 ________________
???????? ???????
???? ????? ?? ??????????, ??? ?????? ? ?????? ????????? ? ???????? ????? ??????
????-??????. ???????? ???????? ??????? ???????????? ??? {??... ??}. ??????????
???????? ??? ??????????? ?????? ???????????? ? ??????? ???????? ???????,
???????? ??? ??????????? ??????????, ????????, BASE {{2... 36}}.
2.2.2 ________________
???????? ???????
??????? ? ???????? ????????? ???????? ??????????? ???????, ? ??????????????
????????? ???????:
( stack-id before -- after )
??? stack-id ??????????, ????? ???? ???????????, before ???????????? ????
?????? ?????????? ????? ????? ??????????? ??????????? ? after ???????????? ??
????? ??????????. ???????, ???????????? ? before ? after ???????? ? ???????
3.1.
Stack-id ????? ??????-?????????? - "C:", stack-id ????? ?????? - "S:", ? stack-
id ????? ????????? - "R:". ? ?????? ?????????? ????????????, stack-id ?????
??????, ????? ???? ??????.
????? ???? ?????????????? ???????? ????????????? after, ??? ??????? ??? "after1
| after2". ??????? ????? - ??????. ???????????? ?????? ?? ????????, ???????
????????? ??? ?????????? ??? ??????????????? ? ?????????? ??????????
???????????.
17
2.2.3 ______________________
??????? ??????? ??????
????, ????? ????????????? ?????????? ?????, ??????????? ??????????? ?????, ??
???? ????? ???????????? ??????????? ?? ??????? 2.1, ???????????? ??????????
???????? ????????? ? ?????????? ????? before ??????????? ? "-" ???????????? ?
?????? ????????? ?????, ????????:
(S: before "???????????? ?????????????? ??????" - after).
___________________________________________
??????? 2.1 - ?????????? ??????????? ??????
?????????? ????????
------------------------------------------------------------------------
?????? ????????????, ?????????? ????? ????????????? ??????
???? ??? ????? ??????????????? ????????????? ???????? char
?????? ???????????? - ??????
???? ??? ????? ??????????????? ????????????? ???????? space
?????? ???????????? - ??????? ???????
?????? ???????????? - ?????? ??????? ??????
??????????????? ????????????, ?????????? ????? ??????
ccc ????????????? ?????????????????? ???????????? ????????,
???????? ?????? ????????????
name ??????????? ???????????? ????????, ?????????? ccc ???
ccc
------------------------------------------------------------------------
2.2.4 _________________
????????? ???????
????????? ????? ??? ??????? ?????? ???? ???????????? ???????????? ASCII
????????????????????. ?????? ???? ??????? ?????????? ANS Forth ????? ? ???????
?? ???? ??????: ????????? ?????? ? ?????????????? ???????? ???????????.
2.2.4.1 ________________________
????????? ?????? ???????
????????? ?????? - ???????????? ???? ??????????, ????? ???????:
- ????? ???????, ????????? ?????? ????? ???????? ?????????? ??????????
???????????????? ????? ??? ???? ????, ?????????? ? ???? ????????;
- ???-??????????? ? ??????? ????????, ????????????? ??????, ??????? ???????
??????????;
- ???????????? ?? ???????????? ????? ? ????????, ???? ??? ?????????? ??
??????????? ?????;
- ??????????? ?????? ???? ?? ??????? 2.2. ??????????? ??? ?????????? ??????
???? ???????? "EXT".
______________________________________
??????? 2.2 - ??????????? ??????? ????
18
????? ???? ???????????
-------------------------------------------
??????? ????? ???? CORE
??????? ????? ???? BLOCK
????? ???? ??????? ????? DOUBLE
????? ???? ?????????? EXCEPTION
????????? ????? ???? FACILITY
????? ???? ??????? ? ????? FILE
????? ???? ??? ????????? ????? FLOATING
Locals ????? ???? LOCALS
????? ???? ????????????? ?????? MEMORY
????? ???? ?????? TOOLS
????? ???? ??????? ?????? SEARCH
????? ???? ????????? ????? STRING
-------------------------------------------
2.2.4.2 ______________________________
????????????? ???????? ???????
?????? ???????? ?????????????? ???????? ???????? ???????? ??????? ??? ???????
?????, ???????????????? ??????????? ??????. ????????? ????????? ????????
????????? ???????? ?????????. ?????? 3.4.3 ?????????.
2.3 ______
??????
????????? ???????????? ? ????????????? ????????? ????????? ? ???? ?????????:
ANSI X3.172-1990, Dictionary for information systems (2.1 ???????????
????????);
ANSI X3.4-1974, American Standard Code for Information Interchange (ASCII)
(3.1.2.1 ??????????? ???????);
ISO 646-1983, ISO 7-bit coded characterset for information interchange,
International Reference Version (IRV) (3.1.2.1 ??????????? ???????);
ANSI/IEEE 754-1985, Floating-point standard (12.2.1 ???????????
????????).
19
3. __________________
??????? ??????????
??????? ?????? ????????????? ??? ?????, ???????????? ? 6.1 ???????? ?????. ???
????? ????? ????????????? ????? ?????, ???????????? ? ?????????????? ?
??????????? ??????? ????. ??????? ??????????? ????? ??????????????? ???????? ??
?????? ???????? ????????? ??????? ????????, ?????????? ?????? ?????????? ??????
??????? ???????????? ?????, ???? ??? ????????????? ? ???? ?????????. ???????
????? ????????? ?? ??????????? ?????????? ???????????????? ?????, ??? ???????,
??? ??? ?????????? ? ???????????? ????? ?????????.
?????????? ???? ? ??????? ??????? ?????????????? ? ??????? ??? ???????
???????????? ????? ?????????.
??????? ?? ??????? ?????????????? ???? ???? ? ??????????? ?????. ??????????
????? ????????????? ???????????, ??????? ??????????? ????????? ?????? ????,
?????? ? ???????? ?????. ???? ???, ?? ???????? ??? ?????????? ??????????? ?
??????? - ???????????? ???????????.
?????????, ??????? ???????, ????? ??????? ???????????? ????? ??? ??????, ??
???????????? ? ???? ????????? ???????? ????????? ?? ?????????.
3.1 ___________
???? ??????
??? ?????? ?????????????? ????? ?????????? ???????? ??? ??????? ??????. ??? -
?? ???????? ??????????? ?????????????? ? ?????? ??? ??????? ?? ?????.
??????????? ??????? ?????? ?? ????? ??????????? ??? ???.
??????? ?? ??????? ??????? ???????? ???? ??????. ?????????????? ????????
??????????, ???? ??????????? ??????????? ???????????? ??? ??????? ??????.
??????? 3.1 ????????? ???? ??????, ???????????? ????? ? ???? ?????????.
????????????? ???????? ?????? ? ???? ?? ???? ??????, ? ??????????? ???????????
?????????? ????????????????? ????????? ????????, ??? ?? ??????????.
3.1.1 ______________________
????????? ????? ??????
????????? ?? ????? ?????? - ??????? ?????? ????? ??????. ??? ?????? i - ??????
???? j, ???? ? ?????? ???? ????? i - ???????????? ?????? j. ????????? ??????
???????????? ????????? ????????, ????????? ????? "i = > j" ????? ??????????,
??? "i ???????? ???????? j". ????????? ??????? ???????????; ???? i = > j ? j =
> k , ????? i = > k:
+n => u => x;
+n => n => x;
char => +n;
a-addr => c-addr => addr => u;
flag => x;
20
xt => x;
+d => d => xd;
+d => ud => xd.
????? ??????????? Forth, ??????? ????????? ???????? ???? i ?????? ????? ???????
???????? ?????????? ???????? i.
3.1.2 _______________
?????????? ????
??????? ?????? ????, ?? ??????? ????, ??????? ? ???? ?????????? ???????,
????????? ?? ??????? ???? ?????? ???, ? ????? ?????? ?????? ??? ??? ??????
??????? ??????.
???????, ??????????????? ???????? ?????? ???????? ??????????? ???????
{32..126}, ??????? ???????????? ??????????? ?????, ?????????? ? ??????? 3.2.
3.1.2.1 ___________________
??????????? ???????
??????????? ?????? ???????? ??????? ???????????? ???????? (????????, A, #, &,
6). ??? ???????? ? ??????????? ?????, ?????????? ? ??????? 3.2, ???????
??????????????? ?? ANS X3.4-1974 (ASCII) ? ISO 646-1983, International
Reference Version (IRV). ??????????? ????? ???????? ??? hex ????????? {20.. 7E}
- ????????? ?? ??????????. ?????????, ???????????? ??????????? ?????? hex 24
(???? ??????) ????? ??????????? ?? ?????????.
??????????? ????????????? ???????? ?? ?????????? ????????????? ????? ??? ??????
??????. ??????? ????? ??? ??????.
3.1.2.2 ___________________
??????????? ???????
??? ????????????? ???????, ?????????? ? ????????????-??????????? ????? ????????
?????????? ? ???? ???????? ??? ??????????? ???????. ? ????????? ??????? {0..
31}, ??????? ????? ???? ???????? ? ????????????-??????????? ????? ???????? -
??????????? ???????.
?????????, ??????? ??????? ??????????? ????????, ??? ????????? ???????????
??????? ????? ??????????? ?? ?????????.
_________________________
??????? 3.1 - ???? ??????
?????? ??? ?????? ?????? ?? ?????
-------------------------------------------------------------------------
flag ???? 1 ??????
true ???? ?????? 1 ??????
false ???? ???? 1 ??????
char ?????? 1 ??????
n ????? ?? ?????? 1 ??????
+n ?? ????????????? ????? 1 ??????
u ??? ???????? ????? 1 ??????
21
n|u (1) ????? 1 ??????
x ????? ?????? 1 ??????
xt ????????????? ?????????? 1 ??????
addr ????? 1 ??????
a-addr ??????????? ????? 1 ??????
c-addr ?????????-??????????? ????? 1 ??????
d ????? ?? ?????? ???-?????? 2 ??????
+d ?? ???????. ????? ???-?????? 2 ??????
ud ??????????? ????? ???-?????? 2 ??????
d|ud (2) ????? ???-?????? 2 ??????
xd ????? ???? ????? 2 ??????
colon-sys ?????????? ??????????? ???????????? ???????????
do-sys do-loop ????????? ???????????? ???????????
case-sys CASE ????????? ???????????? ???????????
of-sys OF ????????? ???????????? ???????????
orig ???????? ??????-?????????? ???????????? ???????????
dest ?????????? ??????-?????????? ???????????? ???????????
loop-sys loop-control ????????? ???????????? ???????????
nest-sys ?????? ??????????? ???????????? ???????????
i*x, j*x, k*x (3) ????? ??? ?????? 0 ??? ????? ?????
-------------------------------------------------------------------------
(1) ????? ???? ????? ?? ?????? ??? ??? ????? ? ??????????? ?? ?????????.
(2) ????? ???? ???-?????? ????? ?? ?????? ??? ???-?????? ????? ??? ????? ?
??????????? ?? ?????????.
(3) ????? ???? ?????????????? ????? ?????? ????? ??????????????? ????. ???
???????? ?????????????, ??. 6.1.1370 EXECUTE, 6.1.2050 QUIT.
_____________________________________________
??????? 3.2 - ??????????? ??????????? ???????
Hex IRV ASCI Hex IRV ASCI Hex IRV ASCI Hex IRV ASCI Hex IRV ASCI Hex IRV ASCI
--- --- ---- --- --- ---- --- --- ---- --- --- ---- --- --- ---- --- --- ----
20 30 0 0 40 @ @ 50 P P 60 ` ` 70 p p
21 ! ! 31 1 1 41 A A 51 Q Q 61 a a 71 q q
22 " " 32 2 2 42 B B 52 R R 62 b b 72 r r
23 # # 33 3 3 43 C C 53 S S 63 c c 73 s s
24 - $ 34 4 4 44 D D 54 T T 64 d d 74 t t
25 % % 35 5 5 45 E E 55 U U 65 e e 75 u u
26 & & 36 6 6 46 F F 56 V V 66 f f 76 v v
27 ' ' 37 7 7 47 G G 57 W W 67 g g 77 w w
28 ( ( 38 8 8 48 H H 58 X X 68 h h 78 x x
29 ) ) 39 9 9 49 I I 59 Y Y 69 i i 79 y y
2A * * 3A : : 4A J J 5A Z Z 6A j j 7A z z
2B + + 3B ; ; 4B K K 5B [ [ 6B k k 7B { {
2C , , 3C < < 4C L L 5C \ \ 6C l l 7C | |
2D - - 3D = = 4D M M 5D ] ] 6D m m 7D } }
2E . . 3E > > 4E N N 5E ^ ^ 6E n n 7E ~ ~
2F / / 3F ? ? 4F O O 5F _ _ 6F o o
-----------------------------------------------------------------------------
22
????????????-??????????? ????????????? ?????? ?????? ????????? ???????????
?????????? ? ??????????????? ??????????? ???. ??. E.2 ?????????? ???????????.
?????? ?????? ????, ?? ??????? ????, ???????? ? ???? ?????????? ???????, ?
?????????, ?? ??????? ????, 16-???. ?????? ?????? ?????? ???? ??????? ?????
??????? ???????. ???????? ????? ??????, ???????? ????? ?????????, ??????,
?????????????? ??????????, ?????, ? ????? ????? - ???????? ? ???? ??????.
3.1.3.1 _____
?????
????? ????? ????? ???? ?? ???? ?????????? ????????: true ??? false. ?????????,
??????? ?????????? ????? ??? ?????????????? ????????, ????? ??????????? ??
?????????.
True ????, ???????????? ??????????? ?????? ?????? ????? ???????? ????-?????? ??
????? ?????????????? ??????. A false ????, ???????????? ??????????? ??????
?????? ????? ???????? ????-?????? ?? ????? ??????????? ??????.
3.1.3.2 ___________
????? ?????
???????????? ??????????? ???????? ????? ????? ?? ?????? ?????? ???????? {-
32767.. +32767}.
???????????? ??????????? ???????? ??????????????? ????? ????? ?????? ????????
{0.. 32767}.
???????????? ??????????? ???????? ????? ????? ??? ????? ?????? ???????? {0..
65535}.
3.1.3.3 ______
??????
????? ?????????????? ?????????????? ? ??????? ?????? ? ???????? ??????
??????????? ????????, ??????? ????????? ????? ???????? ?? ?????? ??? ???????? ?
??????, ????? ???????????, ????????????? ? ???? ?????????. ?????? ???????????
???????? ????????? ? ?????. ?????? ???????? ???????? ?????? ??????????????
????? ???? ????? ???????????? ???????. ??. 3.3.3 ??????? ??????.
????? ?????????-??????????? ???????, ?????? ???????? ????? ?????????? ? ???????
- ????????????-??????????? ???????????? ???? ???????. ?????????? ???????
??????? ? ?????????-???????????? ?????? ?????? ?????????? ?????? ?????????-
??????????? ?????.
????? ??????????? ??????? - ????????????-??????????? ???????????? ?????????-
??????????? ???????. ?????????? ??????? ?????? ? ???????????? ?????? ??????
?????????? ?????? ??????????? ?????.
3.1.3.4 ___________________
?????? ?? ?????????
?????? ?? ????????? ? ?????? ???????????????? ??????? (c-addr)??????? ? ?????.
?????? ????? ?????? ?? ????????? ?????? ????????? ????? ???????? ??????
????????? ?????????????, ????? ????? ? ????????????-??????????? ????????????
?????? ??? ?????? ?? ?????????. ???????????? ????? ?????? ?? ????????? ??????
????, ?? ??????? ????, 255.
23
3.1.3.5 _________________________
?????????????? ??????????
????????? ??????????? ????? ????? ???? ? ??? ?? ????????????? ??????????, ????
??????????? ????????????.
3.1.4 _______________
???? ????-?????
????-????? ? ?????? ??????? ?? ?????????????????? ???? ??????????? ?????.
?????? ? ??????? ??????? - ?????? ??????, ? ? ????? ????????????, ???
????????????? ???? ?????. ???? ????? ?? ??????????, ???? ????? ?? ????? ???????
?? ?????? ?????? ??????????????? ???? ?????? ??????.
3.1.4.1 ______________________
????? ????? ???-??????
?? ?????, ?????? ?????????? ????? ??????? ????? ?????? ????? ???-?????? ??????
???? ???? ?????? ?????????? ????? ??????? ?????.
????????????-??????????? ???????? ????? ????? ???-?????? ?? ?????? ??????
???????? {-2147483647..+2147483647}.
????????????-??????????? ???????? ?? ????????????? ????? ???-?????? ?????
?????? ???????? {0..2147483647}.
????????????-??????????? ???????? ??? ???????? ????? ????? ???-?????? ??????
???????? {0..4294967295}. ?????????? ???????? ?????? ????? ????-?????? ?? ?????
???? ?????? ????? ????-?????? ??? ????? ?????????? ????? ????? ???-?????? ???
????? ? ??? ?? ????? ?????????. ??. 3.2.1.1 ?????????? ????????????? ?????.
3.1.4.2 _________________
?????????? ??????
?????? ???????????? ??? ???? ????? (c-addr u) ???????????? ? ????????? ????? ?
????? ? ????????.
3.1.5 ______________
????????? ????
????????? ???? ?????? ?????????? ?????????? ?????????? ???? ? ???????
?????????? ? ??????????.
3.1.5.1 _________________________
????????? ???? ??????????
??? ???? ?????? ?????????? ???? ??? ??????? ?????????? ????????? ?? ?????
??????-?????????? (??. 3.2.3.2). ????????? ??????????? ????? ????????? ?? ?????
?????? ????????, ??? ????? ???????? ??? ??? ??????????? ?????? ???? ??????????
?????????, ???? ?? ???????????? ???????? ????? ??????-??????????.
?????????-??-?????????? ??????, ??????????????? ????? ?????? ??????????
??????????? ? ?????????????? ??? ??? ?????????? ?????????? ???????? colon-sys
??????? ???? ?????????.
?????????-??-?????????? ??????, ??????????????? ????? ?????? ?????????? do-loop
????????? ???? DO ... LOOP ? ?????????????? ??? ? ?????????? ??????????
???????? do-sys ??????? ???? ?????????.
24
?????????-??-?????????? ??????, ??????????????? ????? ?????? ?????????? CASE
... ENDCASE ????????? ? ?????????????? ??? ? ?????????? ?????????? ????????
case-sys ??????? ???? ?????????.
?????????-??-?????????? ??????, ??????????????? ????? ?????? ?????????? OF ...
ENDOF ????????? ? ?????????????? ??? ? ?????????? ?????????? ???????? of-sys
??????? ???? ?????????.
?????????-??-?????????? ??????, ??????????????? ? ?????????????? ??? ??????????
??????? ???????????? ????? ??????-?????????? ?????????? ????????? orig ? dest
??????? ? ???? ?????????.
3.1.5.2 _________________________
????????? ???? ??????????
??? ???? ?????? ?????????? ???? ??? ??????? ?????????? ????????? ?? ?????
?????????. ?? ????????? ??????????? ????????, ??? ????? ???????? ?? ?????
????????? ??? ?????? ???? ?????????? ?????????, ???? ???????? ????????? ?????
?????????? ?? ????????????.
?????????-??-?????????? ??????, ??????????????? ????? ?????? ??????????
??????????? ? ?????????????? ????? ?????? ?? ???? ?????????? ???????? nest-sys
??????? ? ???? ?????????.
?????????-??-?????????? ????????? loop-control ???????????? ??? ??????????
??????????? do-loops ?????????? ???????? loop-sys ??????? ? ???? ?????????.
Loop-control ????????? ?????? ???? ???????? ?????? do-loop ??? ????, ???????
?????????? ??? ???????? ??? ?????????, ????? ???? I, J, LEAVE ? UNLOOP.
3.2 ________________
????? ??????????
3.2.1 _____
?????
3.2.1.1 ______________________________
?????????? ????????????? ?????
???? ???????? ????????? ????????????? ????? ? ?????????????? ???????? ?
???????? ????? (?????????? ?? ???????), ? ?????????????? ????? (?????????? ??
????), ??? ??????? ?? ??????. ?????????????? ???? ??????????? ??? ????????
????-?????? ?? ????? ??????????? ??????.
????????????? ????? ??? ????????????????? ???????? ??? ? ?????? - ????????? ??
??????????.
3.2.1.2 ___________________
?????????????? ????
????? ?????? ???? ???????????? ?????? ? ?????????????? ???????? ?? ????????????
?????? ????????.
?????????????? ????? ??????????? ? ???????? ??????? ????? ?????? ?????????????
????????? ???????:
???????? ? BASE - ????????? ??????? ????????? ??? ?????????????? ?????. ?????
????? ???????? ? ???????? ?? ???? ?? ?? ??????? ???????? ??????????? BASE.
????? ? ??????? ????????? ????????????? ??????? "0". ??? ????????????? ????
???????????? ?? ?????? ???????? ?? ??????????? ???????? ?????? ????????????????
??????? "9". ??? ???? ???????????? ? ??????????? ???????? ?????? ????????????
??????????? ??????? ???????????? ? ??????? "A".
25
??? ???????????? ???????????? ?????? ??, ? ??????? ????? ? ?????????? ?????????
???????? ????, ??????? ?????????????? ???????? "Z". ?????????????? ???? ???
????? ????????? - ???????????? ???????????.
3.2.1.3 __________________________________
??????????? ????? ? ????????? ????
??????????? ????? ? ????????? ???? ?????????? ???????, ????????? ?
?????????????? ????, ??? ?????????????? ?????, ? ???? ????? ?? ???????
??????????????? ?????? ???? ???????? ??????. ???? ????? ???????, ??????????
???????? ????? ?? ??????????????? ??? ????????? ????. ???? ????? ?????????????,
???????????? ??????? ???? "?????".
??????????? ????? ????? ???????????? ????? ???????? ?????? ????????????? ?????,
??? ???????? ???????? ??????????????? ????? (??. 3.3.3.6 ?????? ?????????
???????).
3.2.2 __________
??????????
3.2.2.1 _____________________
????????????? ???????
??????? ?????????? ??????? q ? ??????? r, ???? ??????? a ?? ??????? b. ????????
??????? ?????????? q, r, ??? ???. ????????? b * q + r = a ?????? ???????????
??? ???? a ? b.
????? ??????? ????? ????? ??? ?????, ? ??????? - ?? ???????, q - ????? ???????
????? ????? ?????? ??? ???????? ???????.
????? ??????? ????? ????? ?? ??????, ? ??????? - ?? ???????, ? a ? b ?????
?????????? ????, q - ????? ??????? ????? ????? ?????? ??? ???????? ???????.
???? ?????? ???? ??????? ?????????????, ????????? ?? q ? ?????????????
????????????? (??????????? ???????) ??? ????????? ? ???? (???????????? ???????)
- ???????????? ???????????.
??????????? ??????? - ????????????? ???????, ? ??????? ??????? ????? ????
???????? ??? ???????, ? ??????? ????????? ? ??? ??????????????? ????????.
???????????? ??????? - ????????????? ???????, ? ??????? ??????? ????? ????
???????? ??? ???? ? ??????? - ?????????????? ??????? "??????????? ? ????" ???
"??????????". ??????? ??????? ???????? ? ???????? 3.3 ? 3.4.
? ???????, ??? ???????? ?????????? ?? ????? ? ? ??????? ??????????? ??????????,
????????? ?????? ??? ???????? ???, ???????????? ??????????? ????? ???????, ??
????????? ?? ????????? ?? ????????? ???????????? ???????????, ??? ?????
??????????? ?? ????????? ???????????? ??????????? ??????????.
_________________________________________
??????? 3.3 - ?????? ???????????? ???????
??????? ???????? ??????? ???????
----------------------------------------
10 7 3 1
-10 7 4 -2
10 -7 -4 -2
-10 -7 -3 1
----------------------------------------
26
__________________________________________
??????? 3.4 - ?????? ????????????? ???????
??????? ???????? ??????? ???????
----------------------------------------
10 7 3 1
-10 7 -3 -1
10 -7 3 -1
-10 -7 -3 1
----------------------------------------
3.2.2.2 _____________________________
?????? ????????????? ????????
?? ???? ????????????? ?????????????? ????????? ???????????? ? ????????????????
?????? ??????????????. ???????????? ????????, ????? ?????????? ???????????? ???
???????????????? - ???????????? ???????????.
3.2.3 _____
?????
3.2.3.1 ___________
???? ??????
??????? ?? ????? ?????? ?????? ???? ??????? ? ???? ??????.
3.2.3.2 ____________________
???? ??????-??????????
???? ??????-?????????? - ??? ?????? ???? "????????? ??????", "?????? ?????",
??? ???????? ?????????? ?????????? ???????????? ???? ??????-?????????? ?
???????????, ?????????? ?? ????????????? ????? ?????? ? ??????? ??????????
??????????? ????????.
???????? ????? ??????-?????????? - ????????? ???? ?????? ??????????.
???? ??????-??????????, ?????, ?? ?? ???????????, ????????? ???????????? ?
??????????. ???? ?? ??????????, ?? ????? ????, ?? ?? ???????????, ?????????? ?
?????????????? ????? ??????. ?????? ????? ??????-?????????? - ????????????
???????????. ??? ??? ???? ??????-?????????? ????? ???? ?????????? ?
?????????????? ????? ??????, ????????, ?????????? ?? ???? ?????? ?????????? ???
???????? ????? ????????? ????????? ?? ???? ??????-??????????, ? ????????
??????????? ?? ???????? ????????? ????? ??????-??????????.
3.2.3.3 ______________
???? ?????????
???????? ?? ????? ????????? ?????? ???????? ?? ????? ??? ????? ?????. ???????
????? ???????????? ???? ????????? ????????? ?? ?????????? ???????? ? ???????
?????????? ???????????, ? ??????? ?????????? do-loops, ? ??? ??????????
????????? ?????????? ?? ????? ??????????.
????????? ????? ???????????? ???? ????????? ??? ????????? ?????? ? ???????
?????????? ???????????, ?????????? ????????? ????????????:
- ????????? ?? ?????? ?????????? ? ????????? ?? ????? ????????? (????????? R@,
R>, 2R@ ??? 2R>) ??? ?????????, ?? ??????????? ???? ? ??????? >R ??? 2>R;
- ????????? ?? ?????? ?????????? ??????? do-loop ? ?????????, ?????????? ??
???? ????????? ??????, ??? ??? ?????? ????;
27
- ??? ????????, ?????????? ?? ???? ????????? ? ???????? do-loop ?????? ????
??????? ??????, ??? ????? ????????? I, J, LOOP, +LOOP, UNLOOP, ??? LEAVE;
- ??? ????????, ?????????? ?? ???? ????????? ? ???????? ??????????? ?????? ????
??????? ????? ???, ??? ??????????? ????? ????????? ??? ??????, ??? ?????
???????? EXIT.
3.2.4 __________________
???????? ?????????
??. 1.2.2 ??????????.
3.2.4.1 _________________________________
???????????????? ?????????? ?????
????? ?????? ????????????????? ?????????? ????? ?????? - ????????????
???????????.
????? ????????? ????? ??????? ?????? ?????? - ???????????? ???????????.
3.2.4.2 __________________________________
???????????????? ?????????? ??????
????? ?????? ????????????????? ?????????? ?????? - ???????????? ???????????.
3.2.5 _______________________________________
???????????? ?????????? ??????? ???????
??????? ?? ??????????????? ????? ???? ??????????? ????? ??? ??????? ?
????????????? ?????????? ??????? ???????. ???? ??????? ????????????? ????? ????
??????????? ????? ??? ??????? ? ????????????? ?????????? ??????? ???????, ???
?????? ????? ????????? ??????? ????? ????.
3.2.6 ___________________
??????? ? ?????????
???????????? ???? ??? ENVIRONMENT? ? ??????????? ????????????????. ????????
??????????? ?????????? ?????? ?? ??? ENVIRONMENT? ?????? ?? ?????? ??????
???????? ENVIRONMENT?.
??????? 3.5 ???????? ?????????? ??????? ?????? ? ??????????????? ????????????
???????? ??? ???????? ? ??????????? ????? ? ??????? ENVIRONMENT?.
_________________________________________
??????? 3.5 - ?????? ???????? ? ?????????
?????? ??? ????????? ????????
---------------------------------------------------------------------------
/COUNTED-STRING n yes ???????????? ?????? ?????? ?? ?????????, ?
????????
/HOLD n yes ?????? ?????? ???????? ?????? ?????????????
?????, ? ????????
/PAD n yes ?????? ??????? ???????, ??????????? PAD, ?
????????
ADDRESS-UNIT-BITS n yes ?????? ?????? ??????????? ????????, ? ?????
CORE flag no true ???? ???????????? ?????? ???????? ?????
????
(?? ????, ?? ???????????? ??? ?????????? ?
5.1.1)
CORE-EXT flag no true ???? ???????????? ??????????? ????? ????
FLOORED flag yes true ???? ??????????? ??????? ?? ?????????
MAX-CHAR u yes ???????????? ???????? ?????? ???? ??????? ?
?????? ???????? ???????????? ???????????
28
MAX-D d yes ?????????? ???????????? ???????? ???????
?????
MAX-N n yes ?????????? ???????????? ???????? ?????
MAX-U u yes ?????????? ???????????? ??? ???????? ?????
MAX-UD ud yes ?????????? ???????????? ??? ???????? ???????
?????
RETURN-STACK-CELLS n yes ???????????? ?????? ????? ?????????, ?
???????
STACK-CELLS n yes ???????????? ?????? ????? ??????, ? ???????
---------------------------------------------------------------------------
???? ?????? ? ????????? (? ??????? ENVIRONMENT?) ?????????? false (?? ????,
???????????) ? ????? ?? ??????, ??????????? ???????, ???????????? ?? ?? ?????
?????? ????? ?????????? true. ???? ?????? ?????????? true (?? ????, ?????????)
? ????? ?? ??????, ??????????? ??????? ? ??? ?? ????? ??????? ?????? ?????
?????????? true. ???? ??????, ???????????? ??? ????????? ? ??????????????
???????, ?????????? true ? ???????? ? ????? ?? ??????, ??????????? ??????? ?
??? ?? ????? ??????? ?????? ?????????? true ? ?? ?? ????? ????????.
3.3 _____________
??????? Forth
????? Forth ???????????? ? ????????? ?????????? ????????. ? ?? ????? ??? ?????
???? ????????? ?? ?????????? ??????????, ??? ????? ???? ??????? ??? ?????????
?? ??? ?????????? ??????: ??????? ?????, ??????? ????, ? ??????? ??????.
?????????? ?????????? ???? ?????? ?? ??????? ?? ??????????? ??????????.
????????? ?? ?????? ????? ??? ????????? ?????? ? ????? ??? ??????? ??????.
????????????? ??????? ??????????, ???? ????????? ???????? ??????? ????? ???
??????? ????.
3.3.1 _____________
??????? ?????
????????? ????? ???????? ????? ? ???????? ?????? - ????????? ?? ??????????.
????????? ?????? ???? - ????????? ?? ??????????. ????? ? ?????? ???? ??????????
????????? ????, ? ???????? ?????? ????? ?????? ???? ?????? ?????????
???????????? ????????.
3.3.1.2 _________________
????? ???????????
????? ??????????? ?????? ????????? {1.. 31} ????????. ??????? ????? ?????????
??? ????????? ???????? ???? ???????????, ?????????? ?? ??????????? ???????.
?????????, ??????? ?????????? ???????? ????? ??? ??????????? ???? ???????????
??? ??????? ?? ????????-?????????????? ??????? ??????? - ????? ??????????? ??
?????????.
????????? ?? ?????? ????????? ????? ???????????, ?????????? ?????????????
???????.
3.3.2 ____________
??????? ????
????????? ????? ???????? ???? ? ???????? ?????? - ????????? ?? ??????????.
29
3.3.3 ______________
??????? ??????
??????? ?????? - ???????????? ?????????? ??????? ???????, ??? ???????
????????????? ??????????? ?????, ??? ???? ????? ???????????? ? ?????????? ?
???????? ??????. ????? ????????? ????????: ??????????? ???????, ??????????,
??????? ????????? ????????, ?????? ?????, ? ?????? ????????? ???????, ?????? ??
??????? ??????? ? ????????? ????????. ????????? ????? ?????? ?? ??? ??????????
? ??? ???????, ???? ????? ?? ??????????.
3.3.3.1 ___________________
???????????? ??????
??????????? ???????, ???????????? ? ANS Forth ??? ??????????? ??????
(?????????? - a-addr) ??? ?????????-??????????? (?????????? c-addr). ALIGNED,
CHAR+, ? ?????????????? ???????? ????? ???????? ????????? ???????????? ??????
?? ?????. CHAR+ ??????????? ? ??????????? ??????? ?????????? ?????????-
??????????? ??????, ??????? ????? ?????????????? ??????, ??? ????????? ?
????????. ?????????? CHAR+ ? ?????????-???????????? ?????? ?????????? ?????????
?????????-??????????? ?????. ?????????? ??? ????????? ????????????? ????? ?
?????? ????? ??????????? ?? ??????????? ?????, ??????? ?? ????? ????
??????????? ??? ??????? ??? ?????????? ????-??????. ???????????? ???? ?????
????????? ??????????? ?????? - ??? ALIGNED. ?????????????? ???????? ??????????
????? @, !, , (???????), +!, 2@, or 2! ???????????? ? ???????, ??????? ??
????????, ??? ????? C@, C!, ??? C, ???????????? ? ???????, ??????? ??
?????????-???????????.
??????????? 6.1.1000 CREATE ? 6.1.2410 VARIABLE ???????, ????? ???????????
????????? ??? ?????????? ??????????? ??????.
????? ????, ??? ??????????? ???????????????, ??? ????????? ????? ALIGN,
????????? ??????? ?????? ????????????? ????? ???????????.
3.3.3.2 ___________________
??????????? ???????
??????? ???????????, ??? ???? ??????? ?????? ?????????????? ? ??????????????
ALLOT, , (???????) , C, (c-???????) , ? ALIGN, ????? ?????????? ? ??????????
?????, ?????????????? ????? ?? ?????????????? ????, ???? ?? ???????????
??????????? ?? ????????? ??????????. ????????? ??????? ?????? HERE ??????
?????????????? ?????? ????????? ???? ??????? ??????, ??????? ?????
????????????. ??? ?????? ???????????????? ????????????? ???????, ?????????????
????????? ??????? ??????. ????????? ????? ????????? ???????? ?????????? ?
???????? ?????????? ?????????????? ???????. ????????? ???? ??????? ??????
?????????????? ? ?????????????? ?????????????? ?????????? ????? ????
???????????, ?????????????? ??????????????? ???? ?????????????? ???????,
????????? ALLOT, ? ??????????? ??????????? ????????? ??????????.
CREATE ????????????? ?????? ??????????? ???? ??????? ??????, ??? ?????????
????? ????????? ????????? CREATE ????????????. ??? ???? ?????????????,
??????????? ?????????? ???????????.
??? ??? ?????????? ?? ??????????? ??????????? ?? ????????????? ??????? ??????
??? ????????????? ?????, ?????????????? ????????? ?? ??????? ???????????
??????????? ???? ??????? ??????, ???? ????? ??????????????? ???? ????????? ???
???????? ?? ??????? ???????????. ?????????????? ???????? ?????????? ????
????????????? ?????? ???????? ???????????.
3.3.3.3 __________
??????????
30
???????, ?????????????? ??? ?????????? ????? ???????? ?? ?????????? ?????????
???????? ? ????????? ???????????? ??????????????? ? ??????? , (???????) ???
ALLOT. ????????, ?:
VARIABLE X 1 CELLS ALLOT
???? X ? ?????????????? ALLOT ???? ????? ???? ??????????.
????????? ????????????-???????? ??????????, ???? STATE, ?????????? ????????
?????? ??? ??????.
3.3.3.4 __________________________
??????? ????????? ????????
??????? ????????? ????????, ???????? ????????, ?????????????????? ? ??????? S"
? C", ????? ???? ??????-???-??????.
????????? ?? ?????? ????????? ? ???????? ????????? ???????? ????????? ? ???????
S" ? C", ?? ? ?????? ??????-???-?????? ????????? ?????????? ??? ??????-???-
?????? ????????? ???????. ?????????????? ???????? ?????????? ????? ?????????
???????? ????????? ? ??????? ??????-???-??????.
3.3.3.5 ______________
??????? ??????
?????, ?????, ? ?????????? ???????? ?????? ????? ???? ??????????. ????????? ??
?????? ?????????? ?? ??????? ?????. ? ?????????? ????? ???? ??????????????
??????? ???? ????????????????? ?????????????? ??????? ?????????, ??????? ?????
- ??? ???? ??????? ????? ?????????, ???????????? QUIT ??? ???????? ????? ??????
?? ????????????????? ?????????? ????? ??????, ???? ????? ???????????? EVALUATE.
?? ???? ??????? SOURCE ?????????? ????????? ????? ? ????? ? ???????? ????????
???????? ??????.
??????????? ?????? ???????? ?????? ????????? ?????? ???? 80 ????????.
????? ? ????? ???????????? SOURCE, ?????? ???????????? PARSE, ? ???????????????
??????????? ????? ???????? ?????? ????? ???? ?????? ???? ?????????
????????????? ?? ?????? ????-????? ??? ?????????? ???????? ??????, ??? ??
??????? ??????? ????????.
????????? ????? ???????? ?????? ??????? ???????, ??????? ?????????? >IN ?
???????? ???????????, ?????????? ???? ??????????. ????????, ???? ?????????? >IN
????????? ????? ????????? ??????? ? ????????????? ????????????, ?????, ???????
??????????????, ????? ???????? ????? ??? ??????????? ???????? ???????????????
???????. ??????? ??????????? ?????????? ???????????????? ? ?????????????? ?????
?????? ??????? ?? ???????? ????????? (??. 7.3.3 ??????? ???????? ?????? ?
11.3.4 ??????? ????????).
????????? ????? ??????????????? ??????????? ??????? ?????, ????????? ??? ?????
? ????? ???????????? SOURCE; ?????? ??????? ??????? ? ???????? ???????? ??????
????????????? ?????? ? >IN. ???????? ????? ???? ?? ???????????? ????.
?????????????? ???????? ?????????? ???? ????????? ???????? ?????????? ????????
??????.
3.3.3.6 ________________________
?????? ????????? ???????
???? ??????? ??????, ?????????????????? PAD, WORD, ? #> (????? ???????? ??????
????????????? ?????) ????? ???? ??????????. ?? ?????? ? ?????????? ????? ?????
????????????????? ????? ????, ???:
- ??????? ??????????? ????? ???????????? ?????;
31
- ??????????? ?????????????? ? ??????? : ??? :NONAME;
- ??????? ?????? ????????, ? ??????? ALLOT, , (???????), C, (c-???????), ???
ALIGN.
?????????? ?????????? ????????, ?????????????????? WORD ? #> , ????? ????
??????????????? ????? ??????? ????????????? ???? ????. ????? ????, ???????,
???????????? WORD ? #> , ????? ????????????? ? ??????. ?????????????,
????????????? ?????? ?? ???? ???? ????? ????????? ???????, ???????????? ?????
?????? ??????. ?????? ?????, ??????? ??????? ???????? ?????? ?????????????
????? (IN ????? ????? ????????
??????, ??? ?? ???????? ?????? ???????? ????? ????????????, ?? ????????? ??????
?????. ?????, ????????? ?????? ?????????? ?? ?????????? ??????? ? ???????
???????, ??????? ???????? ????????, ??????????????? ?????????? >IN.
?????????????? ???????? ?????????? ???? ????? ? >IN ?????? ??? ?????? ????????
??????.
???? ???????-??????????? ???????????? ? ??????? ??????? ????? ?????? ?????????
??????, ?????? ???????????? ?????? ?? ??????? ??? ??? ????? ?????? ?????
????????????, ? ????? ? >IN ??????????, ??? ????? ????????? ???????????????
????? ????? ???????????, ????? ???????? ????????? ????????????? ??????? ?
??????????? ?? ??????? ???????. ?????, ?????? ???????????? ?????? ?? ??????????
??????? ? ??????? ???????, ? ????? ? >IN ?????????? ?? ????? ???????? ??????,
????? ???????? ?????????? ??????? ???????.
?????????????? ?????? ????? ???????? ?????????? >IN, ?? ?? ?????? ???????????
?????????? ?????? ?????. ? ?????????, ???? ???????? ? >IN ????????? ?????
??????? ???????, ??????? >IN ? ????? ???????? ?????????? ????? ???????, ??????
???????????? ??????? ??????? ??? ?????? ??????.
3.4.1.1 ___________
???????????
???? ??????????? - ?????? (hex 20 (BL)) ??????????? ??????? ????? ????
???????????????? ??? ???????????. ????? ???????, ???? ??????? ?????? ???????,
???????? ??????? ??????????? "??????" ????????????? ??????????? ???????? -
???????????? ???????????.
??? ???????? ??????? ???????????? ?????????? ?????????? ???? ??? ????? ???????
???????????? ? ??????? ??????? ????? ?????????????? ????????.
3.4.1.2 _________
?????????
Forth ????? ???????, ??????????-????????????? ?????????. ????? A B C
?????????? ????????, ??? ????? A ???? ????????? ??????, ????? B ? ??????? C.
?????, ??????? ???????? ?????????? ?? ????? ????????? ??????-??????????,
?????????? ??????? ??????-??????????. ????????? ??????-?????????? - ??????????
???? ??????-??????????, ??? ???????? ??????? ???????? ??????????? ??????.
??????? ????????? ????????????? ???? ??? ??????? ????? ??????-?????????? ?
?????????? A.
????????? Forth ?????????; ????????, ? ???????? ???????????? ????? ????
?????????? ????? ????? ??????-??????????.
???? ???????? ?? ??????? ?????????? ??? ??????? ???????? ????????? ?????????.
33
3.4.1.3 ______________________________________________________
?????????????? ??????? ????? ?????????? ??????????????
??? ?????????????? ??????? ?????, ????????? ????????????? ?????? ????????????
????????????? ? ????????????? ?????; ????????????? ?????, ??????????????
????????? ?????? "?????" (???????? "-") ?????????????? ??????. ???????? ? BASE
- ????????? ??????? ????????? ??? ?????????????? ?????.
3.4.2 ______________________
????? ???? ???????????
?????? ????????????? ????? ???????????, ???? ?????? ?????? ? ??????
????????????? ???????????????? ??????? ? ??????, ???????????? ??? ???
???????????, ????? ??????????? ???? ???????. ??????????? ????????????????
(????????????? ?? ??????? ???????? ???????? ????????????? ???????? ???????
????????) - ???????????? ???????????. ??????? ????? ???? ???? ?????????????? ?
???????? ? ?????????? ??????? ???????? - ? ??????? ???????? ??? ????????? ? ??
???????????????, ???? ???????????????? ? ????????, ????????? ???????? ?
???????? ??? ??????.
???????????? ???????? ???????? - ? ??????? ???????? ? ??????????? ????????? ?
??????????? ?????? ???????? ???? ????????????????? ???????? ? ??????????????
?????? - ???????????? ???????????.
??????? ?????? ???? ???????? ? ?????????? ???? ???????????, ???????????? ? ????
?????????, ????? ??? ???????? ????????? ? ??????? ????????.
3.4.3 _________
?????????
????????? ??????????? Forth ??????????? ???????? ????? ??? ???????????????????
??????????????? ?????????? ??? ??????? ???????????????. ??? ? ????????????
??????? ?????????? ???????? ???????? ? ????????? ??????, ??????? ??????????
????? ???????? ?????? ???? ???????????? ? ???????????. ????? ? ?????? ?????
??????? ????? ?????????? ????????? ???????????.
?????? ??????????? Forth ????? ????? ????????? ?????????, ????????? ? ?????????
????????. ??????? "????????? ?????????" ? "????????? ???????-??????????"
????????? ? ?????????? ???????????, ? ????? ???????? ?????? ? ????????
?????????????? ?????? ???????, ??? ??? ??????????.
3.4.3.1 ____________________
????????? ??????????
????????? ?????????? ??????? ??????????? Forth ?????????? ? ??????
"??????????:" ??? ????? ???????. ????? ??????????? ????? ?????? ???? ?????????
?????????, ????? ???????.
?????????? ????? ??????????? ??????, ????? ??????????? ???????????, ? ???????
??? ???? ??????????????, ??? ????, ????? ??? ????????????? ??????????
?????????? ? EXECUTE. ????????? ?????????? ????????????? ???????????
??????????? ??? ???????? ???????? ?? ???, ??? ?????????? ? ???? ????????? -
????????? ?? ??????????.
????? ??????? ??? ???????????? ???? ???????? ????????? ?????????? ??? ??????
??????????? ? ?????? "??? ??????????:".
3.4.3.2 _______________________
????????? ?????????????
???? ????? ?? ?????????? ? ?????? "?????????????:" ????? ???????, ?????????
????????????? ??????????? Forth - ??? ??? ????????? ??????????.
34
??????? ?????? ???? ???????? ????????? ? ????????? ????????????? ???
??????????? ?? ????????? ?????? ???? ? ????? ???????????, ?????????? ?
?????????????? ????? ???? ??? ????? ???????????? ??????, ??? ?????????
????????????? ?????????? ? ???? ?????????.
??????? ?????? ???? ???????? ????????? ? ????????? ????????????? ????? ?????
??????????? ????????? ? ???????????? ? 3. ??????? ??????????.
3.4.3.3 ____________________
????????? ??????????
???? ????? ?? ?????????? ? ?????? "??????????:" ????? ???????, ?????????
?????????? ??????????? Forth ?????? ???????? ??? ????????? ?????????? ? ?????
????????? ?????????? ???????? ???????????.
3.4.4 _____________________________________________
????????? ???????? ?? ?????????????? ????????
????? ?????????? ?????????????? ????????, ??????? ????? ????????????? ???? ???
????? ?? ????????? ????????:
- ????????????, ? ??????????;
- ??????? ?????????;
- ????????? ????????????? ?????;
- ?????????? ????????? ????????????? ? ?????? ????????? ?????????????;
- ????????????? ?????? ???????? ???????????? ???????????;
- ????????????? ????????? ?? ?????????? ????????.
????? ?? ????????????? ?????????????? ???????? ?? ?????? ???? ???? ? ??? ?? ???
???? ???????????????.
3.4.5 __________
??????????
????????? ?? ?????? ???????? ????????? ????????? ?????????? ???????????.
? ??????? ?????????? ???????? ???????????, ????????? ?? ?????? ?????????
??????? ???????????? ?????, :NONAME, ??? ????? ???????????, ???????
???????????? ??????? ?????? ???????. ?????????? ???????? ??????????? ????? ????
??????????????, ? ??????? [ (????? ??????) ? ??????????, ? ??????? ] (??????
??????). ???? ?????????? ???????? ??????????? ??????????????, ????????? ??
?????? ????????? ??????? ???????????? ?????, :NONAME, ??? ????? ???????????,
??????? ???????????? ??????? ?????? ???????.
35
4. ___________________________
???????????????? ??????????
????? ?????????? ??? ????????????? ??? ??????? ??? ????????? ?????????? ??
?????? ?????????, ????????? ??????????, ??? ????????? - ????? ?????????????? ?
????????? ?????????????? ? ???????, ?????? ??? - ???.
4.1 ______________________
????????? ????????????
4.1.1 ______________________________
????? ???????????? ???????????
? ????????? ?????? ?????? ???????????? ??????????? ???????????? ??????????????
? ????????, ??????????? ?? ?????????? ????????????, ??? ???????, ??? ?????????
?????????? ????? ?????????. ??????? ?????? ??????????????? ????????, ???
?????????, ??? ??????? ??????.
- ?????????? ? ???????????? ?????? (3.1.3.3 ??????);
- ????????? 6.1.1320 EMIT ??? ????????????? ????????;
- ?????????? ?????????????? 6.1.0695 ACCEPT ? 6.2.1390 EXPECT;
- ????? ???????? (3.1.2 ?????????? ????, 6.1.1320 EMIT, 6.1.1750 KEY);
- ?????????? ?????????-???????????? ?????? (3.1.3.3 ??????);
- ??????????????, ??????????????? ??????????? ?????? ???????? (3.4.2 ?????
???? ???????????);
- ???????, ??? ??????? ??????????? ??????? ????????????? ???????????
??????????? (3.4.1.1 ???????????);
- ?????? ????? ??????-?????????? (3.2.3.2 ???? ??????-??????????);
- ?????????????? ???? ???????, ??? ???????? ???? (3.2.1.2 ?????????????? ????);
- ??????????? ????? ????????? ????? ? 6.1.0695 ACCEPT ? 6.2.1390 EXPECT;
- ?????????????????? ?????? ?????????? (??? ? 6.1.0680 ABORT");
- ??????? ????? ??????? ?????? (3.2.4.1 ???????????????? ?????????? ?????
??????);
- ???????????? ?????? ?????? ?? ?????????, ? ???????? (3.1.3.4 ?????? ??
?????????, 6.1.2450 WORD);
- ???????????? ?????? ????????????? ?????? (3.4.1 ?????????????? ??????);
- ???????????? ?????? ????? ???????????, ? ???????? (3.3.1.2 ?????
???????????);
- ???????????? ????? ?????? ??? 6.1.1345 ENVIRONMENT?, ? ????????;
- ????? ?????? 3.2.4.1 ???????????????? ?????????? ?????;
- ????? ?????? 3.2.4.2 ???????????????? ?????????? ??????;
- ?????? ?????????? ??????? (3.3 ??????? Forth);
- ????? ??? ? ????? ?????????? ???????? (3.1.3.3 ??????);
- ????????????? ????? ? ?????????? (3.2.1.1 ?????????? ????????????? ?????);
- ????????? ??? n, +n, u, d, +d, ? ud (3.1.3 ???? ????-??????, 3.1.4 ???? ????-
?????);
- ???? ??????? ?????? ??????-???-?????? (3.3.3 ??????? ??????);
- ?????? ?????? ? 6.1.2450 WORD (3.3.3.6 ?????? ????????? ???????);
- ?????? ????? ?????? ? ?????????? ????????? (3.1.3 ???? ????-??????);
- ?????? ?????? ??????? ? ?????????? ????????? (3.1.2 ?????????? ????);
- ?????? ???????? ?????? ?????????? ????????? (3.3.3.5 ??????? ??????);
- ?????? ?????? ?????? ?????? ????????????? ????? (3.3.3.6 ?????? ?????????
???????);
- ?????? ??????? ???????, ??? ????? ????????? 6.2.2000 PAD (3.3.3.6 ??????
????????? ???????);
- ????????? ????????-?????????????? ?????????????? (3.4.2 ????? ????
???????????);
- ????????? ??????????? (3.4 ????????????? ?????? Forth, 6.1.2050 QUIT);
- ??? ?????????? ??????? (3.2.2.1 ????????????? ???????, 6.1.0100 */,
6.1.0110 */MOD, 6.1.0230 /, 6.1.0240 /MOD, 6.1.1890 MOD);
36
- ???????? 6.1.2250 STATE, ???? true;
- ????????, ???????????? ????? ??????????????? ???????????? (3.2.2.2 ??????
????????????? ????????);
- ????? ?? ??????? ??????????? ???? ??????? ????? 6.1.1250 DOES> (6.1.0450 :).
4.1.2 _____________________
????????????? ???????
??????? ?????? ??????????????? ????????? ????????, ??????????????? ?? ??????
????? ??? ????????????? ????????????? ???????, ?????????????????? ? ????
?????????. ??. 3.4.4 ????????? ???????? ?? ?????????????? ????????.
????????? ????? ????????????? ??????? ????? ??????????? ??-?? ??????????
????????:
- ??? ?? ?????????? ?? ?????????? ?????? ???????????, ?? ?????????? ?????? ?
??????? ????????????? ?????? (3.4 ????????????? ?????? Forth);
- ??? ??????????? ????????? ???????????? ?????????? ????? (3.3.1.2 ?????
???????????);
- ??????????? ???????, ?? ????????????? ? 3.3.3 ??????? ??????;
- ??? ?????????, ????????????? ? ????????? ??????? ??????????, ????????,
???????? ????? ????? ?????????? n (3.1 ???? ??????);
- ??????? ???????? ????????????? ?????????? (????????, ? ??????? 6.1.0070 ',
6.1.1550 FIND, ? ?.?.) ??????????? ? ?????????????? ?????????? ?????????????;
- ??????? ?? ???? (6.1.0100 */, 6.1.0110 */MOD, 6.1.0230 /, 6.1.0240 /MOD,
6.1.1561 FM/MOD, 6.1.1890 MOD, 6.1.2214 SM/REM, 6.1.2370 UM/MOD,
8.6.1.1820 M*/);
- ????????????? ?????? ????? ?????? ??? ?????? ????? ????????? (????????????
?????);
- ???????????? ????? ??? ?????????? loop-control;
- ???????????? ????? ? ???????;
- ????????????? ????? ? ?????????????? ?????????? ?????????????;
- ????????? ?????????? ???????? ?????? ??? ?????????? ???????? (3.3.3.4 ???????
????????? ????????, 3.3.3.5 ??????? ??????);
- ???????????? ?????? ?????? ????????????? ?????;
- ???????????? ????????????? ??????;
- ???????????? ????????? ??? ?????????, ???????? ????????? (? ?????????????? *)
???????? ? ???????? ??????? ????????, ????? ???? ?????????????? ????? ??????
????-?????? (6.1.0090 *, 6.1.0100 */, 6.1.0110 */MOD, 6.1.0570 >NUMBER,
6.1.1561 FM/MOD, 6.1.2214 SM/REM, 6.1.2370 UM/MOD, 6.2.0970 CONVERT,
8.6.1.1820 M*/);
- ?????? ?? ??????? ????? ?????? ??? ????? ????????? (????? ?? ?????? ???????
?????);
- ??????????? ????? ???????? ??????, ?????????? ? ??????? ???????????? ??????
??????? ????? ??? ???;
????????? ????????????? ????????????? ??????? ???????? ? ????????? ??????
?????? ????:
- >IN ?????? ??? ?????? ???????? ?????? (3.4.1 ?????????????? ??????);
- 6.1.2120 RECURSE ?????????? ????? 6.1.1250 DOES>;
- ???????? ????????? ?????, ???????? ?? ???????? ???????? ????????? ???
6.2.2148 RESTORE-INPUT;
- ??????? ??????, ?????????? ??????????? ??????????? (3.3.3.2 ???????????
???????);
- ??????-?????? ??????? ?????? ? ???????????? ????????????? (3.3.3.1
???????????? ??????);
- ????????? ??????? ??????, ?? ??????? ??????? ??????????? (6.1.0150 ,,
6.1.0860 C,);
- ?????? ??? u+2 ????????? ? ????? (6.2.2030 PICK, 6.2.2150 ROLL);
- ????????? loop-control ?? ???????? (6.1.0140 +LOOP, 6.1.1680 I, 6.1.1730 J,
6.1.1760 LEAVE, 6.1.1800 LOOP, 6.1.2380 UNLOOP);
37
- ????? ????????? ??????????? ?? ????? ????? (6.1.1710 IMMEDIATE);
- ???, ?? ???????????? 6.2.2405 VALUE, ??? ????????????? ? 6.2.2295 TO;
- ???, ?? ??????? (6.1.0070 ', 6.1.2033 POSTPONE, 6.1.2510 ['],
6.2.2530 [COMPILE]);
- ????????? ?? ?????? ???? (6.1.1240 DO, 6.2.0620 ?DO, 6.2.2440 WITHIN);
- 6.1.2033 POSTPONE, ??? 6.2.2530 [COMPILE] ????????? ? 6.2.2295 TO;
- ?????? ???????, ??? ?????? ?? ????????? ???????????? 6.1.2450 WORD;
- u ?????? ??? ????? ????? ????? ? ?????? (6.1.1805 LSHIFT, 6.1.2162 RSHIFT);
- ?????, ?? ???????????? ? ??????? 6.1.1000 CREATE (6.1.0550 >BODY,
6.1.1250 DOES>);
- ?????, ???????????? ??????? ???????????? ??? 6.1.0490
(6.1.0030 #, 6.1.0050 #S, 6.1.1670 HOLD, 6.1.2210 SIGN).
4.1.3 _____________________________
?????? ????????? ????????????
??????? ?????? ???????????? ????????? ??????????:
- ?????? ????????????? ????, ???????????? 6.2.2000 PAD (3.3.3.6 ??????
????????? ???????);
- ????????? ???????????? ???????? ?????????;
- ????????? ??????? ?????? ?????????, ? ?????????? ?????????;
- ????????? ?????? ????? ?????????, ? ???????;
- ????????? ?????? ?????, ? ???????;
- ????????? ????????? ???????????? ???????, ? ?????????? ?????????.
4.2 ________________________
??????????? ????????????
4.2.1 _____________________
??????????? ?????????
????????? ?????? ??????????????? ????????? ??????????? ?????????, ??? ???
???????????, ? ?????? ??????????????? ?????? ????????? ??????????? ?????????:
- ???????????? ?????? ?????? ?????? ????????????? ????? ????????????? ????????
? ??????????? ??????????? ??????? (3.3.3.6 ?????? ????????? ???????);
- ??????????? ??????????? ??? ?????????? ????????????? ???????? ? ??????????
?????? (6.1.0695 ACCEPT, 6.2.1390 EXPECT);
- ??????? ? ???????????? ??????????? ?????????? (3.2.2.1 ?????????????
???????);
- ?????????? ? ???????????? ????????????? ????? ? ?????????? (3.2.1.1
?????????? ????????????? ?????);
- ?????????? ? ????????????? ?????? ??? ??????? (3. ??????? ??????????);
- ?????????? ? ??????????? ???????? ??? ???????? ??????????? ??????? (3.1.2.2
??????????? ???????, 6.1.1750 KEY);
- ????????????? ??????????? ????????, ??? ?????????? ????????????? ???????
(6.1.1320 EMIT, 6.1.2310 TYPE);
- ????????????? ?????? ??? ?????????????? ????????? (3.1.3.1 ?????);
- ????????????? ???????? ???? ??? ??????????? ???? ??????????? ??? ???????????
?? ???????????????? ? ???????? ??????? (3.3.1.2 ????? ???????????);
- ????????????? ???????????? ??????? ?? ????????? hex 24 (3.1.2.1 ???????????
???????).
4.2.2 _______________________________
?????? ??????????? ????????????
????????? ?????? ????? ???????????????:
38
- ??????????? ?????????? ???????????? ??????? ?????????;
- ?????????? ?? ??????????? ??????? ????? ???????? ?????????.
39
5. _________________________
?????????? ? ????????????
5.1 _________________
ANS Forth ???????
5.1.1 ____________________
????????? ??????????
???????, ??????? ????????? ??? ????????? ?????????? ???????? 3. ???????
?????????? ? 4.1 ????????? ???????????? ? ?? ??????????? - ??????????? ???????.
????? ??????????? ???????, ??????? ????????????? ?????? ????? ???????? ???? -
???????????? ??????????? ???????. ????? ??????????? ??????? (????????????),
??????? ?? ? ????????? ????????? ???? ??? ??????? ?????????? ???????????
???????? ??? ??????????, ????????? ? 3. ??????? ?????????? ? ?? ?????????? -
????? ??????????? ?????????? ?????.
5.1.2 ______________________
????????? ????????????
??????????? ??????? (????????????) ?????? ???? ????????? "ANS Forth ???????
(????????????)". ??? ???????????? ?? ?????? ??????????? ? ??????????? ????????
??? ??????????? ???????? ?????????????, ??????? ????? ??????????? ??????????
?????.
????? "? ????????????? ?????????? ?????" ?????? ???? ????????? ? ?????
???????????? ??????????? ??????? (????????????), ??????? ????? ???????????
?????????? ?????.
????? "????????????? ????? ?? ?????????? ????????? ?????? ????" ?????? ????
????????? ? ???????????? ????? ??????????? ???????, ??????? ????????????? ?????
?????????? ????????? ?????? ????.
????? "????????????? ?????????? ????????? ?????? ????" ?????? ???? ????????? ?
???????????? ????? ??????????? ???????, ??????? ????????????? ??? ??????????
????????? ?????? ????.
5.2 ___________________
ANS Forth ?????????
5.2.1 ______________________
??????????? ??????????
?????????, ??????? ????????? ??? ??????????? ?????????? ???????? 3. ???????
?????????? ? 4.2 ??????????? ???????????? ? ?? ?????????? - ???????????
?????????.
5.2.2 ________________________
??????????? ????????????
??????????? ????????? ?????? ???? ????????? "ANS Forth ?????????". ???
???????????? ?? ?????? ??????????? ? ??????????? ??????????, ??????? ???????,
????? ??????? ????????????? ??????????? ????? ??? ????????? ?????? ???? ??? ???
????? ??????????? ?? ?????????.
????? "? ????????????? ?? ?????????" ?????? ???? ????????? ????????????
??????????? ?????????, ??????? ????? ??????????? ?? ?????????.
????? "????????? ????? ?? ?????????? ????????? ?????? ????" ?????? ????
????????? ? ???????????? ??????????? ?????????, ??????? ???????, ????? ???????
???????????? ????? ?????????? ????????? ??????.
????? "????????? ?????????? ????????? ?????? ????" ?????? ???? ????????? ?
???????????? ??????????? ?????????, ??????? ???????, ????? ??????? ????????????
??? ?????????? ????????? ??????.
40
6. _______
???????
6.1 ______________
???????? ?????
6.1.0010 ! "store " CORE
( x a-addr -- )
????????? x ? a-addr .
??.: 3.3.3.1 ???????????? ??????.
6.1.0030 # "number-sign" CORE
( ud1 -- ud2 )
????? ud1 ?????? ? BASE, ???? ??????? ud2 ? ??????? n. (n - ???????
?????? ud1.) ??????????????? n ? ??????? ????? ? ?????????
?????????????? ?????? ? ?????? ???????? ?????? ????????????? ?????.
?????????????? ???????? ?????????? ???? # ??????????? ???
?????????????? ?????????????? ?????.
??.: 6.1.0040 #>, 6.1.0050 #S, 6.1.0490 "number-sign-greater" CORE
( xd -- c-addr u )
??????? xd. ?????? ???????? ?????? ????????????? ????? ?????????
??? ?????????? ??????. C-addr ? u ?????????? ??????????????
?????????? ??????. ????????? ????? ???????? ??????? ? ????????
??????.
??.: 6.1.0030 #, 6.1.0050 #S, 6.1.0490 , 6.1.0490