
Έχω έναν σκληρό χρόνο προσπαθώντας να καταλάβουν τη μετάφραση PyPy του. Μοιάζει με κάτι εντελώς επαναστατικό από την απλή ανάγνωση της περιγραφής, όμως είμαι πιεσμένοι για να βρείτε καλή τεκμηρίωση για τα πραγματικά τη μετάφραση ενός πραγματικού κόσμου κομμάτι του κώδικα σε κάτι, όπως LLVM. Μήπως υπάρχει ένα τέτοιο πράγμα; Η επίσημη τεκμηρίωση PyPy σε αυτό ακριβώς ακροθιγώς και πάνω από τη λειτουργικότητα, αντί να παρέχει κάτι που μπορώ να δοκιμάσω τον εαυτό μου.

 
Πού μπορώ να μάθω περισσότερα σχετικά με τη λειτουργία μετάφρασης PyPy του;
===========================================================================



Το έγγραφο φαίνεται να πάει σε αρκετά ένα κομμάτι της λεπτομέρεια (και νομίζω ότι μια πλήρης περιγραφή είναι έξω από το πεδίο εφαρμογής για μια απάντηση Stackoverflow):


* <http://codespeak.net/pypy/dist/pypy/doc/translation.html>


Η γενική ιδέα του μετάφραση από τη μία γλώσσα στην άλλη δεν είναι ιδιαίτερα επαναστατική, αλλά έχει μόλις πρόσφατα κερδίζει δημοτικότητα / εφαρμογής σε «πραγματικό κόσμο» εφαρμογές. [GWT](http://code.google.com/webtoolkit/) κάνει αυτό με Java (παραγωγή Javascript) και υπάρχει μια βιβλιοθήκη για τη μετάφραση Haskell σε διάφορες άλλες γλώσσες (που ονομάζεται [YHC](http://www.haskell.org/haskellwiki/Yhc) )

 

Ψάχνετε για Python συγκεκριμένη μετάφραση, ή απλά το γενικό «πώς να συντάξει ένα κώδικα για να bytecode»; Αν η τελευταία είναι η περίπτωσή σας, ελέγξτε [το φροντιστήριο LLVM](http://llvm.org/docs/tutorial/) . Ιδιαίτερα βρείτε κεφάλαιο δύο, που σας διδάσκει για να γράψει ένα compiler για τη δική σας γλώσσα, ενδιαφέρουσα.

 

Αν θέλετε κάποια παραδείγματα χέρι-on, [Ξεκινώντας PyPy του](http://codespeak.net/pypy/dist/pypy/doc/getting-started.html) εγγράφου έχει μια ενότητα με τίτλο «Προσπαθώντας από τον μεταφραστή».

 

PyPy μεταφραστής είναι σε γενικές γραμμές, δεν προορίζονται για περισσότερη δημόσια χρήση. Το χρησιμοποιούμε για τη μετάφραση δική μας διερμηνέας python (συμπεριλαμβανομένης της ΚΟΕ και τους ΕΚ, τόσο γραμμένο σε RPython, αυτό το περιορισμένο υποσύνολο των Python). Η ιδέα είναι ότι με καλή ΚΟΕ και GC, θα είστε σε θέση να επιταχύνσεις, ακόμη και χωρίς να γνωρίζουν ή να χρησιμοποιούν τη μετάφραση toolchain PyPy (και το πιο σημαντικό, χωρίς να περιορίζει τον εαυτό σας να RPython).


Cheers, fijal

 


> 
> Μοιάζει με κάτι εντελώς επαναστατικό από την απλή ανάγνωση της περιγραφής,
> 
> 
> 


Απ 'όσο ξέρω, PyPy είναι μυθιστόρημα, με την έννοια ότι είναι το πρώτο σύστημα που έχουν σχεδιαστεί για *την εφαρμογή* γλώσσες. Υπάρχουν άλλα εργαλεία για να σας βοηθήσει με ένα μεγάλο μέρος της πολύ εμπρόσθιο άκρο, όπως γεννήτριες αναλυτή, ή για την πολύ πίσω τέλος, όπως η παραγωγή κώδικα, αλλά όχι πολύ υπήρχαν για τη σύνδεση των δύο.

 