Makroprosessori (myös makrogeneraattori ) - ohjelma , joka muuntaa syötetyn tekstin tulostekstiksi käyttämällä määrittämiään merkkijonoja korvaavia sääntöjä, joita kutsutaan makrokorvaussäännöiksi.
Yksinkertaisin ja yleisimmin käytetty makrokorvaussääntö on korvata tietty merkkijono (kutsutaan makroksi (makro) tai makroksi ) toisella merkkijonolla, mahdollisesti parametrien avulla. Myös makrokorvaussäännöt voivat olla monimutkaisempia, mukaan lukien menettelyjen ja funktioiden määrittely, laskennalliset algoritmit jne.
Makroprosessori on sellaisenaan kääntäjän erikoistapaus . Samaan aikaan jotkut makroprosessorit ovat osa monimutkaisempia kääntäjiä - ohjelmointikielten kokoajia ja kääntäjiä . Assembly-kielistä käännettäessä käytetään yleisesti makroprosessoreita , jolloin vastaavaa assembleria kutsutaan makro-asentajaksi . Yksinkertaisin makroprosessori on osa C - ohjelmointikielen kääntäjää . Ohjelmointikielen PL/1 kääntäjä sisältää paljon monimutkaisemman makroprosessorin, joka itse asiassa on PL/1:n osajoukko. Kääntäjän osana olevaa makroprosessoria kutsutaan esiprosessoriksi .
On myös itsenäisiä makroprosessoreita, kuten esimerkiksi m4-makroprosessori .
Tietokoneen asettelujärjestelmän Τ Ε Χ ytimen voidaan katsoa johtuvan makroprosessoreista .
Raja toisaalta makroprosessorien ja toisaalta symboliseen käsittelyyn keskittyneiden ohjelmointikielten kääntäjien, kuten REXX , Perl , Snobol , Refal jne., välillä on melko ehdollinen. Yleensä makroprosessoreiksi kutsutaan sellaisia kääntäjiä, joiden syöttökielellä ei ole juurikaan käyttöä universaalien ohjelmien kirjoittamisessa ja jotka keskittyvät pääasiassa yksinkertaisiin syöttötekstin muuntamiseen tulostekstiksi symbolisella korvauksella.