Μεταγλωττιστές Μεταγλωττιστής είναι το λογισμικό το οποίο πραγματοποιεί την μετάφραση ενός προγράμματος από μία γλώσσα σε μία άλλη. Γιατί ασχολούμαστε.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 2: Πίνακες και δυναμικά δεδομένα στη FORTRAN 90 Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
Advertisements

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 4: Δείκτες, συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ.
CS Market Place Έλενα Μιχαήλ, Ιωάννα Ηρακλέους, Γιώργος Χατζηζωρζής, Χάρης Παναγή.
Εισαγωγή Ειδικά Θέματα Μεταγγλωτιστών Χειμερινό Εξάμηνο / Κατασκευή compiler για την γλώσσα Minijava.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
Μετατροπή Εκφράσεων σε C
Διαφάνειες παρουσίασης #2
Πολυδιάστατοι πίνακες α) Στατικοί πίνακες Πως δηλώνονται: π.χ. INTEGER A(3,5) REAL B(1991:2000,1:12) REAL C(4,8,12:20) ή INTEGER, DIMENSION(3,5)::A REAL,
Υποπίνακες REAL A(10) A(1:9:2)=7 τότε θα έχουμε A(1)=A(3)=A(5)=A(7)=A(9)=7 A(3:)=7 τότε θα έχουμε A(3)=…=A(10)=7 A(:5)=7 τότε θα έχουμε A(1)=A(2)=A(3)=A(4)=A(5)=7.
V ERILOG 3. Coding styles. HY Παπαευσταθίου Γιάννης2 Τα στυλ του κώδικα Και εμάς τι μας νοιάζει; –Διαφορετικός κώδικας για διαφορετικούς σκοπούς.
Τεχνολογία ΛογισμικούSlide 1 Εκτέλεση σε Πραγματικό Χρόνο Τεχνολογία Λογισμικού Slide 25.
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Έλεγχος Ροής - Παραδείγματα Χειμερινό Εξάμηνο 2015.
Απόκλίσεις της σπονδυλικής στήλης Σκολίωση, Κύφωση, Λόρδωση
ΩΜΟΣ.
12. Αναπαραγωγή & ανάπτυξη Βιολογία Α’ Λυκείου. Αναπαραγωγή Το μόνο σύστημα που δεν είναι απαραίτητο για επιβίωση Ύπαρξη 2 διαφορετικών φύλων Πρωτεύοντα.
Η καθημερινή ζωή στο Βυζάντιο Εργασία της μαθήτριας: Τζένη Αλουσάι στο μάθημα της Ιστορίας ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΗΤΡΙΑ:κα.Τσαούση.
ΑΣΤΡΙΝΆΚΗ ΜΑΡΊΑ Δυσδιάστατοι πίνακες. Γιατί πολυδιάστατους πίνακες; Αναλόγως με τις ανάγκες του προγράμματος, μπορεί να είναι πιο εύχρηστοι Προβλήματα.
Ποιοτικός Έλεγχος Πρώτων Υλών Ενότητα 3: Ποιοτικός Έλεγχος στα Έπιπλα Γεώργιος Νταλός, Καθηγητής, Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου και Επίπλου, T.E.I.
Καθηγητής Νίκος Λορέντζος Προγραμματισμός & Εφαρμογές Υπολογιστών Κωδικός Μαθήματος: 2890 Κωδικός Διαφανειών: MKT130 Γεωπονικό Πανεπιστήμιο Αθηνών Τμήμα.
Test.
Test.
Σύγκριση ομάδων Πολλές φορές στην εκπαιδευτική έρευνα θέλουμε να συγκρίνουμε τις τιμές δύο γκρουπ, χωρίς να έχουμε κανονικές κατανομές.
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015.
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη.
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Μια διαφορετική προσέγγιση...
ΤΕΙ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ Τμήμα Λογιστικής και Χρηματοοικονομικής
Η Γλώσσα Pascal Εντολή If
Βελτιστοποίηση σε τρίλιζα Καταδίωξη/διαφυγή
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Γυμνάσιο Νέας Κυδωνίας
Καθορίζουν το είδος των υπό δημιουργία περιπτώσεων ελέγχου.
Εφαρμογές Υπολογιστών
ΕΠΑΓΓΕΛΜΑΤΙΚΟΥ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΓΙΑ ΤΙΣ ΑΣΤΥΝΟΜΙΚΕΣ ΣΧΟΛΕΣ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Επιμέλεια: Ελευθερία Φανουράκη
ΜΕΤΑΣΧΗΜΑΤΙΣΤΕΣ.
ΕΡΓΑΣΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Ένα ζευγάρι ηλικιωμένων παίρνει διαζύγιο…..
ΕΛΕΓΧΟΙ ΥΠΟΘΕΣΕΩΝ ΣΕ ΠΟΙΟΤΙΚΕΣ ΜΕΤΑΒΛΗΤΕΣ
Αρχές Οργάνωσης και διοίκησης επιχειρήσεων 1ο εξάμηνο ΛΕΟΝΤΙΤΣΗ ΛΟΥΚΙΑ
ΑΚΡΟΠΟΛΗ ΠΑΡΘΕΝΩΝΑΣ ΕΡΕΧΘΕΙΟ - ΚΑΡΥΑΤΙΔΕΣ
Δημιουργία συστήματος υποστήριξης αποφάσεων και έλεγχο διαθεσιμότητας
ΑΛΓΟΡΙΘΜΟΣ «ΕΥΡΕΣΗ ΜΕΣΟΥ ΟΡΟΥ ΠΙΝΑΚΑ ΜxN»
«Από τη MicroWorlds Pro στην Python»
Σχεδιασμός με αναζήτηση στο χώρο πλάνων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΑΝΩΤΑΤΗ ΣΧΟΛΗ ΠΑΙΔΑΓΩΓΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΠΜΣ «ΣΥΜΒΟΥΛΕΥΤΙΚΗ ΚΑΙ ΕΠΑΓΓΕΛΜΑΤΙΚΟΣ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΣ»
Ενέργεια και περιβάλλον
Η στήριξη και η κίνηση στους ζωικούς οργανισμούς
Εφαρμογές Υπολογιστών
Κεφάλαιο 4. Επίπεδο μεταφοράς
Η Κωνσταντινα και οι αραχνεσ τησ
Γεώργιος Βιζυηνός Γέννηση Θάνατος Υπηκοότητα Ιδιότητα
Η σοκολάτα στη διατροφή μας
Μάθημα 2ο Δημιουργία χαρακτήρα Συγγραφή σκηνής.
Διαδίκτυο Κίκα Χρυσοστόμου.
Μετασχηματίζοντας την διαδικασία ίδρυσης των Ε.Π.Ε.
Κεφάλαιο 7 10/11/2018 Ξένιος Αντωνιάδης.
أثر بعض استراتيجيات حل المشكلات الرياضية وتكوينها
ΦΥΛΕΤΙΚΟΣ ΔΙΜΟΡΦΙΣΜΟΣ ΕΓΚΕΦΑΛΟΥ
مديريت مالي 1 رشته هاي حسابداري و مديريت
Τέστ Μπανάνας Test de la banane: Κάνε κλίκ!.
Διασκευή 8 Ανακαλύπτοντας το θέμα στο υπό διασκευή σενάριο
ΕΑΠ – ΠΛΗ24 2η ΟΣΣ.
به نام آنکه هستی نام ازو یافت
Το μοντέλο JOHARI.
Εισαγωγή στον αλγεβρικό λογισμό
Τα άστρα και οι μύθοι τους.
ΗΥ565 Συστήματα Διαχείρισης Διεργασιών
- Ηλίας Μπουναρτζής
Μεταγράφημα παρουσίασης:

