Реферат: Структура и реализация макроязыков
Тема III
Разработка общего программного обеспечения
Задание 3.2
Вы разрабатываете макроязык для системы. Обоснуйте эффективность использования макросредств. Какие типы макросредств допускаются вашим макроязыком? Сформулируйте методы построения программы, обрабатывающей макроязык
Преподаватель:
Зайцева Л. В.
Студент:
Омельченко С. А.
МАКРОЯЗЫК И МАКРОПРОЦЕССОР
Оператор, работающий в какой-либо системе, часто встречается с необходимостью повторять некоторые последовательности действий много раз? Такая последовательность может, например, состоять из ввода некоторой текстовой последовательности, нажатии определенной последовательности клавиш, выполнении однотипного ряда каких-либо арифметических операций. В подобных случаях часто можно воспользоваться аппаратом макрокоманд.
Макрокоманды (часто называемые макро или макрос ) являются однострочными сокращениями для группы команд. Используя макрокоманду, программист по существу определяет одну “команду” для представления некоторой последовательности команд.
Определяя соответствующие макрокоманды, оператор может удобным для себя образом вводить свои собственные средства более высокого уровня, не заботясь о структуре системы. Он может достигнуть краткости и простоты управления системой, не теряя при этом основных преимуществ использования исходной системы, такой, как например язык ассемблера. Крупные макрооперации упрощают пользование, отладку и модификацию программ, и облегчают стандартизацию. Многие разработчик вычислительных машин используют макрокоманды для автоматизации составления “подходящих” операционных систем в процессе, называемом генерацией системы
МАКРОКОМАНДЫ
В своей простейшей форме макрокоманда представляет собой сокращение для обозначения последовательности операций
Рассмотрим следующий набор команд, взятый из макроязыка IDE для Borland C++ версии 3.1 (TEMC). Рассмотрим следующую программу, написанную с помощью этих операций
Пример 1
.
.
.
SetPrevPos;
FixScreenPos;
PageScreenUp;
FixCursorPos;
.
.
.
SetPrevPos;
FixScreenPos;
PageScreenUp;
FixCursorPos;
--> ЧИТАТЬ ПОЛНОСТЬЮ <--