PHP Lexer y Parser Generator?
parsing lexical-analysis (3)
Hay PEG para php https://github.com/hafriedlander/php-peg
Sé que le preguntaron a Lex y Yacc en PHP, pero hace 1 año.
¿Hay algún nuevo generador de analizador de PHP maduro ahora? Mis búsquedas me llevaron a los siguientes, ¿qué piensas de ellos, de los demás?
- code.google.com/p/antlrphpruntime/: la versión de ANTLR PHP pero parece ser una versión muy beta y creo que hay mucho trabajo por hacer. La ventaja es que puedo escribir la gramática en la herramienta ANTLR Works.
- pear.php.net/package/PHP_ParserGenerator/docs/0.1.7/: Lo intenté, pero parece muy complicado, para usarlo con PHP_LexerGenerator.
- sourceforge.net/projects/lime-php/: no lo intenté
- bitbucket.org/wez/lemon-php/downloads: No lo intenté
- bitbucket.org/wez/jlexphp/downloads: No lo intenté
[Respuesta:] Alguien me dio este maravilloso enlace a una vieja pregunta: ¿hay alguna alternativa para flex / bison que se pueda usar en sistemas integrados de 8 bits?
Estas publicaciones me permitieron comprender la mayor parte del código ANTLR generado. Entonces mi elección sigue siendo la misma: ANTLR aunque el proyecto parece muerto. Espero no tener que modificar el código ya que me gustaría mantenerlo.
Esperaré un poco para ver si hay otra respuesta; de lo contrario, aceptaré su consejo para seguir usando ANTLR
He portado a Jison, un clon de Bison en javascript, a php. Los resultados son un analizador asesino, capaz de manejar lexing / parsing muy simple y muy complejo. Ahora es parte de Jison, pero hay algunas actualizaciones en mi fork .
Los archivos estan aqui Consulte el archivo Léame en esa página, cree un analizador de JavaScript y php al mismo tiempo que sean capaces de hacer lo mismo o cosas diferentes.
Es estable, rápido, fácil y divertido de usar.
Propondría probar ANTLR. ANTLRWorks podría ser útil.
Escribí un generador de analizadores LL (1) en PHP puro, ya que no conocía otras soluciones basadas en PHP.