Спецификация Fore

Язык - бесконечное множество правильно построенных предложений, согласующихся с синтаксисом языка. Словарь языка состоит из лексем.

Лексемами являются ключевые слова, знаки операций, идентификаторы, числа, символьные константы, строки, спецсимволы и комментарии. Лексемы состоят из отдельных литер. Из лексем строятся отдельные предложения языка.

Язык «Fore», используемый в «Форсайт. Аналитическая платформа», является полноценным объектно-ориентированным языком программирования. Любая программа на данном языке представляет собой набор взаимосвязанных логических единиц - модулей (часть из которых будет стандартными). Каждый модуль содержит некоторый программный код, предназначенный для решения определённого класса задач (возможно, в составе другой, более общей задачи). За счёт разделения программного кода на модули удалось обеспечить компонентную ориентированность языка и переиспользование программного кода.

Для описания языка используется расширенная БНФ (Бэкуса - Наура форма). С помощью БНФ можно описывать синтаксис языков программирования.

Ниже приведена таблица, в которой описаны символы БНФ, используемые для описания структур.

Символ Описание символа
= Элемент, который стоит слева от символа, определятся конструкцией справа.
* Предыдущая конструкция может повторяться 0 или более раз.
{...} Конструкции, заключенные в фигурные скобки могут повторяться 0 и более раз.
(...) Конструкции, заключенные в круглые скобки, используются для описания правил языка в виде логических выражений.
[...] Конструкции, заключенные в квадратные скобки, необязательны.
| Исключающие ИЛИ.
БОЛЬШИЕ БУКВЫ Ключевое слово.
'Пробел' Символом пробела может быть пробел, горизонтальная табуляция или перевод строки.

Нетерминальные символы обозначаются английскими словами, выражающими интуитивный смысл символа.

Терминальные символы (символы словаря языка) обозначаются строками, заключенными в кавычки или словами, записанными в верхнем регистре - это так называемые зарезервированные слова.

Синтаксические правила помечаются символом $ с левого края строки.

Пример

Выражение

$ ident = letter {letter | digit | "_"}.

можно прочитать как «Идентификатором является последовательность букв, цифр и знаков "_" , начинающаяся с буквы».