Μεταγλωττιστές Μεταγλωττιστής είναι το λογισμικό το οποίο πραγματοποιεί την μετάφραση ενός προγράμματος από μία γλώσσα σε μία άλλη. Γιατί ασχολούμαστε με τη μελέτη της δομής και των τεχνικών ανάπτυξης μεταγλωττιστών; κατανόηση του τρόπου λειτουργίας τους και καλύτερη αξιοποίηση των δυνατοτήτων τους δυνατότητα δημιουργίας νέων γλωσσών (προγραμματισμού, σεναρίων, εντολών κ.α.) ή απλών λειτουργιών αναγνώρισης συμβολοσειρών και αυτοματοποιημένης επεξεργασίας κειμένου εξοικείωση με τεχνικές αναπαράστασης δεδομένων σε επίπεδο μηχανής ΕΑΠ – ΠΛΗ24

Front End Back End Φάσεις Μεταγλώττισης ΕΑΠ – ΠΛΗ24

Λεκτική ανάλυση Παράδειγμα Έχει σαν στόχο την ομαδοποίηση των χαρακτήρων του πηγαίου προγράμματος σε λογικές οντότητες, σύμφωνα με τον ορισμό της πηγαίας γλώσσας. Οι ομάδες χαρακτήρων ονομάζονται ατομικές λεκτικές μονάδες (tokens). Κάθε token έχει τύπο και μπορεί να έχει τιμή. Παράδειγμα Έκφραση sum=sum+2*a Λ.Μ. Τύπος Τιμή sum όνομα = τελεστής + 2 αριθμός * a ΕΑΠ – ΠΛΗ24

