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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

(READ – WRITE) ΚΑΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ (INTEGER,REAL,CHAR)
Προγραμματισμός PASCAL
Επιμέλεια: Τίκβα Χριστίνα
Κεφάλαιο Τμηματικός προγραμματισμός
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΥΠΟΡΟΥΤΙΝΕΣ
7.5.2 Αντικειμενοστραφής προγραμματισμός
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ. Ε
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
Γλώσσα Προγραμματισμού
ΜΑΘ-3122/106 Προγραμματισμός
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
ΕΠΛ223 - Θεωρία και Πρακτική Μεταγλωττιστών9-1 Στατικός Έλεγχος Με τον όρο στατικός έλεγχος (static checking) χαρακτηρίζεται ο έλεγχος της συντακτικής.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 5: Επαναληπτικές και εξωτερικές συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009.
Αναγνώριση Προτύπων.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
ΕΠΛ223 Θεωρία και Πρακτική Μεταγλωττιστών Εαρινό Εξάμηνο 2002 Κ. Μουρλάς, Λέκτορας Σημείωση: Οι διαφάνειες αυτές βασίζονται κατά το μεγαλύτερο μέρος τους.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Σχεδίαση αλγορίθμων (2ο μέρος)
Ολυμπιάδα Πληροφορικής
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες.
Ενότητα Α.4. Δομημένος Προγραμματισμός
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής,
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τμ. Πληροφορικής,
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
Το Συντακτικό της PROLOG
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΘΠ06 - Μεταγλωττιστές Εισαγωγή στον Bison Φροντιστήριο - 23/03/2010.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 9: Παραγωγή Ενδιάμεσου Κώδικα (Ενδιάμεσες Γλώσσες) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 13: Επαναληπτικό μάθημα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Το περιεχόμενο του μαθήματος διατίθεται.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 8: Πίνακας Συμβόλων Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας.
Κεφάλαιο 10 – Υποπρογράμματα
Προγραμματισμός Γιατι γραφουμε προγραμματα (προηγ. διαλεξη)
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 10: Παραγωγή Ενδιάμεσου Κώδικα (Σημασιολογικές ρουτίνες μετάφρασης-Μέρος Α) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 4-1 Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
1 Προγραμματισμός Ι Ενότητα 6 : Υποπρογράμματα III Αλέξανδρος Τζάλλας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
Εφαρμογές Υπολογιστών
Κεφάλαιο 4 :: Σημασιολογική Ανάλυση
ΠΑΡΑΜΕΤΡΟΙ ΥΠΟΠΡΟΓΡΑΜΜΑΤΩΝ Τυπικές Παράμετροι Πραγματικές Παράμετροι
Η Γλώσσα Pascal Υποπρογράμματα
Πίνακας Συμβόλων Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής.
Εισαγωγή στον Προγ/μό Υπολογιστών
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Μεταγράφημα παρουσίασης:

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

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

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

Λεκτική Ανάλυση Λειτουργία κατά την οποία ένα τμήμα του μεταγλωττιστή (λεκτικός αναλυτής) διαβάζει το πηγαίο πρόγραμμα χαρακτήρα προς χαρακτήρα. Οι χαρακτήρες ομαδοποιούνται σε ανεξάρτητες οντότητες πχ λέξεις-κλειδιά, μεταβλητές, αριθμοί κλπ. Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Παράδειγμα Ο λεκτικός αναλυτής διαβάζει την εντολή: height := base+old *10; Η εντολή χωρίζεται στις οντότητες «height», «:=», «base», «+», «old», «*», «10» και «;». Ο λεκτικός αναλυτής πραγματοποιεί και άλλες αρχικές διεργασίες, που διευκολύνουν τις επόμενες φάσεις της μεταγλώττισης. Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Συντακτική Ανάλυση Η ακολουθία από ανεξάρτητες οντότητες μεταβιβάζεται στον συντακτικό αναλυτή Ελέγχει αν η ακολουθία σχηματίζει συντακτικά ορθές φράσεις της πηγαίας γλώσσας Η πληροφορία, που διαθέτει για αυτό, είναι ένα σύνολο κανόνων, που περιγράφουν το συντακτικό της πηγαίας γλώσσας και έχουν μορφή επεκτεταμένης γραμματικής χωρίς συμφραζόμενα Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Συντακτική Ανάλυση Αν εντοπισθεί λάθος στο συντακτικό εξάγεται κατάλληλο διαγνωστικό μήνυμα Σε πολλές περιπτώσεις λάθους ο συντακτικός αναλυτής ξεπερνά το λάθος και συνεχίζει τη διαδικασία Στο τέλος έχει σχηματισθεί ένα συντακτικό δέντρο, που χρησιμοποιείται στην επόμενη φάση της μεταγλώττισης Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Σημασιολογική Ανάλυση Έλεγχος της στατικής σημασιολογίας κάθε φράσης του πηγαίου προγράμματος. Πχ για μία εντολή ανάθεσης ελέγχεται η δήλωση όλων των μεταβλητών, που θα χρησιμοποιηθούν Μετάφραση στην περίπτωση, που είναι σωστά Παραγωγή ενδιάμεσου κώδικα, που υλοποιεί τη συγκεκριμένη εντολή Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

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

