Konpilatzaile batek hizkuntza batean (c) bezala idatzitako kodea beste hizkuntza batera (makina hizkuntza bezala) itzultzen du programaren esanahia aldatu gabe. Espero da, halaber, konpilatzaileek helburu kodea eraginkorra izatea eta optimizatzea denbora eta espazioari dagokionez.
Tutoretzako aplikazio hau oso erabilgarria da konpiladoreen inplementazioaren teoria eta praktika ulertzeko. Tutorial honek konpilatzaileen diseinuaren teoriak Analisi Lexikoa, Sintaxi Analisia, Analisi Semantikoa, Bitarteko Kodea Sortzea, Kode Optimizazioa eta Kode Sorkuntza bezala. Fase guztien deskribapena aurkezpen inprimakian ematen da.
Tutorial hau konpilatzailearen oinarrizko printzipioak ikasteko eta ulertzeko interesa duten ikasleentzat diseinatuta dago. Konpiladore bat diseinatzeko interesa dutenentzat ere lagungarria da. Fase bakoitza erraz deskribatzen da adibideekin.
Tutoretza honek programazio lengoaiaren oinarrizko ezagutza batzuk eskatzen ditu c, java eta abar.
Ezaugarriak:
1. Gaia / kapitulua ikasgai jakintsua.
2. Gai bakoitzaren ikasgai subtipikoak.
3. Neuk prestatutako youtubeko bideo estekak ere biltzen ditu.
4. Galdera Bankua.
5. Osatu offline oharrak labainean.
Gaiak:
1. Konpiladorearen diseinua: Sarrera
2. Bootstrapping
3. Analisi lexikoa: adierazpen erregularra, Thompson eraikuntza
4. Sintaxi analisia: Goitik behera eta Beheranzko Azterketa
5. Goitik beherako analisia: Aurreikuspen analisia (LL Parsing)
6. Beheko up Parsing: Simple LR (SLR), Look Ahead LR (LALR)
7. Analisi semantikoa
8. Bitarteko Kodea Sortzea: Hiru helbide kodea
9. Kodearen optimizazioa: oinarrizko blokeak
10. Kodearen sorrera: Algoritmoa, getreg () funtzioa
Azken eguneratzea
2024(e)ko ira. 21(a)