Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7."— Μεταγράφημα παρουσίασης:

1 Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7

2 Προγραμματιστικά περιβάλλοντα Μεταγλωττιστές και διερμηνευτές Μεταγλωττιστές και διερμηνευτές Πηγαίο πρόγραμμα και αντικείμενο πρόγραμμα Πηγαίο πρόγραμμα και αντικείμενο πρόγραμμα Βιβλιοθήκες Βιβλιοθήκες Συνδέτης-φορτωτής Συνδέτης-φορτωτής Εκτελέσιμο πρόγραμμα Εκτελέσιμο πρόγραμμα

3 Μεταγλωττιστές (Compilers) Ο μεταγλωττιστής δέχεται ένα πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής Ο μεταγλωττιστής δέχεται ένα πρόγραμμα γραμμένο σε γλώσσα υψηλού επιπέδου και παράγει ένα ισοδύναμο πρόγραμμα σε γλώσσα μηχανής

4 Διερμηνευτές (Interpreters) Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μία εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής Ο διερμηνευτής διαβάζει μία προς μία τις εντολές του αρχικού προγράμματος και για κάθε μία εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής

5 Πηγαίο πρόγραμμα και αντικείμενο πρόγραμμα Πηγαίο πρόγραμμα (source code) λέγεται το αρχικό πρόγραμμα που είναι γραμμένο σε γλώσσα υψηλού επιπέδου Πηγαίο πρόγραμμα (source code) λέγεται το αρχικό πρόγραμμα που είναι γραμμένο σε γλώσσα υψηλού επιπέδου Αντικείμενο πρόγραμμα (object code) λέγεται το πρόγραμμα που παράγεται απ’ τον μεταγλωττιστή Αντικείμενο πρόγραμμα (object code) λέγεται το πρόγραμμα που παράγεται απ’ τον μεταγλωττιστή

6 Βιβλιοθήκες (libraries) και συνδέτης- φορτωτής (linker-loader) Το αντικείμενο πρόγραμμα είναι γλώσσα μηχανής αλλά συνήθως χρειάζεται επιπλέον κώδικα για να εκτελεστεί Το αντικείμενο πρόγραμμα είναι γλώσσα μηχανής αλλά συνήθως χρειάζεται επιπλέον κώδικα για να εκτελεστεί Ο επιπλέον κώδικας είναι ήδη μεταγλωττισμένος και αποθηκευμένος σε βιβλιοθήκες Ο επιπλέον κώδικας είναι ήδη μεταγλωττισμένος και αποθηκευμένος σε βιβλιοθήκες Ο συνδέτης-φορτωτής συνδέει το αντικείμενο πρόγραμμα με τις βιβλιοθήκες και παράγει το εκτελέσιμο πρόγραμμα (executable) Ο συνδέτης-φορτωτής συνδέει το αντικείμενο πρόγραμμα με τις βιβλιοθήκες και παράγει το εκτελέσιμο πρόγραμμα (executable)

7 Μεταγλώττιση και σύνδεση προγράμματος Αρχικό Πρόγραμμα Αρχικό Πρόγραμμα Αντικείμενο Πρόγραμμα Εκτελέσιμο Πρόγραμμα Εκτελέσιμο Πρόγραμμα Μεταγλωττιστής Συνδέτης Βιβλιοθήκες

8 Λάθη προγράμματος Ένα πρόγραμμα μπορεί να έχει Ένα πρόγραμμα μπορεί να έχει Γραμματικά και συντακτικά λάθη που εντοπίζονται κατά τη φάση της μεταγλώττισης Γραμματικά και συντακτικά λάθη που εντοπίζονται κατά τη φάση της μεταγλώττισης Λογικά λάθη, λάθη δηλαδή στο σχεδιασμό και στους αλγορίθμους του προγράμματος, τα οποία εμφανίζονται μόνο κατά την εκτέλεση του προγράμματος Λογικά λάθη, λάθη δηλαδή στο σχεδιασμό και στους αλγορίθμους του προγράμματος, τα οποία εμφανίζονται μόνο κατά την εκτέλεση του προγράμματος

9 Διαδικασία μετάφρασης και εκτέλεσης ενός προγράμματος Ανάλυση – Έλεγχος Ανίχνευση - Εκτέλεση Εντολή 1 Ανάλυση – Έλεγχος Ανίχνευση - Εκτέλεση Ανάλυση – Έλεγχος Ανίχνευση - Εκτέλεση Εντολή 2 Εντολή n... Μεταγλώττιση Φόρτωση Σύνδεση όλων των εντολών Εκτέλεση ολόκληρου του προγράμματος

10 Πηγαίος κώδικας (Source code) Program Exponent; var Number: Integer; Power: Integer; Product: Integer; Counter: Integer; BeginRead(Number);Read(Power); Product := 1; Counter := Power; While Counter > 0 Do Begin Product := Product * Number; Counter := Counter – 1; End;Write(Product);End.

11 Βήματα Μετασχηματισμού των Γραπτών Προγραμμάτων Πηγαίος Κώδικας Program Exponent; var Number: Integer; Power: Integer; Product: Integer; Counter: Integer; Begin Read(Number); Read(Power); Product := 1; Counter := Power; While Counter > 0 Do Begin Product := Product * Number; Counter := Counter – 1; End; Write(Product); End. Σαρωτής (Scanner) Αναλυτής Προτάσεων (sentence analyzer) Ελεγκτής Τύπων (Type Validator) Γεννήτρια Κώδικα (Code Generator) Βελτιστοποιητής (Optimizer) STORE JZERO STORE LOAD ADD STORE JUMP HALT 1 3 7 0 0 LOAD SUB COUNTER ONE PRODUCT MPLICAND PRODUCT LOOP MPLIER FINISH COUNTER FINISH: ONE: MPLIER: MPLICAND: PRODUCT: COUNTER: LOOP:


Κατέβασμα ppt "Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google