Макрокоманда, макроопределение[1] или ма́крос[2] (от macros — формы множественного числа слова macro) — программный алгоритм действий, записанный пользователем. Часто макросы применяют для автоматизации рутинных действий. Также макрос — это символьное имя в шаблонах, заменяемое при обработке препроцессором на последовательность символов, например: фрагмент html-страницы в веб-шаблонах, или одно слово из словаря синонимов в синонимизаторах.
Корректный перевод термина с английского — «макрокоманда». Слово «макрос» получило распространение благодаря использованию в локализованных продуктах американской корпорации Microsoft[источник не указан 3632 дня].
Макросы в прикладных программах
Во многих офисных[3] продуктах (OpenOffice.org, Microsoft Office и др.), в графических программах (например, CorelDRAW) при обработке макроса автоматически выполняется заданная для каждого макроса последовательность действий — нажатия на клавиши, выбор пунктов меню и т. д. Предоставляется интерфейс для записи новых и перезаписи существующих макросов. Также существуют текстовые редакторы, поддерживающие макросы, например Notepad++.
Используя макросы, можно значительно (в десятки, а то и в сотни раз) увеличить эффективность работы с приложением. Помимо выполнения набора встроенных в приложение команд, макрос позволяет производить обработку внешних файлов, загрузку и передачу файлов и данных через интернет, чтение и изменение настроек операционной системы. В большинстве случаев макрорекордер (режим записи действий пользователя в виде макроса) выдаёт код, нуждающийся в доработке. Но, тем не менее, и такой макрос значительно сокращает время, требующееся на выполнение рутинных операций.
Макросы в программировании
В языках ассемблера, а также в некоторых других языках программирования, макрос — символьное имя, заменяемое при обработке препроцессором на последовательность программных инструкций.
Для каждого интерпретатора (языков ассемблера) существует специальный синтаксис объявления и вызова макросов. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове, в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов.
В Лиспе, благодаря развитой макросистеме, макропрограммирование позволяет расширять язык новыми формами и настройками. То есть, с помощью макросов можно определить предметно-ориентированный язык для решаемой задачи и процессор (транслятор или конвертор) для него. Под процессором в данном случае понимается программа, которая реализует типы данных и операции абстрактного языка на другом языке[4].
С помощью макропрограммирования можно осуществить и раскрутку компилятора[4].
См. также
Примечания
Литература
Ссылки
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.