Makroprocesszor ( makrogenerátor is ) – olyan program , amely a bemeneti szöveget kimeneti szöveggé alakítja az általa beállított karaktersorozatok helyettesítésére szolgáló szabályok, úgynevezett makróhelyettesítési szabályok segítségével.
A legegyszerűbb és leggyakrabban használt makróhelyettesítési szabály egy bizonyos karakterlánc ( makró (makró) vagy makró ) lecserélése egy másik karakterláncra, esetleg paraméterek használatával. Ezenkívül a makróhelyettesítési szabályok bonyolultabbak lehetnek, beleértve az eljárások és függvények meghatározását, a számítási algoritmusokat stb.
A makroprocesszor, mint olyan, a fordító speciális esete . Ugyanakkor egyes makroprocesszorok bonyolultabb fordítók - programozási nyelvek összeszerelői és fordítói - részét képezik. Gyakori a makróprocesszorok használata assembly nyelvekből történő fordításkor, ebben az esetben a megfelelő assemblert makró assemblernek nevezik . A legegyszerűbb makroprocesszor a C programozási nyelv fordítójának része . A PL/1 programozási nyelv fordítója egy sokkal bonyolultabb makroprocesszort tartalmaz, amely valójában maga is a PL/1 részhalmaza. A fordító részét képező makróprocesszort előfeldolgozónak nevezzük .
Vannak független makró processzorok is, mint például az m4 makró processzor .
A Τ Ε Χ számítógépes elrendezési rendszer magja a makroprocesszoroknak tulajdonítható .
A határ egyrészt a makroprocesszorok és a szimbolikus feldolgozásra összpontosító programozási nyelvek fordítói között, mint például a REXX , Perl , Snobol , Refal stb., meglehetősen feltételes. A makroprocesszorokat általában olyan fordítóknak nevezik, amelyek beviteli nyelve kevéssé használható univerzális programok írásához, és főként a bemeneti szöveg szimbolikus helyettesítéssel a kimeneti szöveggé történő egyszerű átalakítására összpontosít.