2010-11-27 15 views
6

He buscado mucho y he entendido que existe en línea :: Python para poner el código python dentro de Perl .. Pero estoy buscando algún medio por el cual pueda acceder a los módulos y funciones escritos en Perl al no escribir ningún Código Perl, a través de un código python.¿Puedo llamar a Perl desde python?

Tal vez, ¿estoy pidiendo demasiado?

Respuesta

5

Creo que este es el tipo de cosas que el Parrot project tiene como objetivo permitir. Es una máquina virtual que se supone que puede ejecutar varios lenguajes dinámicos, incluidos Python y Perl. Sin embargo, no tengo idea de qué tan preparado está para el uso real, y nunca he visto instrucciones para personas que quieran usar Parrot, en lugar de desarrollarlo.

0

Puede usar Python's language services para analizar Perl y generar un Python AST (con un FFI apropiado para cualquier módulo escrito en C), pero no he visto tal empresa antes.

+1

... sin mencionar que Perl es extremadamente difícil, si no imposible, de analizar (estáticamente). Además, Perl no es exactamente un lenguaje simple. En pocas palabras: esta no es una opción. – delnan

+0

@delnan: Python tampoco es un lenguaje simple y, sin embargo, logra ser analizado. –

+7

Python no tiene operadores suficientes para completar una tabla periódica completa, por ejemplo;) Perl tiene una docena de accesos directos y casos especiales para cientos de cosas, y todas ellas deben estar cubiertas por un Pprser. La gramática de Python no es nada que le deis a un alumno en un curso de construcción de compiladores, pero sí es manejable y bastante "regular" (no como en el lenguaje habitual). La gramática de Perl es muchas veces más grande y compleja. Como dice el refrán, "Sólo Perl puede analizar Perl". – delnan