Синтаксический анализ.

Лексический анализ.

Семантика.

Синтаксис языка.

Общие сведения о трансляторах

Синтаксис – это совокупность правил некоторого языка, определяющих формирование его элементов; задается с помощью правил, которые описывают следующие понятия языка программирования: символы; элементарные конструкции (переменные), образующиеся из последовательности символов; выражения, представляющие собой последовательность элементарных конструкций и символов; операторы, которыми являются последовательности выражений, элементарных конструкций и символов; подпрограммы (процедуры, функции), состоящие из последовательностей операторов.

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

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

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

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

Лексические единицы (лексемы) – это минимальные конструкции, которые могут быть продекларированы языком (идентификаторы, ключевые слова, код операции, разделители, константы).

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

Программа в виде лексем поступает на вход синтаксическому анализатору, являющемуся компонентой компилятора, которая осуществляет проверку исходных операторов на соответствие синтаксическим правилам данного языка программирования (осуществляет синтаксический анализ); результатом работы является либо информация о том, что в программе имеются синтаксические ошибки с указанием координат этих ошибок и их диагностика, либо представление программы в некотором промежуточном виде (например, бесскобочная запись, либо запись в виде деревьев). Это промежуточное представление, которое является синтаксически и лексически правильной программой, поступает на вход семантическому анализатору.