4 A. Пока только Linux/ix86. SilentBob в принципе не будет работать на Win и Mac OS.
5 Баги компиляции на других платформах, по-возможности, буду фиксить (жду баг-репортов).
7 Q. Почему SilentBob написан на Си++ ?
8 A. В SilentBob требуются конкретные модули, выполняющие конкретные вещи. Мне изначально не мог
9 потребоваться код, к примеру, для отправки письма президенту. А нужные модули уже написаны,
10 и реализация их на Си++ представляется самой рациональной.
12 Q. Использует ли SilentBob Yacc/Bison etc. ?
13 A. НЕТ. Та информация, которую выдают означенные программы, очень избыточна, и SilentBob все равно не сможет
14 ее обработать, ибо это все-таки не компилятор. Все проблемы, которые я решаю SilentBob'ом, обрабатываются
15 2-мя, 3-мя if'ами для каждого оператора кода и отслеживанием контекста.
18 A. Вы можете выполнять все те же операции что и с Си, но некоторые проблемы здесь все-таки присутствуют.
19 Из серьезных - отсутствие поддержки template'ов.
21 Q. Какие проблемы существуют с добавлением функциональности/языков в SilentBob ?
22 A. Сразу хочу отметить, что проблемы эти _не связаны_ с тем, что я не использую Bison.
23 Программа SilentBob изначально писалась для работы с кодом, а это понятие довольно обширное. Однако я не
24 вижу смысла реализовывать только функционал по созданию файла ./tags для других языков, ибо, к примеру,
25 программисту на Java скорее пригодится поиск нужного комментария.
27 Q. На сколько сложно добавить новую возможность в SilentBob ?
28 A. Если это язык, для которого в SilentBob уже написан препроцессор, добавление функциональности сводится
29 к копированию шаблонного плагина, вставки кода запуска нужного препроцессора (пара строчек) и кода
30 для итерации (пара if'ов). Это наглядно видно, к примеру, в plugins/plugin_perl.cxx (функция perl_make_ctags).
31 Если это язык, для которого ни один из предложенных препроцессоров не подходит, вы можете написать этот
32 препроцессор, либо отправив мне "тонкий намек" в виде спецификации языка и пометкой SilentBob в теме.