Domanda

Ho avuto un momento difficile cercando di capire PyPy di traduzione.Sembra qualcosa di assolutamente rivoluzionario, semplicemente leggendo la descrizione, comunque io sono in difficoltà a trovare una buona documentazione in realtà la traduzione di un mondo reale pezzo di codice per qualcosa come LLVM.Fa una cosa del genere esiste?Ufficiale PyPy documentazione sfiori la funzionalità, piuttosto che fornire qualcosa che posso provare a me stesso.

È stato utile?

Soluzione

Questo documento sembra di andare in un bel po ' di dettagli (e penso che una descrizione completa è fuori portata per un stackoverflow risposta):

L'idea generale di tradurre da una lingua all'altra non è particolarmente rivoluzionario, ma solo recentemente è stato guadagnando popolarità / applicabilità nel "mondo reale" di applicazioni. GWT lo fa con Java (generazione di Javascript) e c'è una libreria per la traduzione di Haskell in varie altre lingue (chiamato YHC)

Altri suggerimenti

Se volete una mano su esempi, PyPy sta per iniziare il documento ha una sezione intitolata "Provare il traduttore".

PyPy traduttore è, in generale, non sono destinati per più di uso pubblico.Usiamo per la traduzione nostra interprete python (compreso il JIT e Cv, entrambi scritti in RPython, questo limitata sottoinsieme di Python).L'idea è che con una buona JIT e GC, sarete in grado di speedups anche senza sapere o l'utilizzo di PyPy traduzione toolchain (e, soprattutto, senza limitare a voi stessi di RPython).

Ciao fijal

Stai cercando Python traduzione specifica, o solo il generale "come si fa a compilare un po 'di codice per bytecode"?Se quest'ultimo è il caso, controllare LLVM tutorial.In particolare mi trova capitolo due, che insegna a scrivere un compilatore per il linguaggio, interessante.

Sembra qualcosa di assolutamente rivoluzionario, dalla semplice lettura della descrizione,

Per quanto ne so, PyPy è un romanzo nel senso che è il primo sistema progettato espressamente per l'attuazione di le lingue.Altri strumenti esistono per aiutare con il front-end, come i generatori di parser, o per il back-end, come ad esempio la generazione di codice, ma non molto esisteva per collegare i due.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top