Μεταγλωττιστές. Αρχές, Τεχνικές & Εργαλεία. Δεύτερη Έκδοση. Alfred V. Aho Columbia University. Monica S. Lam Stanform University.

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Μεταγλωττιστές. Αρχές, Τεχνικές & Εργαλεία. Δεύτερη Έκδοση. Alfred V. Aho Columbia University. Monica S. Lam Stanform University."

Transcript

1 Μεταγλωττιστές Αρχές, Τεχνικές & Εργαλεία Δεύτερη Έκδοση Alfred V. Aho Columbia University Monica S. Lam Stanform University Ravi Sethi Avaya Jeffrey D. Ullman Stanford University Επιμέλεια ελληνικής έκδοσης Π. Αλεφραγκής, Α. Βώρος, Ν. Βώρος, K. Μασσέλος

2 Στοιχεία πρωτοτύπου Compilers: principles, techniques and tools Publisher: Greg Tobin Copyright 2007 Pearson Education, Inc. Έκδοση 1η, Copyright 2011 ISBN ΕΚΔΟΣΕΙΣ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ Στουρνάρη 49 Α, Αθήνα Τηλ.: , Fax: URL: Σελιδοποίηση: Γιώργος Σκούφος Διόρθωση Κειμένων: Μαρία Κοίλια Απαγορεύεται η με οποιονδήποτε τρόπο ανατύπωση, καταχώρηση σε σύστημα αποθήκευσης και επανάκτησης ή μετάδοση με κάθε μορφή και μέσο (ηλεκτρονικό, μηχανικό, φωτοαντογραφικό κ.λπ.) του συνόλου ή μέρους του βιβλίου αυτού, χωρίς την έγγραφη άδεια του εκδότη.

3 Πρόλογος Το βιβλίο «Μεταγλωττιστές: Αρχές, Τεχνικές & Εργαλεία» αποτελεί το κλασσικότερο σύγγραμμα για την τεχνολογία των μεταγλωττιστών. Στόχος της συγκεκριμένης προσπάθειας είναι να δοθεί στους φοιτητές των Τμημάτων Πληροφορικής και Τηλεπικοινωνιών και γενικότερα σε όλους όσους ασχολούνται με την ανάπτυξη προχωρημένων συστημάτων πληροφορικής, ένα εγχειρίδιο πάνω στην αυτοματοποιημένη μετάφραση, το οποίο χρησιμοποιείται σε διεθνές επίπεδο. Το βιβλίο θα τους δώσει τη δυνατότητα να κατανοήσουν σε βάθος τις αρχές σχεδίασης μεταφραστικών σχημάτων, να αξιολογήσουν και να επιλέξουν ανάμεσα στις διαφορετικές τεχνικές και τα εργαλεία για να αναπτύξουν μεταφραστικά συστήματα. Η μετάφραση του βιβλίου αποτέλεσε για εμάς μεγάλη πρόκληση λόγω του ιδιαίτερα πυκνογραμμένου και τεχνικά προχωρημένου κειμένου του πρωτοτύπου. Σε πολλά σημεία παραθέτουμε και το αγγλικό κείμενο μέσα σε παρένθεση, ώστε να βοηθήσουμε τον αναγνώστη να συσχετίσει ένα όρο με παράλληλα κείμενα από άλλα αγγλικά βιβλία ή το διαδίκτυο. Δόθηκε ιδιαίτερη προσοχή για την όσο το δυνατόν καλύτερη απόδοση των όρων και την αποφυγή συντακτικών και ορθογραφικών σφαλμάτων, αλλά όπως κάθε σύνθετη προσπάθεια μπορεί να κρύβει λάθη. Θα είναι για εμάς ιδιαίτερη χαρά αν ο αναγνώστης εντοπίσει και μας ενημερώσει για λάθη και αβλεψίες μας στον ιστότοπο: Στα πλαίσια της συγκεκριμένης προσπάθειας, θα θέλαμε να ευχαριστήσουμε τα μέλη των οικογενειών μας που μας στερήθηκαν σε περιόδους αργιών και διακοπών και τον εκδότη για την υπομονή του. Πάτρα, Μάιος 2011 Δρ. Παναγιώτης Σπ. Αλεφραγκής Ηλεκτρολόγος Μηχανικός & Τεχν. Η/Υ Άγγελος Σπ. Βώρος, MSc Μηχανικός Η/Υ & Πληροφορικής Δρ. Νικόλαος Σπ. Βώρος Μηχανικός Η/Υ & Πληροφορικής Δρ. Κωνσταντίνος N. Μασσέλος Ηλεκτρολόγος Μηχανικός & Τεχν. Η/Υ

4

5 Πίνακας Περιεχομένων 1 Εισαγωγή Γλωσσικοί Επεξεργαστές Ασκήσεις Ενότητας Η Δομή ενός Μεταγλωττιστή Λεκτική Ανάλυση Συντακτική Ανάλυση Σημασιολογική Ανάλυση Παραγωγή Ενδιάμεσου Κώδικα Βελτιστοποίηση Κώδικα Παραγωγή Κώδικα Διαχείριση Πίνακα Συμβόλων Η Ομαδοποίηση των Φάσεων σε Διελεύσεις Εργαλεία Κατασκευής Μεταγλωττιστών Η Εξέλιξη των Γλωσσών Προγραμματισμού Η Μετακίνηση σε Γλώσσες Υψηλότερου Επιπέδου Η Επίδραση στους Μεταγλωττιστές Ασκήσεις Ενότητας Η Επιστήμη της Κατασκευής ενός Μεταγλωττιστή Η Μοντελοποίηση στη Σχεδίαση και Υλοποίηση ενός Μεταγλωττιστή Η Επιστήμη της Βελτιστοποίησης του Κώδικα Εφαρμογές της Τεχνολογίας των Μεταγλωττιστών Υλοποίηση Γλωσσών Προγραμματισμού Υψηλού Επιπέδου Βελτιστοποιήσεις για Αρχιτεκτονικές Υπολογιστών Σχεδίαση Νέων Αρχιτεκτονικών Υπολογιστών Μεταφράσεις Προγραμμάτων Εργαλεία Ανάπτυξης Λογισμικού Βασικές γνώσεις Γλωσσών Προγραμματισμού Η Διάκριση Στατικού/Δυναμικού Μέρους Περιβάλλοντα και Καταστάσεις Στατική Εμβέλεια και Δομή Τμημάτων... 32

6 vi ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Αποκλειστικός Έλεγχος Προσπέλασης Δυναμική Εμβέλεια Μηχανισμοί Περάσματος Παραμέτρων Ψευδωνυμία Ασκήσεις Ενότητας Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου Ένας απλός Συντακτικά Κατευθυνόμενος Μεταφραστής Εισαγωγή Ορισμός Συντακτικού Ορισμός Γραμματικών Παραγωγές Συντακτικά Δέντρα Ασάφεια Προσεταιριστικότητα Τελεστών Προτεραιότητα Τελεστών Ασκήσεις Ενότητας Συντακτικά Κατευθυνόμενη Μετάφραση Επιθεματική Σημειογραφία Συνθέσιμες Ιδιότητες Απλοί Συντακτικά Κατευθυνόμενοι Ορισμοί Διασχίσεις Δέντρων Μεταφραστικά Σχήματα Ασκήσεις Ενότητας Συντακτική Ανάλυση Καθοδική Συντακτική Ανάλυση Προβλέπουσα Συντακτική Ανάλυση Πότε Χρησιμοποιούμε ϵ - Παραγωγές Σχεδιάζοντας ένα Προβλεπτικό Συντακτικό Αναλυτή Αριστερή Αναδρομή Ασκήσεις Ενότητας Ένας Μεταφραστής για Απλές Εκφράσεις Αφηρημένο και Συγκεκριμένο Συντακτικό Προσαρμογή του Μεταφραστικού Σχήματος Διαδικασίες για τα Μη-Τερματικά Σύμβολα Απλοποιώντας τον Μεταφραστή Το Συνολικό Πρόγραμμα Λεκτική Ανάλυση... 82