Συντακτική ανάλυση Δέχεται ως είσοδο την ακολουθία λεκτικών μονάδων που παράγονται κατά τη λεκτική ανάλυση και προσπαθεί να ανιχνεύσει τη δομή του προγράμματος κάνοντας χρήση συντακτικών κανόνων. Παράγει μία δομή που ονομάζεται συντακτικό δένδρο. Έκφραση Έκφραση Εκχώρησης τιμής Όνομα sum = + Αριθμός 2 a * ΕΑΠ – ΠΛΗ24

Σημασιολογική ανάλυση Καθορίζει την στατική και δυναμική συμπεριφορά του πηγαίου προγράμματος κατά την εκτέλεση. Έκφραση Έκφραση Εκχώρησης τιμής Όνομα sum integer = + Αριθμός 2 a * ΕΑΠ – ΠΛΗ24

Παραγωγή Ενδιάμεσου Κώδικα / Βελτιστοποίηση Μετά την σημασιολογική ανάλυση, μπορεί να παραχθεί μία γραμμική αναπαράσταση του συντακτικού δένδρου, γνωστή με τον όρο κώδικας τριών διευθύνσεων. Το παραγόμενο δένδρο και ο κώδικας τριών διευθύνσεων είναι εναλλακτικές μορφές ενδιάμεσου κώδικα . Περιπτώσεις βελτιστοποιήσεων: σύμπτυξη σταθερών π.χ. i*1 => i ή i*0 => 0 διάδοση εντολών εκχώρησης τιμής στο υπόλοιπο πρόγραμμα. π.χ. i = 5 και j = i + k => j = 5 + k απομάκρυνση των μη προσιτών τμημάτων κώδικα π.χ. i=5 και if (i<3) print (“Test”); => i=5 μετακίνηση κώδικα έξω από βρόχους επανάληψης π.χ. for(i=0;i<5;i++) { j++;k=j;} => for(i=0;i<5;i++) { j++;} k=j; ΕΑΠ – ΠΛΗ24

Σύνθεση τελικού προγράμματος / Βελτιστοποίηση H ενδιάμεση αναπαράσταση του πηγαίου προγράμματος απεικονίζεται με συστηματικό τρόπο στο ρεπερτόριο εντολών της γλώσσας-στόχο. Ο τελικός κώδικας μπορεί να δημιουργηθεί για ένα συγκεκριμένο επεξεργαστή ή για κάποια ιδεατή μηχανή με χαρακτηριστικά συμβατικού επεξεργαστή. Οι δυνατότητες βελτίωσης του παραγόμενου κώδικα εξαρτώνται από τον επεξεργαστή, για τον οποίο δημιουργείται το τελικό πρόγραμμα. Πλήθος και εξειδίκευση των καταχωρητών του επεξεργαστή Μορφές προσπέλασης μνήμης Σύνθετες εντολές ελέγχου ροής Παράλληλη επεξεργασία ΕΑΠ – ΠΛΗ24