Hromadne prejmenovani identifikatoru C

Josef Štengl ok1ced na nagano.cz
Neděle Říjen 23 10:43:18 CEST 2016


Pokud kód není příliš složitý (spousta #if a podobně), tak by šel použít ctags na získání chtěných identifikátorů a 
výsledek pak předhodit skriptu v sedu perlu, pytonu ruby nebo něco do daný člověk ovládá. Načíst první slovo z řádky a 
regulárním výrazem přidat prefix. Nemělo by to zabrat více než 20 minut (počítám s tím, že člověk píše skript v daném 
jazyce asi 4x do roka, Když se zadaří.).

Já jsem si zatím vystačil s regulárními výrazy v editoru (nebo v perlu, pokud to bylo více souborů a přišlo mě to 
jednodušší :-), takže nic podobného hotového nemám.

Clang API je hezké (libclan), ale má jednu nevýhodu: nerozumí syntaxi jiných kompilátoru :-(


Dne 22.10.2016 v 21:08 Miroslav Mraz napsal(a):
> Taky by se hodilo, tak jsem zkoumal jak na to. Ono by to mělo rozumět syntaxi jazyka C takže přejmenování by bylo nejlíp
> udělat někde na úrovni AST. Clang na to má jakési API, tak jsem si s tím odpoledne hrál. Našel jsem i příklad
> https://github.com/eschulte/clang-mutate
> jenže 2 hodiny trvalo jen to přimět ke spolupráci s mou verzí clang. Pochopit jak to vlastně funguje by bylo dalších pár
> dní práce, sice na tom nic nebude, ale to API je ukrutně nepřehledné. Tolik času tomu obětovat nechci, není motivace.
> Takže nezbude než to dělat i nadále ručně, ono to v IDE zase není takové drama. Nebo možná někdo poradí dobrý nástroj na
> refaktorizaci kódu, který to bude umět.
>
> Mrazík
>
> Dne 22.10.2016 v 06:41 Jaroslav Buchta napsal(a):
>> Neexistuje nejaka utilitka, ktera by dokazala prejmenovat (jde mi o
>> pridani prefixu) konzistentne vsechny identifikatory ve vsech souborech
>> .c a .h ?  (statické proměnné, funkce)
>>
>> Nevypada to slozite ale makra #define to IMHO dost komplikuji.
>>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list