Ero kokoajan ja tulkin välillä

Kokoonpanija vs. tulkki

Kääntäjä on yleensä tietokoneohjelma, joka lukee yhdellä kielellä kirjoitetun ohjelman, jota kutsutaan lähdekieleksi, ja kääntää sen toiselle kielelle, jota kutsutaan kohdekieleksi. Lähdekieli on perinteisesti korkean tason kieli, kuten C ++, ja kohdekieli on alhaisen tason kieli, kuten kokoontumiskieli. On kuitenkin kääntäjiä, jotka voivat muuntaa Assembly-kielellä kirjoitetun lähdeohjelman ja muuntaa sen konekoodiksi tai objektikoodiksi. Kokoonpanijat ovat sellaisia ​​työkaluja. Toisaalta, tulkit ovat työkaluja, jotka suorittavat jollain ohjelmointikielellä kirjoitetut ohjeet. Tulkki voi joko suorittaa suoraan korkean tason lähdekoodin tai kääntää ne välikoodiksi ja tulkita sen tai suorittaa esikäännetyn koodin.

Mikä on kokoonpanija?

Assembler on ohjelmisto tai työkalu, joka kääntää kokouskielen konekoodiksi. Joten, asentaja on tyyppinen kääntäjä ja lähdekoodi on kirjoitettu kokoonpanokielellä. Kokoonpano on ihmisille luettavissa oleva kieli, mutta sillä on tyypillisesti yksi-suhde vastaavaan konekoodiin. Tästä syystä kokoonpanijan sanotaan suorittavan isomorfinen (yksi yhteen -kuvaus) käännös. Kehittyneet kokoonpanot tarjoavat lisäominaisuuksia, jotka tukevat ohjelman kehittämistä ja virheenkorjausprosesseja. Esimerkiksi makro-kokoonpanoiksi kutsuttujen kokoontuneiden tyyppi tarjoaa makro-ominaisuuden.

Mikä on tulkki?

Tulkki on tietokoneohjelma tai työkalu, joka suorittaa ohjelmointiohjeet. Tulkki voi joko suorittaa lähdekoodin suoraan tai muuntaa lähdekoodin välikoodiksi ja suorittaa sen suoraan tai suorittaa kääntäjän tuottaman esikäännetyn koodin (jotkut tulkkijärjestelmät sisältävät kääntäjän tätä tehtävää varten). Kielet, kuten Perl, Python, MATLAB ja Ruby, ovat esimerkkejä ohjelmointikieleistä, jotka käyttävät välikoodia. UCSD Pascal tulkitsee esikäännetyn koodin. Kielet, kuten Java, BASIC ja Samlltalk, kääntävät ensin lähteen välikoodiksi nimeltä bytecode ja tulkitsevat sen sitten.

Mitä eroa on yhdistäjällä ja tulkilla??

Kokoonpanijaa voidaan pitää erityyppisenä kääntäjänä, joka kääntää kokouskielen vain konekoodiksi. Tulkit ovat työkaluja, jotka suorittavat jollain kielellä kirjoitetut ohjeet. Tulkkijärjestelmissä voi olla kääntäjä koodin esikääntämistä varten ennen tulkintaa, mutta tulkkia ei voida kutsua kääntäjän erityyppiseksi. Kokoonpanijat tuottavat objektikoodin, joka on ehkä linkitettävä linkkeriohjelmilla koneella suorittamiseksi, mutta suurin osa tulkeista voi suorittaa ohjelman suorittamisen itse. Kokoonpanija tekee tyypillisesti yhden käännöksen, mutta tämä ei pidä paikkansa useimmissa tulkeissa. Koska kokoonpanokielellä on yksi ja yksi konekoodilla kartoittaminen, kokoonpanijaa voidaan käyttää tuottamaan koodi, joka toimii erittäin tehokkaasti tilanteissa, joissa suorituskyky on erittäin tärkeä (esim. Grafiikkamoottorit, sulautetut järjestelmät, joiden laitteistoresurssit ovat rajalliset verrattuna henkilökohtaiseen tietokoneeseen) kuten mikroaaltouunit, pesukoneet jne.). Toisaalta tulkkeja käytetään, kun tarvitset korkeaa siirrettävyyttä. Esimerkiksi samaa Java-tavukoodia voidaan suorittaa eri alustoilla käyttämällä sopivaa tulkkia (JVM).