2011-12-18 2 views
7

Mi piace prendere il motore V8 e di trasformare il suo codice per altro linguaggio di programmazione sulla base di this per esempio se ho capito bene primo passo ho bisogno di ottenereCome accedere all'albero di analisi v8 come può essere fatto?

mia domanda l'albero sintattico è: posso ottenere già dalla v8 o devo generarlo dal codice js. qual è il modo più semplice?

+0

Vedi il mio SO risposta su quello che serve per fare questo: http://stackoverflow.com/a/ 3460977/120163 –

+1

grazie per la risposta, ma ne ho bisogno per piattaforma specifica e linguaggio specifico non "convertire a tutti" tipo di cosa – user63898

+1

Non penso che tu abbia letto attentamente la mia risposta. Converti in * uno * è difficile, anche se hai un AST. –

risposta

2

Sembra difficile ottenere AST (Annotated Syntax Tree, the Parse tree) dalla stessa V8 ma ci sono molti altri parser per JavaScript che faranno ciò che stai cercando. Consiglierei di dare un'occhiata a Esprima (http://esprima.org/) che è un parser JavaScript scritto in JavaScript. Questo ti permette di dare qualche codice sorgente JavaScript e recuperare una versione oggetto JavaScript dell'AST che puoi trasformare in un'altra lingua se vuoi (o modificarla e poi trasformarla in JavaScript o usarla per qualche altro motivo).

Hanno alcuni grandi demo on-line che dovrebbe darvi un'idea di quello che può fare: http://esprima.org/demo/index.html