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

Gaist-Endruy ( off ) *
( 09:33 24-03-2009 )
Пример 4:
.
.
.
ScrollScreenLeft(1);
LiteralChar('-');
.
.
.
ScrollScreenDown;
ScrollScreenLeft(2);
LiteralChar('*');
.
.
. [цит]

Gaist-Endruy ( off ) *
( 09:33 24-03-2009 )
В этом примере не только параметры, но и количество команд - переменная величина. Эта программа может быть записана следующим образом: [цит]

Gaist-Endruy ( off ) *
( 09:33 24-03-2009 )
.
.
.
MACRO Mac1(p1,left,chr)
IF p1==1 THEN
ScrollScreenDown;
ENDIF
ScrollScreenLeft(2);
LiteralChar('*');
END
.
.
.
Mac1(1,2,'-')
.
.
.
Mac1(0,1,'*')
.
.
. [цит]

Gaist-Endruy ( off ) *
( 09:33 24-03-2009 )
.
.
.
ScrollScreenLeft(1);
LiteralChar('-');
.
.
.
ScrollScreenDown;
ScrollScreenLeft(2);
LiteralChar('*');
.
.
. [цит]

Gaist-Endruy ( off ) *
( 09:34 24-03-2009 )
Комбинация IF...THEN...ELSE является макрометками или символами следования и не появляются в выходном тексте макропроцессора. В макроязыке также могут быть предусмотрены псевдокоманды условного и безусловного перехода на псевдо-метку, с которой макропроцессор продолжит обработку текста программы. [цит]

Gaist-Endruy ( off ) *
( 09:34 24-03-2009 )
Точно так же, как и в случае выполнения программы, операторы переходов служат для указания выполнения операторов программы, операторы макро-переходов служат для указания порядка компиляции текста программы. [цит]

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

Gaist-Endruy ( off ) *
( 09:34 24-03-2009 )
Эта возможность избирательной выборки нужных частей текста является одним из самых мощных средств в системном программировании. [цит]

Gaist-Endruy ( off ) *
( 09:34 24-03-2009 )
МАКРОВЫЗОВЫ ВНУТРИ МАКРООПРЕДЕЛЕНИЯ [цит]

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