C#-pohjainen kääntäjän front-end
Holm, Henri (2017)
Holm, Henri
Metropolia Ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201705117569
https://urn.fi/URN:NBN:fi:amk-201705117569
Tiivistelmä
Insinöörityön tarkoituksena oli tutkia ja vastata kysymyksiin, mitä ovat ohjelmointikielten kääntäjät ja tulkit, sekä tutkia prosessi, jonka ohjelmistojen lähdekoodit käyvät lävitse kääntäjien tehdessä niistä valitun suoritusalustan ymmärtämään binäärimuotoista käskysarjaa.
Työ jakautui kahteen pääosaan: raporttiosaan, jossa lähestyttiin kääntäjien toimintaa teo-reettisemmalla tasolla ja projektiosioon, jossa toteutettiin, ja selvitettiin C#:lla Windows 10 pro -käyttöjärjestelmälle kirjoitetun kääntäjän front-endin toimintaa.
Työn haasteisiin kuului kääntäjien teorian ja toiminnan selvitys sekä erityisesti luetun teorian muunnos toimivaksi kääntäjän front-endiksi. Työssä perehdyttiin ensin teoriaan, mistä edettiin raporttiosan kirjoittamisen jälkeen ohjelmointityöhön. Ohjelmointi tehtiin yritys ja erehdys -metodilla lähdemateriaalin teoreettisuuden vuoksi.
Työn tuloksena oli laajennuskelpoinen kääntäjän front-end, jonka prosessoimaa ohjelmoin-tikieltä on mahdollista laajentaa ja johon on myöhemmin mahdollista toteuttaa nykyisen C#-toteutuksen sijaan itsenäinen back-end optimointivaiheineen. Lisäksi työ auttoi ymmärtä-mään paremmin kääntäjien toiminnan ja käännösprosessin perusperiaatteet.
Tehdystä front-endista voitiin myös päätellä, että se vaati paljon käsityötä ja voi johtaa raskaisiin ehtorakenteisiin, jotka ovat ohjelmiston ylläpidon ja laajennettavuuden kannalta epätoivottuja. Lisäksi havaittiin, ettei raporttiosassa esitelty kääntäjäarkkitehtuuri ole ainoa oikea tapa tehdä asioita, sillä tehdystä front-endistä on jätetty joitain raportissa esitettyjä vaiheita pois.
Työ jakautui kahteen pääosaan: raporttiosaan, jossa lähestyttiin kääntäjien toimintaa teo-reettisemmalla tasolla ja projektiosioon, jossa toteutettiin, ja selvitettiin C#:lla Windows 10 pro -käyttöjärjestelmälle kirjoitetun kääntäjän front-endin toimintaa.
Työn haasteisiin kuului kääntäjien teorian ja toiminnan selvitys sekä erityisesti luetun teorian muunnos toimivaksi kääntäjän front-endiksi. Työssä perehdyttiin ensin teoriaan, mistä edettiin raporttiosan kirjoittamisen jälkeen ohjelmointityöhön. Ohjelmointi tehtiin yritys ja erehdys -metodilla lähdemateriaalin teoreettisuuden vuoksi.
Työn tuloksena oli laajennuskelpoinen kääntäjän front-end, jonka prosessoimaa ohjelmoin-tikieltä on mahdollista laajentaa ja johon on myöhemmin mahdollista toteuttaa nykyisen C#-toteutuksen sijaan itsenäinen back-end optimointivaiheineen. Lisäksi työ auttoi ymmärtä-mään paremmin kääntäjien toiminnan ja käännösprosessin perusperiaatteet.
Tehdystä front-endista voitiin myös päätellä, että se vaati paljon käsityötä ja voi johtaa raskaisiin ehtorakenteisiin, jotka ovat ohjelmiston ylläpidon ja laajennettavuuden kannalta epätoivottuja. Lisäksi havaittiin, ettei raporttiosassa esitelty kääntäjäarkkitehtuuri ole ainoa oikea tapa tehdä asioita, sillä tehdystä front-endistä on jätetty joitain raportissa esitettyjä vaiheita pois.