Re: Mpl iliti mine programming language :)
Da, lepo su ti svi rekli da treba da procitas dobar deo literature oko programskih prevodilaca i da naucis sta su leksicka, sintaksna i semanticka analiza. Posle analize jezika ide i njegova sinteza (prevodjenje u medjukod, optimizacija medjukoda, pa prevodjenje u asemblerski jezik i opet njegova optimizacija).
Jeste da ce ti ovo oduzeti dosta vremena, ali bolje ovako, nego da tu negde na pola projekta shvatis da nisi uzeo sve mogucnosti u opticaju (i shift-deletujes sve sto si radio), a ucenje na ovaj "tenicki" nacin je, kako se kaze, bullet-proof na razlicite greske.
Mada ti hoces da kod prevedes u C pa onda da zoves gcc... To sto ti pravis se zove parser jezika (samo analiza bez sinteze). Preporucujem ti da naucis kako se zadaje gramatika jezika, da posle napravis neki tokenizer i na kraju uradis sintaksnu analizu koji je i najtezi deo. Preporucujem da koristis Bottom-up analizu (LR(1) parser), jer najbolje resava te probleme uz minimalne (ili nikakve) promene nad postojecom gramatikom (problem leve rekurzije i itd...).
Lex i Yacc : odlican pocetak da naucis osnove kompajlera je preko ovih generatora.
|