Macro (samling af instruktioner)

Fra Wikipedia, den frie encyklopædi
For alternative betydninger, se Macro. (Se også artikler, som begynder med Macro)

En macro (også stavet makro) er inden for informationsteknologien en samling af instruktioner eller kommandoer, der kan angives eller udføres under ét navn.

Macroer finder anvendelse i flere programmeringssprog. Macroer finder udstrakt anvendelse i assemblerprogrammering, hvor man simpelthen samler et antal assemblerinstruktioner under et navn, gemmer dem i et macrobibliotek og senere i programmet kan nøjes med at skrive navnet på macroen. Assembleren ekspanderer da macroen til de angivne instruktioner, der indsættes i stedet, før den egentlige assemblering sker. Macroer kan ofte ”tage parametre”, så dele af den indsatte assemblerkode modificeres. F.eks. kan labels (referencer til adresser indsættes). Et eksempel fra assembleren til Univac-1100, hvor macroen (PROC'en) FLYT først defineres med parametre:

FLYT*   PROC
        LX       X1,(1,FLYT(1,1))
        LX       X2,(1,FLYT(1,2))
        LR,U     R1,FLYT(1,3)
        LA       A1,0,*X1
        SA       A1,0,*X2
        JGD      R1,$-2
        END   

I den følgende kodestump kaldes macroen FLYT og etiketterne på to lagerområder LOCA og LOCB angives som parametre sammen med litteralen 10. Assemblerinstruktionerne defineret ovenfor indsættes i stedet for navnet FLYT og parametrene indsættes på de angivne pladser.

START   .
        FLYT     LOCA,LOCB,10
        . 

Macroer findes også i flere højniveausprog, hvor de typisk er en del af præcompileren. Det er et program, der behandler programkoden før den egentlige kompilering (oversættelse). En præcompiler er normalt mere avanceret end macroer i assembler.

Macroer findes også i flere applikationsprogrammer, hvor man kan samle flere kommandoer eller handlinger, gemme dem under et ønsket navn og senere udføre de samme kommandoer igen (men typisk på andre data). Macroer findes i regneark, tekstbehandlingsprogrammer , grafikprogrammer og mange andre programmer. Derved kan rutineopgaver, der skal udføres ofte, meget nemt udføres.

Macroer kan i nogle programmer fungere som et helt programmeringssprog.