INTERPRETER (ΔΙΕΡΜΗΝΕΑΣ)
|
Program Test; BEGIN
Wrateln(Hello)
Writeln(‘Hello Word’);
END. |
INTERPRETER (ΔΙΕΡΜΗΝΕΑΣ) |
Ελέγχει, μεταφράζει, παράγει κώδικα, εκτελεί Program Test; Ελέγχει, μεταφράζει, παράγει κώδικα, εκτελεί BEGIN
Ελέγχει Wrateln(Hello) βρίσκει λάθος (σωστή σύνταξη και ορθογραφία Writeln(‘Hello’); Σταματάει η εκτέλεση
|
Ο διερμηνέας Interpreter διαβάζει μία μια τις εντολές του πηγαίου κώδικα, τις ελέγχει ορθογραφικά και συντακτικά και μετά παράγει τον κώδικα σε γλώσσα μηχανής και τις εκτελεί.
Διαφορές Compiler με Interpreter
Ο
Compiler ελέγχει όλο τον κώδικα για λάθη και μετά
παράγει τον πηγαίο κώδικα και εκτελεί το πρόγραμμα ενώ ο
Interpreter ελέγχει μια μια τις εντολές, παράγει τον αντίστοιχο
κώδικα μηχανής και την εκτελεί. Στην συνέχεια ελέγχει την επόμενη εντολή,
παράγει τον κώδικα και την εκτελεί.
Ο
Compiler αν βρει λάθος δεν εκτελεί καθόλου το
πρόγραμμα ενώ ο Interpreter αν βρει λάθος σε μια
εντολή θα έχει εκτελέσει το πρόγραμμα ως αυτή την εντολή και μετά
σταματάει..
Ο
Interpreter κάθε φορά που εκτελούμε το πρόγραμμα
γίνεται έλεγχος και μετάφραση ενώ με τον Compiler
απλώς εκτελούμε το αντικείμενο πρόγραμμα και δεν χρειάζεται ξανά έλεγχος και
μετάφραση.
Με τον
Interpreter η διόρθωση των λαθών γίνεται πιο
εύκολα.
Η εκτέλεση
ενός προγράμματος με τον Interpreter γίνεται πιο
αργά σε σχέση με την εκτέλεση του αντικείμενου προγράμματος του
Compiler.