Cтраница 2
Именно на этом пути в СССР в начале 50 - х годов была разработана первая в мире программирующая программа-транслятор с некоторого алгоритмического языка на язык ЦВМ. [16]
Когда все перфокарты готовы, колода карт с исходной программой помещается в читающее устройство ЭЦВМ, и начинает работать программа-транслятор. [17]
Таким образом нумерация каждого оператора предоставляет возможность добавлять операторы или изменять их. Программа-транслятор с языка Бейсик способна проделать необходимую редакторскую работу. При этом будут упорядочены по порядку номеров все операторы, расставлены или уничтожены пробелы, а также напечатан листинг. [18]
Данный этап начинается с того, что программа запускается на трансляцию. При этом программа-транслятор проверяет исходный текст программы ( называемый также исходным кодом) на правильность с точки зрения орфографии и синтаксиса того языка программирования, на котором составлен текст данной программы. При обнаружении подобных ошибок транслятор выдает об этом соответствующее сообщение. В этом случае программа заведомо не будет работать, поэтому в случае выдачи сообщений об ошибках пользователь должен внести в программу соответствующие коррективы, а затем снова запустить ее на трансляцию. В том случае, если в тексте программы транслятором не было обнаружено явных ошибок, на основе исходного кода программы транслятор создает перевод текста программы в машинные коды, называемый объектным модулем. [19]
Работая с ФОРТРАНОМ, программист должен составить исходную программу ( ФОРТРАН-программу), которая пробивается на перфокартах и вводится в ЦВМ. Записанная обычно на магнитной ленте программа-транслятор осуществляет перевод исходной программы в рабочую программу на языке данной ЦВМ с одновременным анализом синтаксических ошибок в исходной программе и выдачей соответствующей диагностической информации. Если трансляция прошла без обнаружения ошибок, полученная рабочая програма может автоматически выполняться ЦВМ. [20]
![]() |
Бланк-заказ на перфорацию. [21] |
Иногда программа, написанная на языке программирования, в процессе трансляции выводится на перфокарты ( или перфоленту) в кодах машины. Объясняется это тем, что сама программа-транслятор является сложной программой н на ее выполнение ( транслирование) уходит сравнительно много времени. [22]
Иногда программа, написанная на языке программирования, в процессе трансляции выводится на перфокарты ( или перфоленту) в кодах машины. Объясняется это тем, что сама программа-транслятор является сложной программой и на ее выполнение ( транслирование) уходит 9равни - тельно много времени. [23]
Все рассмотренные ранее примеры операторов принадлежат группе операторов машинных команд. В процессе трансляции исходной программы в объектную программа-транслятор ассемблер нуждается в некоторых уточнениях. Например, ассемблер не знает, в какую ячейку памяти должна быть помещена первая команда программы. Эта и другая информация, необходимая для работы ассемблера, вводится в виде операторов псевдокоманд. Приставка псевдо указывает на то, что такие команды не отображаются машинными кодами в объектной программе, а используются только в процессе трансляции. Мнемоника и состав таких команд для каждого языка ассемблера индивидуальны. [24]
При описании записей вместо имени данного может использоваться слово ЗАПОЛНИТЕЛЬ, если в разделе процедур нет ссылок на эту единицу данных. Это экономит использование памяти, так как программа-транслятор составляет и хранит в памяти таблицу всех имен данных. [25]
Для каждой машины, использующей тот или иной алгоритмический язык, заранее составляются программы-трансляторы, которые хранятся в памяти машины. После ввода программы в память машины вызывается программа-транслятор, осуществляющая перевод программы в код машины. Во время трансляции попутно с переводом проверяется соответствие конструкций программы, записанной в алгоритмическом языке, грамматическим правилам этого языка. [26]
Все рассмотренные ранее примеры операторов принадлежат группе операторов машинных команд. В процессе трансляции исходной программы в объектную программа-транслятор ассемблер нуждается в некоторых уточнениях. Например, ассемблер не знает, в какую ячейку памяти должна быть помещена первая команда программы. Эта и другая информация, необходимая для работы ассемблера, вводится в виде операторов псевдокоманд. Приставка псевдо указывает на то, что такие команды не отображаются машинными кодами в объектной программе, а используются только в процессе трансляции. Мнемоника и состав таких команд для каждого языка ассемблера индивидуальны. [27]
Информации, помещенной в эти таблицы, достаточно для решения задачи. Для того чтобы задача была решена на - ЭВМ, потребуется специальная программа-транслятор, которая переведет таблицы в машинную программу. [28]
Для работы с ассемблером важно знать некоторые особенности работы его транслятора. Все вводимые и используемые символы ( как отдельны знаки, так и неделимые группы знаков) программа-транслятор помещает в специальные таблицы. В таблицах имеется зона постоянных ( для всех программ) символов и зона переменных символов, вводимых в исходном описании. Таблица постоянных символов включает символические обозначения псевдокоманд, команд обращения к памяти, микрокоманд, команд бложа плавающей запятой, команд работы с низко - и высокоскоростными устрой - ствами ввода - вывода, символическое обозначение команд для работы с устройством управления накопителем на магнитной ленте и другие - всего 75 символических обозначений. Таблица переменных символов позволяет вместить еще 593 символических обозначения. Каждому символу ( и постоянному и переменному) в таблицах отводится по четыре ячейки. В первых трех ячейках хранится в упакованном виде ( коды двух знаков в одной ячейке) шесть первых знаков соответствующего символического обозначения. Для постоянных символов в четвертой ячейке хранится восьмеричный код команды; для переменных символов - восьмеричный код числового значения, если оно определено прямым присваиванием, либо восьмеричный адрес символа, если символ определен кая метка. [29]
Величины, входящие в выражение, должны быть одного типа ( либо все целые, либо все вещественные), кроме показателей степени, которые могут быть целыми и для вещественных выражений. В некоторых реализациях ФОРТРАНа допускается использование переменных разного типа в одном выражении, в этом случае программа-транслятор автоматически преобразует типы переменных по правилу: если хотя бы одна компонента выражения вещественная, результат также вещественный. [30]