Войти на сайт ( )
[Вход] [Регистрация]
Компьютеры » Программирование » Структура и реализация макроязыков [Gaist-Endruy]
[Обновить]
[ Ответить ]
[Добавить в закладки]
Страница: 1, 2, 3 ... 5, 6, 7 ... 12, 13, 14
Gaist-Endruy ( off )
( 09:35 24-03-2009 )
Поскольку макроопределения являются, по сути, "сокращениями" для последовательности команд, то полезным свойством была бы возможность производить такие "сокращения" внутри самих макроопределений.

Gaist-Endruy ( off )
( 09:35 24-03-2009 )
Пример 5:
.
.
.
MACRO Mac1
SetPrevPos;
CursorCharRight;
END
.
.
.
MACRO Mac2
Mac1
Mac1
END
.
.
.

Gaist-Endruy ( off )
( 09:35 24-03-2009 )
Внутри макроопределения Mac2 дважды происходит ссылка на макроопределение Mac1. Это помогло нам уменьшить длину макроопределения Mac2 и сделало его более легким для понимания. Такое использование макросредств приводит к макрорасширениям на нескольких уровнях вложенности, например:

Gaist-Endruy ( off )
( 09:35 24-03-2009 )
Исходный текст
Расширение исходного текста (уровень 1)
Расширение исходного текста (уровень 2)

Gaist-Endruy ( off )
( 09:35 24-03-2009 )
.
.
.
MACRO Mac1
SetPrevPos;
CursorCharRight;
END
MACRO Mac2
Mac1
Mac1
END
.
.
.
Mac2
.
.
.

Gaist-Endruy ( off )
( 09:36 24-03-2009 )
MACRO Mac2
SetPrevPos;
CursorCharRight;
SetPrevPos;
CursorCharRight;
END
Mac2
.
.
.
SetPrevPos;
CursorCharRight;
SetPrevPos;
CursorCharRight;
.
.
.

Gaist-Endruy ( off )
( 09:36 24-03-2009 )
Макровызовы, внутри макроопределений могут включать несколько уровней. Например, команда Mac2 могла бы быть выполнена внутри другого макроопределения. Фактически, такие средства, как макро-переходы дают возможность любое число раз обращаться к любому макроопределению, и даже к самому себе. Такие вызовы называются рекурсивными.

Gaist-Endruy ( off )
( 09:36 24-03-2009 )
МАКРООПРЕДЕЛЕНИЯ В МАКРООПРЕДЕЛЕНИЯХ

Gaist-Endruy ( off )
( 09:36 24-03-2009 )
Мы рассматривали макрокоманды, как обобщенные сокращения для последовательности команд. Представляется разумным разрешить использование в теле макроопределения любых допустимых синтаксисом предложений, в том числе и другие макроопределения.

Gaist-Endruy ( off )
( 09:36 24-03-2009 )
Необходимо, однако, понимать, что внутреннее макроопределение не будет определено до тех пор, пока не произойдет вызов внешнего макроса. Это - следствие метода реализации макроопределений. Например, пусть пользователь хочет определить группу макроопределений для обращения к подпрограммам с помощью какой-то стандартизированной вызывающей последовательности.

Далее »
« Назад
Страница: 1, 2, 3 ... 5, 6, 7 ... 12, 13, 14
[ Ответить ]
[Обновить]
[Добавить в закладки]
Компьютеры » Программирование » Структура и реализация макроязыков [Gaist-Endruy]
На главную
© s.sasisa.me