Παραγωγή Τελικού Κώδικα Μετατροπή ενδιάμεσου κώδικα σε εκτελέσιμο κώδικα μηχανής Απαιτείται λεπτομερής γνώση χαρακτηριστικών μηχανής στην οποία θα εκτελεσθεί ο κώδικας-στόχος Απλούστευση της διαδικασίας με συνένωση φάσεων παραγωγής ενδιάμεσου και τελικού κώδικα Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Διαδικασίες (procedures) Χαρακτηριστικό σύγχρονων γλωσσών προγραμματισμού Επιτρέπει την ονομασία τμημάτων του κώδικα και «κλήση» τους από άλλα σημεία του προγράμματος Το τμήμα αυτό του κώδικα ονομάζεται σώμα της διαδικασίας Έχει σύνολο από τυπικές παραμέτρους Καλείται με πραγματικές παραμέτρους Το σώμα της εκτελείται (ενεργοποίηση) Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Αναδρομή Μία διαδικασία ονομάζεται αναδρομική όταν καλεί η ίδια τον εαυτό της ή όταν καλεί κάποια άλλη διαδικασία, που μέσω σειράς κλήσεων ξανακαλεί την αρχική διαδικασία. Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Μέθοδοι Περάσματος Παραμέτρων Τρόποι αντικατάστασης των τυπικών παραμέτρων μιας διαδικασίας από πραγματικές Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Κλήση με Τιμή Οι τυπικές παράμετροι της διαδικασίας που καλείται παίρνουν την τιμή των πραγματικών παραμέτρων Βήματα Υπολογισμός της τιμής της έκφρασης Ε (έστω υ) Εκτέλεση του σώματος της διαδικασίας p. Όταν συναντάται η τυπική παράμετρος της p (έστω x), αντικαθίσταται με την προϋπολογισμένη τιμή υ. Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Παράδειγμα 6.1 Έστω η διαδικασία function square(x:integer):integer; begin square := x*x; end; Αν καλέσουμε τη συνάρτηση square ως square(2+3) υπολογίζεται η τιμή 2+3=5 και αρχίζει η εκτέλεση του σώματος της διαδικασίας. Όταν συναντηθεί η έκφραση x*x, τα x αντικαθίστανται από το 5 και επιστρέφει η τιμή 25. Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Παράδειγμα 6.2 Έστω η διαδικασία procedure change (x,y: integer); var z:integer; begin z:=x; x:=y; y:=z; end; Η κλήση change (a,b), όπου a,b μεταβλητές τύπου integer, δεν έχει κανένα αποτέλεσμα πάνω στις μεταβλητές a και b. Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Κλήση με αναφορά Οι τυπικές παράμετροι μιας διαδικασίας γίνονται συνώνυμες με τη θέση στη μνήμη αντίστοιχων πραγματικών παραμέτρων Pascal Η λέξη-κλειδί var κάνει την τυπική παράμετρο x να φιλοξενεί στη διάρκεια των κλήσεων τη διεύθυνση της αντίστοιχης πραγματικής παραμέτρου Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Παράδειγμα 6.3 - 1 Έστω η διαδικασία procedure swap(var x:integer; var y:integer); var z:integer; begin z:=x; x:=y; y:=z; end; Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Παράδειγμα 6.3 - 2 Κλήση της μορφής swap(a,b) με a και b μεταβλητές τύπου integer αποτέλεσμα ανταλλαγή τιμών των μεταβλητών a και b Κλήση με αναφορά πραγματοποιείται C με χρήση δεικτών Java βασική μέθοδος περάσματος παραμέτρων, όταν πρόκειται για πέρασμα αντικειμένων Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Κλήση με Όνομα Ιστορικό ενδιαφέρον Σημερινή χρήση Βασική μέθοδος κλήσης στην Algol 60 Σημερινή χρήση Παρόμοια μέθοδος κλήσης στις συναρτησιακές γλώσσες προγραμματισμού Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

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

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

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

Αναδρομικός υπολογισμός του παραγοντικού ενός φυσικού αριθμού Παράδειγμα 6.4 Αναδρομικός υπολογισμός του παραγοντικού ενός φυσικού αριθμού function f(n:integer): integer; begin if n=0 then f:=1 else f:=n*f(n-1); end; Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Ενεργοποίηση Μία αναδρομική διαδικασία μπορεί να έχει περισσότερες από μία ταυτόχρονες ενεργοποιήσεις Δικό της χώρο στη μνήμη, για να εκτελεσθεί Τοπικές μεταβλητές ανεξάρτητες από αυτές των υπόλοιπων ενεργοποιήσεων Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Δέντρο Ενεργοποιήσεων Η ροή ελέγχου ανάμεσα στις ενεργοποιήσεις διαδικασιών δημιουργεί ένα νοητό δέντρο Όταν η ενεργοποίηση p καλεί την q, τότε ο κόμβος του δέντρου για την p έχει τον κόμβο για την q ως παιδί του. Αν η p καλεί την q πριν την r, τότε ο κόμβος για την r εμφανίζεται δεξιά από τον κόμβο για την q. Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Εγγραφή ενεργοποίησης Τα δεδομένα των ενεργοποιήσεων μαζεύονται σε μία δομή, που ονομάζεται εγγραφή ενεργοποίησης. Οι εγγραφές τοποθετούνται η μία μετά την άλλη σε μία κατάλληλη μεγαλύτερη δομή, που ονομάζεται στοίβα. Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών