compilation

1. Inform.
Programazio-lengoaia jakin batean dagoen programa bat ordenagailuaren makina-lengoaiara itzultzeko prozesua.

Konpilazioa Edit

Egilea: Eneko Agirre

KONPILAZIOA

Konpiladoreek egiten duten prozesuari konpilazio deritzo. Programazio-lengoaia jakin batean dagoen programa bat beste programazio-lengoaia batera itzultzen duten programak dira konpiladoreak. Sarreran dagoen programari iturburu-programa deitzen zaio, eta irteeran dagoenari, objektu-programa. Normalean, goi-mailako programazio-lengoaian dagoen programa hartzen dute konpiladoreek sarreran, eta programa exekutagarria sortzen dute, hau da, zuzenean ordenagailuan exekuta daitekeen programa. Adibidez, programatzaileak testu-prozesadore bat C++ programazio-lengoaian idatziko balu, erabiltzaileak ezin izango luke programa hori zuzenean bere ordenagailuan erabili. Erabili aurretik, programatzaileak konpilatu egingo luke, eta konpilatutako programa hori izango litzateke erabiltzaileari helarazi eta gero erabiltzaileak bere makinan exekutatuko lukeena. Erabiltzaileek normalean ez dute konpiladoreen beharrik, banatzen diren programak konpilatuta egoten baitira.

Beraz, konpiladoreek ordenagailu jakin baterako sortzen dituzte programa exekutagarriak gehienetan; are gehiago, ordenagailu eta sistema eragile jakin batzuetarako. Hori dela eta, adibidez, ezin da Linux daukan PC bateko programa bat Windows daukan PC batean exekutatu. Beste aukera bat konpiladoreak makina birtual baterako kodea sortzea da. Halakoetan, programa konpilatua bera edozein ordenagailutan exekutatu ahal izango dugu, baina, aldez aurretik, makina birtual deritzona instalatu behar dugu. Java programazio-lengoaiak, adibidez, estrategia hori erabiltzen du, eta horregatik Javaren makina birtuala instalatu beharra egoten da Javaz garatutako programak exekutatu ahal izateko. Hirugarren aukera bat da, konpilatu ordez, kodea zuzenean exekutatzea, interpretatzaile deritzen programa batzuen bidez. Interpretatzaileak eta konpiladoreak familia bereko programak dira, eta biak batera aztertzen dira konpilazioan. Konpiladoreek ez bezala, ordea, interpretatzaileek ez dute programa-objekturik sortzen, eta sarrerako programa zuzenean exekutatzen dute.

Konpiladoreak, programa exekutagarria sortzeaz aparte, programazio-erroreak bilatzen ditu. Ildo horretatik, gaur egun konpiladore gehienak programazio-inguruneetan integratuta banatzen dira, programazio-proiektu konplexuak kudeatzeko laguntzekin batera.