2011-06-02 23 views
35

que he visto algo de JavaScript analizador generadores:Javascript generador de análisis

  1. Jison (http://zaach.github.com/jison/)

  2. PEG.js (http://pegjs.majda.cz/)

  3. antlr (http://www.antlr.org/)

  4. JS/CC (http://jscc.jmksf.com/)

¿Alguien tiene alguna experiencia con ellos?

¿Cuáles son los pros y contras? ¿Están estas bibliotecas listas para producción? Y el rendimiento?

EDITAR:
Quiero analizar y ejecutar un idioma diferente en javascript

+6

Esta pregunta no debería haberse cerrado como "no constructiva". Pedir ventajas y desventajas de los módulos y las herramientas de programación no es de ninguna manera subjetiva. –

+0

Acepto que esto no debería haber sido marcado como "no constructivo". Por ejemplo, el rendimiento de los generadores de analizadores JavaScript se puede medir utilizando un [punto de referencia] (http://sap.github.io/chevrotain/performance/) y un punto de referencia no es subjetivo ... – bd82

Respuesta

2

No estoy seguro de si quieres un generador de filtros que escupir un analizador JavaScript escrito o un generador de filtros que utilizaría una gramática de JavaScript para construir un analizador de JavaScript.

De todos modos, solo he usado ANTLR y JavaCC. ANTLR le permite generar su analizador en diferentes idiomas (C, C#, Java) y es muy bueno verificar sus expresiones gramaticales libres de contexto en su forma de árbol GUI. Nunca encontró una gramática de JavaScript para eso.

JavaCC tiene un inconveniente. Solo genera el analizador en Java. Por otro lado, me resultó más fácil aprender y pasar de la parte en la que construyes el analizador a lo que considero la mejor parte: crear lo que quieras a su alrededor, por ejemplo, el traductor de código, el rephraser, etc., etc.

+0

Quiero analizar y ejecutar un archivo diferente idioma en javascript. – Atomble

+0

@Atomble Hay una demostración en línea de Jison, por lo que es muy fácil comenzar con ella: http://zaach.github.io/jison/try/ –

+0

JavaCC se puede usar junto con GWT para generar analizadores basados ​​en JavaScript según el siguiente blog: http://consoliii.blogspot.co.uk/2014/04/creating-gwt-compatible-parser-using.html – Chris

9

PEG.js es increíblemente fácil de usar. Su función "probar en línea" es realmente útil para aprender a usar el sistema rápidamente. Actualmente lo estoy usando en el entorno de Rhino para analizar el idioma que estoy escribiendo. No soy un gran admirador de Rhino, pero PEG.js seguro es bueno.

Cuestiones relacionadas