utiliza programacion objetivos español ejemplos descargar como codigo caracteristicas javascript abstract-syntax-tree

programacion - ¿Qué es JavaScript AST, cómo jugar con él?



javascript objetivos (3)

Árbol de sintaxis abstracta ... Siempre escuché esa compilación para SpiderMonkey AST en Github.
Entonces, ¿es ese un estándar real del árbol de sintaxis JS? Y hay V8, ¿V8 está usando el mismo tipo de AST?

¿Cómo puedo jugar con eso?


1. Puedes echar un vistazo al explorador AST . Una herramienta en línea para explorar los AST generados por más de 10 analizadores. Es una buena herramienta para aprender el árbol AST de un idioma.
Fuente del explorador de AST en Github.com .

2. También puede pegar su código js en el visualizador de JavaScript AST y hacer clic en el botón "mostrar ast", verá el AST visualmente.

código dems js:

function foo(d) { d += 3; return d+999 } function bar(d) { return d*100 }


Si desea probar el analizador de acron del profesor Marijnh https://github.com/marijnh pruebe este enlace: https://astexplorer.net/

Este es un pequeño y rápido analizador de JavaScript, escrito completamente en JavaScript.

El visualizador JavaScript AST mencionado anteriormente utiliza el motor Esprima y también se ha escrito en JavaScrpt.

JavaScript domina el análisis de AST porque los motores de JavaScript están super optimizados hoy. https://en.wikipedia.org/wiki/JavaScript_engine

¿SpiderMonkey AST estándar del árbol de sintaxis JS? ¿V8 usa el mismo tipo de AST?

Ambos de estos motores de navegador web tienen un procesamiento AST escrito en C ++. Esta es la razón por la que el código JavaScrpt se ejecutará rápidamente en la mayoría de los casos, a excepción de eval .


SpiderMonkey ofrece el analizador api . Esta es probablemente la forma más fácil de obtener los objetos de sintaxis.

También hay analizadores de js-js Esprima como Esprima (que es ECMAScript, en realidad, pero está en el callejón)