Рассмотрите этот код:
unit uglobals;
{$mode objfpc}{$H+}
interface
const
BORD_WIDTH = 8;
uses
Classes, SysUtils;
implementation
end.
Компилятор показывает ошибку:
uglobals.pas(8,1) Неустранимая ошибка: синтаксическая ошибка, ожидалась "РЕАЛИЗАЦИЯ", но найдено "USES"
Поскольку очевидно, что раздел const
должен быть после раздела uses
.
Где я могу найти документацию, в которой указан порядок разделов?
Я искал в Google и на freepascal.org, но ничего не нашел о необходимом порядке разделов.
Гугл не нашел вам это wiki.freepascal.org/Unit?
На странице, которую вы перенаправляете, не упоминается порядок разделов. Возможно, лучшей страницей является официальная документация, но я нахожу схему не очень понятной freepascal.org/docs-html/current/ref/…
См. строку «интерфейсная часть». после "interface" идет блок uses, и только потом const/type/var/property/procedure. Эти схемы железных дорог являются BNFify.
Что означает "BNFify"?
bnf, см. en.wikipedia.org/wiki/Backus%E2%80%93Naur_form
Поиск в Google синтаксис паскаля, вероятно, должен был стать вашим первым импульсом, потому что вы можете найти его здесь: >: 1) после оператора
program
в программах и модулях 2) послеinterface
или 3) послеimplementation
.