rol_007 escribiste:HOLA ESPERO PUEDAN AYUDARME NECESITO LOS DIAGRAMAS DE SINTAXIS DE PERL, ES QUE TENGO KE HACER UN COMPILADOR DEL LENGUAJE PERL PERO EN JAVA HABER SI ALGUIEN LOS TIENE
DIAGRAMAS DE SINTAXIS O BNF
GRACIAS
Haya sido mucho mejor con UN solo mensaje publicado, a fin de cuentas entendemos la ídea. Puedes obtener la gramática para flex (lex) y bison (yacc) del tarball con el source code de Perl directamente de
perl.org.
Al extraerlo checa el archivo llamado
perly.y.
Joaquin escribiste:Que yo sepa, eso no existe.
Ha habido mucha discusión de cómo realizar un parser de Perl, pero todos los intentos acaban en la famosa frase de Larry Wall: el mejor parser de Perl es el propio Perl. Vamos, el propio ejecutable, no hay más.
Creo que hay un artículo o libro publicado sobre este asunto.
Curiosamente, de perl6 ya hay una versión en Haskell.
Yo creo que si lo consigues, sería una noticia bomba, impresionante.
Pero si sólo necesitas ejecutar código perl dentro de Java, puedes utilizar esto.
Otro ejemplo podría ser eclipse con el plugin e-p-i-c. Para conseguir que el plugin sepa si la sintaxis es correcta o no, lo que hace es ejecutar (desde java) el código perl -w de forma regular.
¡Suerte!
Claro que existe!!!! Y luego como demonios funcionaría el lenguaje? La etapa de sintaxis forzosamente debe atribuirsele a una gramática. Bueno, esa frase de Larry Wall ha existido desde hace mucho tiempo, y se han intentado construir muchos parsers para Perl como tal, uno de ellos fué el nacimiento de Parse::RecDescent de Damian Conway, que hoy en día, es un parser Genérico muy poderoso. El actual proyecto PPI es un Pure Perl Parser for Perl, el cual es bastante ambicioso, funcional y chido!!!
La implementación de Perl6 en Haskell se llama
Pugs y de la misma manera, la gramática de lo que va de Perl6 también está abierta al público, después de todo sigue siendo Open Source!!! y eso no es ninguna noticia, ni bomba ni nueva, en el mundo del desarrollo de Perl.
Es difícil de construir un parser para Perl? Sí. Es imposible? No, ya hay varios intentos y funcionales.
Saludos,