Jäsentämisen strategiat
Nyrhilä, Ville (2019)
Nyrhilä, Ville
2019
Tieto- ja sähkötekniikan TkK tutkinto-ohjelma
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
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ä
2019-01-21
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-201912026496
https://urn.fi/URN:NBN:fi:tuni-201912026496
Tiivistelmä
Ohjelmistokääntäjät lukeutuvat kaiken nykyaikaisen ohjelmoinnin kivijalkoihin. Osa ohjelmointikielistä toimii siten, että ne käännetään annetulta koodikieleltä konekieleksi. Toisaalta jotkut ohjelmointikielet toimivat siten, että lähdekoodia lukee reaaliaikaisesti ohjelmistotulkki, joka itse on konekieleksi käännetty ohjelmisto. Lisäksi on vielä ohjelmointikieliä, joita käännetään jonkinlaiseksi välikieleksi, jota sitten tulkataan konekieleksi. Hyvin harva kuitenkaan on täysin perillä siitä, miten kääntäjät toimivat. Tässä työssä tutkitaan yleisimpiä menetelmiä eräästä tietystä kääntämisen vaiheesta: jäsentämisestä. On haluttu tietää, miten kääntäjät pilkkovat koodia, miten käsittelevät sitä ja millaiseen muotoon se jäsennellään.
Työssä kuvaillaan ensin yksityiskohtaisesti jäsentimien toiminnan periaatteita, teoriaa ja historiaa, minkä jälkeen perehdytään kaikkein eniten käytetyn jäsentimen toimintaan. Aihetta tutkiessa saatiin selville, että jäsentimet jakaantuvat karkeasti kahteen kategoriaan: ylhäältä-alas ja alhaalta-ylös -tyyppeihin. Kumpikin näistä jakautuu edelleen alatyyppeihin, jotka ovat toinen toistaan tehokkaampia. Ne ovat myös entistä monimutkaisempia ja soveltuvat yhä laajemman ohjelmointikielten kirjon kääntämiseen.
Havaittiin, että jäsentimien suunnittelussa on vankka tiede, joka on muodostunut purkamaan korkeamman tason ohjelmoinnin abstraktioita ja vastaamaan asiaan liittyviin teknisiin haasteisiin. Kaikkein kehittyneimmissä jäsentimissä käytetään matemaattisloogisia merkintätapoja kuvailemaan jäsentimien toimintaa.
Työssä kuvaillaan ensin yksityiskohtaisesti jäsentimien toiminnan periaatteita, teoriaa ja historiaa, minkä jälkeen perehdytään kaikkein eniten käytetyn jäsentimen toimintaan. Aihetta tutkiessa saatiin selville, että jäsentimet jakaantuvat karkeasti kahteen kategoriaan: ylhäältä-alas ja alhaalta-ylös -tyyppeihin. Kumpikin näistä jakautuu edelleen alatyyppeihin, jotka ovat toinen toistaan tehokkaampia. Ne ovat myös entistä monimutkaisempia ja soveltuvat yhä laajemman ohjelmointikielten kirjon kääntämiseen.
Havaittiin, että jäsentimien suunnittelussa on vankka tiede, joka on muodostunut purkamaan korkeamman tason ohjelmoinnin abstraktioita ja vastaamaan asiaan liittyviin teknisiin haasteisiin. Kaikkein kehittyneimmissä jäsentimissä käytetään matemaattisloogisia merkintätapoja kuvailemaan jäsentimien toimintaa.
Kokoelmat
- Kandidaatintutkielmat [8324]