Компилирующая программа ИТ и ее структура
Таким образом, и все остальные подобные команды будут совершенно независимыми от действительных адресов программы в машине. (Это — иллюстрация метода использования «адресов, относительных к текущим адресам»). В ячейке 000 должен находиться 0.
Теперь возможно проследить по приведенной выше программе выполнение тех команд, которые иллюстрируют косвенную адресацию, использование «полуадресов» и двух счетчиков PHSC и THSC.
Первоначально в этих двух счетчиках должны находиться нули. В этой программе на младшую подпрограмму осуществляется передача управления только с одной старшей подпрограммы, но возможны случаи обращения (за параметрами) со многих различных подпрограмм к одной из вышележащих. Простой механизм обеспечивает все эти возможности.
До тех пор пока не будет произведено больше машин с полуадресной структурой команды и специальными счетчиками глубины рекурсии, программистам придется довольствоваться вместо описанных выше автоматических приемов методами компилирования или интерпретирования.
Программа ИТ впервые была составлена Перлисом и Смитом для машины Дататрон 205. Затем она была переработана для использования на машине ИБМ-650, а позднее переработана для машины ЮНИВАК 1103-А отделом вычислительных машин Мичиганского университета. Язык (система записи), разработанный для этой автоматической программы, был первым, принятым для работы на большом количестве вычислительных машин, изготовленных различными фирмами. Можно сказать, что это был первый универсальный язык программирования. Ввиду исключительности положения, которое занимает эта программа, рассмотрим ее подробно.
Прежде чем перейти к рассмотрению компилирующей программы ИТ, необходимо остановиться на системах однозаходного и двухзаходного компилирования.
Источник: delete-it