Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > анализ кода языка Си или C++ |
Автор: dershokus 28.2.2013, 19:20 |
Здравствуйте. Требуется разобрать исходник c/c++ файла. Есть лексические (lex,flex,ragel) и синтаксические (yacc, bison) анализаторы, но тогда мне пидется описать всю лексику и граматику. Если для Си это я еще себе представляю, то для С++ - сомнительно ![]() Знаю про Clang API, но мне желательно иметь кросс-платформенную либу, которую сможет юзать другое приложение. Извиняюсь, если запостил не туда, не нашел подходящего места. |
Автор: dershokus 1.3.2013, 09:51 |
Всеже интересно, есть ли *.l или *.rl и прочее для си и си++? |
Автор: bsa 1.3.2013, 11:14 |
dershokus, для С есть, для С++ нет. Почитай статью http://www.arbinada.com/main/node/54 |
Автор: dershokus 1.3.2013, 12:01 |
bsa, может быть это наивный вопрос, но почему их нет? Я много искал что-то такое, но тоже ничерта не находил. Си++ такой синтаксически сложный язык? |
Автор: bsa 1.3.2013, 13:27 |
Невероятно. Почитай статью. Читается, как роман. |
Автор: dershokus 1.3.2013, 13:50 |
bsa, большое спасибо за обьяснение ![]() |
Автор: kamre 2.3.2013, 16:58 | ||
Конечно, сложный. До сих пор ни одна IDE для C++ не умеет делать корректно такой рефакторинг как rename. |
Автор: SaDFromSpb 6.3.2013, 18:23 | ||
Eclipse (Juno) справляется с rename'ом. Пользовался не раз. Не могу точно утверждать, что проблем не было никогда (может не помню), но обычно прекрасно работает. Вообще она на удивление хорошо с синтаксисом справляется. С++11 лямбды понимает, подсказывает, что виртуальный деструтор нужно бы добавить в базовый класс и все такое... Одна из самых приятных вещей - на лету (по наведению мыши) разворачивает заумные финты на препроцессоре. А то мы с коллегами иногда любим на BOOST_PP наворотить зла =) |
Автор: kamre 6.3.2013, 19:44 | ||||
Сам пользуюсь CDT (ничего лучше пока не нашел для себя), так что точно знаю, что некорректно rename делается. На тривиальном коде с препроцессором/шаблонами молча ломает код при rename до не компилируемого состояния.
|
Автор: SaDFromSpb 7.3.2013, 12:12 |
kamre, Ах он сволочь! В дефайне переименовал тоже! Не ожидал. Теперь согласен! =) |