7 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ vii Απομάκρυνση Κενών και Σχολίων Επεκταμένη Ανάγνωση Σταθερές Αναγνώριση Λέξεων Κλειδιών και Προσδιοριστών Ένας Λεκτικός Αναλυτής Ασκήσεις Ενότητας Πίνακες Συμβόλων Πίνακας Συμβόλων ανά Εμβέλεια (Scope) Η Χρήση των Πινάκων Συμβόλων Παραγωγή Ενδιάμεσου Κώδικα Δύο Είδη Ενδιάμεσων Αναπαραστάσεων Κατασκευή Συντακτικών Δέντρων Στατικός Έλεγχος Κώδικας Τριών Διευθύνσεων Ασκήσεις Ενότητας Περίληψη Κεφαλαίου Λεκτική Ανάλυση Ο Ρόλος του Λεκτικού Αναλυτή Λεκτική Ανάλυση έναντι Συντακτικής Ανάλυσης Λεκτικές Μονάδες (Tokens), Πρότυπα και Ακολουθίες Χαρακτήρων Ιδιότητες Λεκτικών Μονάδων Λεκτικά Σφάλματα Ασκήσεις Ενότητας Προσωρινή Αποθήκευση Εισόδου Ζεύγη Χώρων Προσωρινής Αποθήκευσης Χαρακτήρες φρουροί (Sentinels) Προδιαγραφή Λεκτικών Μονάδων Συμβολοσειρές και Γλώσσες Πράξεις σε Γλώσσες Κανονικές Εκφράσεις Κανονικοί Ορισμοί Επεκτάσεις Κανονικών Εκφράσεων Ασκήσεις Ενότητας Αναγνώριση Λεκτικών Μονάδων Διαγράμματα Μεταβάσεων Αναγνώριση Δεσμευμένων Λέξεων και Προσδιοριστών Ολοκλήρωση του Εκτελούμενου Παραδείγματος Αρχιτεκτονική ενός Λεκτικού Αναλυτή βασισμένου σε Διάγραμμα Μεταβάσεων

8 viii ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Ασκήσεις Ενότητας Η Γεννήτρια Λεκτικών Αναλυτών Lex Η Χρήση του Lex Η Δομή των Προγραμμάτων Lex Επίλυση συγκρούσεων στο Lex Ο Τελεστής Προανάγνωσης Ασκήσεις Ενότητας Πεπερασμένα Αυτόματα Μη-Προσδιοριστικά Πεπερασμένα Αυτόματα (NFA) Πίνακες Μεταβάσεων Αναγνώριση Συμβολοσειρών Εισόδου από Αυτόματα Προσδιοριστικά Πεπερασμένα Αυτόματα (DFA) Ασκήσεις Ενότητας Μετατροπή Κανονικών Εκφράσεων σε Αυτόματα Μετατροπή ενός NFA σε ένα DFA Προσομοίωση ενός NFA Αποδοτικότητα της Προσομοίωσης ενός NFA Κατασκευή ενός NFA από μια Κανονική Έκφραση Αποδοτικότητα Αλγορίθμων Επεξεργασίας Συμβολοσειρών Ασκήσεις Ενότητας Σχεδίαση μιας Γεννήτριας Λεκτικών Αναλυτών Η Δομή του Παραγόμενου Αναλυτή Ταυτοποίηση Προτύπων βασισμένη σε NFA s Χρήση DFA s για Λεκτικούς Αναλυτές Υλοποίηση του Τελεστή Προανάγνωσης Ασκήσεις Ενότητας Βελτιστοποίηση Ταυτιστών Προτύπων βασισμένων σε DFA Σημαντικές Καταστάσεις ενός NFA Συναρτήσεις που υπολογίζονται από το Συντακτικό Δέντρο Υπολογισμός των συναρτήσεων nullable, firstpos και lastpos Υπολογισμός της συνάρτησης followpos Απευθείας Μετατροπή μιας Κανονικής Έκφρασης σε DFA Ελαχιστοποίηση του αριθμού των Καταστάσεων ενός DFA Ελαχιστοποίηση Καταστάσεων σε Λεκτικούς Αναλυτές Ανταλλαγή χρόνου με χώρο σε μια προσομοίωση DFA Ασκήσεις Ενότητας Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου

9 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ix 4 Συντακτική Ανάλυση Εισαγωγή Ο Ρόλος του Συντακτικού Αναλυτή Αντιπροσωπευτικές Γραμματικές Διαχείριση Σφαλμάτων Συντακτικού Στρατηγικές Ανάνηψης από Σφάλματα Γραμματικές Χωρίς Συμφραζόμενα (Context-Free Grammars) Ο Τυπικός Ορισμός μιας Γραμματικής Χωρίς Συμφραζόμενα Συμβάσεις Σημειογραφίας Παραγωγές Δέντρα Συντακτικής Ανάλυσης και Σχηματισμοί Παραγώγων Ασάφεια Επαλήθευση της Γλώσσας που Παράγεται από μια Γραμματική Γραμματικές Χωρίς Συμφραζόμενα έναντι Κανονικών Εκφράσεων Ασκήσεις Ενότητας Συγγραφή μιας Γραμματικής Λεκτική έναντι Συντακτικής Ανάλυσης Εξαλείφοντας την Ασάφεια Απαλοιφή Αριστερής Αναδρομικότητας Αριστερή Παραγοντοποίηση Γλωσσικές Κατασκευές με Συμφραζόμενα Ασκήσεις Ενότητας Καθοδική Συντακτική Ανάλυση Συντακτική Ανάλυση Αναδρομικής Κατάβασης Σύνολα FIRST και FOLLOW Γραμματικές LL(1) Μη Αναδρομική Προβλέπουσα Συντακτική Ανάλυση Ανάνηψη από Σφάλματα στην Προβλέπουσα Συντακτική Ανάλυση Ασκήσεις Ενότητας Ανοδική Συντακτική Ανάλυση Ελαττώσεις Περικοπή Λαβών Απλοποίησης Ανάλυση Ολίσθησης-Ελάττωσης Συγκρούσεις κατά τη διάρκεια Ανάλυσης Ελάττωσης-Ολίσθησης

10 x ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Ασκήσεις Ενότητας Εισαγωγή στην Συντακτική Ανάλυση LR: Απλή LR Για ποιο λόγο Συντακτικούς Αναλυτές LR; Αντικείμενα και το Αυτόματο LR(0) Ο Αλγόριθμος Συντακτικής Ανάλυσης LR Κατασκευή Πινάκων Συντακτικής Ανάλυσης SLR Βιώσιμα Προθέματα Ασκήσεις Ενότητας Ισχυρότεροι Συντακτικοί Αναλυτές LR Κανονικά Αντικείμενα LR(1) Κατασκευή Συνόλων Αντικειμένων LR(1) Κανονικοί Πίνακες Ανάλυσης LR(1) Κατασκευή Πινάκων Ανάλυσης LALR Αποδοτική Κατασκευή Πινάκων Συντακτικής Ανάλυσης LALR Σύμπτυξη Πινάκων Συντακτικής Ανάλυσης LR Ασκήσεις Ενότητας Χρήση Ασαφών Γραμματικών Προτεραιότητα και Προσεταιριστικότητα για την Επίλυση Συγκρούσεων Η Ασάφεια του Αστήρικτου Else ( Dangling-Else ) Ανάνηψη από Σφάλματα στην Ανάλυση LR Ασκήσεις Ενότητας Γεννήτριες Συντακτικών Αναλυτών Η Γεννήτρια Συντακτικών Αναλυτών Yacc Χρήση του Yacc με Ασαφείς Γραμματικές Δημιουργία Λεκτικών Αναλυτών με το Lex για χρήση με τη Yacc Ανάνηψη από Σφάλματα στη Yacc Ασκήσεις Ενότητας Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου Συντακτικά Κατευθυνόμενη Μετάφραση (SDT) Συντακτικά Κατευθυνόμενοι Ορισμοί (SDD) Κληρονομήσιμες και Συνθέσιμες Ιδιότητες Υπολογισμός μίας SDD στους Κόμβους ενός Δέντρου Συντακτικής Ανάλυσης Ασκήσεις Ενότητας

