2008-12-09 8 views
5

Antecedentes¿Cuál sería un buen Delphi lexer/parser para el archivo de idioma de Javascript?

Quiero ser capaz de analizar la fuente Javascript en una aplicación Delphi. Necesito poder identificar variables y funciones dentro de la fuente con el fin de realizar cambios en el código a través de código posterior. Entiendo que probablemente necesite usar un Lexer para este propósito, pero no he tenido mucha suerte usando el Lexer que encontré (Dyaclexx).

Pregunta

¿Hay un programa gratuito de código abierto adecuado o Delphi analizador/analizador léxico que ya cuenta con conjuntos de símbolo para Javascript o podría ser fácilmente modificado para este propósito sin demasiados problemas?

Si no hay tal herramienta ya está disponible a continuación, ¿cuál sería la mejor manera de aprender acerca de cómo escribir su propio analizador léxico para este fin?

de agradecimiento

Respuesta

4

Para el analizador léxico se puede ver Synedit's código fuente para el marcador Javascript. Un resaltador en el contexto de Synedit es un lexer con ganchos especiales para proporcionar resaltado al componente editor. Recortar esos ganchos y obtener un lexer simple es un trabajo trivial.

editor también SynEdit puede venir práctico mientras que aprender a construir lexers, ya que será una ayuda visual para probar sus lexers en tiempo real. Puedes ver las demostraciones o pedir más en la lista de correo.

0

Creo que debería utilizar debería mirar GoldParser (http://www.devincook.com/goldparser) para generar un analizador JS completo en código Delphi. GoldParser es freeware sin embargo.

+0

Goldparser es agradable, pero es extremadamente lento. Incluso en el código C++ optimizado para la velocidad, se necesitan 10 segundos para analizar 15000 líneas de código. Si compara esto con la velocidad del analizador de PHP, esto es extremadamente lento. – Elmue

Cuestiones relacionadas