Makroprocessor (også makrogenerator ) - et program , der konverterer inputtekst til outputtekst ved hjælp af reglerne for at erstatte tegnsekvenser, kaldet makroerstatningsregler, som det sætter.
Den enkleste og mest almindeligt anvendte makroerstatningsregel er at erstatte en bestemt streng (kaldet en makro (makro) eller makro ) med en anden streng, muligvis ved hjælp af parametre. Makrosubstitutionsregler kan også være mere komplekse, herunder definition af procedurer og funktioner, beregningsalgoritmer osv.
Makroprocessoren er som sådan et specialtilfælde af en oversætter . Samtidig er nogle makroprocessorer en del af mere komplekse oversættere - assemblere og kompilatorer af programmeringssprog. Det er almindeligt at bruge makroprocessorer, når man oversætter fra assemblersprog , i hvilket tilfælde den tilsvarende assembler kaldes en macro assembler . Den enkleste makroprocessor er en del af C- programmeringssprogskompileren . Kompileren af PL/1 -programmeringssproget inkluderer en meget mere kompleks makroprocessor, som faktisk selv er en delmængde af PL/1. Makroprocessoren , der er en del af compileren, kaldes præprocessoren .
Der findes også uafhængige makroprocessorer, som for eksempel m4 makroprocessoren .
Kernen i computerlayoutsystemet Τ Ε Χ kan tilskrives makroprocessorer .
Grænsen mellem makroprocessorer på den ene side og kompilatorer af programmeringssprog med fokus på symbolsk behandling, såsom REXX , Perl , Snobol , Refal , osv. på den anden side er ret betinget. Normalt kaldes makroprocessorer sådanne oversættere, hvis inputsprog er af ringe nytte til at skrive universelle programmer og fokuserer hovedsageligt på simple transformationer af inputteksten til outputteksten ved symbolsk substitution.