Структура типов данных
Типы данных
End.
Begin
Структура программы на Паскале
<программа>::=<заголовок программы> ";" <блок> ".".
<заголовок программы>::="Program" <имя> ["(" <список файлов> ")"].
<блок>::=
["Label" <список меток> ";"]
["Const" <описание константы> {";"<описание константы>} ";"]
["Type" <описание типа данных> {";"<описание типа данных>} ";"]
["Var" <описание переменных> {";"<описание переменных>} ";"]
{<процедура>|<функция>}
<составной оператор>.
Таким образом, программа начинается словом Program и заканчивается точкой. Программа состоит из заголовка и блока. Блок состоит из нескольких или ни одного разделов описаний и одного составного оператора со сколь угодно сложной структурой.
Заголовок программы во многих реализациях не обязателен.
Последовательность разделов описаний в стандартном Паскале фиксирована.
<составной оператор>::="Begin" [ <оператор> {";" <оператор> } ] "End".
Лексема оператор может быть определена, как любой из операторов Паскаля, в том числе и составной оператор. Остальные операторы рассматриваются позднее. Также позднее рассматриваются описания меток, констант, типов данных, переменных, процедур и функций.
Пример программы, которая совсем ничего не делает:
Program Empty;
Простые
Диапазоны
Скалярные
Перечисления
Стандартные
Integer
Boolean
Char
Real