Kokoonpanija vs. kääntäjä
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 oli perinteisesti korkean tason kieli, kuten C ++, ja kohdekieli oli matala, 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. Joten sekä asentajat että kääntäjät tuottavat lopulta koodin, joka voidaan suorittaa suoraan koneella.
Mikä on kääntäjä?
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 useimmiten korkean tason kieli ja kohdekieli on alhaisen tason kieli. Joten yleensä kääntäjiä voidaan pitää kääntäjinä, jotka kääntävät kieleltä toiselle. Lisäksi kääntäjät suorittavat joitain koodin optimointeja. Tyypillinen kääntäjä koostuu useista pääkomponenteista. Ensimmäinen komponentti on skanneri (tunnetaan myös nimellä leksinen analysaattori). Skanneri lukee ohjelman ja muuntaa sen merkkijonoksi. Toinen komponentti on jäsentäjä. Se muuntaa tunnusmerkkijonon jäsentäväksi puuksi (tai abstraktiksi syntaksipuuksi), joka kaappaa ohjelman syntaktisen rakenteen. Seuraava komponentti on semanttinen rutiini, joka tulkitsee syntaktisen rakenteen semantiikan. Koodin optimoinnit ja lopullinen koodinmuodostus seuraavat tätä.
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.
Mitä eroa on kokoonpanijalla ja kääntäjällä??
Kääntäjä on tietokoneohjelma, joka lukee yhdellä kielellä kirjoitetun ohjelman ja kääntää sen toiselle kielelle. Kokoonpanijaa voidaan pitää erityyppisenä kääntäjänä, joka kääntää vain Assembly-kielen konekoodiksi. Kääntäjät tuottavat yleensä koneessa suoritettavan koodin suoraan korkean tason kieleltä, mutta kokoonpanijat tuottavat objektikoodin, joka on ehkä linkitettävä linkkeriohjelmien avulla koneessa ajamiseksi. 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.).