Форум программистов, компьютерный форум CyberForum.ru

Анализатор кода - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
21.10.2011, 21:44     Анализатор кода #1
Есть исходный файл (код C++) программы.
Нужно создать дамп с анализом его содержимого. Например:
КОД
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
void func(int i)
{
   return;
} 
 
int main()
{
   int i = 0;
   func(i);
   return 0;
}

Дамп
Глобальные переменные:
---

Подключаемые модули:
<iostream> :: потоковый ввод-вывод

Функции:
func
не возвращает никакого значения
получает аргументы:
-целочисельного типа
main
возвращает значения целочисельного типа
получает аргументы:
---

Подскажите структуру такой программы. Как это должно быть, с чего начать?
Я так понимаю нужно реализовать некий парсер. Уместно здесь будет использовать boost.spirit?
Хочу услышать пару общих советов, может, какие-то детали(если кто реализовывал что-нить подобное)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2011, 21:44     Анализатор кода
Посмотрите здесь:

C++ Строковый анализатор
C++ лексический анализатор на С++
C++ Лексический анализатор
Синтаксический анализатор C++
Текстовой анализатор C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
21.10.2011, 23:45  [ТС]     Анализатор кода #2
Как-то так должно быть?
Анализатор кода
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
22.10.2011, 00:39  [ТС]     Анализатор кода #3
нет идей??
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.10.2011, 12:47     Анализатор кода #4
Mayonez, Довольно сложная затея.
На спирите было что-то типа такого - в примерах по нему.
Но вот полностью поддерживать весь синтаксис cpp при разборе кода... Это будет проблемно.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
22.10.2011, 12:52     Анализатор кода #5
Цитата Сообщение от ForEveR Посмотреть сообщение
Но вот полностью поддерживать весь синтаксис cpp при разборе кода
Весь синтаксис судя по примеру и не надо. Директивы #include найти совсем просто. А с функциями надо ументь находить их - определять тип функции, имя и аргументы.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.10.2011, 13:02     Анализатор кода #6
fasked, Ну тогда да. Не проблемно.
Где-то я видел пример по разбору файла на c++... Но вот где - не помню.
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
22.10.2011, 14:40  [ТС]     Анализатор кода #7
ForEveR, да, для начала именно так, как сказал fasked. А дальше будем расширять...
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
01.11.2011, 22:24  [ТС]     Анализатор кода #8
tts.rar
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
01.11.2011, 22:43  [ТС]     Анализатор кода #9
headers.txt
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2011, 23:25     Анализатор кода
Еще ссылки по теме:

Анализатор C++
синтаксический анализатор C++
Синтаксический анализатор C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
07.11.2011, 23:25  [ТС]     Анализатор кода #10
proj.rar
Yandex
Объявления
07.11.2011, 23:25     Анализатор кода
Ответ Создать тему
Опции темы

Текущее время: 08:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru