2011-12-18 13 views
7

chciałbym wziąć silnik V8 i przekształcić swój kod do innych języków programowania oparciu o this na przykład jeśli dobrze rozumiem to dobrze pierwszy etap i trzeba uzyskać drzewie analizowaniaJak uzyskać dostęp do drzewa składni v8, jak to zrobić?

moje pytanie brzmi: mogę dostać to już od wersji 8 lub czy muszę wygenerować go z kodu js. jaki jest prostszy sposób?

+0

zobaczyć moje SO odpowiedzieć na to, czego potrzeba, aby to zrobić: http://stackoverflow.com/a/ 3460977/120163 –

+1

Dziękuję za odpowiedź, ale potrzebuję go do określonej platformy i konkretnego języka, a nie do "przekonwertowania do wszystkich". – user63898

+1

Nie uważam, żebyś uważnie przeczytał moją odpowiedź. Konwertowanie na * jeden * jest trudne, nawet jeśli masz AST. –

Odpowiedz

2

Wygląda na to, że trudno jest uzyskać drzewo AST (drzewo składni z adnotacjami, drzewo parse) z V8, ale istnieje wiele innych parserów dla JavaScript, które wykonają to, czego szukasz. Polecam rzucić okiem na Esprima (http://esprima.org/), który jest parserem JavaScript napisanym w JavaScript. Pozwala to na podanie kodu źródłowego JavaScript i uzyskanie wersji obiektu AST obiektu JavaScript, który można przekształcić na inny język, jeśli chcesz (lub zmodyfikuj, a następnie przekształć z powrotem w JavaScript lub użyj z innego powodu).

Mają wspaniałe prezentacje online, które powinny dać się wyczuć, co może zrobić: http://esprima.org/demo/index.html

Powiązane problemy