11 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ xi 5.2 Σειρά Υπολογισμού των SDD s Γραφήματα Εξάρτησης Σειρά εκτέλεσης των Υπολογισμών Ιδιοτήτων Ορισμοί S-Ιδιοτήτων Ορισμοί L-Ιδιοτήτων Σημασιολογικοί Κανόνες με Ελεγχόμενες Παράπλευρες Ενέργειες Ασκήσεις Ενότητας Εφαρμογές Συντακτικά Κατευθυνόμενης Μετάφρασης Κατασκευή Συντακτικών Δέντρων Η Δομή ενός Τύπου Ασκήσεις Ενότητας Σχήματα Συντακτικά Κατευθυνόμενης Μετάφρασης Σχήματα Επιθεματικής Μετάφρασης Υλοποίηση Επιθεματικού Αναλυτή SDT με Στοίβα SDT s με Ενέργειες εντός Παραγωγών Κανόνων Απομάκρυνση Αριστερής Αναδρομής από SDT s SDT s για L-γραμματικές Ιδιοτήτων Ασκήσεις Ενότητας Υλοποίηση SDD s με L-γραμματικές Ιδιοτήτων Μετάφραση κατά τη Διάρκεια Ανάλυσης Αναδρομικής Κατάβασης Άμεση Παραγωγή Κώδικα SDD s με L-γραμματικές Ιδιοτήτων και LL Ανάλυση Ανοδική Ανάλυση SDD s με L-γραμματικές Ιδιοτήτων Ασκήσεις Ενότητας Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου Παραγωγή Ενδιάμεσου Κώδικα Παραλλαγές Συντακτικών Δέντρων Κατευθυνόμενα Ακυκλικά Γραφήματα (DAG) για Εκφράσεις Η Μέθοδος Αριθμητικής Τιμής για την Κατασκευή DAG s Ασκήσεις Ενότητας Κώδικας Τριών Διευθύνσεων Διευθύνσεις και Εντολές Τετράδες Τριάδες Στατική Μορφή Απλής Ανάθεσης (SSA)

12 xii ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Ασκήσεις Ενότητας Τύποι και Δηλώσεις Εκφράσεις Τύπων Ισοδυναμία Τύπων Δηλώσεις Διαμόρφωση μνήμης για Τοπικά Ονόματα Ακολουθίες Δηλώσεων Πεδία σε Εγγραφές και Κλάσεις Ασκήσεις Ενότητας Μετάφραση Εκφράσεων Πράξεις εντός Εκφράσεων Επαυξητική Μετάφραση Διευθυνσιοδότηση Στοιχείων Πίνακα Μετάφραση Αναφορών Πίνακα Ασκήσεις Ενότητας Έλεγχος Τύπων Κανόνες για Έλεγχο Τύπων Μετατροπές Τύπων Υπερφόρτωση Συναρτήσεων και Τελεστών Εξαγωγή Συμπερασμάτων για Τύπους και Πολυμορφικές Συναρτήσεις Ένας Αλγόριθμος Ενοποίησης Ασκήσεις Ενότητας Ροή Ελέγχου Λογικές Εκφράσεις Κώδικας Βραχυκυκλώματος Εντολές Μετάβασης Ελέγχου Ροής Μετάφραση Λογικών Εκφράσεων σε εντολές Ελέγχου Ροής Αποφυγή Πλεοναζόντων Gotos Λογικές Τιμές και Εντολές Μετάβασης Ροής Ασκήσεις Ενότητας Οπισθομπάλωμα (Backpatching) Παραγωγή Κώδικα με ένα Πέρασμα με Χρήση Οπισθομπαλώματος Οπισθομπάλωμα για Λογικές Εκφράσεις Εντολές Ροής Ελέγχου Εντολές Break, Continue, και Goto Ασκήσεις Ενότητας Εντολές Πολλαπλής Διακλάδωσης (Switch)

13 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ xiii Μετάφραση Προτάσεων Switch Συντακτικά Κατευθυνόμενη Μετάφραση Προτάσεων Switch Ασκήσεις Ενότητας Ενδιάμεσος Κώδικας για Διαδικασίες Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου Περιβάλλοντα Εκτέλεσης Οργάνωση Μνήμης Στατική Έναντι Δυναμικής Κατανομής Μνήμης Κατανομή Μνήμης ως Στοίβα Δέντρα Ενεργοποίησης Εγγραφές Ενεργοποίησης Ακολουθίες Κλήσεων Δεδομένα Μεταβλητού Μήκους στη Στοίβα Ασκήσεις Ενότητας Προσπέλαση Μη Τοπικών Δεδομένων στη Στοίβα Προσπέλαση Δεδομένων Χωρίς Εμφωλευμένες Διαδικασίες Θέματα Εμφωλευμένων Διαδικασιών Μια Γλώσσα με Εμφωλευμένες Δηλώσεις Διαδικασιών Βάθος Εμφώλευσης Σύνδεσμοι Προσπέλασης Χειρισμός Συνδέσμων Προσπέλασης Σύνδεσμοι Προσπέλασης για Παραμέτρους Διαδικασιών Προβολές Ασκήσεις Ενότητας Διαχείριση Σωρού (Heap) Ο Διαχειριστής Μνήμης Η Ιεραρχία Μνήμης ενός Υπολογιστή Τοπικότητα Προγραμμάτων Μείωση του Κατακερματισμού Χειροκίνητες Αιτήσεις Αποκατανομής Μνήμης Ασκήσεις Ενότητας Εισαγωγή στην Περισυλλογή Σκουπιδιών (Garbage Collection) Στόχοι Σχεδίασης για Συλλέκτες Σκουπιδιών Προσπελασιμότητα Συλλέκτες Σκουπιδιών με χρήση Καταμέτρησης Αναφορών Ασκήσεις Ενότητας Εισαγωγή στην Περισυλλογή Βασισμένη σε Ιχνηλάτηση Ένας βασικός Συλλέκτης Σημαδιού και Σάρωσης

14 xiv ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Βασικές αφαιρετικές έννοιες Βελτιστοποίηση του Συλλέκτη Σημαδιού και Σάρωσης Συλλέκτες Σημαδιού και Σύμπτυξης Συλλέκτες Αντιγραφής Σύγκριση Κόστους Ασκήσεις Ενότητας Περισυλλογή Σκουπιδιών με Σύντομες Παύσεις Επαυξητική Περισυλλογή Σκουπιδιών Ανάλυση της Επαυξητικής Προσπελασιμότητας Τα Βασικά της Μερικής Περισυλλογής Γενεαλογική Περισυλλογή Σκουπιδιών Ο Αλγόριθμος Συρμού Ασκήσεις Ενότητας Προχωρημένα Θέματα Περισυλλογής Σκουπιδιών Παράλληλη και Ταυτόχρονη Περισυλλογή Σκουπιδιών Μερική Επανατοποθέτηση Αντικειμένων Συντηρητική Περισυλλογή για Ανασφαλείς Γλώσσες Ασθενείς Αναφορές Ασκήσεις Ενότητας Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου Παραγωγή Κώδικα Θέματα στη Σχεδίαση ενός Παραγωγού Κώδικα Είσοδοι του Παραγωγού Κώδικα Το Τελικό Πρόγραμμα Επιλογή Εντολών Κατανομή Καταχωρητών Σειρά Υπολογισμών Η Τελική Γλώσσα Ένα Απλό Μοντέλο Τελικής Μηχανής Κόστος Προγράμματος και Εντολών Ασκήσεις Ενότητας Διευθύνσεις στον Τελικό Κώδικα Στόχο Στατική Κατανομή Κατανομή Στοίβας Διευθύνσεις κατά την διάρκεια την Εκτέλεσης για τα Ονόματα Ασκήσεις Ενότητας Βασικά Τμήματα Κώδικα και Γραφήματα Ροής

15 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ xv Βασικά Τμήματα Κώδικα Πληροφορία Επόμενης Χρήσης Μεταβλητών Γραφήματα Ροής Αναπαράσταση Γραφημάτων Ροής Βρόχοι Ασκήσεις Ενότητας Βελτιστοποίηση Βασικών Τμημάτων Κώδικα Η Αναπαράσταση Βασικών Τμημάτων κώδικα ως DAG Εύρεση Τοπικών Κοινών Υποεκφράσεων Απομάκρυνση Άχρηστου Κώδικα Η Χρήση Αλγεβρικών Ταυτοτήτων Αναπαράσταση Αναφορών Πινάκων Αναθέσεις Δεικτών και Κλήσεις Διαδικασιών Επανασυναρμολόγηση Βασικών Τμημάτων Κώδικα από DAG s Ασκήσεις Ενότητας Ένα απλός παραγωγός Κώδικα Περιγραφείς Καταχωρητών και Διευθύνσεων Ο Αλγόριθμος Παραγωγής Κώδικα Σχεδίαση της Συνάρτησης getreg Ασκήσεις Ενότητας Βελτιστοποίηση Κλειδαρότρυπας Απομάκρυνση Περιττών Φορτώσεων και Αποθηκεύσεων Απομάκρυνση Μη-Προσπελάσιμου Κώδικα Βελτιστοποιήσεις Ροής Ελέγχου Αλγεβρική Απλοποίηση και Υποβιβασμός Ισχύος Χρήση Ιδιωματισμών Τελικής Μηχανής Ασκήσεις Ενότητας Κατανομή και Ανάθεση Καταχωρητών Καθολική Κατανομή Καταχωρητών Μετρήσεις Χρήσης Μεταβλητών Ανάθεση Καταχωρητών για τους Εξωτερικούς Βρόχους Κατανομή Καταχωρητών με Χρωματισμό Γράφου Ασκήσεις Ενότητας Επιλογή Εντολών με Αναδιάρθρωση Δέντρου Σχήματα Μετάφρασης Δέντρων Παραγωγή Κώδικα με Επίστρωση ενός Δέντρου Εισόδου Συντακτική Ανάλυση για Ταύτιση Προτύπων Ρουτίνες για Σημασιολογικό Έλεγχο Γενική Ταύτιση Δέντρου

16 xvi ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Ασκήσεις Ενότητας Βέλτιστη Παραγωγή Κώδικα για Εκφράσεις Αριθμοί Ershov Παραγωγή Κώδικα από Δέντρα Εκφράσεων με Ετικέτες Υπολογισμός Εκφράσεων με Ανεπαρκή Διαθεσιμότητα Καταχωρητών Ασκήσεις Ενότητας Παραγωγή Κώδικα με χρήση Δυναμικού Προγραμματισμού Συνεχόμενος Υπολογισμός Ο Αλγόριθμος Δυναμικού Προγραμματισμού Ασκήσεις Ενότητας Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου Βελτιστοποιήσεις Ανεξάρτητες από τη Τελική Μηχανή Οι Κύριες Πηγές Βελτιστοποίησης Αιτίες Πλεονασμού Ένα Εκτελούμενο Παράδειγμα: Quicksort Μετασχηματισμοί Διατήρησης Σημασιολογίας Καθολικές Κοινές Υποεκφράσεις Προώθηση Αντιγράφων Απομάκρυνση Άχρηστου Κώδικα Μετακίνηση Κώδικα Επαγωγικές Μεταβλητές και υποβιβασμός ισχύος Ασκήσεις Ενότητας Εισαγωγή στην Ανάλυση Ροής Δεδομένων Η Αφαίρεση της Ροής Δεδομένων Το Σχήμα Ανάλυσης Ροής Δεδομένων Σχήματα Ροής Δεδομένων σε Βασικά Τμήματα Κώδικα Χρησιμοποιούμενοι Ορισμοί Μεταβλητών Ανάλυση ενεργών μεταβλητών Διαθέσιμες Εκφράσεις Περίληψη Ασκήσεις Ενότητας Θεμελιώσεις Ανάλυσης Ροής Δεδομένων Υποπλέγματα (Semilattices) Συναρτήσεις Μεταφοράς Ο Επαναληπτικός Αλγόριθμος για Γενικευμένα Πλαίσια Η Σημασία μιας Λύσης Ροής Δεδομένων Ασκήσεις Ενότητας

17 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ xvii 9.4 Διάδοση Σταθερών Τιμές Ροής Δεδομένων για το Πλαίσιο Διάδοσης Σταθερών Η Συνένωση για το Πλαίσιο Διάδοσης Σταθερών Συναρτήσεις Μεταφοράς για το Πλαίσιο Διάδοσης Σταθερών Μονοτονικότητα του Πλαισίου Διάδοσης Σταθερών Η Μη Επιμεριστική Φύση του Πλαισίου Διάδοσης Σταθερών Ερμηνεία των Αποτελεσμάτων Ασκήσεις Ενότητας Μερική Απομάκρυνση Πλεονασμού Οι Πηγές του Πλεονασμού Μπορεί να Απομακρυνθεί Όλος ο Πλεονασμός; Το Πρόβλημα της Νωχελικής Κίνησης Κώδικα Πρόβλεψη των Εκφράσεων Ο Αλγόριθμος της Νωχελικής Κίνησης Κώδικα Ασκήσεις Ενότητας Βρόχοι σε Γραφήματα Ροής Επικρατούντες Κόμβοι Διάταξη σε Βάθος Ακμές σε Δενδροειδές Ανάπτυγμα σε Βάθος Αντίστροφες Ακμές και Μειωσιμότητα Βάθος Ενός Γραφήματος Ροής Φυσικοί Βρόχοι Ταχύτητα Σύγκλισης Επαναληπτικών Αλγορίθμων Ροής Δεδομένων Ασκήσεις Ενότητας Ανάλυση Βασισμένη σε Περιοχές Περιοχές Ιεραρχίες Περιοχών για Ελαχιστοποιούμενα Γραφήματα Ροής Επισκόπηση μιας Ανάλυσης Βασισμένης στην Περιοχή Προϋποθέσεις Σχετικά με τις Συναρτήσεις Μεταφοράς Ένας Αλγόριθμος για Ανάλυση Βασισμένη σε Περιοχές Χειρισμός Μη Ελαχιστοποιούμενων Γραφημάτων Ροής Ασκήσεις Ενότητας Συμβολική Ανάλυση Συγγενικές Εκφράσεις Αναφορικών Μεταβλητών Ορισμός του Προβλήματος Ροής Δεδομένων Συμβολική Ανάλυση Βασισμένη σε Περιοχές Ασκήσεις Ενότητας Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου

18 xviii ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ 10 Παραλληλισμός Επιπέδου Εντολής Αρχιτεκτονικές Επεξεργαστών Διοχετεύσεις Εντολών και Καθυστερήσεις Διακλαδώσεων Διοχετευμένη Εκτέλεση Πολλαπλή Εκτέλεση Εντολών Περιορισμοί Χρονοπρογραμματισμού Εκτελέσιμου Κώδικα Εξαρτήσεις Δεδομένων Εύρεση Εξαρτήσεων μεταξύ Προσπελάσεων Μνήμης Ανταλλαγή Μεταξύ της Χρήσης Καταχωρητών και Παραλληλισμού Διάταξη Φάσεων Μεταξύ της Κατανομής των Καταχωρητών και του Χρονοπρογραμματισμού του Κώδικα Εξαρτήσεις Ελέγχου Υποστήριξη Υποθετικής Εκτέλεσης Ένα βασικό Μοντέλο Μηχανής Ασκήσεις Ενότητας Χρονοπρογραμματισμός Βασικών Τμημάτων Κώδικα Γραφήματα Εξάρτησης Δεδομένων Χρονοπρογραμματισμός Λίστας Βασικών Τμημάτων Κώδικα Τοπολογικές Διατάξεις με Προτεραιότητες Ασκήσεις Ενότητας Καθολικός Χρονοπρογραμματισμός Κώδικα Θεμελιώδης Μετακίνηση Κώδικα Ανοδική Μετακίνηση Κώδικα Καθοδική Μετακίνηση Κώδικα Ενημέρωση Εξαρτήσεων Δεδομένων Αλγόριθμοι Καθολικού Χρονοπρογραμματισμού Προχωρημένες Τεχνικές Μετακίνησης Κώδικα Αλληλεπίδραση με Δυναμικούς Χρονοπρογραμματιστές Ασκήσεις Ενότητας Διοχέτευση Λογισμικού Εισαγωγή Διοχέτευση Λογισμικού Βρόχων Κατανομή Καταχωρητών και Παραγωγή Κώδικα Διοχέτευση Λογισμικού σε Βρόχους με εξαρτήσεις δεδομένων Στόχοι και Περιορισμοί της Διοχέτευσης Λογισμικού Ένας Αλγόριθμος Διοχέτευσης Λογισμικού Χρονοπρογραμματισμός Ακυκλικών Γραφημάτων Εξάρτησης Δεδομένων

19 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ xix Χρονοπρογραμματισμός Κυκλικών Γραφημάτων Εξάρτησης Δεδομένων Βελτιώσεις στους Αλγορίθμους Διοχέτευσης Τμηματική Επέκταση Μεταβλητής Εντολές υπό Συνθήκη Υποστήριξη Υλικού για Διοχέτευση Λογισμικού Ασκήσεις Ενότητας Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου Βελτιστοποίηση για Παραλληλισμό και Τοπικότητα Βασικές Έννοιες Πολυεπεξεργαστές Παραλληλισμός στις Εφαρμογές Παραλληλισμός Επιπέδου Βρόχου Τοπικότητα Δεδομένων Εισαγωγή στη Θεωρία των Συγγενών Μετασχηματισμών Πολλαπλασιασμός Πινάκων: Ένα Παράδειγμα σε Βάθος Ο Αλγόριθμος Πολλαπλασιασμού Πινάκων Βελτιστοποιήσεις Παρεμβολή της Λανθάνουσας Μνήμης Ασκήσεις Ενότητας Χώροι Επαναλήψεων (Iteration Spaces) Κατασκευή Χώρων Επαναλήψεων από Εμφωλευμένους Βρόχους Σειρά Εκτέλεσης για Εμφωλεύσεις Βρόχων Τυποποίηση Ανισοτήτων σε Πίνακες Ενσωμάτωση Συμβολικών Σταθερών Έλεγχος της Σειράς Εκτέλεσης Αλλαγή Αξόνων Ασκήσεις Ενότητας Συγγενικοί Αριθμοδείκτες Πινάκων Συγγενικές Προσπελάσεις Συγγενικές και Μη-Συγγενικές Προσπελάσεις στην Πράξη Ασκήσεις Ενότητας Επαναχρησιμοποίηση Δεδομένων Τύποι Επαναχρησιμοποίησης Ίδια επαναχρησιμοποίηση Ίδια Χωρική επαναχρησιμοποίηση

20 xxx ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Ομαδική Επαναχρησιμοποίηση Ασκήσεις Ενότητας Ανάλυση Εξαρτήσεων Δεδομένων Πίνακα Ορισμός των Εξαρτήσεων Δεδομένων Προσπελάσεων Πινάκων Ακέραιος Γραμμικός Προγραμματισμός Η Δοκιμή GCD Ευρετική Επίλυση Ακέραιων Γραμμικών Προγραμμάτων Επίλυση Γενικευμένων Ακέραιων Γραμμικών Προγραμμάτων Περίληψη Ασκήσεις Ενότητας Εύρεση Παραλληλισμού Χωρίς Απαίτηση Συγχρονισμού Εισαγωγικό Παράδειγμα Διαμερίσεις Συγγενικού Χώρου Περιορισμοί Διαμέρισης Χώρου Επίλυση Περιορισμών Διαμέρισης Χώρου Ένας Απλός Αλγόριθμος Παραγωγής Κώδικα Απομάκρυνση Κενών Επαναλήψεων Απομάκρυνση Δοκιμών από τους Εσώτατους Βρόχους Μετασχηματισμοί Πηγαίου Κώδικα Ασκήσεις Ενότητας Συγχρονισμός Μεταξύ Παράλληλων Βρόχων Ένας Σταθερός Αριθμός Συγχρονισμών Γραφήματα Εξάρτησης Προγράμματος Ιεραρχικός Χρόνος Ο Αλγόριθμος Παραλληλισμού Ασκήσεις Ενότητας Διοχέτευση Τι είναι η Διοχέτευση; Διαδοχική Υπερχαλάρωση (SOR): Ένα Παράδειγμα Πλήρως Μετατιθέμενοι Βρόχοι Διοχέτευση Πλήρως Μετατιθέμενων Βρόχων Γενική Θεωρία Περιορισμοί Διαμέρισης Χρόνου Επίλυση των Περιορισμών Διαμέρισης Χρόνου με το Λήμα του Farkas Μετασχηματισμοί Κώδικα Παραλληλισμός με Ελαχιστοποίηση Συγχρονισμού Ασκήσεις Ενότητας Βελτιστοποιήσεις Τοπικότητας

21 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ xxi Χρονική Τοπικότητα των Υπολογισμένων Δεδομένων Σύμπτυξη Πίνακα Παρεμβολή Διαμέρισης Τοποθετώντας τα Πάντα Μαζί Ασκήσεις Ενότητας Άλλες Χρήσεις των Συγγενών Μετασχηματισμών Μηχανές Κατανεμημένης Μνήμης Επεξεργαστές Εκτέλεσης Πολλαπλών Εντολών Διανυσματικές και SIMD Εντολές Προφόρτωση Περίληψη Κεφαλαίου Αναφορές Κεφαλαίου Δια-Διαδικασιακή Ανάλυση Βασικές Έννοιες Γράφημα Κλήσης Διαδικασιών Ευαισθησία Πλαισίου Εκτέλεσης Διαδικασιών Συμβολοσειρές Κλήσης Ανάλυση Ευαισθησίας Πλαισίου Εκτέλεσης Βασισμένη σε Κλωνοποίηση Ανάλυση Ευαισθησίας Πλαισίου Εκτέλεσης Βασισμένη σε Περίληψη Ασκήσεις Ενότητας Για Ποιο Λόγο Χρειαζόμαστε Δια-Διαδικασιακή Ανάλυση; Κλήση Εικονικών Μεθόδων Ανάλυση Ψευδώνυμου Δείκτη Παραλληλισμός Ανίχνευση Σφαλμάτων και Ευπάθειας Λογισμικού Ένθεση SQL Υπερχείλιση Προσωρινής Περιοχής Αποθήκευσης Μια Λογική Αναπαράσταση της Ροής Δεδομένων Εισαγωγή στη Datalog Κανόνες Datalog Παραγόμενα και Δηλούμενα Κατηγορήματα Εκτέλεση Προγραμμάτων Datalog Αυξητικός Υπολογισμός Προγραμμάτων Datalog Προβληματικοί Κανόνες Datalog Ασκήσεις Ενότητας Ένας Απλός Αλγόριθμος Ανάλυσης Δεικτών Για Ποιο Λόγο Είναι Δύσκολη η Ανάλυση Δεικτών

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

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες Πίνακας Περιεχοµένων Πρόλογος...vii Κεφάλαιο 1:Βασικές εισαγωγικές έννοιες...1 1.1 Η δοµή του µεταγλωττιστή...2 1.2 Η διαδικασία µεταγλώττισης...3 1.2.1 Η Λεξική Ανάλυση...6 1.2.2 Η Συντακτική Ανάλυση...6

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

Διαβάστε περισσότερα

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο Γιώργος Δημητρίου Μάθημα 9 ο Ενδιάμεσος Κώδικας Απεικόνιση ανάμεσα στον αρχικό και στον τελικό κώδικα Γραμμικές αναπαραστάσεις: Ενδιάμεσος κώδικας πλησιέστερα στον τελικό ευκολότερη παραγωγή τελικού κώδικα

