Показать меню

Макропроцессор

Макропроцессор (также макрогенератор) — программа, выполняющая преобразование входного текста в выходной при помощи задаваемых ей правил замены последовательностей символов, называемых правилами макроподстановки.

Наиболее простое и часто используемое правило макроподстановки сводится к замене определённой строки (называемой макро (макрос) или макрокоманда) другой строкой, возможно, с использованием параметров. Также правила макроподстановки могут иметь более сложный характер, включая определение процедур и функций, вычислительные алгоритмы и пр.

Макропроцессор, как таковой, является частным случаем транслятора. В то же время, некоторые макропроцессоры являются частью более сложных трансляторов — ассемблеров и компиляторов языков программирования. Широко распространено использование макропроцессоров при трансляции с языков ассемблера, в таком случае соответствующий ассемблер называется макроассемблером. Простейший макропроцессор является частью компилятора языка программирования Си. В компилятор языка программирования ПЛ/1 входит значительно более сложный макропроцессор, фактически сам являющийся подмножеством ПЛ/1. Макропроцессор, являющийся частью компилятора, называется препроцессор.

Также существуют самостоятельные макропроцессоры, такие как, например, макропроцессор m4.

К макропроцессорам может быть отнесено ядро системы компьютерной вёрстки ΤΕΧ.

Граница между макропроцессорами, с одной стороны, и трансляторами языков программирования, ориентированных на символьную обработку, таких как REXX, Perl, Снобол, Рефал и пр., с другой — является достаточно условной. Обычно макропроцессорами называют такие трансляторы, входной язык которых малопригоден для написания универсальных программ, а ориентирован в основном на простые преобразования входного текста в выходной путём символьной подстановки.

Еще по этой теме:
stdio.h
11:18, 12 декабрь
stdio.h
stdio.h (от англ. standard input/output header — стандартный заголовочный файл ввода-вывода) заголовочный файл стандартной библиотеки языка Си, содержащий определения макросов, константы и объявления
assert.h
06:52, 10 декабрь
assert.h
assert.h — заголовочный файл стандартной библиотеки языка программирования С, в котором объявляется макрос препроцессора языка С assert(). Данный макрос реализует исключение, которое может
PPAML
01:30, 08 декабрь
PPAML
PPAML (Probabilistic Programming for Advanced Machine Learning) — Исследовательская программа Агентства по перспективным оборонным научно-исследовательским разработкам США, посвящённая вероятностному
Правило одного определения
05:26, 05 декабрь
Правило одного определения
Правило одного определения (One Definition Rule, ODR) — один из основных принципов языка программирования C++. Назначение ODR состоит в том, чтобы в программе не могло появиться два или более
Матрица Коши (линейная алгебра)
14:45, 04 декабрь
Матрица Коши (линейная алгебра)
В математике матрица Коши (названа в честь Огюстена Луи Коши) — это матрица размера m × n с элементами вида a i j
Ша (язык)
01:28, 03 декабрь
Ша (язык)
Ша (англ. sha) — язык западночадской ветви чадской семьи, распространённый в центральной Нигерии: на сопредельных территориях штата Плато (в его западной части — район Боккос) и штата Насарава (в его
Комментарии:
Добавить комментарий
Ваше Имя:
Ваш E-Mail: