12. Основные конструкции языка
программирования.
Язык программирования – система обозначений для абстрактного (не зависящего от
архитектуры конкретного компьютера) описания вычислений.
· Абстрактное описание вычислений можно перевести в детализированную форму для
последующего выполнения на компьютере.
· Перевод осуществляется специализированной программой (компилятор, интерпретатор).
Основные
элементы языков программирования
· Алфавит, синтаксис, семантика
· Типы данных, значения, литералы, переменные, константы
· Операторы
· Подпрограммы
· Библиотеки
· Стандартизация языков и мобильность программ
Способы
задания синтаксиса
· Расширенные формулы Бэкуса-Наура (РБНФ)
o Нетерминальные символы – обозначают синтаксические конструкции языка, заключаются в угловые скобки <...>.
o Терминальные символы образуют алфавит языка.
o Метасимволы
ü ::= есть по определению
ü | или
o Дополнительные метасимволы (расширение БНФ)
ü […] повторение символа 0 или 1 раз
ü {…} повторение символа произвольное число раз (в т.ч. нуль)
ü (…) группировка символов
· Синтаксические диаграммы – графическое изображение РБНФ
Семантика
· Пример: семантика оператора if C then S1else S2
ü Формальное описание (C Семантика S1) & ( С Семантика S2)
ü Неформальное описание (естественный язык) Проверяется условие после if; если результат Истина, то выполняется оператор, следующий после then, иначе выполняется оператор, следующий за else.
· Формальное описание семантики всех конструкций языка может быть очень сложным и, как правило, не применятся.
Управляющие
операторы используются для изменения порядка выполнения:
· Условные операторы позволяют выбрать одну из нескольких альтернативных последовательностей управления.
if A>5 then case K of
Z:=1 0..3 : P:=1;
else
7,
9 : P:=233;
Z:=A+B; else
P:=0;
· Операторы цикла позволяют повторить выполнение последовательности операторов.
for (i=0; i<N; i++) while i<N
do begin
A[i]=0; F
:= i*F;
i:=i+1;
end;
· Безусловный переход: goto, break, continue.