Quork! Bláznivý céčkový preprocesor vstupuje na scénu

Před časem jsem vyprávěla o svém mírně šíleném zápočtovém domácím úkolu, céčkovém preprocesoru. Jelikož se našlo pár zvědavců toužících spatřit to veledílo na vlastní oči, nabízím ke stažení zdrojáky první verze, která už aspoň něco maličko dělá. (Mimochodem, jméno quork si prográmek vysloužil víceméně čirou náhodou během nějaké konzultace se Svatou knihou, totiž céčkovou normou, po kolizích s jinými programy jsem nepátrala a jejich případní autoři mi mohou vlézt na záda.) Tarball najdete na stejném místě, jako většinu ostatních obludek, které z nějakého důvodu ukazuju světu: www.anicka.net/files

Nejprve pár varování: Myslím, že to nejde zkompilovat bez glibc, umí to jen unixové cesty k souborům a na opravdové hlavičkové soubory se to nedá používat, jelikož to zatím vůbec neumí ani podmínky. Snad až na lexikální analyzátor to rozhodně není kód, z kterého by se dalo cokoliv pěkného odkoukat. A v neposlední řadě je tam určitě spousta bugů, kterých jsem si nevšimla. (Patche s opravami vítány :-))

Podtrženo, sečteno, zatím to není dobré asi vůbec na nic, ale můžete se aspoň podívat, s čím si zrovna hraju.

proc vlastni parsovani misto ChinChuLin (9. 5. 2007 - 16:10) Sbalit(2)
proc vlastni parsovani misto flex+bison?
Jednak to byl zapoctovy ukol anicka (9. 5. 2007 - 17:58) Sbalit(1)
Jednak to byl zapoctovy ukol z cecka, jednak si stejne myslim, ze flex s bisonem na tohle by bylo podobne jako brat na zaderu sekyru ;)
Mordae Mordae (16. 5. 2007 - 0:52) Sbalit(3)
Abych pravdu řekl, nějak se mi nedaří ho rozchodit. Jinal lex.c:167, zaměnit sizeof za strlen, jinak segfault. Zdá se mi, že bere na vědomí všechny řádky (krom snad komentárů) a to i ty, které nezačínají #. gcc-4.1.1, glibc-2.5.
Dik - uz jsem to mezitim anicka (16. 5. 2007 - 13:38) Sbalit(2)
Dik - uz jsem to mezitim zjistila taky, hned jak se k tomu dostanu uploadnu opravenou verzi.

To, ze bere na vedomi vsechny radky krome komentaru je ale prece v poradku - vzdyt je musi substituovat...
Mordae Mordae (16. 5. 2007 - 22:36) Sbalit(1)
To ano, ale jaksi by asi nemel hlasit, ze `void foo();' je spatny include...

Ja jako maturitni praci pisu dependency solver. Nahrubo ho uz mam, ale musim udelat refactor, protoze se v tom uz nevyznam ani ja sam. Nevis o nejake hezci metode, nez vygenerovat vsechny mozne kombinace, jak nainstalovat zavislosti uzlu a prubezne odstranovat neplatne? A jak zjistit nejlevnejsi instalaci... Mozna nejdriv studovat vejsku... :-]