11. praktikum: semantiline analüüs
Siin on meil vajalik ettevalmistus eksami lõviosaks ja kahe viimase kodutöö jaoks. Eksam tervikuna koosneb siis kompilaatori kirjutamisest, aga ta siis jaguneb kolmeks osaks. Kuna seal on tegemist ühe ja sama keelega, siis on soovitav teha ülesanded järgmises järjekorras:
- Põhiosa (parser)
- Alusosa (lihtne puu analüüs: interpretaator)
- Lõviosa (raskem analüüs ja/või kompilaator)
Kuigi kõik saab olema ühe ja sama keele kohta, siis saab kõik osad ka eraldi lahendada ja testida. Seega võib muidugi ainult lõviosa lahendada, kui on ülejäänud osade eest juba piisav arv punkte käes.
Harjutamiseks on meil järgmised võimalused:
- Lõviosa harjutamiseks vaatame just analüüs ja koodi genereerimise osa. Kindlasti teeme praktikumis mõni CMa ülesanne, kuna üsna suuretõenäosusega tuleb see eksamil kasuks...
- Kogu eksami näited. Siin saab kordamiseks harjutada kõik eksami osad algusest lõpuni. See võib ka anda tunnetuse, milline eksami programmeerimise osa tervikuna välja näeb.
- Kodutöö on kindlasti ka kasulik eksamiks ette valmistamiseks. Seal on vaja teha nimede sidumist ja tüübikontroll. Mõlemad on potentsiaalsed eksami teemad.