TIES448 Luento 9
Muistutus harjoitustyöstä
- Harjoitustyön suunnitelman aika on nyt
- palauta GIT-varastossa, jonka osoitteen laitat Korppiin
- tarkemmin ks ohjeet
Olio-ohjelmointi, funktio-ohjelmointi ym
- Koodaan tällä kertaa JavaScriptiä, mutta en tee olio-ohjelmaa
- Aiemmalla TIES448-kurssilla olen koodannut Haskellilla mutta en ole tehnyt funktio-ohjelmaa
- Pääpointtina tällä kurssilla on kääntäjätekniikan mallit (compiler patterns), jotka ovat melko samanlaisia kaikilla kielillä
- malleja ei ole pakko käyttää, mutta ne auttavat
- saa toki muokata omaan tyyliin sopiviksi omassa kääntäjässä
Välikielen generointi
- Nämä ajatukset pätevät niin omalle välikielelle kuin WebAssemblylle, LLVM:lle jne
- Suunnittele ensin, minkälaiseksi koodiksi mikäkin lähdekielen konstruktio kääntyisi
- Tee rajapinta (esim. Facade), jonka kautta välikoodi generoidaan
- Tee välikielelle AST-rakenne (Composite-luokkahierarkia tms)
- AST:n luonti em. rajapinnan kautta
- serialisoi ulkoiseen käyttöön tarvittaessa erikseen
- joko AST tai suoraan rajapinnasta
- kannattaa tehdä testikäyttöä varten suora tulkki välikielelle
- no, tästähän tulee sitten tulkki lähdekielelle sivutuotteena :)
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.