Κεφάλαιο 2: Μεταφραστές



Σχετικά έγγραφα
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Μεταγλωττιστής. Μεταφραστές. Γλώσσες. Είδη Μεταγλωττιστών. Μεταγλωττιστής Τελικό πρόγραµµα (object program) Εισαγωγή Αρχικό πρόγραµµα (source program)

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Εισαγωγή. Γλώσσες προγραμματισμού Μεταγλωττιστές Αναγκαιότητα και ιστορική αναδρομή

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

ΚΑΤΑΝΟΗΣΗ ΑΝΑΛΥΣΗ ΕΠΙΛΥΣΗ. Ο προγραμματισμός ασχολείται με το σύνολο των εντολών που δίνονται στον υπολογιστή ώστε να υλοποιείται ο αλγόριθμος.

Α. Ερωτήσεις Ανάπτυξης

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Λογισμικό Συστήματος. Κλειώ Σγουροπούλου

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Εισαγωγή στον Προγραμματισμό

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Εισαγωγή στον προγραμματισμό

Βασίλειος Κοντογιάννης ΠΕ19

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΑΕΠΠ Ερωτήσεις θεωρίας

6. Εισαγωγή στον προγραµµατισµό

Μαλούτα Θεανώ Σελίδα 1

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Πληροφορική 2. Γλώσσες Προγραμματισμού

Επιµέλεια Θοδωρής Πιερράτος

6. 1 Η έννοια του προγράμματος

ΚΕΦΑΛΑΙΟ 6 Ο ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΚΕΦΑΛΑΙΟ VI. Εισαγωγή στον προγραμματισμό

Κεφάλαιο 6 Εισαγωγή στον Προγραμματισμό. 26-Jun-15 ΑΕΠΠ - Καραμαούνας Π. 1

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ονοματεπώνυμο: Βαθμός:

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός και Εφαρμογές Υπολογιστών

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Περί Προγραμματισμού και Γλωσσών Προγραμματισμού

ΚΕΦΑΛΑΙΟ 6: Γλώσσες. 6.1 Ιστορική εξέλιξη 6.4 Υλοποίηση γλώσσας. Κεφάλαιο 6: «Γλώσσες Προγραµµατισµού»

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Προγραμματισμός I (Θ)

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

Δομημένος Προγραμματισμός

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Σχεδίαση Αλγορίθμων (κεφάλαιο 2 του παρόντος μαθήματος) Αρχιτεκτονική Υπολογιστών (κεφάλαιο 4 του παρόντος μαθήματος)

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ ΤΗΣ Γ' ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Εισαγωγή στον δομημένο προγραμματισμό

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Εργαστήρι Πληροφορικής Αλγόριθµος 92 Σηµειώσεις Τεχνολογικής Κατεύθυνσης Γλώσσες µηχανής Αρχικά για να µπορέσει ο υπολογιστής να εκτελέσει µία οποιαδή

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Στέφανος Ουγιάρογλου

Ενότητα 2 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΥΠΟΛΟΓΙΣΤΩΝ

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Τεχνολογία Λογισμικού

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 3 : Γλώσσες προγραμματισμού. Δρ.

Κεφάλαιο 1: Εισαγωγή. Αρχές Γλωσσών και Προγραμματισμού και Μεταφραστών. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήμιο Πατρών

Η γλώσσα προγραμματισμού C

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Transcript:

Κεφάλαιο 2: Μεταφραστές Αρχές Γλωσσών και Προγραμματισμού

Λειτουργία Μετάφρασης ΑΡΧΙΚΗ ΓΛΩΣΣΑ (Source) L A ΓΛΩΣΣΑ ΥΛΟΠΟΙΗΣΗΣ ΜΕΤΑΦΡΑΣΤΗ (Implementation) L Y ΤΕΛΙΚΗ ΓΛΩΣΣΑ (Target) L T Αρχικό Πρόγραμμα Μεταφραστής Τελικό Πρόγραμμα ιαγνωστικά Μηνύματα Συμβολισμός: A T C, Y

