1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
1

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

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

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

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

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

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

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

Заранее, спасибо
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2013, 17:43
Ответы с готовыми решениями:

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

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

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

Turbo C++ Синтаксический анализатор
Всем привет:) Дали значит мне задание написать синтаксический анализатор. Нужно написать...

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

Как я понимаю, clang работает под линукс? Как-то в Windows его можно интегрировать?
0
Каратель
Эксперт С++
6605 / 4024 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
11.02.2013, 23:48 4
Цитата Сообщение от I.B. Посмотреть сообщение
Как я понимаю, clang работает под линукс? Как-то в Windows его можно интегрировать?
http://habrahabr.ru/post/167281/
2
интересующийся
310 / 281 / 93
Регистрация: 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
1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
12.02.2013, 22:51  [ТС] 6
xtorne21st, бизоновские грамматики падают, пробовал

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

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

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

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

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

Что Вы понимаете под словами "качественный РБНФ"?
0
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
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
14.02.2013, 22:53 12
Цитата Сообщение от I.B. Посмотреть сообщение
Что Вы понимаете под словами "качественный РБНФ"?
Первая ссылка в гугле.
0
1 / 1 / 0
Регистрация: 04.02.2010
Сообщений: 48
15.02.2013, 16:34  [ТС] 13
Нашёл причину ошибки. Clang не собирался под студию из-за Python - сначала поставил 3.3, из-за этого и не собирался. Поставил 2.7.3 - сработало.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2013, 16:34
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru