![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Enchance |
|
|||
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 20.10.2009 Репутация: нет Всего: нет |
Есть идея написать софтину для визуального представления алгоритма программы с целью облегчения понимания чужого кода c++. И точно помню, что я не так давно случайно натыкался в сети на опенсорсный проект/библиотеку, которая умеет парсить и анализировать код, еще в описании было сказано, что-то на подобии "только сумасшедшие могут реализовывать парсинг кода самостоятельно, все профессионалы давно используют эту вещь", и еще помню, что первая буква в названии C (логично, в общем-то).
Может кто-нибудь понял, о какой программе идет речь? Мне всего-то нужно: 1. Повытаскивать из кода синтаксические конструкции (переменные, классы, функции, циклы, разветвления, комментарии, итд). 2. Отследить процесс выполнения программы (чтобы иметь возможность представить ее в виде блок-схемы). 3. Возможность превратить обфусцированный код в надлежащий вид (со всеми отступами). Знаю, что все это можно реализовать с помощью регулярных выражений, но подозреваю, что мне понадобится очень много регексп-кода, и возможно, все это уже кем-то реализовано. |
|||
|
||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
У clang есть прикрученный api, который позволяет достучаться до ast кода.
|
|||
|
||||
Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
Просто к сведению. Есть платная утилита с пробным периодом, которая называется Understand. И еще есть gccxml которая результат парсинга представляет в xml-выхлоп, но я слышал, что она скорее мертва чем жива.
-------------------- Слава Україні! |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
как уже сказали выше - clang.
хорошая софтина. несколько лет использую. |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
vsvpryanik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 7.8.2012 Репутация: нет Всего: нет |
Большое спасибо, жаль временная активация только ![]() ![]() ![]() |
|||
|
||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
В netbeans'е встроенный навигатор почти поддерживает 1й пункт
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |