Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SilentBob git 
:(
    Опции темы
GrayCardinal
  Дата 16.8.2008, 11:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Открыт GIT  репозитарий с SilentBob (1.5-stable, 1.6) (при поддержке powerfox'а)
git://repo.or.cz/opsoft.git
SVN теперь будет обновляться очень редко smile
Чтобы слить бобика через гит :

$ git clone git://repo.or.cz/opsoft.git
$ git branch experimental origin/experimental 
$ git branch silentbob-1.5 origin/silentbob-1.5

Ветки - master последняя (относительно) стабильная версия.
experimental - ветка усиленной разработки (вплоть до того, что может не компилится) smile
silentbob-1.5 - ветка-патчи к стабильной версии. Последний патч - багфикс опции -L в сочетании с --call-tags

Enjoy !

(обновление)
git://repo.or.cz/silentbob2.git

Это сообщение отредактировал(а) GrayCardinal - 1.2.2009, 12:17


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 24.8.2008, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



up


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 24.8.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



ветка 1.5 убита. 1.6-стабильная. 1.7 - тестовая.


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 24.8.2008, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



В экспериментальной ветке пофиксен баг в плагине перла. Теперь вроде работает. Ну: раз никто не заметил smile  smile 


--------------------
PM MAIL WWW   Вверх
kamre
Дата 26.8.2008, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Хотелось бы понять какие возможности есть у "бобика". На сайте указываются недостатки ctags и scope, в частности плохая поддержка языка C++. И заявляется, что "In SilentBob these problems are absent. The application uses a custom preprocessor (written by me) rather than the regexps."

Можно ли с помощью "бобика" узнать из каких мест в программе вызывается конкретная функция? Можно ли зная текущее положение в исходном коде перейти к месту определения символа (переменной или функции)? Насколько хорошо все это работает для такого сложного языка как C++?
PM MAIL   Вверх
GrayCardinal
Дата 27.8.2008, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Цитата

Можно ли с помощью "бобика" узнать из каких мест в программе вызывается конкретная функция? Можно ли зная текущее положение в исходном коде перейти к месту определения символа (переменной или функции)? Насколько хорошо все это работает для такого сложного языка как C++?

Вот. Конкретные вопросы. Отвечаю. 

Узнать из каких мест вызывается функция - можно. НО. Без привязки функции к классу. Т.е. Class::get  можно найти только где вызывается get. 
Что значит "зная текущее положение" ?
На счет хорошо работает - нормально работают - индексация (класс, функции): поиск по операторам --cgrep, call-tags с обозначенным выше ограничением.

Добавлено @ 09:18
Когда говорилось "эи проблемы решены" имелось в первую очередь то, что cscope не поддерживает Си++ в принципе (по крайней мере на момент написания текста), как дело обстоит сейчас -  не в курсе smile

Добавлено через 1 минуту и 48 секунд
Благодарю за интерес к бобику  smile 

Это сообщение отредактировал(а) GrayCardinal - 27.8.2008, 09:19


--------------------
PM MAIL WWW   Вверх
kamre
Дата 27.8.2008, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(GrayCardinal @ 27.8.2008,  09:17)

Когда говорилось "эи проблемы решены" имелось в первую очередь то, что cscope не поддерживает Си++ в принципе (по крайней мере на момент написания текста), как дело обстоит сейчас -  не в курсе smile


А в чем тогда выражается поддержка языка C++? В нем же все символы вроде бы именуются именно через global::inner::SomeClass::SubClass::someFunc:
Код

namespace global {
  namespace local {
    class SomeClass {
    public:
      class SubClass {
      public:
        int someFunc() {
          return 0;
        }
      };
    };
  }
}

int main() {
  global::local::SomeClass::SubClass obj;
  return obj.someFunc();
}


Цитата(GrayCardinal @ 27.8.2008,  09:17)
Узнать из каких мест вызывается функция - можно. НО. Без привязки функции к классу. Т.е. Class::get  можно найти только где вызывается get. На счет хорошо работает - нормально работают - индексация (класс, функции): поиск по операторам --cgrep, call-tags с обозначенным выше ограничением.
 
Все-таки хочется понять, учитываются ли правила языка при поиске references или же "бобик" это просто тот же grep, только ищет  в определенных местах исходника, ничего не понимая. Вот например в таком коде
user posted image
как найти все места вызова функции ::get() с помощью "бобика"? Будет ли учтено, что в реализации A::getVal() глобальное имя перекрыто функцией A::get()?

Цитата(GrayCardinal @ 27.8.2008,  09:17)
Что значит "зная текущее положение" ?
 
Ну имеется ввиду функциональность типа "open declaration". Например, при редактировании кода, скажем в vim, можно ли будет переходить к месту определения символа, на котором сейчас стоит курсор?

PM MAIL   Вверх
GrayCardinal
Дата 28.8.2008, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Цитата

Все-таки хочется понять, учитываются ли правила языка при поиске references или же "бобик" это просто тот же grep, только ищет  в определенных местах исходника, ничего не понимая.

Да. Именно так.

Скажу так. Да, бобик ничего не понимает в коде. Это же не компилятор smile Суть - пробегает по операторам: и выбирает то, что надо. Это всё. И не надо приписывать ему то, чего нет.  Но работает он не как греп, и бочерта-с два ты что-то найдешь грепом  smile  Хотя плагин "греп" к бобику есть - основное отличие от одноименной проги - мультитредная оптимизация smile

Это сообщение отредактировал(а) GrayCardinal - 28.8.2008, 08:54


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 28.8.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Хлопцы, вы меня конечно извините, но внутренности бобика - не главное. Главное ЮЗАБЕЛЬНОСТЬ (которая у всех известных мне остальных прог стремится к нулю)


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 28.8.2008, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Где то я ветки косячнул... пришлось убить (без потерь) смотрим master и experimental


--------------------
PM MAIL WWW   Вверх
kamre
Дата 28.8.2008, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(GrayCardinal @ 28.8.2008,  11:46)
Хлопцы, вы меня конечно извините, но внутренности бобика - не главное. Главное ЮЗАБЕЛЬНОСТЬ (которая у всех известных мне остальных прог стремится к нулю)

Ну для меня юзабельность таких инструментов для C++ определяется тем, насколько хорошо они понимают C++ smile Особенно после java IDE типа Idea/Eclipse/Netbeans смотреть на поделки, претендующие на IDE для C++, очень смешно (это про недо-C++-IDE типа Kate+gcc, Kdevelop, CodeBlocks).

То что ctags и "ko" практически не пригодны для C++ я полностью согласен, поэтому и выбираю куда более юзабельные и продвинутые инструменты вроде xref/CDT/VA. Ну а "бобик" как продвинутый grep для меня не очень интересен, т.к. он почти и не продвинулся по сравнению с ctags и "ko". Рекомендую хотя бы поробывать Emacs+Xrefactory на самом коде "бобика" )

Цитата

Да, бобик ничего не понимает в коде. Это же не компилятор 

Любой полноценный инструмент неизбежно должен содержать front-end компилятора языка, для которого он предназначен. Так сделано во всех полноценных java IDE.
PM MAIL   Вверх
GrayCardinal
Дата 28.8.2008, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



kamre, 
Хм. Мое дело предложить smile


--------------------
PM MAIL WWW   Вверх
kamre
Дата 28.8.2008, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(GrayCardinal @ 28.8.2008,  12:55)
kamre, 
Хм. Мое дело предложить smile

А мое дело изучить и решить для себя, стоит ли пользоваться предлагаемым инструментом smile

А вообще, предлагать "бобика" как замену Xrefactory:
Цитата(GrayCardinal @ 18.8.2008,  19:03)

 
Цитата

Про Emacs отдельный разговор, для него есть платный xrefactory. И если нужно отрефакторить что-то в огромном проекте, то это пока самое лучшее, что я видел. Но он такой тормоз при индексировании исходников, т.к. честно прям как компилятор все парсит, да и еще по нескольку раз.

Юзай бобика. Линк в подписи.

это не серьезно тогда получается... 
И перспектив вырасти до полноценного инструмента у "бобика" я не вижу... 

P.S. Вот если бы заняться переписыванием cdt.core на c++ и/или встраиванием в vim/emacs... smile



Это сообщение отредактировал(а) kamre - 28.8.2008, 13:46
PM MAIL   Вверх
GrayCardinal
Дата 28.8.2008, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



kamre, 
Это не моя фраза в цитате :(

Добавлено через 40 секунд
Или моя ? Уже не помню smile

Добавлено через 1 минуту и 52 секунды
Цитата

И перспектив вырасти до полноценного инструмента у "бобика" я не вижу... 

У нас в сибири говорят "ветер в спину". smile


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 28.8.2008, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Скоро выпущу тестовую 1.7 . Ваяю Ruby плагин. Пожелания, предложения, замечания до выхода тестовой версии - приветствуются. smile Да и после smile


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Клуб юнуксоидов"
powerfox
ZeeLax
nickless

Что такое клуб юнуксоидов?

Это место более свободного общения специалистов и любителей *NIX систем.


Новичкам: Этот раздел предназначен в основном именно для общения а не решения проблем.


Правила всего раздела Linux/UNIX сюда не распространяются, но здесь имеются свои правила:


  • Оскорбления запрещены.
  • Holy wars разрешены, но в небольших размерах. Если вы создаёте что-то уровня Windows vs. Linux, то постите это в Религиозных войнах, пожалуйста.
  • Если вы хотите выставить здесь какое-либо своё творение - милости просим.
  • За интересные новости, интересные статьи, высказывания и юмор (в тему) + в репу.

Короче, по репе получите по полной программе ;-) Happy hacking!



Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

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


 




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


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

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