2012-02-13 13 views
5

Soy nuevo en diseño de compilador. Conozco los conceptos básicos del diseño del compilador. Quiero desarrollar un frond end que tome un programa python como entrada y utilizando bibliotecas LLVM y el compilador LLVM JIT produce una salida. ¿Puede alguien señalarme en la dirección correcta o proporcionar algún enlace para leer? ¿Cuáles son los bloques básicos que tengo que codificar para hacer esto?¿Qué necesitaré para crear una interfaz para Python basada en la arquitectura LLVM?

Editar: Elegí este como mi proyecto. Tengo casi dos meses y medio para implementar esto. Quiero implementar esto para un pequeño subconjunto de python.

+0

La respuesta de @katriealex (ahora eliminada) * does * apunta correctamente al proyecto Unladen Swallow, que atornillaba un backend LLVM en un front-end de Python permitiendo ejecutar código Python a través de LLVM. Echale un vistazo –

Respuesta

1

Puede recompilar el bytecode de python, luego puede mantener la sintaxis de python. es decir, lenguaje frontend tal como es. Si desea una gran mejora, puede que tenga que cambiar libpython.

Mira los proyectos pyastra y pymite, hacen un subconjunto de python y ejecución nativa.

Cython puede ser útil a mitad de camino entre python y compilación.

A mayor escala, observe PyPy, Psyco y Unladen Swallow.

Cuestiones relacionadas