Грамматика языков программирования
Описанию грамматики языка предшествует описание его алфавита. Алфавиты большинства языков программирования близки друг с другом и основываются на буквах латинского алфавита, арабских цифрах и общепринятых спецсимволах, таких как знаки препинания, математических операций, сравнений и обозначений. Большинство популярных языков программирования в своем алфавите содержат следующие элементы: <буква>::= AaBbCcDdEeFf и т.д. <цифра>::= 0123456789 <знак арифметической операции>::=*/+- <разделитель>::=.,;()[]{}’:= <служебное слово>::= begin end if then else for next и т.д. <комментарий>::=<любая последовательность символов> Несмотря на значительные различия между языками программирования, ряд фундаментальных понятий в большинстве из них схожи. Приведем часть этих понятий. Оператор – одно из ведущих понятий всех языков программирования. Каждый оператор представляет собой законченную фразу языка и определяет однозначно трактуемый этап обработки данных. Операторы выполняются в порядке их следования в тексте –программы. Лишь с помощью операторов перехода этот порядок может быть нарушен. Переменные играют важнейшую роль в системах программирования. Понятие «переменная» в языках программирования отличается от общепринятого в математике. Переменная – это программный объект, способный принимать некоторое значение с помощью оператора присваивания. В ходе выполнения программы значения могут неоднократно меняться. Каждая переменная после ее описания отождествляется с некоторой ячейкой памяти, содержимое которой является ее значением. Функция – это программный объект, задающий вычислительную процедуру определения значения, зависимого от некоторых аргументов. Вводится в языки программирования для задания программистом необходимых ему функциональных зависимостей. В каждом языке высокого уровня имеется в наличии библиотека стандартных функций: арифметических, логических, символьных, файловых и т. п. Функции – стандартные и задаваемые программистом – используются в программе в выражениях. Процедура – это программный объект, представляющий некоторый самостоятельный этап обработки данных. По сути, процедуры явились преемниками подпрограмм, которые были введены для облегчения разработки программ еще на самых ранних стадиях формирования алгоритмических языков. Процедура имеет входные и выходные параметры, называемые формальными. При использовании процедуры формальные параметры заменяются на фактические. Модуль – это специальная программная единица, предназначенная для создания библиотек и разделения больших программ на логически связанные блоки. По сути, модуль – это набор констант, типов данных, переменных, процедур и функций. В состав модуля входят разделы: заголовок, интерфейс, реализация, инициализация. Заголовок необходим для ссылок на модуль. Интерфейс содержит объявления, выключая процедуры и функции. Раздел «реализация» содержит тела процедур и функций, перечисленных в интерфейсной части. Раздел «инициализация» содержит операторы, необходимые для инициализации модуля. Каждый модуль компилируется отдельно, и каждый элемент модуля можно использовать в программе без дополнительного объявления.
|