ГОСТ Р ИСО’МЭК R824-93
А.З Обозначения для записи макроопределений
А.3.1 Макросродство должно быть определено с использованием обозначений
вида «Макроопределение»:
Макроопределение :: =
макросеылкз
MACRO
Содер ж а нисМакро
СодсржаниеМакро : : =
BEGIN ТелоМакро END J
макроссылка!
ВиешняяМакроссылка
ТелоМакро :: =
ПродукцияТипа
ПродукиияЗначеиик
ВсяомогательиыеПродукцин
ПродукцияТипа :: —
TYPE NOTATION
«::*=•*
СписокВариантовМакро
ПродукиияЗиачеиия :: =
VALUE NOTATION
«:; =»
СписокВариантовМакро
ВспомогательныеПродукиии :: =
СписокПродукцни ]
empty
Список Продукций : г—
Продукция!
Слисок Г1родукци й Продукцня
Продукция :. =
СсылкаНаПродукцию
с:. =»
СписокВариантовМакро
ВнешнияМакроссылка :: —
СсылкаНаМодуль макроссылка
Примечание. Предполагается дать возможность в макрооаределении
ссылаться на другие макроопределения. Вопрос о том, согласуется ли это с
правилами настоящей нотации, подлежит дальнейшему изучению.
А.3.2 Еслидляконструкции «СодержаинсМакро» был выбран вариант
«макроссылка», то модуль, и котором содержится данное макроопределение,
должен либо
a) содержать друтое макроопределение, либо
b
) содержать это макроопределение среди своих «ВходныдСимволов».
А.3.3 Если для конструкции «СодержаикеМакро» был выбран вариант
«ВнсшнияМакроссылка*, то модуль, заданный «СсылкойНаМодуль», должен
содержать макроопределение, определяющее эту «макроссылку*. Это макрооп
ределение и является определением данной макроссылкн.
А.3.4 Цепочка определений, могущая возникнуть в результате многократ
ного применения правил А32 и А.3.3. должна заканчиваться «Макроопределе
нием, в котором используется вариант «BEGIN ТелоМакро END»; «ТелоМакро»
♦того макроопределения определяет обозначения типа и значения данного мак
росредства
66