Είδη Μεταφραστών (1) Απλοί Αντίστροφοι (decompilers) Από Γλώσσα Μηχανής σε Γλώσσα Υψηλού Επιπέδου Χρήσιμοι για κατανόηση και debugging προγραμμάτων σε Γλώσσα Μηχανής Μετα-Μεταφραστές (meta-compilers) Χρήση: Υλοποίηση μεταφραστών Παραμετρικοί ως προς αρχική και τελική γλώσσα Χρησιμοποιούν μετα-γλώσσα για την περιγραφή τους Χρησιμότητα: Λιγότερη δουλειά για την κατασκευή του μεταφραστή

Είδη Μεταφραστών (2) ύο κατηγορίες μετα-μεταφραστών: Προσαρμοζόμενοι - λειτουργούν ως ένας μεταφραστής για το ζεύγος «αρχική γλώσσα» - «τελική γλώσσα» (adjustable meta-compilers) Περιγραφή Αρχικής Γλώσσας Αρχικό Πρόγραμμα Προσαρμοζόμενος Μετα-μεταφραστής Τελικό Πρόγραμμα Περιγραφή Τελικής Γλώσσας

Είδη Μεταφραστών (2) Μετα-μεταφραστές γεννήτορες - παράγουν το Μεταφραστή (meta-compiler generators) Περιγραφή Αρχικής Γλώσσας Μετα-μεταφραστής Γεννήτορας Μεταφραστής Περιγραφή Τελικής Γλώσσας

Ειδικές περιπτώσεις προγραμμάτων που θεωρούνται Μεταφραστές (1) Προεπεξεργαστές (preprocessors) Αρχική και Τελική είναι Γλώσσες Υψηλού Επιπέδου (ΓΥΕ) Υποστήριξη πρόσθετων χαρακτηριστικών της ΓΠ Αφαιρεί σχόλια και κενά, Ομαδοποιεί χαρακτήρες σε tokens Π.χ. προεπεξεργαστές της C, της ΡΗΡ Συμβολομεταφραστές (assemblers) Από Συμβολική Γλώσσα (assembly) σε Γλώσσα Μηχανής ιευκολύνει τη διόρθωση (η assembly είναι εύκολα αναγνώσιμη) Απομονώνει το μεταφραστή από αλλαγές στη μορφή των αρχείων της γλώσσας μηχανής (μόνο ο assembler πρέπει να αλλάξει)

Ειδικές περιπτώσεις προγραμμάτων που θεωρούνται Μεταφραστές (2) Γεννήτορες Προγραμμάτων (program generators) Για την αυτόματη κατασκευή προγραμμάτων Π.χ. flex, bison για κατασκευή λεξικών και συντακτικών αναλυτών γραμμένων σε C Είσοδος: Προδιαγραφές προγράμματος σε Αρχική Γλώσσα (συνήθως όχι ΓΠ, π.χ. αλγοριθμική περιγραφή) Έξοδος: Πρόγραμμα σε Τελική Γλώσσα (Υψηλού Επιπέδου)

Χρήσιμα εργαλεία στην ανάπτυξη λογισμικού (1) Βιβλιοθήκη χρόνου εκτέλεσης (run-time library) Π.χ. της C περιέχει τον εκτελέσιμο κώδικα για τις προκαθορισμένες συναρτήσεις (printf, ) Συνδέτης (linker) Συνδέει 1 ή περισσότερα μεταφρασμένα προγράμματα και run-time libraries για να δώσει εκτελέσιμο κώδικα Φορτωτής (loader) Τοποθετεί τον εκτελέσιμο κώδικα στη μνήμη για να εκτελεστεί Συνήθως είναι τμήμα του Λειτουργικού Συστήματος (ΛΣ)

Χρήσιμα εργαλεία στην ανάπτυξη λογισμικού (2) Εκδότες Προγραμμάτων (program editors) Καταγραφή και διόρθωση προγραμμάτων Εντοπιστές σφαλμάτων (debuggers) Βηματική εκτέλεση προγράμματος Παρακολούθηση τιμών μεταβλητών Τοποθέτηση σημείων διακοπής εκτέλεσης Στατιστικοί αναλυτές (profilers) Μέτρηση κλήσεων/εκτέλεσης τμημάτων προγρ/τος Μέτρηση χρόνου εκτέλεσης εντολών Ανακάλυψη τμημάτων που δεν εκτελέστηκαν

