Macroprocesador (también macrogenerador ): un programa que convierte el texto de entrada en texto de salida utilizando las reglas para reemplazar secuencias de caracteres, llamadas reglas de sustitución de macros, que establece.
La regla de sustitución de macros más simple y más comúnmente utilizada es reemplazar una determinada cadena (llamada macro (macro) o macro ) con otra cadena, posiblemente usando parámetros. Además, las reglas de sustitución de macros pueden ser más complejas, incluida la definición de procedimientos y funciones, algoritmos computacionales, etc.
El macroprocesador, como tal, es un caso especial de traductor . Al mismo tiempo, algunos macroprocesadores forman parte de traductores más complejos: ensambladores y compiladores de lenguajes de programación. Es común utilizar procesadores de macros cuando se traduce de lenguajes ensambladores , en cuyo caso el ensamblador correspondiente se denomina ensamblador de macros . El macroprocesador más simple es parte del compilador del lenguaje de programación C. El compilador del lenguaje de programación PL/1 incluye un macroprocesador mucho más complejo, que de hecho es un subconjunto de PL/1. El procesador de macros que forma parte del compilador se denomina preprocesador .
También existen macroprocesadores independientes, como por ejemplo el macroprocesador m4 .
El núcleo del sistema de diseño de computadora Τ Ε Χ se puede atribuir a los macroprocesadores .
El límite entre los macroprocesadores, por un lado, y los compiladores de lenguajes de programación centrados en el procesamiento simbólico, como REXX , Perl , Snobol , Refal , etc., por el otro, es más bien condicional. Por lo general, los macroprocesadores se denominan traductores, cuyo lenguaje de entrada es de poca utilidad para escribir programas universales y se centra principalmente en transformaciones simples del texto de entrada en el texto de salida por sustitución simbólica.