Илья Тарасов - Руководство по программированию на Форте
Название: | Руководство по программированию на Форте | |
Автор: | Илья Тарасов | |
Жанр: | Руководства и инструкции, Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Forth | |
Изадано в серии: | неизвестно | |
Издательство: | Интернет-издательство «Stribog» | |
Год издания: | 2022 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Руководство по программированию на Форте"
Краткое введение в современный Форт.
Читаем онлайн "Руководство по программированию на Форте". [Страница - 2]
- 1
- 2
- 3
- 4
- . . .
- последняя (29) »
Второе понятие – стек данных – неразрывно связано с первым. Действительно, при организации всего кода в виде коротких именованных блоков возникает проблема передачи данных между ними, без чего сколько-нибудь сложная программа просто немыслима. В различных языках программирования существует множество способов передачи аргументов, но самым эффективным является пересылка данных через стек. Такой способ, по сравнению, например, с передачей аргументов в переменной, позволяет не заботиться о том, насколько глубоко вложен вызов процедуры или функции, и не используется ли переменная, в которой мы хотим передать аргументы. Компиляторы процедурных языков передают параметры, просто помещая их на стек вместе с адресом возврата. Вызываемая процедура должна забрать свои аргументы со стека, произвести вычисления, и вернуть результат.
Однако здесь имеется проблема, от способа решения которой во многом зависит эффективность работы процедурных языков. Дело в том, что адрес возврата хранится на стеке, и нет никакой возможности отличить аргумент от адреса возврата. Если будет использовано больше или меньше аргументов, чем их передано на самом деле, возврат произойдет по неверному адресу с последующим крахом программы.
Обычно за сохранением баланса стека следит компилятор, подставляя в вызываемые подпрограммы соответствующие прологовые и эпилоговые части, выполняющие прием аргументов со стека и размещение возвращаемых данных. В некоторых процессорах есть специальные команды, облегчающие построение прологовой и эпилоговой частей. Например, начиная с 80286 в семействе процессоров Intel, были введены команды ENTER и LEAVE.
Форт решает проблему сохранения баланса стека весьма радикально и очень эффективно. Стек, в котором передаются аргументы для вызываемых слов, полностью отделен от стека возвратов! Любому слову можно передать избыточное число аргументов, не беспокоясь о том, куда произойдет возврат. Лишние аргументы просто останутся на стеке данных. Особенно упрощается построение самих слов – способ получения ими аргументов становится абсолютно однозначным. Любое слово разрабатывается с учетом того, что все необходимые аргументы уже лежат на стеке. Результат работы слова будет тоже помещен на стек данных, что не помешает возврату по правильному адресу.
Основное средство ввода новых понятий в Форте – так называемое определение через двоеточие. Это синтаксическая форма, которая позволяет ввести в состав словаря новое слово. Полученное таким образом слово немедленно становится равноправным членом словаря, и может участвовать в создании новых определений. Пример определения через двоеточие приведен ниже:
: НОВОЕ_СЛОВО СЛОВО1 СЛОВО2 СЛОВО3 ;
В приведенном примере было создано слово с именем НОВОЕ_СЛОВО. Именем слова считается фрагмент текста, находящийся непосредственно за двоеточием, за исключением ведущих пробелов. Имя может содержать любые символы (за исключением того же пробела). Вполне допустимо назначать имя, начинающееся с цифры, и даже состоящее из одних цифр. Максимальная длина имени различна в разных реализациях Форта, но все они должны обеспечивать длину как минимум 31 символ. Допустимо и перекрытие имен – можно использовать имя, которое уже имеется в словаре. При этом все дальнейшие обращения к слову с таким именем будут использовать последнее определение (однако ранее созданные слова будут по-прежнему использовать старую версию; подробнее об этом см. главу 8).
- 1
- 2
- 3
- 4
- . . .
- последняя (29) »
Книги схожие с «Руководство по программированию на Форте» по жанру, серии, автору или названию:
Михаил Иосифович Кондратович - Создание электронных книг в формате FictionBook 2.1: практическое руководство Жанр: Программы |
Оксана Владимировна Солодовникова - Сила рода во мне. Как понять и познать свою связь с родом. Руководство для новичков Жанр: Эзотерика, мистицизм, оккультизм Год издания: 2016 |