Μεταγλωττιστές. Αρχές, Τεχνικές & Εργαλεία. Δεύτερη Έκδοση. 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 ο Γεννήτορας Τελικού Κώδικα Ο γεννήτορας τελικού κώδικα είναι το πιο κρίσιμο τμήμα του μεταγλωττιστή και αντιμετωπίζει πολύπλοκα προβλήματα Βέλτιστη χρήση της αρχιτεκτονικής

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

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

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

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

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

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

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

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

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

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. 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 Δομή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς K εφ. 1 σχολικού βιβλίου 1. Επιλύσιμο είναι ένα πρόβλημα για το οποίο ξέρουμε ότι έχει λύση, αλλά αυτή δεν έχει βρεθεί ακόμη. 2. Για

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

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

Περιεχόμενα. Πρόλογος... 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 Ψηφιακή Σχεδίαση

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

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

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

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

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

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

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

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 6 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

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

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

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

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

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

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

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

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

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

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

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

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 9 η : Θέματα Δρομολόγησης Εντολών ILP Παραλληλισμός επιπέδου εντολής Εξαρτήσεις δεδομένων Εξαρτήσεις ελέγχου (διαδικασιακές) Με διαθέσιμους πόρους, οι εντολές μπορούν να εκτελεστούν

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

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

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

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

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας.

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας. ΠΡΟΛΟΓΟΣ Το βιβλίο «Δικτυακή Βελτιστοποίηση» γράφτηκε με κύριο στόχο να καλύψει τις ανάγκες της διδασκαλίας του μαθήματος «Δικτυακός Προγραμματισμός», που διδάσκεται στο Τμήμα Εφαρμοσμένης Πληροφορικής,

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6 Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

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

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

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

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

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

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

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Πτυχιακή εργασία του φοιτητή Γιαννακίδη Αποστόλη Επιβλέπων καθηγητής Τσούλος

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

Η ΕΠΑΝΑΣΤΑΣΗ ΤΟΥ ΚΡΙΟΥ

Η ΕΠΑΝΑΣΤΑΣΗ ΤΟΥ ΚΡΙΟΥ Βασίλης Γ. Αγγέλης Δρ. Μηχανικός Η/Υ και Πληροφορικής Η ΕΠΑΝΑΣΤΑΣΗ ΤΟΥ ΚΡΙΟΥ Μετατρέψτε τα δεδομένα σας σε κέρδος Αθήνα Κάθε γνήσιο αντίγραφο έχει την υπογραφή του συγγραφέα Έκδοση 1 η, Copyright 2007

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

Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 21

Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 21 Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel...3 1.1 Τι νέο υπάρχει στο Excel 2016...4 1.1.1 Νέες λειτουργίες του Excel 2016...4 1.2 Διάφοροι τρόποι εκκίνησης του Excel...6 1.3 Εξοικείωση με το περιβάλλον

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

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον υποδειγματική διδασκαλία Κεφ. 3 Δομές Δεδομένων & αλγόριθμοι

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Λογισμικό Συστήματος. Κλειώ Σγουροπούλου Λογισμικό Συστήματος Κλειώ Σγουροπούλου Λογισμικό συστήματος Λειτουργικό σύστημα Μεταφραστές γλώσσας (translators) Διερμηνείς (interpreters) Μεταγλωττιστές (compilers) Εκδότες (editors) Φορτωτές (loaders)

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

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διαχείριση Πολιτισμικών Δεδομένων Ενότητα 6: Εισαγωγή στις Βάσεις Δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

Προχωρημένα Ζητήματα Σχεδιασμού Κατανεμημένων Συστημάτων Εγχειρίδιο Μελέτης

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

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

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες Πρώτο Κεφάλαιο Εισαγωγή στα Ψηφιακά Συστήματα 1.1 Αναλογικά και Ψηφιακά Σήματα και Συστήματα... 1 1.2 Βασικά Ψηφιακά Κυκλώματα... 3 1.3 Ολοκληρωμένα κυκλώματα... 4 1.4 Τυπωμένα κυκλώματα... 7 1.5 Εργαλεία

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

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

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

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

Σχεδιασμός και Διαχείριση Λογισμικού

Σχεδιασμός και Διαχείριση Λογισμικού Σχεδιασμός και Διαχείριση Λογισμικού Μαρία Ρήγκου Δρ Πανεπιστημίου Πατρών Δημήτριος Σταυρινούδης Δρ Πανεπιστημίου Πατρών Τόμος Β Διαχείριση και Ποιότητα Λογισμικού Το έργο υλοποιείται στο πλαίσιο του

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Κόννης Γιώργος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Προγραμματισμός Στόχοι 1 Να περιγράψουμε τις έννοιες του Υπολογιστικού Προβλήματος και του Προγράμματος/Αλγορίθμου

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

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

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

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

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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