Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг c++ кода 
:(
    Опции темы
Enchance
Дата 29.7.2012, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.10.2009

Репутация: нет
Всего: нет



Есть идея написать софтину для визуального представления алгоритма программы с целью облегчения понимания чужого кода c++. И точно помню, что я не так давно случайно натыкался в сети на опенсорсный проект/библиотеку, которая умеет парсить и анализировать код, еще в описании было сказано, что-то на подобии "только сумасшедшие могут  реализовывать парсинг кода самостоятельно, все профессионалы давно используют эту вещь", и еще помню, что первая буква в названии C (логично, в общем-то).

Может кто-нибудь понял, о какой программе идет речь? Мне всего-то нужно:
1. Повытаскивать из кода синтаксические конструкции (переменные, классы, функции, циклы, разветвления, комментарии, итд).
2. Отследить процесс выполнения программы (чтобы иметь возможность представить ее в виде блок-схемы).
3. Возможность превратить обфусцированный код в надлежащий вид (со всеми отступами).

Знаю, что все это можно реализовать с помощью регулярных выражений, но подозреваю, что мне понадобится очень много регексп-кода, и возможно, все это уже кем-то реализовано.
PM MAIL   Вверх
Amp
Дата 29.7.2012, 22:03 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: нет
Всего: 17



У clang есть прикрученный api, который позволяет достучаться до ast кода.
PM MAIL   Вверх
Gluttton
Дата 29.7.2012, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Просто к сведению. Есть платная утилита с пробным периодом, которая называется Understand. И еще есть gccxml которая результат парсинга представляет в xml-выхлоп, но я слышал, что она скорее мертва чем жива.


--------------------
Слава Україні!
PM MAIL   Вверх
boostcoder
Дата 30.7.2012, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



как уже сказали выше - clang.

Цитата(Gluttton @  29.7.2012,  22:52 Найти цитируемый пост)
называется Understand

хорошая софтина. несколько лет использую.

PM WWW   Вверх
Dem_max
Дата 6.8.2012, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 4
Всего: 39





--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
vsvpryanik
Дата 7.8.2012, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.8.2012

Репутация: нет
Всего: нет



Цитата(Gluttton @ 29.7.2012,  22:52)
Просто к сведению. Есть платная утилита с пробным периодом, которая называется Understand. И еще есть gccxml которая результат парсинга представляет в xml-выхлоп, но я слышал, что она скорее мертва чем жива.

Большое спасибо, жаль временная активация только  smile  smile  smile 
PM MAIL WWW   Вверх
NoviceF
Дата 7.8.2012, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 13.3.2012
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



В netbeans'е встроенный навигатор почти поддерживает 1й пункт smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.