Pregunta

Perl ha sido una de mis herramientas de lenguaje de programación favoritas durante años y años. Perl 6 gramáticas parece una gran característica del lenguaje. Me gustaría saber si alguien ha comenzado algo así para Ruby.

¿Fue útil?

Solución

No. Y, dado que las gramáticas Perl6 son una función de idioma , y Ruby no permite que se extienda el idioma, en realidad es imposible implementar esto en un " complemento " ;.

Sin embargo, existen numerosas bibliotecas para Ruby que implementan diferentes tipos de análisis o sistemas de gramática. La biblioteca estándar ya contiene racc , que es un generador de analizador LALR (1) (comparable y algo compatible con el venerable yacc ). Luego está el ANTLR generador de analizador, que tiene un backend Ruby (aunque no estoy seguro de si eso realmente funciona).

Lo más cercano a las gramáticas Perl6 en Ruby sería el proyecto Ruby-OMeta (make asegúrese de echar un vistazo también a la bifurcación de Ryan Davis ), que desafortunadamente aún está en desarrollo. (O más bien, ya no está en desarrollo activo).

Entonces, teniendo en cuenta lo que realmente existe , le recomiendo que eche un vistazo a Proyecto de gramática y Treetop .

Otros consejos

Si desea utilizar gramáticas reales de Perl 6 en Ruby, su mejor opción será Cardinal , un compilador de rubíes en Parrot. Actualmente está inacabado y MUY LENTO, pero tengo la esperanza de que eventualmente sea una implementación viable de ruby. Actualmente está mayormente inactivo, a la espera de algunos cambios de infraestructura en Parrot para admitir una velocidad de análisis mejorada y características adicionales.

No sé de nada similar para Ruby.

Sin embargo, hay algo similar para Perl5, consulte Regexp :: Grammars

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top