Dneska to bylo jednoduché. Zadání znělo C++ pretty printer. Vstupem byl soubor s C/C++ zdrojákem a měl se správně odsadit podle složených závorek. Počet řádků zůstal stejný, manipulovalo se jen s odsazením.
Otevírací složená závorka zvyšovala hloubku zanoření, zavírací opačně. Byly-li na řádku závorky, byl řádek odsazen podle minimálního zanoření na daném řádku.
Krátký příklad:
{{ bla();
neco("{ kj \""); { asa();
bla();
}} // }}
}
return 0;
Se upraví na:
{{ bla();
neco("{ kj \""); { asa();
bla();
}} //}}
}
return 0;
Odsazení vnitřku víceřádkových /**/ komentářů se neřešilo.