Ero Kokoonpanijan Ja Tulkin Välillä

Ero Kokoonpanijan Ja Tulkin Välillä
Ero Kokoonpanijan Ja Tulkin Välillä

Video: Ero Kokoonpanijan Ja Tulkin Välillä

Video: Ero Kokoonpanijan Ja Tulkin Välillä
Video: Viittomakielentulkki on viestinviejä kahden kielen välillä 2024, Saattaa
Anonim

Kokoaja vs tulkki

Yleensä kääntäjä on 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 matalan tason kieli, kuten Assembly-kieli. 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 jollakin ohjelmointikielellä kirjoitetut ohjeet. Tulkki voi joko suorittaa suoraan korkean tason lähdekoodin tai kääntää ne välikoodiksi ja tulkita sen sitten tai suorittaa esikäännetyn koodin.

Mikä on kokoonpanija?

Assembler on ohjelmisto tai työkalu, joka kääntää kokoonpanokielen konekoodiksi. Joten assembler on kääntäjän tyyppi ja lähdekoodi kirjoitetaan Assembly-kielellä. Assembly on ihmisen luettavissa oleva kieli, mutta sillä on tyypillisesti henkilökohtainen suhde vastaavaan konekoodiin. Siksi kokoonpanijan sanotaan suorittavan isomorfisen (yksi yhteen kartoitus) käännöksen. Edistyneet kokoonpanijat tarjoavat lisäominaisuuksia, jotka tukevat ohjelman kehittämistä ja virheenkorjausprosesseja. Esimerkiksi kokoonpanijoiden tyyppi, jota kutsutaan makroasentajiksi, tarjoaa makrotoiminnon.

Mikä on tulkki?

Tulkki on tietokoneohjelma tai työkalu, joka suorittaa ohjelmointiohjeet. Tulkki voi joko suorittaa lähdekoodin suoraan tai muuntaa lähteen välikoodiksi ja suorittaa sen suoraan tai suorittaa kääntäjän tuottaman esikäännetyn koodin (joissakin tulkkijärjestelmissä on kääntäjä tähän tehtävään). Kielet, kuten Perl, Python, MATLAB ja Ruby, ovat esimerkkejä ohjelmointikielistä, jotka käyttävät välikoodia. UCSD Pascal tulkitsee esikäännetyn koodin. Kielet, kuten Java, BASIC ja Samlltalk, kääntävät lähteen ensin tavukoodiksi kutsuttuun välikoodiin ja tulkitsevat sen sitten.

Mikä on ero kokoonpanijan ja tulkin välillä?

Asentajaa voidaan pitää erityistyyppisenä kääntäjänä, joka kääntää vain Assembly-kielen konekoodiksi. Tulkit ovat työkaluja, jotka suorittavat jollakin kielellä kirjoitettuja ohjeita. Tulkkijärjestelmissä voi olla kääntäjä koodin esikoostamiseksi ennen tulkintaa, mutta tulkkia ei voida kutsua kääntäjän erityistyypiksi. Kokoonpanijat tuottavat kohdekoodin, joka saatetaan joutua linkittämään linkkuriohjelmilla koneen suorittamiseksi, mutta useimmat tulkit voivat suorittaa ohjelman suorittamisen itse. Asentaja tekee tyypillisesti yksi yhteen käännöksen, mutta tämä ei ole totta useimmille tulkeille. Koska Assembly-kielellä on yksi yhteen kartoitus konekoodilla, 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, joilla on rajoitetut laitteistoresurssit verrattuna henkilökohtaiseen tietokoneeseen, kuten mikroaaltouunit, pesukoneet jne.). Toisaalta tulkkia käytetään, kun tarvitset korkeaa siirrettävyyttä. Esimerkiksi sama Java-tavukoodi voidaan ajaa eri alustoilla käyttämällä asianmukaista tulkkia (JVM).

Suositeltava: