У меня есть прототипы функций C (некоторые заголовочные файлы Windows API), которые выглядят так:
int
foo
(
int
a
,
int
*
b
)
;
(похоже, они не имеют соглашения о кодировании)
, который я пытаюсь программно превратить в однострочный прототип формы (или что-то близкое к ней):
int foo(int a, int * b);
Я изучал такие программы, как ctags ( многострочные прототипы функций C ctags ) и различные настройки в uncrustify (http://uncrustify.sourceforge.net/), однако я не смог добиться успеха в любом. (любое понимание было бы замечательно, или, возможно, один из 385 вариантов, которые я пропустил, делает то, что я хочу).
Программно я пытаюсь найти уникальные маркеры, которые обозначают прототип функции, чтобы я мог написать сценарий, который будет форматировать код на мой вкус.
Без использования лексера и парсера кажется, что он может очень запутаться очень быстро; какие-либо предложения?