Здравствуйте, snowstorm, Вы писали:
S>необходимо распарсить javascript в грамматическое дерево.
S>при этом нужен API обхода этого дерева (в идеале DOM-API).
S>Может встречались кому-либо opensource библиотеки или что-либо стандартное для парсинга js?
https://wiki.mozilla.org/JavaScript:SpiderMonkey:Parser_API
Или jslint посмотрите(ссылки на исходники внизу страницы):
http://www.jslint.com/lint.html
Инструментов полно, какой из них использовать, зависит, скорее, от вашего бэкграунда.
необходимо распарсить javascript в грамматическое дерево.
при этом нужен API обхода этого дерева (в идеале DOM-API).
Может встречались кому-либо opensource библиотеки или что-либо стандартное для парсинга js?
Задача в reversengenering-е JS в какую-либо модель-описание и т.п.
Т.е. есть, например, класс JS, надо представить его на диаграмме со списком функций, членов и т.п.
Z>Или jslint посмотрите(ссылки на исходники внизу страницы):
Z>http://www.jslint.com/lint.html
Z>Инструментов полно, какой из них использовать, зависит, скорее, от вашего бэкграунда.
Насколько я понял jslint — это просто валидатор, он не имеет api для обходя дерева?
Здравствуйте, snowstorm, Вы писали:
Z>>Или jslint посмотрите(ссылки на исходники внизу страницы):
Z>>http://www.jslint.com/lint.html
Z>>Инструментов полно, какой из них использовать, зависит, скорее, от вашего бэкграунда.
S>Насколько я понял jslint — это просто валидатор, он не имеет api для обходя дерева?
Не имеет, но там есть парсер с либеральной лицензией.
Здравствуйте, snowstorm, Вы писали:
S>необходимо распарсить javascript в грамматическое дерево.
S>при этом нужен API обхода этого дерева (в идеале DOM-API).
S>Может встречались кому-либо opensource библиотеки или что-либо стандартное для парсинга js?
S>Задача в reversengenering-е JS в какую-либо модель-описание и т.п.
S>Т.е. есть, например, класс JS, надо представить его на диаграмме со списком функций, членов и т.п.
Был такой проект NJS:
http://sourceforge.net/projects/njs/
Он содержит JS compiler написанный на самом JS.
Посмотри, насколько я помню он там что-то типа AST строит.