Макрокоманда
Макрокоманда, макроопределение[1] или мáкрос[2] (от macros — формы множественного числа слова macro) — программный алгоритм действий, записанный пользователем. Часто макросы применяют для автоматизации рутинных действий. Также макрос — это символьное имя в шаблонах, заменяемое при обработке препроцессором на последовательность символов, например: фрагмент html-страницы в веб-шаблонах, или одно слово из словаря синонимов в синонимизаторах.
Корректный перевод термина с английского — «макрокоманда». Слово «макрос» получило распространение благодаря использованию в локализованных продуктах американской корпорации Microsoft.
Макросы в прикладных программах
Во многих офисных[3] продуктах (OpenOffice.org, Microsoft Office и др.), в графических программах (например, CorelDRAW) при обработке макроса автоматически выполняется заданная для каждого макроса последовательность действий — нажатия на клавиши, выбор пунктов меню и т. д. Предоставляется интерфейс для записи новых и перезаписи существующих макросов. Также существуют текстовые редакторы, поддерживающие макросы, например Notepad++.
Используя макросы, можно значительно (в десятки, а то и в сотни раз) увеличить эффективность работы с приложением. Помимо выполнения набора встроенных в приложение команд, макрос позволяет производить обработку внешних файлов, загрузку и передачу файлов и данных через интернет, чтение и изменение настроек операционной системы. В большинстве случаев макрорекордер (режим записи действий пользователя в виде макроса) выдаёт код, нуждающийся в доработке. Но, тем не менее, и такой макрос значительно сокращает время, требующееся на выполнение рутинных операций.
Макросы в программировании
В языках ассемблера, а также в некоторых других языках программирования, макрос — символьное имя, заменяемое при обработке препроцессором на последовательность программных инструкций.
Для каждого интерпретатора (языков ассемблера) существует специальный синтаксис объявления и вызова макросов. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове, в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов.
В Лиспе, благодаря развитой макросистеме, макропрограммирование позволяет расширять язык новыми формами и настройками. То есть, с помощью макросов можно определить предметно-ориентированный язык для решаемой задачи и процессор (транслятор или конвертор) для него. Под процессором в данном случае понимается программа, которая реализует типы данных и операции абстрактного языка на другом языке[4].
С помощью макропрограммирования можно осуществить и раскрутку компилятора[4].
Примечания
- Масловский Е. К. Англо-русский словарь пользователя персональной ЭВМ. — Московская международная школа переводчиков, 1992. — ISBN 5-8234-0005-5.
- «Макрос» — ударение в слове . Грамота.ру. Дата обращения: 24 мая 2020.
- Марко Фиоретти. Макросы: Офис и автоматизация // Linux Format : журнал. — 2014. — Ноябрь (№ 11 (189)). — С. 80—83.
- Хювёнен, Сеппянен, 1990.
Литература
- Хювёнен Э., Сеппянен Й. Мир Лиспа. В 2-х т. / Пер. с финск.. — М.: Мир, 1990. — ISBN 5-03-001935-9 (русск.). — ISBN 5-03-001336-9. — ISBN 951-26-2787-6 (финск.).