ГОСТ Р ИСО 10303-14—2015
5.1.4.3 Уровень 2: проверка типов данных
Данный уровень включает проверки уровня 1 и проверку формальной спецификации на ее совме
стимость по следующим позициям:
- выражения должны подчиняться правилам, определенным в разделе 10 и в ИСО 10303-11, раз
дел 12;
- назначения должны подчиняться правилам, определенным в ИСО 10303. подраздел 13.3.
5.1.4.4 Уровень 3: проверка значений
Данный уровень включает проверки уровня 2 и проверку формальной спецификации на ее со
вместимость с выражениями вида «А должно быть больше, чем В», определенным в ИСО 10303-11,
разделы 7—14. При этом данные выражения ограничены случаями, когда значения А и В могут быть
получены из литералов и/или констант.
5.1.4.5 Уровень 4: полная проверка
Данный уровень включает проверку формальной спецификации на ее совместимость со всеми
требованиями, установленными в настоящем стандарте.
6 Синтаксис спецификации языка
В данном разделе определена нотация, используемая для представления синтаксиса языка
EXPRESS-X.
Полный синтаксис языка EXPRESS-X приведен в приложении В. Части этих синтаксических пра
вил воспроизведены в различных разделах настоящего стандарта для иллюстрации синтаксиса кон
кретных операторов. Эти части не всегда полны. Поэтому иногда необходимо руководствоваться прило
жением В в отношении недостающих в данном примере правил. Части синтаксических правил в
тексте настоящего стандарта представлены в рамках. Каждое синтаксическое правило внутри рамки
обозна чено слева уникальным номером для использования его в перекрестных ссылках в других
синтаксиче ских правилах.
Синтаксис языка EXPRESS-X определен как производная от синтаксической нотации Вирта (СНВ)
-
[
11
Соглашения об обозначениях и самоопределенная СНВ приведены ниже.
syntax
production
expression
term
identifier
literal
group
option
repetition
{ production ) .
identifier ’= ’ expression
term l ’|• term } .
factor ( factor } .
character ( character ) .
’’’’ character { character }
’(’ expression ’)’ .
’(’ expression ’)’ •
’(’ expression ’}’ .
factoridentifier | literal I qroup option | repetition
Знак равенстваобозначает порождающее правило. Элемент слева от знака равенства
определяется как комбинация элементов, расположенных справа от него. Любые пробелы между эле
ментами правой части не имеют значения, если только они не входят в состав литерала. В конце по
рождающего правила ставится точка ’ . ’ .
Использование идентификатора в любом элементе обозначает нетерминальный символ, который
присутствует в левой части другого порождающего правила. Идентификатор состоит из букв, цифр и
символа подчеркивания. Ключевые слова языка представлены порождающими правилами, идентифи
каторы которых состоят только из прописных букв.
Литерал используется для обозначения терминального символа, который не может быть раскрыт
в дальнейшем. Литерал представляется последовательностью символов, заключенной в апострофы.
Чтобы апостроф был включен в литерал, он должен быть записан дважды, т.е. ’ ’ •’.
Семантика разных видов скобок определена следующим образом:
- фигурные скобки * { ) ’ обозначают ни одного или несколько повторений:
- квадратные скобки ’ [ ] ’ обозначают необязательные параметры;
- круглые скобки ’ < ) • обозначают, что группа порождающих правил, заключенная в круглые
скобки, должна использоваться как единое порождающее правипо;
8