Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Совместные проекты/поиск партнёров > Интерактивное средство рефакторинга С++


Автор: maggot 29.7.2008, 02:16
Если работаете во Visual Studio наверняка знаете про Visual Assist - плагин позволяющий производить рефакторинг, подсвечивает синтаксис, подчёркивает ошибки, обеспечивает механизм IntelliSense.

Последнее время Visual Assist для С++ перестал меня радовать. Сложный код (с обилием шаблонов) он увы не понимает.

В связи с этим родилась идея сделать аналогичное средство, но более качественное.
Итак, что конкретно прелагается сделать:
1) Препроцессинг, лексический, синтаксический и семантический анализ кода С++ с нахождением и восстановлением после ошибок. И всё это должно работать инкрементно.
2) Добавить некоторые фитчи рефакторинга. Всевозможные подсказки, автокомплит... Если хорошо сделать первый пункт, сделать второй пункт не составит особого труда.
3) Оформить фсё как плагин для Visual Studio. Так же можно не ограничиваться Visual Studio, а сделать, например, плагин для Eclipse и других IDE.

Проект будет делаться на С++ и только на нём. 

Если кто заинтересован, прошу присоединяться к проекту. Проект будет опенсорс. Но если будет возможность продать,  я только за.

Для того чтобы участвовать в проекте, необходимо:
1) Отличное знание С++.
2) Знание теории синтаксического анализа.
3) Английский, позволяющий читать доки по теме, ибо на русском ничего, считайте, нет. 

Что уже я сделал:
Универсальные лексический и синтаксический анализаторы.  То есть подойдут для любого языка - только грамматику задайте.
Вобщем их нужно усовершенствовать так, чтобы они работали инкрементно (это осбого труда не составит), добавить хорошее восстановление после ошибок. Нужно сделать семантический анализ. Я планирую использовать для этой цели атрибутные грамматики; ну и парсер соответственно усовершенствовать для них. 
Тогда первый пункт будет готов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)