Язык программирования Форт



Приложение Д. Ответы к упражнениям - часть 28


Блок 132 [132:0] ( Глава 14. Упражнения 1. 02 из 02 ) ( 5. ) : .MEM ( -- ) SP@ PAD - U. ; ( SP@ зависит от реализации. ) ( 6. ) : NEWPICK ( n1 -- n2) 2 * 'S + @ ; ( 2 * SP@ 2- + @ FORTH-83 ) ( 'S [и SP@] зависят от типа версии. 2- необходимо для описания в Форт-83. так как там индекс PICK начинается с 0) ( 7. ) : NEW.S ( -- ) 'S S0 @ OVER OVER = IF ." Stack empty" DROP DROP ELSE 2- DO I @ -2 +LOOP THEN ; ( 8. ) : ZERО-STACK ( -- ) SP@ S0 @ SP@ - 2- 0 FILL ;

Блок 133 [133 :0] ( Глава 14. Упражнения 2. 01 из 01 ) ( 1. ) : >BODY ( cfa -- pfa) 2+ ; : >NAME ( cfa -- nfa) 6 - ; : >LINK ( cfa -- Ifa) 2- ; : BODY> ( pfa -- cfa) 2 - ; : NAME> ( nfa -- cfa) 4 + ; : LINK> ( lfa -- cfa) 2+ ; : N>LINK ( nfa -- lfa) 4 - ; : L>NANE ( lfa -- nfa) 4 - ; ( Это работает только с версиями Форта, описанными в этой книге. ) ( 2, 3. ) ( Вы должны найти ответы на эти вопросы, используя версию Форта, которой располагаете. ) ( 3. ) : COLONWORDS ( адр1 адр2 -- ) CR 1+ SWAP DO I @ 2526 = ( или другой адрес исполнительной программы "двоеточие" ) IF 1 U. THEN LOOP ;

Блок 134 [134 :0] ( Глава 14. Упражнения 3. 01 из 02 ) ( 1. ) ( Форма использование WORDS, где имя контекстного словаря. Использование полей связи и указателей словарей также обычные слова перед исполнением.) ( ???) ( 2. ) FORTH VOCABULARY A-VOC A-VOC DEFINITIONS : A-FIRST ." The first A-VOC word " ; : A-SECOND ." The second A-VOC word " ; : A-THIRD ." The third A-VOC word " ; : A-LAST ." The last A-VOC word " ; ( 3. ) WORDS лишь выдает список слов в контекстном словаре) ( 4. ) ( Слово из A-VOC не может быть найдено в словаре FORTH )

Блок 135 [135 :0] ( Глава 14. Упрахиеняи 3. 02 из 02 ) ( 5.) A-VOC VOCABULARY B-VOC В-VOC DEFINITIONS : B-FIRST ." The first В-VOC word " ; : B-SECOND ." The second B-VOC word " ; : B-THIRD ." The third B-VOC word " ; : B-LAST ." The last В-VOC word " ; ( Если A-LAST может размещаться в B-VOC, тогда ваши словари связаны.


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