Макрос

Эта статья была переведена из источника, распространяемого под свободной лицензией, и находится на начальном уровне проработки
Материал из энциклопедии Руниверсалис

Макрос (макроподстановка, макроопределение) в разработке программного обеспечения это последовательность инструкций или деклараций, объединенных под определенным условным обозначением (именем макроса) для того, чтобы их можно было выполнить (вместо отдельных инструкций в нескольких местах программы) одним простым вызовом.[1] Все инструкции макроса автоматически выполняются в той точке программы, где был вызван (упомянут) макрос.

Макросы являются вариантом подпрограммы и могут (в зависимости от реализации) также вызываться с aргументами (параметрами). Различают системные макросы (такие как OPEN для открытия файлов и PRINT для печати) и макросы, созданные самими пользователями - например, для выполнения функций проверки или вычисления, таких как проверка достоверности идентификатора IBAN (международного номера банковского счёта).

Макросы используются, например, в электронных таблицах, текстовых редакторах и базах данных. Работа с этими программами облегчается и ускоряется благодаря тому, что часто используемая последовательность команд может быть вызвана с помощью макроса. В зависимости от типа программного обеспечения макросы также могут вызываться с помощью клавиш или с помощью имени меню.

Макросы могут быть закодированы с использованием одного из языков программирования (например, Assembler, BASIC, Pascal). Также возможно использование отдельного языка программирования в программном обеспечении (например, Microsoft Office). В этом случае язык программирования может быть связан с программным обеспечением (например, программирование в Microsoft Excel с помощью VBA) или использоваться для программирования в целом (например, решения математической задачи).

Этимология

Слово "макро" заимствовано из термина "макроинструкция", буквально означающего "большая инструкция" (греч. makros "большой").

Макросы в программировании

Макрос в программировании - это небольшой фрагмент программный код, который заменяется интерпретатором или препроцессором на более крупный фрагмент программного кода. Это позволяет упростить часто повторяющиеся структуры программы с помощью сокращений или заменить литеральные константы на семантические.

  • Программы, которые заменяют строки другими строками, называются макропроцессорами. Определение строки, которую нужно заменить, называется в нем макросом. Известными макропроцессорами являются препроцессор C или C++, макропроцессор Unix m4 и программы для набора текста troff и TeX. В макроассемблер такой макропроцессор используется для более простого определения повторяющихся структур.
  • В языках программирования, таких как Lisp, макросы - это метапрограммы, которые сначала преобразуются в исполняемый программный код во время трансляция. Макросы используются там для отображения повторяющихся структур программы: Каждый разработчик может реализовать новые управляющие структуры, паттерны проектирования, ООП-конструкции и т.д. непосредственно в языке, если это необходимо (абстракция синтаксиса). В языках программирования без макросов это потребовало бы изменений в определении языка.

Макросы в прикладных программах

В данном случае не программисты, а пользователи программного обеспечения могут эффективно комбинировать определенные этапы работы с помощью макросов.

  • В Windows автоматизация интерфейса называется "макросом". Многие прикладные программы (например, программы группы Microsoft Office, такие как Word, Excel, PowerPoint или Outlook) позволяют записывать типичные последовательности команд и операционных действий в виде макросов (см. Макрорекордер). В большинстве прикладных программ Microsoft используется язык программирования Visual Basic for Applications. (VBA) служит в качестве рабочего языка. В прикладных программах группы Microsoft Office записанный код макроса VBA можно просмотреть и в дальнейшем редактировать в среде разработки VBA, встроенной в само приложение, с помощью редактора Visual Basic Editor. Код макроса VBA в приложениях Microsoft Office очень похож на язык программирования Visual Basic. Однако особенностью VBA является возможность прямого доступа к специфическим для приложения объектам. Microsoft Excel также позволяет записанный код VBA упаковывать как AddIn и передавать его дальше. Согласно приведенному выше определению (замена маленького текста большим), VBA макросы на самом деле являются не макросами, а независимыми небольшими программами, которым требуется интерпретатор VBA в качестве среды выполнения.
  • В Microsoft Access специальный тип программирования в табличной форме также называется макросом, хотя эти макросы также могут быть объединены с VBA.
  • В некоторых программах CAD сборные детали, которые можно добавлять из библиотеки, называются макросами. Поэтому архитектору не нужно заново рисовать каждую раковину, а проектировщик электрики может воспользоваться готовыми выключателями и розетками. Это значение макроса для строительного блока контрастирует с другими значениями, согласно которым макрос - это, как правило, что-то, что может быть выполнено.

Примечания

  1. Duden Sachlexikon Informatik, 'Makrobefehl', ISBN 3-411-05232-5.