![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
Открыт GIT репозитарий с SilentBob (1.5-stable, 1.6) (при поддержке powerfox'а)
git://repo.or.cz/opsoft.git SVN теперь будет обновляться очень редко Чтобы слить бобика через гит : $ git clone git://repo.or.cz/opsoft.git $ git branch experimental origin/experimental $ git branch silentbob-1.5 origin/silentbob-1.5 Ветки - master последняя (относительно) стабильная версия. experimental - ветка усиленной разработки (вплоть до того, что может не компилится) silentbob-1.5 - ветка-патчи к стабильной версии. Последний патч - багфикс опции -L в сочетании с --call-tags Enjoy ! (обновление) git://repo.or.cz/silentbob2.git Это сообщение отредактировал(а) GrayCardinal - 1.2.2009, 12:17 |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
up
|
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
ветка 1.5 убита. 1.6-стабильная. 1.7 - тестовая.
|
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
В экспериментальной ветке пофиксен баг в плагине перла. Теперь вроде работает. Ну: раз никто не заметил
|
|||
|
||||
| kamre |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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++? |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
Вот. Конкретные вопросы. Отвечаю. Узнать из каких мест вызывается функция - можно. НО. Без привязки функции к классу. Т.е. Class::get можно найти только где вызывается get. Что значит "зная текущее положение" ? На счет хорошо работает - нормально работают - индексация (класс, функции): поиск по операторам --cgrep, call-tags с обозначенным выше ограничением. Добавлено @ 09:18 Когда говорилось "эи проблемы решены" имелось в первую очередь то, что cscope не поддерживает Си++ в принципе (по крайней мере на момент написания текста), как дело обстоит сейчас - не в курсе Добавлено через 1 минуту и 48 секунд Благодарю за интерес к бобику Это сообщение отредактировал(а) GrayCardinal - 27.8.2008, 09:19 |
|||
|
||||
| kamre |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
А в чем тогда выражается поддержка языка C++? В нем же все символы вроде бы именуются именно через global::inner::SomeClass::SubClass::someFunc:
Все-таки хочется понять, учитываются ли правила языка при поиске references или же "бобик" это просто тот же grep, только ищет в определенных местах исходника, ничего не понимая. Вот например в таком коде ![]() как найти все места вызова функции ::get() с помощью "бобика"? Будет ли учтено, что в реализации A::getVal() глобальное имя перекрыто функцией A::get()?
Ну имеется ввиду функциональность типа "open declaration". Например, при редактировании кода, скажем в vim, можно ли будет переходить к месту определения символа, на котором сейчас стоит курсор? |
||||||||
|
|||||||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
Да. Именно так. Скажу так. Да, бобик ничего не понимает в коде. Это же не компилятор Это сообщение отредактировал(а) GrayCardinal - 28.8.2008, 08:54 |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
Хлопцы, вы меня конечно извините, но внутренности бобика - не главное. Главное ЮЗАБЕЛЬНОСТЬ (которая у всех известных мне остальных прог стремится к нулю)
|
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
Где то я ветки косячнул... пришлось убить (без потерь) смотрим master и experimental
|
|||
|
||||
| kamre |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Ну для меня юзабельность таких инструментов для C++ определяется тем, насколько хорошо они понимают C++ То что ctags и "ko" практически не пригодны для C++ я полностью согласен, поэтому и выбираю куда более юзабельные и продвинутые инструменты вроде xref/CDT/VA. Ну а "бобик" как продвинутый grep для меня не очень интересен, т.к. он почти и не продвинулся по сравнению с ctags и "ko". Рекомендую хотя бы поробывать Emacs+Xrefactory на самом коде "бобика" )
Любой полноценный инструмент неизбежно должен содержать front-end компилятора языка, для которого он предназначен. Так сделано во всех полноценных java IDE. |
||||
|
|||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
kamre,
Хм. Мое дело предложить |
|||
|
||||
| kamre |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
А мое дело изучить и решить для себя, стоит ли пользоваться предлагаемым инструментом А вообще, предлагать "бобика" как замену Xrefactory:
это не серьезно тогда получается... И перспектив вырасти до полноценного инструмента у "бобика" я не вижу... P.S. Вот если бы заняться переписыванием cdt.core на c++ и/или встраиванием в vim/emacs... Это сообщение отредактировал(а) kamre - 28.8.2008, 13:46 |
||||||
|
|||||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
kamre,
Это не моя фраза в цитате :( Добавлено через 40 секунд Или моя ? Уже не помню Добавлено через 1 минуту и 52 секунды
У нас в сибири говорят "ветер в спину". |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
Скоро выпущу тестовую 1.7 . Ваяю Ruby плагин. Пожелания, предложения, замечания до выхода тестовой версии - приветствуются.
|
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 7 Всего: 181 |
У меня есть пожелание -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| Ches |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 19.8.2008 Репутация: нет Всего: 3 |
Складываетсятакое впечатление, что результат труда кодера полностью зависит от так называемого "инструмента". Не забывайте, для чего его создают, ведь можно и без него обойтись, это вовосе не панацея. Ну и потом, если так нравится Idea/Eclipse/Netbeans, никто же не заставляет пользоваться топиком.
Нет чтобы предложить конструктив(не говоря уже о помощи и содействии)... На подобные заявления каждый горазд |
||||
|
|||||
| kamre |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Нет, впечатление не правильное складывается ) Пока кодовая база проекта относительно небольшая, или когда очень хорошо продуманная архитектура и не менее хорошо документированная, то вполне можно все держать в голове для эффективной разработки. В этом случае можно обходиться чем-то вроде silent_bob/ctags/find+grep. Но и для таких случаев более эффективные инструменты также полезны. Т.к. просто возволяют еще больше держать в голове, т.к. постоянно подсказывают связи между разными частями проекта.
А я и пользуюсь тем, что считаю наиболее эффективным для себя. Просто в процессе обсуждения IDE под линукс было предложено воспользоваться "бобиком", утверждалось, что он не менее хорош чем Xrefactory. Вот я и решил немного изучить возможности "бобика". Так сначала нужно понять для чего был написан "бобик", какие он задачи пытается решить, как он их пытается решить. Если ставится задача полноценной поддержки языка C++, то, по моему мнению, именно для решения этой задачи нет перспектив. Более конструктивно можно сказать, что теми средствами (preprocessing+regexps) эта задача практически и не решается. Поэтому мне и не интересен становится сам "бобик", соотвественно помогать я не вижу смысла... В этом плане мне интереснее разбираться с CDT и помогать/содействовать/тестировать, community гораздо больше. Вот кто из форумчан разбирался (прикручивал к vim) и решил пользоваться "бобиком"? Хотелось бы услышать "success story". |
||||
|
|||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
nickless, Лады. Гляну софтину на досуге.
|
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
Вышел тестовый бобик с модифицированной системой плагинов и плагином руби. Так же пофиксены некоторые баги.
|
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
Я тут пытаюсь догнать одну вещь. Если бобик - узкоспециализированная прога, то на чем выезжает cscope, у которого функционала меньше на порядок ?
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 4 Всего: 207 |
GrayCardinal,
bob --call-tags <DIR> падает с SIGSEGV сообщение об ошибке есть, но SIGSEGV - это нехорошо решение - в sblib/the_tt.cxx в строке 338 проверить результат выполнения tt_map() падает на the_tt_for_buffers() в строке 349, т. к d_tt_state->fileData == NULL Это сообщение отредактировал(а) MAKCim - 7.9.2008, 11:51 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 7 Всего: 181 |
ИМХО он просто есть везде, причём уже давно, используется в другом софте/скриптах и вообще его все знают, а бобик - пока нет. Надо продвигать в массы, -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
MAKCim,
Благодарю за баг репорт. В экспериментальной ветке вроде пофиксил |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 4 Всего: 207 |
GrayCardinal,
я не нашел есть ли опция для рекурсивного обхода всех директорий? (типа опции -R в ctags) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
MAKCim,
Не нашел рекурсивный обход или что, не понял. В бобе --make-ctags без параметров - по дефолту рекурсивный обход диров. Можно ещё так $ bob --cfiles $ bob -L ./cfiles --make-ctags Для перл, питона, руби аналогично $ bob [--perl | --python | --ruby] --files И далее $ bob -L <lang>_files --make-ctags |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
Тут мысля была - создавать доп файлик с датами модификации файлов, дабы работать потом только с измененными... Как вам это ?
Это сообщение отредактировал(а) GrayCardinal - 14.9.2008, 16:12 |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
выложил 1.7 ... Нааавались !
|
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 18 Всего: 58 |
По просьбе трудящихся обновлен GIT.
git clone git://repo.or.cz/silentbob2.git (самая последняя версия). Кому нужен доступ на запись - стучитесь на мыло. приложив пару-тройку патчей... С любовью из Сибири... Олег. |
|||
|
||||
![]()
|
| Правила форума "Linux/UNIX: Клуб юнуксоидов" | |
|
|
Что такое клуб юнуксоидов? Это место более свободного общения специалистов и любителей *NIX систем. Новичкам: Этот раздел предназначен в основном именно для общения а не решения проблем. Правила всего раздела Linux/UNIX сюда не распространяются, но здесь имеются свои правила:
Короче, по репе получите по полной программе ;-) Happy hacking! Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Клуб юнуксоидов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |