Montuotojas vs Sudarytojas
Apskritai, kompiliatorius yra kompiuterinė programa, kuri nuskaito programa, parašyta viena kalba, kuri vadinama šaltinio kalba, ir verčia ją į kitą kalbą, vadinamą tiksline kalba. Tradiciškai šaltinio kalba buvo aukšto lygio kalba, tokia kaip C ++, o tikslinė kalba buvo žemo lygio, pavyzdžiui, susirinkimo kalba. Tačiau yra kompiliatorių, kurie gali konvertuoti šaltinio programą, parašytą susirinkimo kalba, ir konvertuoti ją į mašinos kodą arba objekto kodą. Montuotojai yra tokie įrankiai. Taigi tiek surinkėjai, tiek kompiliatoriai galiausiai sukuria kodą, kurį galima tiesiogiai vykdyti kompiuteryje.
Kas yra kompiliatorius?
Kompiliatorius yra kompiuterinė programa, kuri nuskaito programa, parašyta viena kalba, kuri vadinama šaltinio kalba, ir verčia ją į kitą kalbą, vadinamą tiksline kalba. Dažniausiai originalo kalba yra aukšto lygio, o tikslinė - žemo lygio. Taigi apskritai sudarytojai gali būti vertinami kaip vertėjai, verčiantys iš vienos kalbos į kitą. Be to, kompiliatoriai atlieka keletą kodo optimizacijų. Įprastą kompiliatorių sudaro keli pagrindiniai komponentai. Pirmasis komponentas yra skaitytuvas (dar žinomas kaip leksinis analizatorius). Skaitytuvas skaito programą ir paverčia ją žetonų eilute. Antrasis komponentas yra analizatorius. Tai konvertuoja žetonų eilutę į analizuojamąjį medį (arba abstrakčiąjį sintaksės medį), kuriame užfiksuota sintaksinė programos struktūra. Kitas komponentas yra semantinė rutina, aiškinanti sintaksinės struktūros semantiką. Kodo optimizavimas ir galutinis kodo generavimas vyksta taip.
Kas yra montuotojas?
Montuotojas yra programinė įranga arba įrankis, kuris paverčia asamblėjos kalbą į mašinos kodą. Taigi, surinkėjas yra sudarytojo tipas, o šaltinio kodas parašytas susirinkimo kalba. Surinkimas yra žmonėms suprantama kalba, tačiau paprastai tai yra vienas su kitu santykis su atitinkamu mašinos kodu. Todėl sakoma, kad surinkėjas atlieka izomorfinį (vienas su vienu kartografavimo) vertimą. Pažangūs surinkėjai teikia papildomų funkcijų, palaikančių programų kūrimą ir derinimo procesus. Pavyzdžiui, surinkėjų tipas, vadinamas makrokomplektoriais, suteikia makrokomandą.
Kuo skiriasi montuotojas ir kompiliatorius??
Kompiliatorius yra kompiuterinė programa, nuskaitanti programa, parašyta viena kalba, ir išversianti ją į kitą kalbą, tuo tarpu surinkėjas gali būti laikomas ypatingo tipo kompiliatoriumi, kuris verčia tik surinkimo kalbą į mašinos kodą. Kompiliatoriai paprastai gamina vykdomąjį kodą tiesiogiai iš aukšto lygio kalbos, tačiau surinkėjai sukuria objekto kodą, kurį gali reikėti susieti naudojant linkerio programas, kad būtų galima paleisti mašinoje. Kadangi surinkimo kalba susiejama su mašina kodu viena prieš vieną, surinkėjas gali būti naudojamas generuoti kodą, kuris veikia labai efektyviai tais atvejais, kai našumas yra labai svarbus (pvz., Grafikos varikliams, įterptoms sistemoms su ribotais aparatūros ištekliais, palyginti su asmeniniu kompiuteriu). kaip mikrobangų krosnelės, skalbimo mašinos ir kt.).