ГОСТ Р МЭК 61131-3—2016
Приложение А
(обязательное)
Формальная спецификация элементов языка
Синтаксистекстовыхязыков определен в варианте «расширенной БНФ» (Бэкус-Науровой формы).
Синтаксисэтого варианта РБНФ следующий:
Дляцелейнастоящего приложенияА,терминальныетекстовыесимволысостоят изсоответствующейстроки
символов, заключенной в парныеодиночные кавычки. Например, терминальныйсимвол,представляемыйстрокой
символовАВС. представлен посредством АВС’.
Нетерминальныетекстовые символыдолжныбыть представлены строками букв нижнего регистра, числами
и символом подчеркивания «_», начиная с буквы верхнегорегистра.
Продукционные правила
Правила выводадля текстовых языковимеют форму
non_terminal_symbol: extended_structure;
Данное правило можно прочитатькак: «non_terminal_symbol может включатьextended slructure».
Расиширенныеструктуры можно конструировать всоответствии соследующими правилами:
любой терминальный символ— расширенная структура;
любой нетерминальный символ — расширенная структура.
Если S — расширеннаяструктура, то следующие выражения такжеявляются расширенными структурами:
(S)— означает собственно S:
(S)‘ — замыкание, означающее нуль или большее числоконкатенаций S:
(S)+ — замыкание, означающееодноили большеечисло сцеплений S;
(S)?— вариант, означающий нульилиодно появление S.
Если S1 и S2 — это расширенные структуры, тогда следующие выражения являются расширенными
структурами:
S1 |S2— изменение, означающее выбор S1 или S2:
S1 S2 —сцепление,означающее S1. за которым следует S2;
Сцеплениепредшествуетизменению, то есть
S1 |S2 S3— эквивалентно S1 | ( S2 S3 ). S1 S2 |S3 — эквивалентно { S1 S2 ) |S3.
Если S — это расширенная структура, которая обозначает одиночный символ или изменение одиночных
символов, тогда следующее также является расширеннойструктурой:
~(S) — отрицание, означающее любой одиночный символ, который не находится в S. Отрицание предше
ствует замыканиюилиопции, тоесть
-(S)* — эквивалентно(-(S))*.
Следующиесимволы используютсядляобозначенияопределенных символовили классов символов:
.— любойодиночный символ;
V— символодиночной кавычки;
\п— новая строка:
\г— возврат каретки;
\t — табулятор.
Комментарии в грамматике начинаютсядвойной косой чертой и заканчиваются в конце строки:
У/Это комментарий
//Таблица 1— Наборы символов
//Таблица 2— Идентификаторы
214
Буква А’..-Z’ |
Цифра •0\.’9’;
Бит 1Г..Т;