Διαβάστε περισσότερα

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 12 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γιώργος Δημητρίου Μάθημα 12 ο Βελτιστοποίηση Μετασχηματισμός κώδικα σε άλλον πιο αποδοτικό Ασφάλεια βελτιστοποίησης Ορθότητα μετασχηματισμών! Πολυπλοκότητα μετασχηματισμών Εντοπισμός πιθανά προβληματικού

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 22 Νοεμβρίου 2016 (χειρόγραφη και ηλεκτρονική παράδοση 9 Δεκεμβρίου) Άσκηση 1: Θεωρήστε τη γραμματική με κανόνες: Α B a A a c B B b A b

Διαβάστε περισσότερα

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

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

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

Διαβάστε περισσότερα

Περιεχόμενα Πρόλογος 1. Εισαγωγή 2. Τα Βασικά Μέρη ενός Προγράμματος Prolog

Περιεχόμενα Πρόλογος 1. Εισαγωγή 2. Τα Βασικά Μέρη ενός Προγράμματος Prolog Περιεχόμενα Πρόλογος... xxv 1. Εισαγωγή... 1 1.1. Ιστορική Εξέλιξη της Prolog.... 2 1.2. Προστακτικός και Δηλωτικός Προγραμματισμός.... 2 1.3. Δηλωτική και διαδικαστική έννοια ενός προγράμματος Prolog....

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 4 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 4 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 4 ο Συντακτική Ανάλυση Επαλήθευση της σύνταξης του προγράμματος Κατασκευή συντακτικού δέντρου Η κεντρική φάση της Μετάφρασης Οδηγούμενης από τη Σύνταξη Από εδώ ξεκινά η παραγωγή

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Δεύτερη Σειρά Ασκήσεων 22 Νοεμβρίου 2016 Μέρος Α. (χειρόγραφη και ηλεκτρονική παράδοση 9 Δεκεμβρίου) Άσκηση 1: Θεωρήστε τη

Διαβάστε περισσότερα

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Εισαγωγή Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Μεταγλωττιστής Αρχικό πρόγραμμα (source program) Μεταγλωττιστής Τελικό πρόγραμμα (object program) Διαγνωστικά μηνύματα Μεταγλωττιστής Παίρνει σαν

Διαβάστε περισσότερα

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ Περιεχόμενα Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23 Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ 1. Επαναληπτικοί αλγόριθμοι: Μέτρα προόδου και αναλλοίωτες συνθήκες.....................................................29

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα

Διαβάστε περισσότερα

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

Μεταγλωττιστές Ενότητα 1: Εισαγωγή Μεταγλωττιστές Ενότητα 1: Εισαγωγή Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

Διαβάστε περισσότερα

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει

Διαβάστε περισσότερα

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 3 ο Λεκτική Ανάλυση και Λεκτικοί Αναλυτές Γενικά για τη λεκτική ανάλυση Έννοιες που χρειαζόμαστε Τεχνικές λεκτικής ανάλυσης Πίνακας συμβόλων και διαχείριση λαθών Σχεδίαση λεκτικού

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 8: Συντακτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 8: Συντακτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 8: Συντακτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ 2 Ο Εργαστηριακό Μάθημα Λεξική Ανάλυση Σκοπός: Το μάθημα αυτό αναφέρεται: Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση Στη δήλωση ορισμό κανονικών εκφράσεων Θεωρία Πρόλογος

Διαβάστε περισσότερα

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ii ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή - Βασικές έννοιες....1 1.1 Εσωτερική παράσταση δεδομένων....2 1.1.1 Παράσταση θέσης....3 1.1.2 Μετατροπές μεταξύ συστημάτων διαφορετικών βάσεων....5 1.1.3 Οι αριθμητικές

Διαβάστε περισσότερα

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μεταγλωττιστές Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανοδική Κατασκευή Συντακτικού Δέντρου κατασκευή δέντρου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ Χρήστος Στασινός ουλεύοντας με τη Microsoft Access ΑΘΗΝΑ Κάθε γνήσιο αντίγραφο έχει την υπογραφή του συγγραφέα Έκδοση 1η, Copyright 1998 Έκδοση 2η, Copyright 2007 ISBN: 978-960-8105-97-3 ΕΚΔΟΣΕΙΣ ΝΕΩΝ

Διαβάστε περισσότερα

Μεταγλωττιστές Βελτιστοποίηση

Μεταγλωττιστές Βελτιστοποίηση Μεταγλωττιστές Βελτιστοποίηση Νίκος Παπασπύρου nickie@softlab.ntua.gr Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχ. Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Πολυτεχνειούπολη, 15780

Διαβάστε περισσότερα

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

ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ... ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ...1 1. Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ...3 Κατηγορίες των Γεωγραφικών εδοµένων...3 Γεωγραφικές οντότητες...3 ιαστάσεις

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 7: Συντακτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 7: Συντακτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 7: Συντακτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

Διαβάστε περισσότερα

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Παραγωγή Ενδιάμεσου Κώδικα Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Παραγωγή ενδιάμεσου κώδικα. Ενδιάμεσες γλώσσες. Αφηρημένα

Διαβάστε περισσότερα

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε

Διαβάστε περισσότερα

Πρόβλημα 37 / σελίδα 207

Πρόβλημα 37 / σελίδα 207 Πρόβλημα 37 / σελίδα 207 2.5. Ôåóô áõôïáîéïëüãçóçò Δίνονται οι παρακάτω ομάδες προτάσεων. Σε κάθε μία από αυτές, να κάνετε τις απαραίτητες διορθώσεις ώστε να ισχύουν οι προτάσεις 1. Η αναπαράσταση

Διαβάστε περισσότερα

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γλώσσες Προγραμματισμού Εισαγωγικά Γλώσσα Μηχανής Γλώσσες υψηλού επιπέδου Μεταγλωττιστές

Διαβάστε περισσότερα

Διαχείριση Δεδομένων

Διαχείριση Δεδομένων Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

Διαβάστε περισσότερα

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

Γλώσσες Προγραμματισμού Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

Διαβάστε περισσότερα

Σχεδίαση Γλωσσών Προγραμματισμού. Εαρινό Εξάμηνο Lec03 18/02/2019

Σχεδίαση Γλωσσών Προγραμματισμού. Εαρινό Εξάμηνο Lec03 18/02/2019 Σχεδίαση Γλωσσών Προγραμματισμού Εαρινό Εξάμηνο 2018-2019 Lec03 18/02/2019 Γλώσσες με δομή Block Γλώσσες με δομή Block Απλό μοντέλο Μηχανής Εκτέλεσης Διαχείριση Μνήμης Εμβέλεια και διάρκεια ζωής Εμβέλεια

Διαβάστε περισσότερα

- Επιστημονικός Υπεύθυνος Ενεργείας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ

- Επιστημονικός Υπεύθυνος Ενεργείας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ Ενέργεια 1.1.α: Έργο No 15: «Προγράμματα Βιβλία» - Επιστημονικός Υπεύθυνος Ενεργείας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ νέου

Διαβάστε περισσότερα

Μεταγλωττιστές Βελτιστοποίηση

Μεταγλωττιστές Βελτιστοποίηση Βελτιστοποίηση (i) Μεταγλωττιστές Βελτιστοποίηση Νίκος Παπασπύρου nickie@softlab.ntua.gr Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχ. Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Πολυτεχνειούπολη,

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Μεταφραστές Εισαγωγή Διδάσκων: Επικ. Καθ. Γεώργιος Μανής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ 1... 11 ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ... 11 ΣΗΜΕΡΑ... 11 1.1 Ιστορική αναδρομή... 13 1.1.1 Υπολογιστικές μηχανές στην αρχαιότητα... 13 1.1.2 17ο έως τον 19ο... 14 1.1.3

Διαβάστε περισσότερα

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

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2016-2017 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος... 21

