Введение в трансляцию

Лексема

Описание языка программирования

 

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

Синтаксис языка определяет правила составления конкретных программ как цепочек, состоящих из основных символов языка.

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

Различают несколько видов трансляторов: компиляторы, интерпретаторы, конверторы (рисунок 1).

Компилятор, обрабатывая исходную программу, создает эквивалентную программу на машинном языке, которая называется также объектной программой, или объектным кодом. Объектный код как правило записывается в файл, но не обязательно представляет собой готовую к исполнению программу. Для программы, состоящей из многих модулей, может образовываться много объектных файлов. Объектные файлы объединяются в исполняемый модуль с помощью специальной программы-компоновщика, которая входит в состав системы программирования.


Интерпретатор, распознавая как и компилятор, исходную программу, не формирует машинный код в явном виде. Для каждой операции, которая может потребоваться при исполнении исходной программы, в программе-интерпретаторе заранее заготовлена машинная команда или команды. «Узнав» очередную операцию в исходной программе, интерпретатор выполняет соответствующие команды, потом – следующие, и так всю программу. Интерпретатор – это переводчик и исполнитель исходной программы.

Существую трансляторы, переводящие программу не в машинный код, а на другой язык. Такие трансляторы иногда называют конверторами.

Транслятор в общем случае связан с тремя языками:

1. входной язык – с которого выполняется перевод

2. целевой (объектный) язык – на который выполняется перевод

3. инструментальный язык – на котором написан сам транслятор

4. Трансляторы удобно изображать в виде Т-диаграмм, которые предложил (Х.Брэтман) в 1961 г. Cлева на такой диаграмме записывается исходный язык, справа – объектный, снизу – инструментальный.

               
   
 
   
  Бейсик   IBM PC