Ολοκληρωμένο Περιβάλλον Προγραμματισμού Εκδότης προγράμματος Αρχικό πρόγραμμα Προεπεξεργαστής ΜΕΤΑΦΡΑΣΤΗΣ Προεπεξεργασμένο πρόγραμμα Εντοπιστής σφαλμάτων Στατιστικός αναλυτής Βιβλιοθήκη χρόνου εκτέλεσης Συμβολομεταφραστής Συνδέτης Πρόγραμμα σε συμβολική γλώσσα Ασύνδετο πρόγραμμα σε Γλώσσα Μηχανής Τελικό συνδεδεμένο εκτελέσιμο πρόγραμμα

Κατασκευή Μεταφραστή Κυρίως χειρονακτική εργασία Σήμερα γίνεται υβριδικά: Ορισμένα τμήματα (λεξικός και συντακτικός αναλυτής) αυτόματα, τα υπόλοιπα χειρωνακτικά Ορισμός προβλήματος Σύνταξη (λεξική και συντακτική ανάλυση) Τυπικοί συμβολισμοί: Πεπερασμένα αυτόματα, BNF, Συντακτικά ιαγράμματα Σημασιολογία Πολύ πιο δύσκολος

ιερμηνείς (Interpreters) Μετάφραση βήμα βήμα Μετάφραση στην Αρχική Γλώσσα ή σε ενδιάμεση ΠΛΕΟΝΕΚΤΗΜΑΤΑ: Γραμμένοι σε ΓΥΕ μεταφέρονται σε πολλές μηχανές Πιο εύκολοι στην κατασκευή Καλύτερος έλεγχος και αναφορά σφαλμάτων Προσφέρουν αυξημένη ασφάλεια Κατάλληλοι για εφαρμογές στο Internet MEIONEKTHMA: Πολύ αργοί

Μετάφραση vs ιερμηνεία (1) εν είναι αντίθετα εν υπάρχει σαφής διάκριση Καθαρή μετάφραση: Ο μεταφραστής μεταφράζει τον αρχικό κώδικα υψηλού επιπέδου σε ισοδύναμο τελικό πρόγραμμα (συνήθως σε γλώσσα μηχανής) και δεν χρησιμοποιείται πλέον:

Μετάφραση vs ιερμηνεία (2) Καθαρή ιερμηνεία: Ο διερμηνέας σχετίζεται με την εκτέλεση του προγράμματος Είναι το κέντρο ελέγχου κατά τη διάρκεια της εκτέλεσης

Μετάφραση vs ιερμηνεία (3) Μία κοινή πρακτική είναι αρχικά μετάφραση ή απλή προ-επεξεργασία, ακολουθούμενη από διερμηνεία Οι περισσότερες υλοποιήσεις γλωσσών περιέχουν μια μίξη από μετάφραση και διερμηνεία

Μετάφραση vs ιερμηνεία (4) Η μετάφραση ΕΝ χρειάζεται να παράγει γλώσσα μηχανής για κάποιο είδος hardware. Η μετάφραση είναι μεταγλώττιση από μια γλώσσα σε μια άλλη, με πλήρη ανάλυση της εισόδου Η μετάφραση συνεπάγεται σημασιολογική κατανόηση για ότι επεξεργάζεται. Η προεπεξεργασία όχι Ένας προ-επεξεργαστής συχνά αφήνει λάθη να περάσουν.

Μετάφραση vs ιερμηνεία (5) Πολλές μεταφρασμένες γλώσσες έχουν διερμηνευμένα κομμάτια, π.χ. τα formats σε Fortran ή C. Οι περισσότερες μεταφρασμένες γλώσσες χρησιμοποιούν «εικονικές εντολές» Λειτουργίες συνόλων στην Pascal Χειρισμός strings στην Basic Μερικοί μεταφραστές παράγουν μόνο εικονικές εντολές π.χ. Pascal P-code, Java byte code, Microsoft COM+

Μετάφραση vs ιερμηνεία (6) Source-to-source μετάφραση (C++) Οι C++ υλοποιήσεις που βασίζονται στον πρώιμο AT&T μεταφραστή, δημιουργούν ένα ενδιάμεσο πρόγραμμα σε C, αντί ενός προγράμματος σε γλώσσα assembly.