Язык - бесконечное множество правильно построенных предложений, согласующихся с синтаксисом языка. Словарь языка состоит из лексем.
Лексемами являются ключевые слова, знаки операций, идентификаторы, числа, символьные константы, строки, спецсимволы и комментарии. Лексемы состоят из отдельных литер. Из лексем строятся отдельные предложения языка.
Язык «Fore», используемый в «Форсайт. Аналитическая платформа», является полноценным объектно-ориентированным языком программирования. Любая программа на данном языке представляет собой набор взаимосвязанных логических единиц - модулей (часть из которых будет стандартными). Каждый модуль содержит некоторый программный код, предназначенный для решения определённого класса задач (возможно, в составе другой, более общей задачи). За счёт разделения программного кода на модули удалось обеспечить компонентную ориентированность языка и переиспользование программного кода.
Для описания языка используется расширенная БНФ (Бэкуса - Наура форма). С помощью БНФ можно описывать синтаксис языков программирования.
Ниже приведена таблица, в которой описаны символы БНФ, используемые для описания структур.
Символ | Описание символа |
= | Элемент, который стоит слева от символа, определятся конструкцией справа. |
* | Предыдущая конструкция может повторяться 0 или более раз. |
{...} | Конструкции, заключенные в фигурные скобки могут повторяться 0 и более раз. |
(...) | Конструкции, заключенные в круглые скобки, используются для описания правил языка в виде логических выражений. |
[...] | Конструкции, заключенные в квадратные скобки, необязательны. |
| | Исключающие ИЛИ. |
БОЛЬШИЕ БУКВЫ | Ключевое слово. |
'Пробел' | Символом пробела может быть пробел, горизонтальная табуляция или перевод строки. |
Нетерминальные символы обозначаются английскими словами, выражающими интуитивный смысл символа.
Терминальные символы (символы словаря языка) обозначаются строками, заключенными в кавычки или словами, записанными в верхнем регистре - это так называемые зарезервированные слова.
Синтаксические правила помечаются символом $ с левого края строки.
Выражение
$ ident = letter {letter | digit | "_"}.
можно прочитать как «Идентификатором является последовательность букв, цифр и знаков "_" , начинающаяся с буквы».