Περιεχόμενα. Πρόλογος... 21 Περιεχόμενα Πρόλογος... 21 Κεφάλαιο 1: Εισαγωγή στον προγραμματισμό... 25 Εισαγωγή...27 Πώς να διαβάσετε αυτό το βιβλίο...27 Η δομή των κεφαλαίων...28 Γιατί να μάθω προγραμματισμό;...31 Γιατί να μάθω C;...31

Διαβάστε περισσότερα

Τίτλος Πακέτου Certified Computer Expert-ACTA

Τίτλος Πακέτου Certified Computer Expert-ACTA Κωδικός Πακέτου ACTA - CCE - 002 Τίτλος Πακέτου Certified Computer Expert-ACTA Εκπαιδευτικές Ενότητες Επεξεργασία Κειμένου - Word Δημιουργία Εγγράφου Προχωρημένες τεχνικές επεξεργασίας κειμένου & αρχείων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

ΒΙΒΛΙΑ ΒΙΒΛΙΑ ΠΑΡΑΡΤΗΜΑ 05 ΠΛΗΡΟΦΟΡΙΚΗ Σύγκριση της Διδακτέας-εξεταστέας ύλης του πανελλαδικώς εξεταζόμενου μαθήματος «ΠΛΗΡΟΦΟΡΙΚΗ» (πρώην Περιβάλλον), της Γ τάξης ημερήσιου Γενικού Λυκείου, μεταξύ του σχολικού έτους

Διαβάστε περισσότερα

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Σημασιολογική Ανάλυση

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Σημασιολογική Ανάλυση Γλώσσες Προγραμματισμού Μεταγλωττιστές Σημασιολογική Ανάλυση Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Σημασιολογικής Ανάλυσης Στατική και Δυναμική Σημασιολογία Σημασιολογικοί

Διαβάστε περισσότερα

viii 20 Δένδρα van Emde Boas 543

viii 20 Δένδρα van Emde Boas 543 Περιεχόμενα Πρόλογος xi I Θεμελιώδεις έννοιες Εισαγωγή 3 1 Ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες 5 1.1 Αλγόριθμοι 5 1.2 Οι αλγόριθμοι σαν τεχνολογία 12 2 Προκαταρκτικές έννοιες και παρατηρήσεις

Διαβάστε περισσότερα

xvi Προσέγγιση δομεσ δεδομενων και αλγοριθμοι

xvi Προσέγγιση δομεσ δεδομενων και αλγοριθμοι Πρόλογος Το εφαλτήριο για τη συγγραφή αυτού του βιβλίου ήταν η πολύχρονη εμπειρία μου στη διδασκαλία του μαθήματος «Αλγόριθμοι και Δομές Δεδομένων» (κωδ. ECE 250) το οποίο εντάσσεται στο πρόγραμμα σπουδών

Διαβάστε περισσότερα

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο : 2. Α/Α Διάλεξης : 1 1. Τίτλος : Εισαγωγή στην Ψηφιακή Τεχνολογία 2. Μαθησιακοί Στόχοι : Λογικές Πύλες και η υλοποίησή τους με τρανζίστορ. Κατασκευή ολοκληρωμένων κυκλωμάτων. 3. Θέματα που καλύπτει : Λογικές

Διαβάστε περισσότερα

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

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΗΧΑΝΙΚΗΣ ΕΦΑΡΜΟΓΕΣ ΜΕ ΧΡΗΣΗ MATLAB ΔΕΥΤΕΡΗ ΕΚΔΟΣΗ [ΒΕΛΤΙΩΜΕΝΗ ΚΑΙ ΕΠΑΥΞΗΜΕΝΗ] ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΗΧΑΝΙΚΗΣ ΕΦΑΡΜΟΓΕΣ ΜΕ ΧΡΗΣΗ MATLAB ΔΕΥΤΕΡΗ ΕΚΔΟΣΗ [ΒΕΛΤΙΩΜΕΝΗ ΚΑΙ ΕΠΑΥΞΗΜΕΝΗ] Συγγραφείς ΝΤΑΟΥΤΙΔΗΣ ΠΡΟΔΡΟΜΟΣ Πανεπιστήμιο Minnesota, USA ΜΑΣΤΡΟΓΕΩΡΓΟΠΟΥΛΟΣ ΣΠΥΡΟΣ Αριστοτέλειο

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 7 η : Περιοχές: Εναλλακτική Μέθοδος Ανάλυσης Ροής Δεδομένων Περιοχές (Regions) Σε κάποιες περιπτώσεις βρόχων η ανάλυση ροής δεδομένων με τον επαναληπτικό αλγόριθμο συγκλίνει αργά

Διαβάστε περισσότερα

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός

ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός 2 ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός 3 ΟΔΗΓΟΣ στη ΧΡΗΣΗ του ΥΠΟΛΟΓΙΣΤΗ 4 ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός 5 ΓΕΩΡΓΙΟΣ ΘΕΟΔΩΡΟΥ Καθηγητής Α.Π.Θ. ΧΡΙΣΤΙΝΑ ΘΕΟΔΩΡΟΥ Μαθηματικός ΟΔΗΓΟΣ στη ΧΡΗΣΗ του ΥΠΟΛΟΓΙΣΤΗ

Διαβάστε περισσότερα

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

Διαβάστε περισσότερα

Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την

Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την Βοηθητικές έννοιες (i) Σύνολα FIRST Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την Αν a τότε a FIRST Αν τότε FIRST Νίκος Παπασπύρου,

Διαβάστε περισσότερα

Περιεχόμενα. 2 Αριθμητικά συστήματα

Περιεχόμενα. 2 Αριθμητικά συστήματα Περιεχόμενα Πρόλογος 1 Εισαγωγή 1.1 Το μοντέλο Turing 1.2 Το μοντέλο von Neumann 1.3 Συστατικά στοιχεία υπολογιστών 1.4 Ιστορικό 1.5 Κοινωνικά και ηθικά ζητήματα 1.6 Η επιστήμη των υπολογιστών ως επαγγελματικός

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Παραδείγματα Ενοτήτων 7-9 Ενότητα 7: Ενδιάμεσος κώδικας Άσκηση 7-1: Θεωρήστε τη γλώσσα προγραμματισμού C με τη γνωστή γραμματική

Διαβάστε περισσότερα

Σχεδίαση Λογισμικού. Σημείωση

Σχεδίαση Λογισμικού. Σημείωση Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 10 η : Βελτιστοποιήσεις Τοπικότητας και Παραλληλισμού: Εξαρτήσεις και Μετασχηματισμοί Βρόχων Επεξεργασία Πινάκων Παραλληλισμός επιπέδου βρόχου Λόγω παραλληλισμού δεδομένων Επιτυγχάνεται

Διαβάστε περισσότερα

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

Διαβάστε περισσότερα

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

Λίγα λόγια για τους συγγραφείς 16 Πρόλογος 17

Λίγα λόγια για τους συγγραφείς 16 Πρόλογος 17 Περιεχόμενα Λίγα λόγια για τους συγγραφείς 16 Πρόλογος 17 1 Εισαγωγή 21 1.1 Γιατί χρησιμοποιούμε τη στατιστική; 21 1.2 Τι είναι η στατιστική; 22 1.3 Περισσότερα για την επαγωγική στατιστική 23 1.4 Τρεις

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 6: Ασκήσεις Εξαμήνου Μέρος Β Νοέμβριος 2016 Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση ενός

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ (ΠΕΡΙΛΗΨΗ) ΕΠΙΜΕΛΕΙΑ: ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ ΚΕΦΑΛΑΙΟ 2 ο -ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ 2.1 ΤΙ ΕΙΝΑΙ ΑΛΓΟΡΙΘΜΟΣ ΟΡΙΣΜΟΣ: Αλγόριθμος είναι

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg

Διαβάστε περισσότερα

EÈÛ ÁˆÁ ÛÙËÓ ÏËÚÔÊÔÚÈÎ

