XCHAOS:
FLEGMA: Otazka zni jinak - lze vybec programovat bez zeleneho caje? :-)
Vratim se k myslence generovani C kodu z nejakeho vyssiho. Uz par let pracuji s jedniim takovym generatorem (vyvoj toho generatoru) co preklada vyssi jazyk do C. Vysledny kod neni ani citelny ani extra rychly. Po zkusenostech co mame ted vime, ze dalsi generace tohoto nastroje bude generovat rovnou object file krom pripadu, kdy to opravdu jinak nejde (inline C v kodu ve vyssim jazyce) - a seriozne zvazujeme i moznost proste inline C nepodporovat, byt to je dle me jedna z killing features.
Problemy jsou v tom:
- ze kazdej prekladac ma jiny nazor na to, co jeden zdrojak znamena (1000+1 ifdefu v generovanem kodu),
- kazdy prekladac v kazde verzi ma mirne jiny frame layout (pro nas podstatne, pracujeme s tim).
- kazdy prekladac v kazde verzi ma jine bugy (znamena generuje v jistych pripadech invalidni kod).
- kazdy prekladac ma jine, dost male, interni limity na delky identifikatoru, stringovych literalu, identifkatoru maker apod.
Vysledny kod je stejne o neco pomalejsi, nez kdyz za behu vygenerujeme machine code a pustime.
Cili generovani C z vyssiho jazyka je snadne na zacatku a velmi limitujici na konci. Uz bych do toho nikdy nesel a kdyz ano, tak jen a pouze jako bootstrap mechanismus.