Реферат: Разработка общего ПО

Мы рассматривали макрокоманды, как обобщенные сокращения для последовательности команд. Представляется разумным разрешить использование в теле макроопределения любых допустимых синтаксисом предложений, в том числе и другие макроопределения.

Необходимо, однако, понимать, что внутреннее макроопределение не будет определено до тех пор, пока не произойдет вызов внешнего макроса. Это - следствие метода реализации макроопределений. Например, пусть пользователь хочет определить группу макроопределений для обращения к подпрограммам с помощью какой-то стандартизированной вызывающей последовательности. Приведенный ниже пример определяет макрокоманду DEFINE, которая при указании в качестве ее операнда имени подпрограммы определяет соответствующий этому имени макрос. Отдельные генерируемые макроопределения получают имена связанных с ними подпрограмм.

Пример 6:

.

.

.

МАСRO DEFINE sub

.......

.......

MACRO sub(param)

......

......

sub(param)

......

......

END

......

......

END

Пользователь может обратиться к этому макроопределению следующим образом:

DEFINE(cos)

определяя таким образом новое макроопределение с именем cos, к которому впоследствии можно обращаться следующим образом:

cos(х)

и макропроцессор сгенерирует соответствующую последовательность вызова функции.

РЕАЛИЗАЦИЯ

Таким образом, нами был описан вариант реализации макроязыка. Рассмотрим метод реализации макроязыка. В качестве примера возьмем классический язык макроассемблера.

ПОСТАНОВКА ЗАДАЧИ

Любой процессор макрокоманд должен решать следующие четыре основные задачи:

Распознавать макроопределения. Процессор макрокоманд должен распознавать макроопределения, выделяемые соответствующими псевдокомандами. В языке макроассемблера этими псевдооператорами являются псевдокоманды MACRO и MEND. Эта задача может быть усложнена тем, что внутри макроопределений могут встречаться также другие макроопределения. Когда макроопределения вложены, как было продемонстрировано выше, макропроцессор должен правильно распознавать вложения и сопоставить начало и конец макроса. Весь вложенный текст, включая и другие макроопределения определяет отдельную макрокоманду.

К-во Просмотров: 593
Бесплатно скачать Реферат: Разработка общего ПО