Язык Форт и его реализации



             

Приложение 1.Модель форт-системы - часть 14


Экран номер 34

( 31.03.86 (FIND/ ) CODE (FIND) ( -1,AN,...,A1,T->CFA,C,TF/FF ) RW2 POP, RW2 RMASK NR, RW2 RFORTH AR, ( ОБРАЗЕЦ) 0 0 SR, 0 0 (, 0 RW2 IC, 0 LENG1MSK N, ( ДЛИНА) 1 1 SR, 1 0 BCTR, BEGIN, RW1 PULL, ( ВХОД В ОЧЕРЕДНОЙ СПИСОК СЛОВ) 2 =F B, BEGIN, RW1 RFORTH AR, 14 0 (, 0 RW1 IC, 14 LENGMASK N, 14 0 CR, ?E IF, 14 4 =F EX, 3 =F BE, THEN, 14 LENG1MSK N, RW1 2 (, 14 RW1 LH, 2 =H RW1 RMASK NR, ?Z UNTIL, RSTACK RTWO AR, 1 FIRST CH, ?E UNTIL, PUTRW1 B, BEGIN, RSTACK RTWO AR, 3 =H 1 FIRST CH, ?E UNTIL, 0 0 (, 0 RW1 IC, RW1 RFORTH SR, RW1 4 (, 14 RW1 LA, RW1 PUT, 0 PUSH, RW1 1 LR, PUSHRW1 B, 4 =H 1 (, 1 RW1 ), 1 (, RW2 CLC, END-CODE

Экран номер 35

( 31.03.86 FIND -FIND ) : FIND ( T->A,N) DUP >R -1 LIT [ FORTH# ] @ CURRENT @ @ 2DUP = IF DROP THEN CONTEXT @ @ 2DUP = IF DROP THEN R> (FIND) DUP IF DROP ROT DROP [ &IFLAG ] LITERAL AND IF 1 ELSE -1 THEN THEN ; : -FIND ( ->A,N) BL WORD FIND ;

Экран номер 36

( 09.09.86 CREATE DOES> ) : CREATE ( -> ) 100 ?GAP ALIGNH -FIND SWAP DROP IF HERE ID. ." УЖЕ ЕСТЬ " ABORT THEN HERE DUP C@ WIDTH AND 2+ ALLOT ALIGNH HERE OVER - 2- OVER C! LATEST , CURRENT @ ! LIT [ CREATE# ] , ;

: DOES> ( -> ) COMPILE (;CODE) 2LIT [ DOES# B, ] , , ; IMMEDIATE

Экран номер 37

( 31.03.86 PAD HOLD ALPHA <# #> # #S SIGN ) : PAD ( ->A) HERE 100 + ; : HOLD ( C-> ) -1 HLD +! HLD @ C! ; CODE ALPHA ( N->C) RW2 FIRST LH, RW1 RW1 SR, RW1 1 =F (, RW2 IC, PUTRW1 B, 1 =H C,' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' END-CODE : <# ( -> ) PAD HLD ! ; : #> ( D->A,+N) 2DROP HLD @ PAD OVER - ; : # ( D1->D2) BASE @ M/MOD ROT ALPHA HOLD ; : #S ( D->0,0) BEGIN # 2DUP OR 0= UNTIL ; : SIGN ( N->) 0< IF C" - HOLD THEN ;

Экран номер 38

( 31.03.86 D.R D. .R . H. U. U.R ? ) : D.R ( D,+N-> ) ?+ >R DUP >R DABS <# #S R> SIGN #> R> OVER - SPACES TYPE ; : D. ( D-> ) 0 D.R SPACE ; : .R ( N1,+N2->) >R S>D R> D.R ; : . ( N-> ) S>D D. ; : H. ( N->) BASE @ SWAP 0 HEX <# # # # # #> TYPE SPACE BASE ! ; : U. ( U->) 0 D. ; : U.R ( U,+N->) >R 0 >R D.R ; : ? ( A-> ) @ . ;




Содержание  Назад  Вперед