Sarrera
Programazioa gero eta eskaera handiagoa da aro digitalean bertan aurkitzen garen. Programazioaren oinarrizko alderdietako bat interpretearen eta konpilatzailearen arteko aldea ulertzea da.
Konpilatzailea
Oro har, konpilatzailea goi-mailako programazio-lengoaia batean idatzitako iturburu-kodea itzultzen duen programa bat da, makinan zuzenean exekutatu daitekeen behe-mailako lengoaia batera itzultzen duena. Iturburu-kodearen fitxategi bat programa exekutatzeko erabil daitekeen fitxategi exekutagarri batean konpilatzen da. Eraikuntza-prozesua, oro har, hiru fasetan banatzen da: azterketa, optimizazioa eta kodea sortzea.
Analisia
Etapa honetan, konpilatzaileak iturburu-kodea aztertzen du eta oinarrizko osagai sintaktiko eta semantikoetan deskonposatzen du. Prozesu hau Analisi lexikoa eta analisi sintaktikoa deitzen zaio. Analisiak zehazten du nola idatzi behar diren instrukzioak programazio-lengoaian baliozkoak izateko. Bestalde, analisi semantikoak kodea behar bezala egituratuta dagoela eta dena koherentea dela egiaztatzen du.
Optimizazioa
Hurrengo etapa iturburu-kodea optimizatzea da. Hemen, konpilatzaileak kodea aztertzen du bere abiadura edo eraginkortasuna hobetu daitekeen ikusteko. Optimizazioaren helburua programa baten exekuzio denbora murriztea eta programa exekutatzeko behar den memoria kopurua murriztea da.
Generación de código
Azken fasean, konpilatzaileak makinan exekutagarria den makina kodea sortzen du. Programa gisa funtzionatzen duen eta makinan zuzenean exekutatzen den kodea da, beste programa baten beharrik gabe.
Interpretea
Interprete bat beste programa bat exekutatzen duen programa da. Iturburu-kodea itzuli beharrean fitxategi batera exekutagarria, interpreteak kodea irakurtzen eta exekutatzen du zuzenean. Hau da, interpreteak iturburu-kodea lerroz lerro irakurtzen du eta makina-kodera itzultzen du eta exekutatzen du.
Desberdintasunak
Konpiladore eta interprete baten arteko desberdintasun nagusia kodea nola exekutatzen den da. Konpilatzaileak kodea makinan zuzenean exekutatzen den fitxategi exekutagarri batean itzultzen duen bitartean, beste programa baten beharrik gabe, interpreteak kodea lerroz lerro irakurri eta exekutatzen du.
Abiadura
Abiadura ere alde garrantzitsua da. Konpilatutako programa bat bizkorragoa izan daiteke interpretatzen dena baino. Konpilatutako kodea zuzenean exekutatzen da makinan, eta interpretatutako kodeak interpretatzailearen bizitzaren gainkostua du, eta konparazioan motelagoa da.
Eramangarritasuna
Beste desberdintasun garrantzitsu bat kodearen eramangarritasuna da. Konpilatutako kodea plataformaren espezifikoa da, hau da, plataforma batean sortutako kode exekutagarria ezin da beste batean exekutatu. Bestalde, interpretatutako kodea eramangarria da eta interpretea instalatuta duen edozein plataformatan exekutatu daiteke.
Ondorioa
Oro har, bi tresnak (konpilatzailea eta interpretea) garrantzitsuak dira munduan programazioarena. Programatzaile batek kontuan hartu behar du zein Onena da. aukera proiektuaren eskakizunen arabera. Beraz, laburbilduz, konpiladore batek goi-mailako kodea makinan exekutatu daitekeen behe-mailako kodea bihurtzen du, eta interprete batek zuzenean lerroz lerro exekutatzen du kodea.
Sebastián Vidal naiz, informatika ingeniaria, teknologiarekin eta brikolajearekin zaletua. Gainera, ni naizen sortzailea tecnobits.com, non tutorialak partekatzen ditudan teknologia guztiontzat eskuragarriago eta ulergarriagoa izan dadin.