Текущая версия |
Ваш текст |
Строка 124: |
Строка 124: |
| С" . <> IF RDROP RDROP R> BADWORD THEN 0 | | С" . <> IF RDROP RDROP R> BADWORD THEN 0 |
| REPEAT DROP RDROP R> IF DNEGATE THEN RDROP ; | | REPEAT DROP RDROP R> IF DNEGATE THEN RDROP ; |
| </PRE>
| |
| Определение слов (NUMBER) и NUMBER в FORTH ИТЭФ:
| |
| <PRE>
| |
| HEAD 210Q,'(NUMBER',251Q,PNUMB,$COL ; (NUMBER)
| |
| BN: DW ONEP,TOR,I,CAT,BASE,AT,DIGIT,ZBRAN,MMO-$
| |
| DW SWAP,BASE,AT,USTAR,DROP,ROT,BASE,AT,USTAR
| |
| DW DPLUS,DPL,AT,ONEP,ZBRAN,BN1-$,ONE,DPL,PSTOR
| |
| BN1: DW FROMR,BRAN,BN-$
| |
| MMO: DW FROMR,SEMI
| |
| ...
| |
| HEAD 206Q,'NUMBE',322Q,NUMB,$COL ; NUMBER
| |
| DW ZERO,$EX,STORE,BASE,AT,ZERO,ROT
| |
| DW ONEP,DUBL,CAT,DUBL,LIT,53Q,EQUAL
| |
| DW ZBRAN,NH1-$,DEC,DROP,BRAN,NH4-$
| |
| NH1: DW DUBL,LIT,55Q,EQUAL,ZBRAN,NH2-$,DROP,DEC
| |
| DW SWAP,DROP,ONE,SWAP,BRAN,NH4-$
| |
| NH2: DW LIT,47Q,EQUAL,ZBRAN,NH3-$,OCTAL,ONEP
| |
| NH3: DW ONEM
| |
| NH4: DW LIT,-1,DPL,STORE,ZERO,ZERO,ROT,PNUMB,DUBL
| |
| DW CAT,BLAN,SUB,ZBRAN,NH6-$
| |
| DW DUBL,CAT,LIT,56Q,EQUAL,ZBRAN,EXP-$
| |
| DW ZERO,DPL,STORE,PNUMB,DUBL,CAT,BLAN,SUB,ZBRAN,NH6-$
| |
| EXP: DW DPL,AT,SWAP,DUBL,CAT,LIT
| |
| DW 105Q,EQUAL,ZBRAN,ER1-$,ONEP,DUBL,CAT
| |
| DW LIT,55Q,EQUAL,ZBRAN,NEMI-$,ONE,BRAN,NH0-$
| |
| NEMI: DW DUBL,CAT,LIT,53Q,SUB,ZBRAN,PLU-$,ONEM
| |
| PLU: DW ZERO
| |
| NH0: DW SWAP,ZERO,ZERO,ROT,PNUMB,CAT,BLAN,EQUAL,ZBRAN,ER-$
| |
| DW DROP,SWAP,ZBRAN,NH5-$,MINUS
| |
| NH5: DW $EX,STORE,DPL,STORE,ZERO
| |
| NH6: DW DROP,ROT,ZBRAN,NH7-$,DMINU
| |
| NH7: DW ROT,BASE,STORE,SEMI
| |
| ER: DW DDROP,DROP
| |
| ER1: DW DDROP,DDROP,DROP,ZERO,ERROR,SEMI
| |
| </PRE> | | </PRE> |
|
| |
|