2011-12-18 1 views
7

나는 V8 엔진을하고 나는 그것이 바로 첫 번째 단계 내가 파스 트리를어떻게 v8 구문 분석 트리에 액세스 할 수 있습니까?

내 질문을받을 필요가 이해하는 경우 예를 들어 this에 따라 다른 프로그래밍 언어 에 해당 코드를 변환하고자하는 것입니다 : 내가 얻을 수 그것은 이미 v8에서 또는 js 코드에서 생성해야합니다. 더 쉬운 방법은 무엇입니까?

+0

을 내는 SO가이 작업을 수행하는 데 걸리는 무엇에 대한 답변을 참조하십시오 :

는 그들은 무엇을 할 수 있는지 당신에게 느낌을 주어야한다 훌륭한 온라인 데모를 가지고 http://stackoverflow.com/a/ 3460977/120163 –

+1

답장을 보내 주셔서 감사합니다.하지만 특정 플랫폼 및 특정 언어로 변환해야합니다. "모든 것으로 변환"하지 마십시오. – user63898

+1

나는 내 대답을 신중하게 읽지 않을 것이라고 생각합니다. AST가 있어도 * one *로 변환하는 것은 어렵습니다. –

답변

2

V8에서 AST (Annotated Syntax Tree, Parse tree)를 얻기가 어려워 보이지만 찾고있는 것을 수행 할 JavaScript를위한 많은 다른 파서가 있습니다. JavaScript로 작성된 JavaScript 파서 인 Esprima (http://esprima.org/)를 살펴 보는 것이 좋습니다. 이렇게하면 JavaScript 소스 코드를 제공하고 AST의 JavaScript 객체 버전을 가져올 수 있습니다. 원하는 경우 다른 언어로 변형하거나 JavaScript로 다시 변환하거나 다른 이유로 사용할 수 있습니다. http://esprima.org/demo/index.html