ГОСТ Р ИСО 10303-11— 2009
А. 1.3 Лексические элементы
Представленные ниже правила определяют, как определенные комбинации символов интерпретируются в
качестве лексических элементов языка.
139binaryJiteral = ’ % ’ bit { bit } .
140encoded_string Jiteral = ’encoded characier {
encoded_character} ’" ’.
141integerJiteral = digits .
142realJiteral = ntegerJiteral |
( digits’ . ’ [ digits J(’ e ’[ sign) digits ]).
143simplejd = letter { letter | digit | * _ ’ } .
144simple_stringJiteral = Vq{ ( \q Nq) | not_quote | \s | \x9 |
\xA | VxD} \q.
A.1.4 Комментарии
Представленные ниже правила определяют синтаксис комментариев в языке EXPRESS.
145embedded_remark = ’(■’[ remark_tag ] { ( not_paren_star {
not_paren_star}) |
IparenJhen_not_lparen_star | (* *’ { ’ *’ }) |
not_rparen_slarJhen_rparen | embedded_remark }
• y .
146remark = embedded_remark | taijremark .
147remarkJag = ’" *remark_ref { ’ .’ remark_ref} *"’.
148remark_ref = attribute_ref | constant_ref | entity_ref |
enumeration_ref | function_ref | parameter_ref | procedure_ref |
rulejabel_ref | rule_ref | schema_re( | subtype_constraint_ref |
type_label_ref | type_ref | variable_ref.
149tail_remark =* — ’[ remark Jag ] { \a | \s | \x9 | \xA | VxD}
\n .
A.1.5 Интерпретированные идентификаторы
Представленные ниже правила определяют идентификаторы, для которых установлен конкретный смысл
(то есть они объявляются как типы, функции и т. д.).
П р и м е ч а н и е — Предполагается, что идентификаторы, определенные данными правилами, распоз
наются реализацией. Способ, которым реализация получает эту информацию, не связан с определением языка.
Одним из способов получения данной информации является многопроходный синтаксический анализ, когда на
первом проходе собираются идентификаторы из их объявлений, а на последующих проходах появляется воз
можность отличить, например. variable_ref от function_ref.
150attribute_ref = attributejd .
151constant_ref = constantJd .
152entity_ref = entityJd .
153enumeration_ref = enumerationJd .
154function_ref = functionjd .
155parameter_ref = parameter Jd .
156procedure_ref = procedureJd .
157rulejabel_ref = rulejabeljd .
158rule_ref = ruleJd .
159schema _ref = schemaJd .
160subtype_constraint_ref = subtype_constraintJd .
161typejabel_ref = typejabeljd .
162type_ref = typeJd .
163variable_ref = variablejd .
A.2 Грамматические правила
Представленные ниже правила определяют, как рассмотренные выше лексические элементы могут объе
диняться в конструкции языка EXPRESS. Пробелы и/или комментарии могут помещаться между любыми двумя
лексемами в данных правилах. Первичным синтаксическим правилом языка EXPRESS является syntax.
164abstract_entity_dectaration = ABSTRACT .
165abstract_supertype = ABSTRACT SUPERTYPE *; *.
166abstract_supertype_dedaration = ABSTRACT SUPERTYPE [
subtype_constraint J.
167actual_parameterjist = ’ ( ’ parameter { V parameter} ’ ) *.
168addJike_op = ’ + ’ | | OR |XOR .
169aggregateJnitializer = ’ l ’ [ element {*. * element} ] ’] ’.
116