EÈÛ ÁˆÁ ÛÙËÓ ÏËÚÔÊÔÚÈÎ E π A π π ª π EÈÛ ÁˆÁ ÛÙËÓ ÏËÚÔÊÔÚÈÎ TfiÌÔ ' KÏ ÓıË Ú ÌappleÔ Ï Ë ÏÒÛÛ ÚÔÁÚ ÌÌ ÙÈÛÌÔ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα

Διαβάστε περισσότερα

Πρόλογος. Πρόλογος 13. Πώς χρησιμοποείται αυτό το βιβλίο 17

Πρόλογος. Πρόλογος 13. Πώς χρησιμοποείται αυτό το βιβλίο 17 Πρόλογος Πρόλογος 13 Πώς χρησιμοποείται αυτό το βιβλίο 17 1 Η λογική σκέψη 19 1.1 Τυπική λογική 20 1.1.1 Διερευνητικά προβλήματα 21 1.1.2 Σύνδεσμοι και προτάσεις 21 1.1.3 Οι πίνακες αλήθειας 23 1.1.4 Λογικές

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

Διαβάστε περισσότερα

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr Κανόνες Ομαλής Λειτουργίας Ερχόμαστε στην ώρα μας Δεν καπνίζουμε και τρώμε εντός της αίθουσας

Διαβάστε περισσότερα

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών http://www.corelab.ntua.gr/courses/ Θεμελιώδη Θέματα Επιστήμης Υπολογιστών 5ο εξάμηνο ΣΕΜΦΕ Ενότητα 0: Εισαγωγή Διδάσκοντες: Στάθης Ζάχος, Άρης Παγουρτζής Υπεύθυνη εργαστηρίου / ασκήσεων: Δώρα Σούλιου

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

Διαβάστε περισσότερα

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 9 1. Εισαγωγή... 13 1.1 Οι Μεγάλες Σύγχρονες Επιστημονικές Προκλήσεις... 13 1.2 Εξέλιξη της Παράλληλης Επεξεργασίας Δεδομένων... 14 1.3 Οι Έννοιες της Σωλήνωσης, του Παραλληλισμού

Διαβάστε περισσότερα

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216 Κεφάλαιο 2: Τυπικές γλώσσες Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 13 / 216 Τυπικές γλώσσες (i) Βασικές έννοιες Αλφάβητο Σύμβολο Συμβολοσειρά Μήκος συμβολοσειράς Σύνολο συμβολοσειρών

Διαβάστε περισσότερα

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος Θέμα 1 Δίνονται τα παρακάτω τμήματα αλγορίθμου Α. βαλίτσα Αληθής εισιτήριο Αληθής ταξίδι βαλίτσα και εισιτήριο Τι τιμή θα έχει η λογική μεταβλητή

Διαβάστε περισσότερα

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

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Εισαγωγή στις Αρχές της επιστήμης των ΗΥ Ερωτήσεις και ασκήσεις για επανάληψη 1. Τι είναι πρόβλημα (σελ 14) 2. Ποιες είναι οι κατηγορίες προβλημάτων με βάση την επίλυση; Δώστε τον ορισμό για κάθε μια κατηγορία.

Διαβάστε περισσότερα

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση ΙII. Εαρινό Εξάμηνο Lec 11 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση ΙII. Εαρινό Εξάμηνο Lec 11 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση ΙII Εαρινό Εξάμηνο 2018-2019 Lec 11 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Γραμματικές Μία γραμματική ονομάζεται αναδρομική εφόσον επιτρέπει παραγωγές

Διαβάστε περισσότερα

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό

Διαβάστε περισσότερα

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές στο χώρο

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές... Περιεχόμενα Πρόλογος... XI Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA... 1 1.1 Εισαγωγή... 1 1.2 Βασικές Αρχές... 1 1.2.1 Boolean Άλγεβρα... 1 1.2.2 Σχηματικά και Λογικά Σύμβολα... 6 1.3 Ψηφιακή Σχεδίαση

Διαβάστε περισσότερα

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γιώργος Δημητρίου Μάθημα 2 ο Αλφάβητα και Γλώσσες Αλφάβητο: Ένα μη κενό και πεπερασμένο σύνολο συμβόλων Γλώσσα: Ένα οποιοδήποτε υποσύνολο των συμβολοσειρών ενός αλφαβήτου (οι προτάσεις της γλώσσας, πχ.

Διαβάστε περισσότερα

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην αναγκαιότητα ύπαρξης των μεταγλωττιστών

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην αναγκαιότητα ύπαρξης των μεταγλωττιστών ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Σκοπός: Το μάθημα αυτό αναφέρεται: 1 Ο Εργαστηριακό Μάθημα Εισαγωγή Στην αναγκαιότητα ύπαρξης των μεταγλωττιστών Στα στάδια της μεταγλώττισης Θεωρία Πρόλογος Αφιερώνεται το πρώτο εργαστηριακό

Διαβάστε περισσότερα

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

Διαβάστε περισσότερα

Κεφάλαιο 7 Βασικά Θέματα Προγραμματισμού. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 7 Βασικά Θέματα Προγραμματισμού. Εφαρμογές Πληροφορικής Κεφ. 7 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 7 Βασικά Θέματα Προγραμματισμού Καραμαούνας Πολύκαρπος 1 1. Τύποι και Μεταβλητές Τύποι δεδομένων: 1. Ακέραιος π.χ. 3, -9, 2004 2. Πραγματικός π.χ. 3.14 3. Χαρακτήρας π.χ. 3ο Ενιαίο Λύκειο 4. Λογικός

Διαβάστε περισσότερα

Απάντηση: (func endfunc)-([a-za-z])+

Απάντηση: (func endfunc)-([a-za-z])+ Γλώσσες Προγραμματισμού Μεταγλωττιστές Ασκήσεις Επανάληψης ) Περιγράψτε τις κανονικές εκφράσεις που υποστηρίζουν (i) συμβολοσειρές που ξεκινούν με το πρόθεμα "func" ή "endfunc" ακολουθούμενο το σύμβολο

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 3 η : Ενδιάμεση Αναπαράσταση / SSA Ενδιάμεση Αναπαράσταση (IR) Η ενδιάμεση αναπαράσταση αποθηκεύει τη συγκεντρωμένη πληροφορία από την ανάλυση ενός προγράμματος Από την ενδιάμεση

Διαβάστε περισσότερα

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος

Διαβάστε περισσότερα

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

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ I: ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1.1 ΕΙΣΑΓΩΓΙΚΗ ΑΝΑΦΟΡΑ ΣΤΑ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 1 1.1.1 Σήματα ψηφιακών συστημάτων 1 1.1.2 Παράλληλη και σειριακή μεταφορά πληροφορίας 2 1.1.3 Λογική τριών

Διαβάστε περισσότερα

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4 Διαδικασίες παραγωγής λογισμικού Στόχοι Παρουσίαση μοντέλων παραγωγής λογισμικού Περιγραφή τριών γενικών μοντέλων παραγωγής λογισμικού και πότε μπορούν να χρησιμοποιούνται Γενική περιγραφή των μοντέλων

Διαβάστε περισσότερα

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα 1. Εισαγωγή 1.1 O Υπολογιστής ως εργαλείο μηχανικού 1.2 Η Επιστήμη των υπολογιστών 1.3 Ιστορικό Σημείωμα 1.4 Ο υπολογιστής μηχανή επεξεργασίας ψηφιακής πληροφορίας 1.5 Ψηφιοποίηση πληροφορίας 1.5.1 ψηφιοποίηση

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ιορδάνης Κουτσόπουλος Επίκουρος Καθηγητής Οι διαφάνειες βασίζονται σε μεγάλο βαθμό σε αυτές που συνοδεύονται με το προτεινόμενο σύγγραμμα, καθώς και στις διαφάνειες

Διαβάστε περισσότερα

iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος

iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος xi 1 Αντικείμενα των Πιθανοτήτων και της Στατιστικής 1 1.1 Πιθανοτικά Πρότυπα και Αντικείμενο των Πιθανοτήτων, 1 1.2 Αντικείμενο της Στατιστικής, 3 1.3 Ο Ρόλος των Πιθανοτήτων

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα