Примитив: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
(Новая страница: «'''Примитив''' — слово Каллисто, написанное на ЯМК. Для исполнения ''примитива'' не требуе…»)
 
Нет описания правки
 
(не показана 31 промежуточная версия этого же участника)
Строка 1: Строка 1:
'''Примитив''' — слово Каллисто, написанное на [[ЯМК]]. Для исполнения ''примитива'' не требуется интерпретатор шитого кода, поэтому ''примитивы'' исполняются ЭКВМ относительно быстро.
'''Примитив''' — слово [[Каллисто]], написанное на [[ЯМК]]. Впоследствии ''примитивы'' предполагается перевести на язык ассемблера и разместить в ПЗУ [[микроконтроллер]]а.
 
Для исполнения ''примитива'' не требуется [[интерпретатор шитого кода]]. ''Примитивы'' Форта исполняются аппаратно — значит, максимально быстро.
 
Обычно обработчик каждого ''примитива'' уникален и находится в [[поле данных]]. [[Поле кода]] любого примитива содержит прямую ссылку на его код — в данном случае, на [[PFA|его же поле данных]]. Поскольку ЭКВМ не позволяет исполнять [[ЯМК|код ЯМК]] из области данных, все ''примитивы'' располагаются в [[Память программ|памяти программ]].
 
Самый простой способ создания нового ''примитива'' — правка исходного текста [[Каллисто]] и последующая компиляция его на компьютере. К этому приходится прибегать для решения тех задач, в которых [[Каллисто]] не хватает быстродействия или где её стандартные возможности недостаточны. Чтобы разместить большие примитивы, может потребоваться удаление из исходного текста [[Каллисто]] слов, которые не нужны для решения конкретной задачи.
 
Если вы решили распространять написанное вами приложение, по лицензии [[Каллисто]] вы должны предоставлять вместе с ней под свободной лицензией исходный код изменённого транслятора, включая код всех написанных для неё примитивов. Это позволит сообществу совершенствовать [[Каллисто]], наш общий инструмент, с учётом ваших наработок.
 
== История ==
В 1970 году Чак Мур, создатель Форта, называл примитивы «глаголами» (''англ.'' verb).
 
Форт настолько упрощает создание своих примитивов, что некоторые программисты сравнивают Форт с макроассемблером. Существенная разница в том, что макроассемблеры предоставляют значительно меньше возможностей по расширению и совершенствованию собственного входного языка.
 
Ассемблер — язык второго поколения. В Форте он используется для написания примитивов. Но даже с макросами ассемблеру недоступны верхние уровни Форта (языка 4 поколения), на котором входной язык становится языком задачи.


Обработчик ''примитива'' располагается в [[Поле данных|поле параметров]], поэтому [[поле кода]] примитивов содержит [[PFA|ссылку на его же поле данных]]. Поскольку ЭКВМ не позволяет исполнять код на [[ЯМК]] из области данных, все ''примитивы'' располагаются в [[Память программ|памяти программ]].


{{нет иллюстраций}}
{{нет иллюстраций}}
{{заготовка}}
[[Категория:Каллисто]]
[[Категория:Каллисто]]

Текущая версия от 17:15, 4 октября 2018

Примитив — слово Каллисто, написанное на ЯМК. Впоследствии примитивы предполагается перевести на язык ассемблера и разместить в ПЗУ микроконтроллера.

Для исполнения примитива не требуется интерпретатор шитого кода. Примитивы Форта исполняются аппаратно — значит, максимально быстро.

Обычно обработчик каждого примитива уникален и находится в поле данных. Поле кода любого примитива содержит прямую ссылку на его код — в данном случае, на его же поле данных. Поскольку ЭКВМ не позволяет исполнять код ЯМК из области данных, все примитивы располагаются в памяти программ.

Самый простой способ создания нового примитива — правка исходного текста Каллисто и последующая компиляция его на компьютере. К этому приходится прибегать для решения тех задач, в которых Каллисто не хватает быстродействия или где её стандартные возможности недостаточны. Чтобы разместить большие примитивы, может потребоваться удаление из исходного текста Каллисто слов, которые не нужны для решения конкретной задачи.

Если вы решили распространять написанное вами приложение, по лицензии Каллисто вы должны предоставлять вместе с ней под свободной лицензией исходный код изменённого транслятора, включая код всех написанных для неё примитивов. Это позволит сообществу совершенствовать Каллисто, наш общий инструмент, с учётом ваших наработок.

История[править]

В 1970 году Чак Мур, создатель Форта, называл примитивы «глаголами» (англ. verb).

Форт настолько упрощает создание своих примитивов, что некоторые программисты сравнивают Форт с макроассемблером. Существенная разница в том, что макроассемблеры предоставляют значительно меньше возможностей по расширению и совершенствованию собственного входного языка.

Ассемблер — язык второго поколения. В Форте он используется для написания примитивов. Но даже с макросами ассемблеру недоступны верхние уровни Форта (языка 4 поколения), на котором входной язык становится языком задачи.


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.