Kompilaator tõlgib ühes keeles (nagu c) kirjutatud koodi mõnesse muusse keelde (näiteks masinakeel), ilma programmi tähendust muutmata. Samuti eeldatakse, et kompilaator peaks sihtkoodi efektiivseks muutma ning aja ja ruumi osas optimeerima.
See õpetusrakendus on väga kasulik kompilaatori rakendamise teooria ja praktika mõistmiseks. See õpetus sisaldab kompilaatorite kujundamise teooriaid nagu leksiline analüüs, süntaksi analüüs, semantiline analüüs, koodide vaheline genereerimine, koodide optimeerimine ja koodide genereerimine. Kõigi etappide kirjeldus on esitatud esitlusvormis.
See õpetus on mõeldud neile õpilastele, kes on huvitatud õppimisest ja saavad aru kompilaatori põhiprintsiipidest. Abiks ka kompilaatori kujundamise huvilistele. Iga etappi kirjeldatakse hõlpsalt näidetega.
See õpetus eeldab teatud põhiteadmisi programmeerimiskeele kohta, näiteks c, java jne.
Funktsioonid:
1. Teema / peatüki tark õppetund.
2. Iga teema alateemade tark õppetund.
3. Sisaldab ka minu koostatud youtube'i videolinke.
4. Küsimuste pank.
5. Täitke võrguühenduseta märkmed slaidis.
Teemad:
1. Kompilaatori disain: sissejuhatus
2. Bootstrapping
3. Leksikaalne analüüs: regulaarväljendus, Thompsoni ehitus
4. Süntaksianalüüs: ülalt alla ja alt üles sõelumine
5. Ülalt alla parsimine: ennustav parsimine (LL parsing)
6. Altpoolt üles sõelumine: lihtne LR (peegelkaamera), LR LR (LALR)
7. Semantiline analüüs
8. Vahekoodi genereerimine: kolme aadressi kood
9. Koodi optimeerimine: põhiplokid
10. Koodi genereerimine: algoritm, funktsioon getreg ()
Värskendatud:
1. dets 2023