Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Kääntäjän jäsennysmenetelmien vertailu

Tamminen, Kalle (2018)

 
Avaa tiedosto
tamminen.pdf (697.2Kt)
Lataukset: 



Tamminen, Kalle
2018

Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2018-06-06
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201805241800
Tiivistelmä
Ohjelmointikielen kääntäjän tehtävä on kääntää jollakin ohjelmointikielellä kirjoitettu ohjelma lähdekoodista konekieliseksi. Ohjelmointikielet sopivat käytettävyydeltään ihmisten kirjoitettavaksi, mutta niitä ei voi sellaisenaan suorittaa laitteistolla. Tämän vuoksi vaaditaan kääntäjä, joka suorittaa koodille käännöksen.
Työssä tutkittavat jäsennysmenetelmät suorittavat syntaksianalyysin, joka on yksi käännösprosessin vaiheista. Syntaksianalyysin tehtävä on analysoida koodista sen rakenne, ja esittää se sopivassa muodossa kääntäjän seuraavalle vaiheelle. Tyypillisesti tämä muoto on puurakenne. Vertailtavat jäsennysmenetelmät, eli top–down- ja bottom–up-jäsennys suorittavat puurakenteen muodostamisen päinvastaisissa järjestyksissä, eli ylhäältä alas tai alhaalta ylös. Lähdekoodin rakenteen tulkitsemisen apuna käytetään niin sanottuja kontekstittomia kielioppeja, joiden käyttö eroaa vertailtavien menetelmien välillä.
Työn tavoitteena oli selvittää minkälaisiin sovelluskohteisiin top–down- ja bottom–up- jäsennysmenetelmät sopivat parhaiten. Tätä pyrittiin arvioimaan vertailemalla menetelmien ominaisuuksia. Vertailun tuloksena todettiin, että top–down-jäsennys voi sopia paremmin pienemmille projekteille sen yksinkertaisemman toteutuksen vuoksi, mutta monimutkaisemmille ohjelmointikielille sen asettamat rajoitteet saattavat olla esteenä. Tämän vuoksi laajemman ohjelmointikielen kääntäjää toteutettaessa bottom–up-jäsennys saattaa olla sopivampi, vaikka se voikin olla toteutukseltaan monimutkaisempi.
Kokoelmat
  • Kandidaatintutkielmat [10213]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste