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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
I.B.
1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
#1

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

11.02.2013, 17:43. Просмотров 1541. Ответов 12
Метки нет (Все метки)

Доброго времени суток.

Задача - разработать анализатор исходного кода на языках С++ с выявлением ошибок оформления (отступы пробелы, именование переменных и т.д.). Бьюсь третий месяц. Смотрел решения от ANTLR - куча грамматик, не работает ни одна.

Поступило предложение поковырять GCC, сделать dll-ку под C# и написать VS Package на C#. Перспектива лопатить GCC не улыбает никак ...

Например, для C# появилось просто УМОПОМРАЧИТЕЛЬНОЕ средство под названием Roslyn, которое великолепно парсит сорцы шарпа.

Пожалуйста, подскажите - куда мне копать, потому что я не могу найти ничего стоящего, чтобы запилить всё это дело под C# (

Заранее, спасибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2013, 17:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Анализатор С++ кода (C++):

Статический анализатор кода - C++
Всем доброго времени суток! Мне поставлена задача, написать статический анализатор кода для MPI. Для начала хотелось бы разобраться с...

Лексический анализатор - C++
есть задание: в принципе, трудностей, как его реализовывать, нет. считываем слово, сравниваем со словарем, и в зависимости от...

Лексический и снитаксический анализатор - C++
очень нужна помощь с программой, вобщем она у меня есть готовая чужая, но я ничего в ней понять не могу, очень прошу прокоментировать и...

Реализовать лексический анализатор языка - C++
Составить автоматную грамматику и на её основе реализовать лексический анализатор языка, цепочки которого имеют вид, указанный в задании....

Построить синтаксический анализатор для определяемого в словаре понятия формулировка-задачи - C++
Для описания понятия формулировка-задачи мы снова используем грамматику: формулировка-задачи ::= список-определений вопрос ...

Лексический анализатор - C++ Builder
Может есть у кого то исходник программы для анализа входящей языка(любого) Очень нужен пример Найти что то не могу... Помогите пожалуйста...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
11.02.2013, 20:39 #2
Т.е. то, что компиляторы с трудом парсят с++, вас не смущает?
Можете посмотреть в сторону clang'a, он парсит плюсы лучше аналогичных компиляторов + выдает достаточно неплохое AST.
1
I.B.
1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
11.02.2013, 23:44  [ТС] #3
diagon, меня это смущает ещё со времени написания курсовой работы, когда надо было написать 2 парсера - один для шарпа, другой для плюсов ) только в тот раз отделался тем, что используемое средство ANTLR не позволяет создать полноценный парсер для C++, тем более зашитый под сборку C#.

Как я понимаю, clang работает под линукс? Как-то в Windows его можно интегрировать?
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.02.2013, 23:48 #4
Цитата Сообщение от I.B. Посмотреть сообщение
Как я понимаю, clang работает под линукс? Как-то в Windows его можно интегрировать?
http://habrahabr.ru/post/167281/
2
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
12.02.2013, 02:40 #5
Цитата Сообщение от I.B. Посмотреть сообщение
Доброго времени суток.
Задача - разработать анализатор исходного кода на языках С++ с выявлением ошибок оформления (отступы пробелы, именование переменных и т.д.). Бьюсь третий месяц. Смотрел решения от ANTLR - куча грамматик, не работает ни одна.
Поступило предложение поковырять GCC, сделать dll-ку под C# и написать VS Package на C#. Перспектива лопатить GCC не улыбает никак ...
Например, для C# появилось просто УМОПОМРАЧИТЕЛЬНОЕ средство под названием Roslyn, которое великолепно парсит сорцы шарпа.
Пожалуйста, подскажите - куда мне копать, потому что я не могу найти ничего стоящего, чтобы запилить всё это дело под C# (
Заранее, спасибо
Можете также глянуть в сторону программы bison выпущенной под лицензией gnu
0
I.B.
1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
12.02.2013, 22:51  [ТС] #6
xtorne21st, бизоновские грамматики падают, пробовал

Jupiter, как раз для VS и надо его собрать, следую инструкциям на сайте clang, на этапе гененарации проекта под студию вылетает ошибка линкёра: fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден

Собираю под 10 студию, но также установлена 12, может быть из-за этого причина ошибки?
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.02.2013, 22:54 #7
Цитата Сообщение от I.B. Посмотреть сообщение
Собираю под 10 студию, но также установлена 12, может быть из-за этого причина ошибки?
вероятно, установка 1-го сервис пака для 10-й студии должна решть проблему
0
I.B.
1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
13.02.2013, 01:03  [ТС] #8
Jupiter, поставил обновление, заметил следующее - после того, как make проверяет работоспособность компиляторов, студии и т.д., начинается Lokking for ... (имя файла), причём ни один файл не находит - not found

проделал процедуру сборки ещё раз - то же самое
0
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
13.02.2013, 09:54 #9
I.B., можно более подробное описание задания? Складывается впечатление, что это всё можно написать в разумные сроки самостоятельно, если не требуеся поддержка С++11, просто руководствуясь качественным рБНФ.
0
I.B.
1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
13.02.2013, 10:06  [ТС] #10
iama, задание - разработка программного обеспечения для проверки исходных текстов на языке C++ на соответствие заданным правилам оформления.
К правилам оформления относятся отступы, вложенность блоков кода, именование переменных (имена классов), расстановка знаков препинания, пробелы и т.д.

По сути - нужен плагин для студии, который при нажатии заветной клавиши будет выводить в отдельной box список ошибок оформления, можно скакать по ошибкам в стиле родного IntelliSense. Вот для этого и нужен полноценный парсер, я пытался сделать с помощью ANTLR, но грамматика падает

К сожалению, нужна поддержка C++ 11

Что Вы понимаете под словами "качественный РБНФ"?
0
I.B.
1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
14.02.2013, 22:38  [ТС] #11
может быть у меня руки не из того места растут, но я не могу собрать солюшн для студии, чтобы использовать Clang!!!

Делаю всё, как говорится на официальном сайте, и в итоге получаю следующее:


File "C:/Program Files/VisualSVN/bin/build/llvm/utils/llvm-build/llvm-build"
, line 3, in <module>
import llvmbuild
File "C:\Program Files\VisualSVN\bin\build\llvm\utils\llvm-build\llvmbuild\_
_init__.py", line 1, in <module>
from main import main

ImportError: No module named 'main'


-- Configuring incomplete, errors occurred!

С чем это связано?
0
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
14.02.2013, 22:53 #12
Цитата Сообщение от I.B. Посмотреть сообщение
Что Вы понимаете под словами "качественный РБНФ"?
Первая ссылка в гугле.
0
I.B.
1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
15.02.2013, 16:34  [ТС] #13
Нашёл причину ошибки. Clang не собирался под студию из-за Python - сначала поставил 3.3, из-за этого и не собирался. Поставил 2.7.3 - сработало.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2013, 16:34
Привет! Вот еще темы с ответами:

Програма анализатор - C++ Builder
Написать программу-анализатор, программа должна показывать пользователю случайную загадку, пользователь должен дать ответ на эту загадку....

Анализатор кода - C++
Есть исходный файл (код C++) программы. Нужно создать дамп с анализом его содержимого. Например: #include &lt;iostream&gt; void func(int...

Анализатор lua кода - Lua
Здравствуйте. Делаю анализатор луа кода. Подскажите пожалуйста, в каком направлении мне искать: может быть есть возможность использовать...

Синтаксический анализатор кода - C#
Необходимо написать программу, которая считывает текстовый файл с кодом и выводит колличество строк, коментариев, функций и т.д.....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.02.2013, 16:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru