Все Лекции
.pdf
Информационные технологии
и программирование
Лекция 2
Вопросы лекции
•Синтаксис, семантика и прагматика языка программирования
•Традиционная архитектура вычислительных машин
•Переменные и типы данных
2
Различные стороны определения языка
•Описание языка требует точного задания синтаксиса и семантики.
•Прагматика иногда предписывается стандартом языка, иногда нет.
•Это зависит от того, для каких целей предназначены язык и его реализация.
3
Языки программирования
•Язык программирования как текст (синтаксис).
•Язык программирования как исполнимый текст (семантика).
•Конкретизация языка программирования для данной обстановки (прагматика).
4
Различные стороны определения языка
•Синтаксис алгоритмического языка —
совокупность правил, позволяющая:
1) формально проверить текст программы (выделив множество синтаксически правильных программ); 2) разбить эти программы на составляющие
конструкции и в конце концов на лексемы.
5
Синтаксис
Синтаксис — самая простая и самая разработанная часть описания алгоритмического языка.
Синтаксические понятия делятся на:
•смысловые, т. е. языковые конструкции, для которых определено то или иное действие абстрактного вычислителя;
•вспомогательные, нужные лишь для построения текста, но самостоятельного смысла не имеющие.
6
Семантика
•Семантика − соответствие между синтаксически правильными программами и действиями абстрактного исполнителя (вычислителя).
•Это соответствие позволяют определить, какие последовательности действий абстрактного исполнителя будут правильны в случае, если мы имеем
данную программу и данное ее внешнее окружение.
•Под внешним окружением понимаются:
•характеристики машины, на которой исполняется программа (точность представления данных, объем памяти, другие программы, которые можно использовать при выполнении данной, и т. д.),
•потоки входных данных, поступающие в программу в ходе ее исполнения.
7
Прагматика
•Прагматика алгоритмического языка — то, что связывает программу с ее конкретной реализацией.
•При этом, в частности, происходит следующее.
1)все определения становятся явными (исключаются такие понятия, как «не определено», «определяется реализацией» и т. п.);
2)появляются дополнительные конструкции, описатели и др., обусловленные реализацией.
8
Прагматика
•Дополнительные конструкции обязательно учитывают:
•особенности вычислительной машины и среды вычислений;
•особенности принятой схемы реализации языка;
•обеспечение эффективности вычислений;
•ориентацию на специфику пользователей.
9
Прагматика
•Прагматика задает конкретизацию абстрактного вычислителя для данной вычислительной системы.
•Например, прагматическим является замечание, что тип long int в системе Visual C++ определяется как 32-разрядное двоичное число с фиксированной точкой, занимающее слово памяти.
10
