Mikä on kääntäjä?

Kääntäjä on erityinen tietokoneohjelma, joka muuntaa ihmisen luettavan tekstitiedoston muotoon, jonka tietokone ymmärtää helpommin. Perustasollaan tietokone voi ymmärtää vain kaksi asiaa, 1 ja 0. Tällä tasolla ihminen toimii hyvin hitaasti ja pitää 1- ja 0 -merkkijonon sisältämät tiedot käsittämättöminä. Kääntäjä on tietokoneohjelma, joka täyttää tämän aukon.

Aluksi kääntäjät olivat hyvin yksinkertaisia ​​ohjelmia, jotka pystyivät kääntämään symbolit vain bitteihin, 1: een ja 0: een, tietokone ymmärsi. Ohjelmat olivat myös hyvin yksinkertaisia, ja ne koostuivat useista vaiheista, jotka alun perin käännettiin käsin tietoihin, jotka tietokone pystyi ymmärtämään. Tämä oli hyvin aikaa vievä tehtävä, joten osa tästä tehtävästä automatisoitiin tai ohjelmoitiin, ja ensimmäinen kääntäjä kirjoitettiin. Tämä ohjelma kokosi tai käänsi vaiheittaisen ohjelman suorittamiseen tarvittavat vaiheet.

Näitä yksinkertaisia ​​kääntäjiä käytettiin kehittyneemmän kääntäjän kirjoittamiseen. Uudemman version myötä kääntäjäohjelmaan voitaisiin lisätä enemmän sääntöjä, jotta ihmisohjelmoija voisi käyttää luonnollisempaa kielirakennetta. Tämä helpotti ohjelmien kirjoittamista ja antoi enemmän ihmisiä aloittamaan ohjelmien kirjoittamisen. Kun yhä useammat ihmiset alkoivat kirjoittaa ohjelmia, tarjottiin lisää ideoita ohjelmien kirjoittamisesta ja niistä tehtiin kehittyneempiä kääntäjiä. Tällä tavalla kääntäjäohjelmat kehittyvät, paranevat ja tulevat entistä helpommiksi käyttää.

Kääntäjäohjelmat voivat olla myös erikoistuneita. Tietyt kielirakenteet sopivat paremmin tiettyyn tehtävään kuin toiset, joten tiettyjä tehtäviä tai kieliä varten kehitettiin erityisiä kääntäjiä. Jotkut kääntäjät ovat monivaiheisia tai monivaiheisia. Ensimmäinen kerta voisi olla hyvin luonnollinen kieli ja tehdä siitä lähempänä tietokoneella ymmärrettävää kieltä. Toinen tai jopa kolmas siirto voisi viedä sen viimeiseen vaiheeseen, suoritettavaan tiedostoon.

Monivaiheisen kääntäjän välituloa kutsutaan yleensä pseudokoodiksi, koska se ei ole tietokoneen käytettävissä. Pseudo-koodi on hyvin jäsennelty, kuten tietokoneohjelma, ei vapaasti juokseva ja monimuotoinen kuin luonnollisempi kieli. Lopputulosta kutsutaan suoritettavaksi tiedostoksi, koska tietokone suorittaa tai suorittaa sen. Tehtävän jakaminen näin helpotti kehittyneempien kääntäjien kirjoittamista, koska jokainen alitehtävä on erilainen. Se helpotti myös tietokoneen osoittamista, missä sillä oli vaikeuksia ymmärtää, mitä sitä pyydettiin tekemään.

Virheitä, jotka rajoittavat kääntäjää ymmärtämään ohjelmaa, kutsutaan syntaksivirheiksi. Virheet siinä, miten ohjelman toimintoja kutsutaan logiikkavirheiksi. Loogisia virheitä on paljon vaikeampi havaita ja korjata. Syntaksivirheet ovat kuin kirjoitusvirheitä, kun taas loogiset virheet ovat vähän enemmän kuin kieliopillisia virheitä.
Myös ristikääntäjäohjelmia on kehitetty. Ristikääntäjä sallii tietyn valmistajan suunnittelemalle tietokoneelle kirjoitettujen tekstitiedostojen kokoamisen ja suorittamisen eri tietokoneelle. Esimerkiksi ohjelma, joka on kirjoitettu toimimaan Intel -tietokoneella, voidaan joskus kääntää ristikkäin, jotta se voidaan ajaa Motorolan kehittämällä tietokoneella. Tämä ei useinkaan toimi kovin hyvin. Tietokoneohjelmien toiminnan tasolla tietokonelaitteisto voi näyttää hyvin erilaiselta, vaikka ne saattavatkin näyttää samanlaisilta kuin sinä.
Ristikokoelma eroaa siitä, että yksi tietokone jäljittelee toista tietokonetta. Jos tietokone emuloi toista tietokonetta, se teeskentelee olevansa se toinen tietokone. Emulointi on usein hitaampaa kuin ristikääntäminen, koska kaksi ohjelmaa on käynnissä kerralla, ohjelma, joka teeskentelee olevansa toinen tietokone ja käynnissä oleva ohjelma. Jotta ristikääntäminen toimisi, tarvitset kuitenkin sekä alkuperäistä luonnollista kieltä sisältävää tekstiä, joka kuvaa ohjelmaa, että tietokonetta, joka on riittävän samanlainen kuin alkuperäinen tietokone, jolla ohjelma voi toimia toisella tietokoneella. Tämä ei ole aina mahdollista, joten molemmat tekniikat ovat käytössä.