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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SilentBob-1.4, вышел, типа 
:(
    Опции темы
GrayCardinal
Дата 9.2.2007, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Трудящимся посвящается...
на http://www.sourceforge.net/projects/silentbob 
вы можете слить новую версию SilentBob. (dlib/gclib не ищите, их больше нет).

По сравнению с SilentBob-1.3 :
+ Все лайбы собраны в один пакет.
+ Все собирается ./configure, Scons'ом, AAP'ом, или Bash'ем, кому как больше нравится.
+ Все (кроме плагинов) ставится в любое место [по просьбе трудящихся].
+ Устранены траблы с отсутствующими файлами и некоторыми другими проблемами сборки.
+ Стабильная система плагинов. Добавление плагина сводится к правке шаблона.
+ Новая опция "--lang cpp". С ней SilentBob должен лучше обрабатывать Си++. Тестовая фишка.
+ Хеп-сорт. Худший (по времени) случай сортировки тэгов теперь лучше чем старый лучший. В общем,
  задержки с сортировкой убрал.
+ Рабочее (!) распараллеливание --make-ctags [-j N].
+ Опция -c, как синоним --make-ctags
+ Опция -f, как синоним --cfiles
+ Весь код перетрясен. Добавлено больше цинизма, убрано/переименовано лишнее. 
+ Русский текст про то как надо юзать Боба. Плюс текст как его ЗАюзать.
+ ЧаВо'шка. Претензии с Yacc больше не принимаю.
+ Английский man. Спасибо Sardar'у.
+ deb пакет. Бинарный вариант моей сборки доступен на означенном выше сайте. 
  Хотя... Это скорее Бобик в deb-формате... Так же вы можете собрать свой с сырцов (они имеют каталог "debian").
+ Убита поддержка файла ctags от exuberant-ctags. Достал.
+ Пяток "левых" плагинов для сборки Бобика Бобиком, но они, кажись, никому не мешают.

Enjoy !

С любовью из Сибири,
Oleg aka GrayCardinal.
graycardinalster dog gmail dot com


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


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


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Цитата(GrayCardinal @  9.2.2007,  07:51 Найти цитируемый пост)
С ней SilentBob должен лучше обрабатывать Си++.

Такое пояснение настораживает  smile 

Цитата(GrayCardinal @  9.2.2007,  07:51 Найти цитируемый пост)
ЧаВо'шка. Претензии с Yacc больше не принимаю.

Не нашёл. Почему полноценный LALR парсер типа bison'а тебе не подходит? smile
Не шучу, реально любую инфу можно собрать, файлы с грамматиками тоже готовы.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
GrayCardinal
Дата 10.2.2007, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Sardar, 
Цитата

Такое пояснение настораживает 

А оно и должно... настораживать smile

doc/*
смотрел  smile 

Sardar, 
Инфу можно собрать любую. Даже SilentBob'ом. Причем с SilentBob'ом все будет проще и циничней smile Вопрос в том, что с этой инфой делать. Все равно - за контекстом придется следить ручками, а на нужное ставить if'ы... 

С Bison'ом (как я себе это представляю) :
1. Заводишь парсер.
2. Заводишь парсер.
3. Заводишь парсер.
....
N. Пишешь итератор по операторам, в котором :
N.1 Пара ифов (!) выборки того, что тебе надо.
N.2 Вывод на экран....

C SilentBob :
1. Читаешь файло (весь).
2. Убираешь мусор (препроцессором) и получаешь привязку оператор > реальная строка.
3. Прокручиваешь операторы, с теми же (!) двумя if'ами.
4. Вывод на экран....

Знаешь как писался плагин для Perl ?
Тупо copy/paste'им шаблон модуля, вставляем :
if (EQ (... , "sub")) {
  <вывод тэга>
}
Усе.  smile 
Вот объясни мне, плиз, по-русски, зачем платить больше  smile smile




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


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Цитата(GrayCardinal @  10.2.2007,  07:05 Найти цитируемый пост)
doc/* смотрел

Я часа в 3 ночи бывает глючу... даже исходники перебрал, doc в упор не видел...  smile 

Цитата(GrayCardinal @  10.2.2007,  07:05 Найти цитируемый пост)
Причем с SilentBob'ом все будет проще и циничней smile Вопрос в том, что с этой инфой делать.

Не совсем, полноценный парсер позволяет точно сказать чем является прочитанная конструкция. Потребляется весь вход и по правилам свёртки (для LALR) определяем что есть что. Определяем, это значит на конкретных правилах вызывается твой код, который может делать что угодно. Парсер без твоего кода просто проверит синтаксис. Полноценный парсер не любит ошибок синтаксиса, но с не большими переделками (восстановление с последнего правильного контекста) может схавать что угодно, естественно за точность тогда ручаться не приходиться.

Вывод: никаких if'ов, либо строишь AST дерево, либо (в твоём случае лучше) простой интерфейс с consume*(token) методами (consumeFunctionDef(name), consumeFunctionCall(name) etc).


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
GrayCardinal
Дата 10.2.2007, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Sardar, 
Да понял я, понял smile А вот ты меня не очень  smile 

Цитата

точно сказать чем является прочитанная конструкци

Оно мне надо ? Я если класс не нахожу (такое случалось в первых версиях Боба), я беру cgrep ......... Он мне хоть черта лысого найдет smile Я тут сижу и облизываюсь на gcc-xml. Качество отменно, даже макросы развернет... Хм... XML'ку парсить вроде не проблема... Только зачем ? 

Кстати, почти все, что   ты говорил про Java'у делается ... тем же cgrep'ом smile А функции Бобик с --lang cpp по логике, должен индексировать... Хотя не тестил smile

А надо будет мне в Perl'овском коде вызовы функций искать (контекст отслеживать, аналогично как сейчас для Си делается), думаешь не прикручу ? Единственно с чем будет... задержка... с вызовами без скобок... Но это такая мелочь... Особенно после того как научился конец регулярки находить
 smile smile smile


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


Фигасе
****


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

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



Sardar, давай так (чтоб не пререкаться, а мыслить конструктивно) - 

Какие мои проблемы может решить использование обсуждаемых монстров ? 
На сколько это будет медленно ?
На сколько код, написанный для одного языка будет адекватен для другого (при юзании тех же Yacc/Bison, или что там у тебя) ?
Где ты используешь означенных монстров ? (успешно ?)


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


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Цитата(GrayCardinal @  10.2.2007,  15:53 Найти цитируемый пост)
Какие мои проблемы может решить использование обсуждаемых монстров ? 

Я не знаю ограничений Боба smile  Хороший парсер ведёт к хорошему дизайну, но не обязателен.

Цитата(GrayCardinal @  10.2.2007,  15:53 Найти цитируемый пост)
На сколько это будет медленно ?

Это не будет медлено, а на средних и больших грамматиках гораздо быстрей чем собственноручно налабанные if'ы (читаем про автоматы, графы).

Цитата(GrayCardinal @  10.2.2007,  15:53 Найти цитируемый пост)
На сколько код, написанный для одного языка будет адекватен для другого (при юзании тех же Yacc/Bison, или что там у тебя) ?

Парсер и эмиттер сущностей для каждого языка будут свои, ведь в разных языках нужна разная инфа. Интерфейсы едины. Ядро боба должно будет только уметь эффективно (для поиска, SQLite3 хорошо подойдёт) сохранят сущности, выброшенные парсером. Базовая сущность не имеет функционального интерфейса, но они собираются в классы сущностей, например Callable для функций, методов, closure и т.д.  Затем общие и специальные плагины достают и строят из сущностей инфу. Это очень гибко, но не совместимо с ctags, значит придётся отдельно экспортировать с потерей функционала.

Цитата(GrayCardinal @  10.2.2007,  15:53 Найти цитируемый пост)
Где ты используешь означенных монстров ? (успешно ?) 

Прямо сейчас я пишу интерпретатор Forthy языка, это эзотерический язык программирования, с лабанный на Java что бы доказать доценту, что нет предела изврату  smile 
Школьный проект совсем детский, консольная игрушка на Java, я её на своём Forthy пишу. Жутко не удобно, но пишется. Язык был придуман за 8 часов, стек-ориентированный (как Forth, отсюда название), поддерживает обьекты и closure (также как JS). Линкуется всё, кроме вызовов методов на этапее компиляции, т.е. в рантайме имён уже нет. Байткод всего из 15 инструкций (все вычисления на словах). На Java не завязан, но ради удобстава прототип на ней. Сейчас переписывается компилер, добавляются пара фичь, ибо время дали дополнительное до вторника smile

Это мой первый реально писанный парсер/компилер, обычно я такой фигнёй не страдаю  smile   Следующим будет полноценная реализация современных регов.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
GrayCardinal
Дата 10.2.2007, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Sardar, 
Цитата
Жутко не удобно, но пишется

Оценил шутку  smile 

Знаешь, ты меня почти убедил... "Почти" - в смысле _сейчас_ не буду с криками "банзай" на означенных монстров...

Эх, жалко у нас в технаре про бизонов не рассказывают smile Вот же. Как какую-нибудь дрянь про совдеп, так пожалуйста, а про этих милых зверушек ... smile 
Пойти в луговку сходить, что-ли ? Ай, ладно, разберемся...

ЗЫ
Для тех кто в танке - все работает уже сейчас, только мне танк предлагают вместо кувалды, а я отнекиваюсь как могу  smile


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


Эксперт
***


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

Репутация: нет
Всего: 22



ребята, напишите вторую 1с...
капусту стричь
а?
 smile 


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


Фигасе
****


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

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



Vaulter, 
Пока занят, нафиг. В фазане парюсь  smile 
А ваще мысля хорошая smile


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


Фигасе
****


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

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



Вышел Бобик 1.5
Из вкусного :
Поддержка -j N для всего (--cgrep, --grep, --make-ctags, --call-tags). А так же поддержка Си++ (опция --lang cpp). Из внутренностей : препроцессор обернут в простой (даже примитивный) класс. 
Да, так же деб пакет присутствует...

Plug and Enjoy.
http://sf.net/projects/silentbob



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


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



Вещий ГрейКардинал, Респект вам, блин!  smile  smile  smile 


З.Ы. И чего это я должен прощать-то  ?
Этому сабжу место тут ну и пропиарить надо бы надо это дело по всему интернету.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
GrayCardinal
Дата 25.6.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



bilbobagginz, 
Цитата

Вещий ГрейКардинал, Респект вам, блин!

А по-конкретнее (за что респект) ?  smile 


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


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



да посмотрел на код. очень даже хороший код!







--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
GrayCardinal
Дата 13.7.2007, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


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

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



Хех.
Вопрос назасыпку. ГУЮ прикручивать ? А то меня сомнения терзают  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.0761 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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