Boost::Regex
От: IIIypuk  
Дата: 29.09.09 15:00
Оценка: :))
Господа,
помогите напиcать RE для поиска функций для Си языка.
все сейчас перерыл, но так ничего путнего и не нашел. разбираться посностью с рег -Експами нет времени, как нить на досуге.

Нужна строка именно для RegExp из boost`а.

Зарание спасибо.
Re: Boost::Regex
От: Erop Россия  
Дата: 29.09.09 16:52
Оценка:
Здравствуйте, IIIypuk, Вы писали:

III>помогите напиcать RE для поиска функций для Си языка.

Что значит "поиск функций"? определение функции, объявление, использование?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: Boost::Regex
От: IIIypuk  
Дата: 29.09.09 17:01
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, IIIypuk, Вы писали:


III>>помогите напиcать RE для поиска функций для Си языка.

E>Что значит "поиск функций"? определение функции, объявление, использование?

определение, в общем задача состоит в том чтобы определить какие функции определены в модуле, т.е. начало и собственно конец, там где функция закончилась.
Re[3]: Boost::Regex
От: K13 http://akvis.com
Дата: 30.09.09 04:58
Оценка:
III>определение, в общем задача состоит в том чтобы определить какие функции определены в модуле, т.е. начало и собственно конец, там где функция закончилась.

Что будем делать с макросами, которые разворачиваются в определение функций?
с #if 0 / #endif ?

одним регэкспом я бы такое делать не стал.
Как минимум сначала пройтись "препроцессором" (макросы/диграфы/триграфы и удаление комментариев), тогда в чистом коде найти функции в "современном" виде найти будет несложно. Если не требуется находить еще и стиль K&R.
Re: Boost::Regex
От: anonim_44ax  
Дата: 30.09.09 07:42
Оценка:
Блин, много вас халявщиков — разбираться не буду, сделайте работу за меня, а я уж так и быть сделаю вам услугу и на досуге почитаю. Непонятно зачем это кому-либо (с другой стороны, альтруисты еще встречаются). Одно дело помочь кому-то, кто пытался что-то сделать, тут и себе выгода есть — сам лучше разобраться сможешь, может чего нового услышать. А так, просто потворство лени.
Re: Boost::Regex
От: Евгений Рыжков Россия www.viva64.com
Дата: 30.09.09 07:50
Оценка:
Здравствуйте, IIIypuk, Вы писали:

III>Господа,

III>помогите напиcать RE для поиска функций для Си языка.
III>все сейчас перерыл, но так ничего путнего и не нашел. разбираться посностью с рег -Експами нет времени, как нить на досуге.

III>Нужна строка именно для RegExp из boost`а.


Язык Си не описывается регулярными выражениями. Именно поэтому если вопрос имеет практический смысл, то решается он по-другому (смотрите парсеры кода, вроде VivaCore).

Евгений Рыжков
ООО "СиПроВер"
Евгений Рыжков
ООО "СиПроВер"
Re[2]: Boost::Regex
От: IIIypuk  
Дата: 30.09.09 17:58
Оценка:
Здравствуйте, Евгений Рыжков, Вы писали:

ЕР>Здравствуйте, IIIypuk, Вы писали:


III>>Господа,

III>>помогите напиcать RE для поиска функций для Си языка.
III>>все сейчас перерыл, но так ничего путнего и не нашел. разбираться посностью с рег -Експами нет времени, как нить на досуге.

III>>Нужна строка именно для RegExp из boost`а.


ЕР>Язык Си не описывается регулярными выражениями. Именно поэтому если вопрос имеет практический смысл, то решается он по-другому (смотрите парсеры кода, вроде VivaCore).


ЕР>Евгений Рыжков

ЕР>ООО "СиПроВер"

да мне не нужно что-то не заурядное, чистый си. многие редакторы именно через регекспы, вот и попросил набросать. конечно если заниматься более серьезным то надо копать в строну синтаксического и лексического анализатора.
Re[4]: Boost::Regex
От: IIIypuk  
Дата: 30.09.09 18:03
Оценка:
Здравствуйте, K13, Вы писали:

III>>определение, в общем задача состоит в том чтобы определить какие функции определены в модуле, т.е. начало и собственно конец, там где функция закончилась.


K13>Что будем делать с макросами, которые разворачиваются в определение функций?

K13>с #if 0 / #endif ?

K13>одним регэкспом я бы такое делать не стал.

K13>Как минимум сначала пройтись "препроцессором" (макросы/диграфы/триграфы и удаление комментариев), тогда в чистом коде найти функции в "современном" виде найти будет несложно. Если не требуется находить еще и стиль K&R.

не нужны такие макросы и т.п.. Нужны чистые функции.

вида <type><разделитель><name>(<param>)<разделитель>{
где <type> и <param> могут отсутствовать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.