Библиотека knigago >> Компьютеры: Языки и системы программирования >> Forth >> Учебное пособие по языку ФОРТ


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 2361, книга: Последний человек на Земле
автор: Никита Чаплин

"Последний человек на Земле" Никиты Чаплина - это захватывающий и напряженный киберпанковский роман, который оставит вас в трепетном ожидании до самого конца. Действие происходит в постапокалиптической Москве, где выживший по имени Сергей оказывается единственным человеком, оставшимся после катастрофического события. Когда он бродит по безлюдным улицам, борясь за выживание, он сталкивается с призраками своего прошлого и пытается понять, как человечество дошло до такого ужасного...

ИТФ «Технофорт» - Учебное пособие по языку ФОРТ

Учебное пособие по языку ФОРТ
Книга - Учебное пособие по языку ФОРТ.   ИТФ «Технофорт»  - прочитать полностью в библиотеке КнигаГо
Название:
Учебное пособие по языку ФОРТ
ИТФ «Технофорт»

Жанр:

Литература ХX века (эпоха Социальных революций), Современные российские издания, Программирование: прочее, Forth

Изадано в серии:

неизвестно

Издательство:

ИТФ «Технофорт»

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Учебное пособие по языку ФОРТ"

Язык программирования Форт (от английского FORTH) был изобретен Чарльзом Муром в 70-x годах для создания программного обеспечения управляющих устройств. В настоящее время Форт широко используется при решении следующих задач:

• разработка и тестирование встроенного оборудования;

• управление станками, роботами, медицинскими приборами;

• разработка трансляторов и операционных систем;

• системы управления базами данных;

• задачи машинной графики;

• экспертные системы, в том числе экспертные системы реального времени.

ИТФ «Технофорт», Санкт-Петербург 1993 Б. Посадская, д.9А Тел./факс: 233-34-10 тел. 238-82-88 эл. почта: Forth@forthi.spb.su

Читаем онлайн "Учебное пособие по языку ФОРТ". [Страница - 10]

                              '  имя  EXECUTE

просто эквивалентен тексту "имя".

Предлагаемое средство - это способ выполнять слова не непосредственно, вводя их имена, а косвенно. Заводится какая-нибудь переменная, например "УКАЗАТЕЛЬ", в которой с помощью апострофа можно запомнить адрес поля кода некоторого слова и в дальнейшем даже менять ее содержимое; а исполнение слова задается текстом:

                     УКАЗАТЕЛЬ        @  EXECUTE

Подменяя адреса поля кода, можно изменить выполняемые действия некоторого слова уже после того, как оно скомпилировано. Обычно на этом принципе основаны определения слов для интерфейса с внешними устройствами. Только учтите, что слово "EXECUTE" не проверяет, допустим ли заданный на стеке адрес. А неверный адрес почти всегда влечет нарушение работы системы.

Если надо указать внутри определения через ":", что действие апострофа должно относиться к следующему слову в теле определения, то используют слово "[']". Иначе во время исполнения того определенного через двоеточие слова апостроф 'займется' очередным словом из входного потока.

17. Слова-генераторы

В отличие от других языков Форт позволяет программисту создавать собственные определяющие слова. Это дает возможность создавать семейства слов с похожими свойствами. Одинаковые признаки задаются не в каждом члене, а в самом определяющем слове. Благодаря этому сокращается текст программ, они легче читаются и модифицируются. При умелом использовании таких конструкций эффект может быть очень значительным. Определяющие слова будем также называть словами-генераторами или мета-определяющими словами. С помощью собственных генераторов можно образовывать новые структуры данных, например, многомерные массивы.

Слова-генераторы описываются с помощью слов "CREATE" и "DOES>" в конструкции

  :   имя-генератора    CREATE        <часть-create>

                        DOES>        <часть-does>  ;

и употребляются в конструкции

               имя-генератора        имя                  (*)

для определения слова "имя".

Слово "CREATE" в определении генератора указывает начало действий, выполняемых в период компиляции будущего определяемого слова; слово "DOES>" — начало действий во время исполнения этого нового слова.

При выполнении конструкции (*) слово "CREATE" создает в кодофайле словарную статью для слова "имя", но при этом память под поле параметров не выделяется. После этого исполняется текст <часть-create>, который может создать поле параметров определяемого слова. B дальнейшем при исполнении слова "имя" на стек кладется адрес его поля параметров и выполняется текст <часть-does>.

Например, генератор для определения констант выглядит так:

:  CONSTANT  CREATE  ,   (  слово "," резервирует 2 байта   )

                         (  и кладет в них число из стека   )

       DOES>             (  на стеке адрес этих двух байтов )

              @   ;      (  значение помещается в стек      ) 

B качестве упражнения разберите устройство генератора одномерных массивов. Слово "ARRAY" берет из стека целое число n и резервирует в кодофайле место для n чисел, связывая с ними следующее за "ARRAY" слово как имя этого массива. В дальнейшем при выполнении имени массива из стека берется индекс, проверяется его принадлежность диапазону от 1 до n и, если все в порядке, в стек помещается адрес соответствующего элемента массива.

  : ARRAY              ( в стеке лежит число элементов          )

     CREATE  DUP  ,    ( это число помещается в поле параметров )

         2*  ALLOT     ( захват места для массива               )

       DOES>           ( при вызове в стеке лежит индекс        )

                       ( и помещается адрес захваченной памяти  )

       OVER 1 <

         IF  ." ИНДЕКС МЕНЬШЕ 1"   2DROP

      ELSE  2DUP  @  >        IF  ." ИНДЕКС БОЛЬШЕ ЧЕМ НАДО" 2DROP

                 ELSE  1+  SWAP  2*  +        THEN  THEN ;

18. Управление режимами

В каждый момент Форт-система может находиться в одном из двух состояний — ИСПОЛНЕНИЯ или КОМПИЛЯЦИИ. При загрузке системы устанавливается режим исполнения. Появление во входном тексте определяющего слова ":" переводит систему в режим компиляции на период обработки определения. Слово ";" завершает компиляцию и возвращает систему в прежний режим. То есть, само это слово исполняется при режиме компиляции. Дело в том, что слово ";" является --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.

Книги схожие с «Учебное пособие по языку ФОРТ» по жанру, серии, автору или названию: