В данном разделе приведено описание общего подмножества языков описания компонентов. В некоторых случаях, когда БНФ описание понятия сложно, а неформальное описание просто и однозначно, в БНФ описание включаются фрагменты неформального описания таких понятий.
<Идентификатор>::= <Буква> [<Символьная строка>]
<Буква>::= {
<Символьная строка>::= {<Буква> | <Цифра> | _ } [<Символьная стока>]
<Цифра>::= {
<Число>::= {<Целое число> | <Действительное число>}
<Целое число>::= [—] <Положительное целое число>
<Положительное целое число>::= <Цифра> [<Положительное целое число>]
<Действительное число>::= <Целое число>[.<Положительное целое число>][e<Целое число>]
<Целочисленная константа>::= {<Предопределенная константа типа Integer> | < Предопределенная константа типа Long> | <Целое число>}
<Цветовая константа>::=
<Шестнадцатеричная цифра>::= {
<Строковая константа>::= “<Строка произвольных символов>”
<Логическая константа>::= {True | False}
<Строка произвольных символов> — Последовательность произвольных символов из набора ANSI. В этой последовательности допускаются символы национальных алфавитов. При необходиости включить в эту конструкцию символ кавычек, он должен быть удвоен.
<Скалярный тип>::= {Long|Real|Integer|Color|Logic|String|PRealArray|PIntegerArray|PLongArray|PLogicArray|PString|Visual|Pointer|FuncType}
<Тип массива>::= { RealArray|IntegerArray|LongArray|LogicArray}
<Константа типа
<Список формальных аргументов>::= <Формальный аргумент> [; <Список формальных аргументов>]
<Формальный аргумент>::= <Список имен аргументов>:<Скалярный тип>
<Список имен аргументов>::= <Имя аргумента> [,<Список имен аргументов>]
<Имя аргумента>::= <Идентификатор>
<Аргумент типа
имя аргумента, который при описании формальных аргументов имел тип
имя элемента аргумента-массива, если элементы массива имеют тип
результат приведения произвольного аргумента или элемента аргумента-массива к типу
<Описание переменных>::= Var<Список описаний однотипных переменных>
<Список описаний однотипных переменных>::= <Тип переменной> <Список переменных>; [<Список описаний однотипных переменных>]
<Список переменных>::= <Имя переменной> [, <Список переменных>]