2012-02-13 10 views
5

Sono un neofita del design del compilatore. Conosco le basi del design del compilatore. Voglio sviluppare un frond end che prenda un programma python come input e usando le librerie LLVM e il compilatore JL LLVM produca un output. Qualcuno può indicarmi la giusta direzione o fornire un link per la lettura? Quali sono i blocchi di base che devo codificare per fare questo?Di cosa ho bisogno per creare un front-end per Python basato sull'architettura LLVM?

Modifica: Ho scelto questo come mio progetto. Ho quasi due mesi e mezzo per implementarlo. Voglio implementarlo per un piccolo sottoinsieme di python.

+0

La risposta di @katriealex (ora cancellata) * fa * indica correttamente il progetto Unladen Swallow, che ha imbullonato un backend LLVM su un front-end Python permettendo di eseguire codice Python tramite LLVM. Controlla –

risposta

1

È possibile ricompilare python bytecode, quindi è possibile mantenere la sintassi python. cioè il frontend della lingua così com'è. Se volessi un grande miglioramento, potresti dover cambiare libpython.

Dai un'occhiata ai progetti pyastra e pymite, eseguono un sottoinsieme di python e esecuzione nativa.

Cython può essere utile come a metà strada tra Python e la compilazione.

Su scala maggiore, guarda PyPy, Psyco e Unladen Swallow.

Problemi correlati