Здравствуйте, degor, Вы писали:
D>Здравствуйте, Antonidze, Вы писали:
A>>Вопрос первый: подскажите, пожалуйста, если кто знает, где найти информацию по использованию Мозилловского движка SpiderMonkey JavaScript (кроме официальной документации). STFW не помогает
— то ли все ресурсы активно от меня прячутся, то ли их вообще нет 
D>Плохо у них с документацией. Подпишись на netscape.public.mozilla.jseng на news.mozilla.org. Можно в ней же на google groups поискать.
http://www.mozilla.org/js/spidermonkey/apidoc/sparse-frameset.html — JavaScript-1.5 Reference. Далеко не полная, но хоть что-то
http://www.mozilla.org/js/spidermonkey/ — home page. Я думаю вам известна.
Достаточно полезно посмотреть как с этим энжином работают другие
http://wwwsearch.sourceforge.net/python-spidermonkey/
http://users.skynet.be/saw/SpiderMonkey.htm
http://www.cs.unm.edu/~cello/jsgen/
http://www.jsdb.org/embedding.html
Посмотрите также language binding тему, C++ и JavaScript в форуме boost.langbinding
A>>Основной вопрос:
A>>После некоторой работы с контекстом: создания объектов, объявления переменных, выполнения скриптов, и т.п. хочется каким-то образом удалить из него все созданные сущности. В интерфейсе не видно функций, предназначенных для этого...
D>Или я чего-то не понимаю, или все неиспользуемые объекты должен убить GC. Может, JS_GC надо потрясти, предварительно отпустив все, что прижато? Я бы еще в сторону JSRuntime посмотрел бы. Чистое IMHO.
Я использую такую комбинацию
// creating
JSContext* cx = JS_NewContext(
fRuntime
, kStackSize
);
JSObject* scope = JS_NewObject( cx, &sGlobalClass, NULL, NULL );
...
// cleanup
JS_ClearScope(cx, scope);
JS_GC(cx);
Best regards,
Aleksey Chernoraenko