Как я могу получить доступ к дереву разбора v8, как это можно сделать? - PullRequest
7 голосов
/ 18 декабря 2011

Мне нравится брать движок v8 и преобразовывать его код в другой язык программирования на основе этого , например, если я правильно понимаю первый шаг, мне нужно получить дерево разбора

мой вопрос: могу ли я получить его уже из v8 или мне нужно сгенерировать его из кода js.что проще?

1 Ответ

2 голосов
/ 27 марта 2014

Трудно получить AST (аннотированное синтаксическое дерево, дерево синтаксического анализа) от самого V8, но есть много других парсеров для JavaScript, которые сделают то, что вы ищете.Я бы порекомендовал взглянуть на Esprima (http://esprima.org/), который является синтаксическим анализатором JavaScript, написанным на JavaScript. Это позволяет вам дать некоторый исходный код JavaScript и вернуть объектную версию JavaScript AST, которую вы можете преобразовать в другую).язык, если хотите (или измените, затем преобразуйте обратно в JavaScript или используйте по какой-либо другой причине).

У них есть несколько отличных онлайн-демонстраций, которые должны дать вам представление о том, что он может делать: http://esprima.org/demo/index.html

...