Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
για την «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον» (ΑΕΠΠ)

Νέα 25 Ιουλ 11: Έκδοση 1.5.1 με υποστήριξη ψευδογλώσσας

Βοήθεια για το Διερμηνευτή της ΓΛΩΣΣΑΣ

Ο Διερμηνευτής της ΓΛΩΣΣΑΣ είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης αλγορίθμων σε μορφή ψευδοκώδικα, ειδικά σχεδιασμένο για τη ΓΛΩΣΣΑ προγραμματισμού που διδάσκεται στα πλαίσια του μαθήματος «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον» (ΑΕΠΠ) της Γ΄ Ενιαίου Λυκείου. Είναι ώριμο και σταθερό λογισμικό (αναπτύσσεται ενεργά από το 2001), ενώ υλοποιεί πιστά τη ΓΛΩΣΣΑ της ΑΕΠΠ. Το 2006 διατέθηκε στα δημόσια σχολεία μέσω του εκπαιδευτικού πακέτου «Αλγοριθμική και Προγραμματισμός» του ΥΠΕΠΘ και εγκρίθηκε από το Παιδαγωγικό Ινστιτούτο, οπότε πλέον (μαζί με το όλο πακέτο) αποτελεί επίσημο εργαστηριακό βοήθημα για το μάθημα.

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

Ο Διερμηνευτής της Γλώσσας Το περιβάλλον του Διερμηνευτή

(1) Γραμμή μενού

Οι επιλογές των μενού περιγράφονται αναλυτικά παρακάτω.

(2) Γραμμή εργαλείων

Οι επιλογές της γραμμής εργαλείων περιγράφονται στα αντίστοιχα μενού.

(3), (4), (5) Χώροι του Διερμηνευτή

Ο Διερμηνευτής είναι χωρισμένος σε τρία μέρη, το επάνω (3), το κάτω (4) και το δεξί (5). Το κάθε μέρος περιέχει αρχικά κάποιες καρτέλες, αλλά αυτές μπορούν να μετακινηθούν (docking) σε άλλο χώρο ανάλογα με τις ανάγκες του προγράμματος. Για παράδειγμα αν η έξοδος ενός προγράμματος αποτελείται από πολλές γραμμές μικρού πλάτους, θα εμφανιστεί καλύτερα αν σύρουμε με το ποντίκι την καρτέλα Οθόνη εκτέλεσης στο δεξί χώρο (5). Επίσης οι καρτέλες μπορούν να αιωρούνται (float) όπως η καρτέλα Εντολές στην εικόνα. Η αιώρηση γίνεται ευκολότερα κρατώντας πατημένο το πλήκτρο Ctrl και σέρνοντας με το ποντίκι την καρτέλα. Επίσης σε μεγάλα προγράμματα μπορεί να βολεύει να σύρουμε και να μεγαλώσουμε την οθόνη εκτέλεσης ώστε να καταλάβει όλη την οθόνη του υπολογιστή.

Καρτέλα «Κώδικας»

Σε αυτή συντάσσεται ο αλγόριθμος σε μορφή ψευδοκώδικα. Τα διάφορα συντακτικά ή λάθη εκτέλεσης, η βήμα προς βήμα εκτέλεση και τα σημεία διακοπής εμφανίζονται σ' αυτήν. Η γραμματοσειρά του κώδικα καθώς και το μέγεθός της είναι προσαρμόσιμα από τις Επιλογές του Διερμηνευτή.

Μερικές χρήσιμες λειτουργίες της καρτέλας που δεν είναι προφανείς:

  • Με ctrl + κλικ πάνω σε οποιαδήποτε λέξη, η λέξη αυτή αντιγράφεται στην τρέχουσα θέση του δρομέα. Έτσι οι μαθητές μπορούν να γράφουν μεταβλητές με χαρακτηριστικά (μεγάλα) ονόματα χωρίς να χρειάζονται επιπλέον χρόνο για τη διαρκή πληκτρολόγησή τους.
  • Με ctrl + διάστημα εμφανίζεται το πλαίσιο με την πρόταση συμπλήρωσης, το οποίο αποτελεί έναν εναλλακτικό τρόπο γρήγορης εισαγωγής λέξεων. Για παράδειγμα, γράφοντας «Αρ» και πατώντας ctrl + διάστημα εμφανίζονται οι λέξεις «Αρχή» και «Αρχή_επανάληψης».
  • Με alt + σύρσιμο του ποντικιού είναι δυνατό να επιλεγεί κείμενο σε οποιαδήποτε ορθογώνια περιοχή, όχι μόνο ανά γραμμές.
  • Αφού επιλεγεί κάποιο κείμενο, με σύρσιμο του ποντικιού είναι δυνατή η μετακίνησή του σε άλλη θέση.
  • Αφού επιλεγούν τουλάχιστον δύο γραμμές, το πλήκτρο tab αυξάνει την εσοχή (αριθμό κενών) τους, ενώ το shift + tab τη μειώνει.
  • Με κλικ πάνω στους αριθμούς γραμμών προστίθενται ή αφαιρούνται σημεία διακοπής.
  • Με ctrl + shift + 5, για παράδειγμα, δημιουργείται μια υπενθύμιση (bookmark) του αριθμού γραμμής που βρίσκεται ο δρομέας. Αργότερα μπορούμε να μεταφερθούμε στην ίδια γραμμή πατώντας ctrl + 5. Υποστηρίζονται 10 υπενθυμίσεις.
  • Η συντόμευση για την «Ακύρωση αναίρεσης» (Redo) είναι shift + ctrl + Z.

Καρτέλα «Αρχείο Εισόδου»

Όταν ένα πρόγραμμα απαιτεί πάρα πολλά δεδομένα (π.χ. είσοδος πίνακα 100 στοιχείων), αυτά μπορούν να πληκτρολογηθούν σ' αυτήν την καρτέλα. Στη συνέχεια, αν η επιλογή Χρήση αρχείου εισόδου είναι ενεργοποιημένη, οι εντολές ΔΙΑΒΑΣΕ θα αντλούν τα δεδομένα τους από αυτήν την καρτέλα χωρίς να χρειάζεται να τα πληκτρολογεί εκ νέου ο χρήστης. Δείτε επίσης και το μενού Εκτέλεση με καταγραφή εισόδου για την «αντίθετη» δυνατότητα, δηλαδή να συμπληρωθεί αυτόματα το Αρχείο Εισόδου από τις εντολές ΔΙΑΒΑΣΕ. Η καρτέλα Εντολές
Η καταγεγραμμένη είσοδος αποθηκεύεται στο ίδιο αρχείο με τον κώδικα, και επομένως αν χρειάζεστε διαφορετικές εισόδους για το ίδιο πρόγραμμα, θα πρέπει να αποθηκεύσετε ξεχωριστό αντίγραφο του προγράμματος.

Καρτέλα «Εντολές»

Περιέχει τις δεσμευμένες λέξεις, τις ενσωματωμένες συναρτήσεις και τους τελεστές της ΓΛΩΣΣΑΣ. Κάνοντας απλό κλικ σε μια λέξη αυτή αντιγράφεται στην καρτέλα «Κώδικας», ώστε να γίνεται ταχύτερα η συγγραφή του προγράμματος. Με δεξί κλικ αντιγράφεται ολόκληρη γραμμή, ενώ με κλικ και σύρσιμο μπορούν να επιλεγούν πολλές λέξεις ή γραμμές ταυτόχρονα.

Η καρτέλα Μεταβλητές Καρτέλα «Μεταβλητές»

Σε αυτή φαίνονται όλες οι τοπικές μεταβλητές των υποπρογραμμάτων (με τη σειρά που δηλώθηκαν), και μάλιστα κάνοντας διπλό ή δεξί κλικ είναι δυνατή η αλλαγή της τιμής τους για δοκιμές. Αν κάποια μεταβλητή δεν έχει αρχικοποιηθεί ακόμα η τιμή της είναι κενή. Στις εντολές διακλάδωσης (ΑΝ, ΑΛΛΙΩΣ_ΑΝ, ΠΕΡΙΠΤΩΣΗ, ΟΣΟ, ΓΙΑ - ΜΕΧΡΙ, ΜΕΧΡΙΣ_ΟΤΟΥ) εμφανίζεται και το αποτέλεσμα της συνθήκης ή σύγκρισης. Επιπλέον, στο εσωτερικό των συναρτήσεων, εμφανίζεται η τιμή που έχει ανατεθεί στη συνάρτηση. Στο πλαίσιο επιλογών «Κληθέντα υποπρογράμματα» εμφανίζεται το κυρίως πρόγραμμα και όλα τα υποπρογράμματα με τη σειρά που έγινε η κλήση τους (call stack). Είναι δυνατή η προβολή και η αλλαγή μεταβλητών οποιασδήποτε κλήσης, ακόμα και αναδρομικής.

Καρτέλα «Εκφράσεις»

Η καρτέλα Εκφράσεις Είναι κάτι σαν αριθμομηχανή της ΓΛΩΣΣΑΣ, δηλαδή βάζοντας μία έκφραση στο πλαίσιο «Έκφραση» μπορούμε να δούμε τον τύπο της (π.χ. λογική σταθερά, στοιχείο πίνακα ακεραίων κτλ) και την τιμή της, ή αν κάνουμε λάθος την περιγραφή του. Η έκφραση αποτιμάται με βάση τις μεταβλητές του τρέχοντος υποπρογράμματος. Βέβαια εκφράσεις που δεν περιέχουν μεταβλητές μπορούν να αποτιμηθούν ακόμα και αν δεν εκτελείται κάποιο πρόγραμμα.

Καρτέλα «Οθόνη εκτέλεσης»

Σε αυτήν εισάγονται τα δεδομένα των εντολών ΔΙΑΒΑΣΕ και εμφανίζονται τα αποτελέσματα των ΓΡΑΨΕ και των συντακτικών / λαθών εκτέλεσης.

Περιγραφή των μενού

Τα πολύ προφανή παραλείπονται και επεξηγούνται μόνο όταν έχουν κάποια ιδιαίτερη συμπεριφορά.

Το μενού Αρχείο Μενού «Αρχείο»

Αρχείο → Δημιουργία

Αρχείο → Άνοιγμα

Θυμάται κάθε φορά το φάκελο του τελευταίου προγράμματος που ανοίξατε. Για να ανοίξετε αρχεία με διαφορετική επέκταση από τις προκαθορισμένες, πρέπει να γράψετε *.* στο όνομα αρχείου και να πατήσετε [Enter].

Αρχείο → Άνοιγμα παραδείγματος

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

Αρχείο → Αποθήκευση

Δεν εμφανίζεται αν το αρχείο είναι ανώνυμο. Δηλαδή σε ένα καινούργιο αρχείο θα πρέπει υποχρεωτικά (και λογικά) να κάνουμε «Αποθήκευση ως». Το φορμάτ αρχείων που χρησιμοποιεί ο Διερμηνευτής έχει επέκταση «γλώσσα», και είναι απλά αρχεία Unicode κειμένου. Μετά την έκδοση 1.0 θα αντικατασταθούν (διατηρώντας συμβατότητα με τα παλιά) με αρχεία HTML (ιστοσελίδες). Έτσι αν θέλετε να δημοσιεύσετε στο Διαδίκτυο κάποια άσκηση που φτιάξατε το μόνο που θα πρέπει να κάνετε θα είναι να αλλάξετε την επέκταση του αρχείου.

Αρχείο → Αποθήκευση ως

Αποθηκεύει το αρχείο με διαφορετικό όνομα, δημιουργώντας έτσι ουσιαστικά αντίγραφο του αρχείου.

Παραγωγή εκτελέσιμου Αρχείο → Παραγωγή εκτελέσιμου

Κατασκευάζει ένα εκτελέσιμο αρχείο (.exe) από τον κώδικα του τρέχοντος προγράμματος ΓΛΩΣΣΑΣ. Το αρχείο αυτό μπορείτε στη συνέχεια να το μεταφέρετε και να εκτελεστεί σε άλλον υπολογιστή χωρίς να απαιτείται η παρουσία του Διερμηνευτή. Επειδή τα εκτελέσιμα ουσιαστικά εμπεριέχουν μία μικρή έκδοση του Διερμηνευτή, εμφανίζουν τα ίδια ακριβώς μηνύματα όπως εάν εκτελούνταν εντός της κανονικής έκδοσης, για παράδειγμα "Δεν είναι δυνατή η ανάθεση της τιμής «κείμενο» στο «αριθμός»: πραγματική μεταβλητή" σε αντίθεση με το ακατανόητο "Runtime error 200" που εμφανίζουν εκτελέσιμα που έχουν δημιουργηθεί με άλλες γλώσσες προγραμματισμού.
Τα εκτελέσιμα αυτά είναι προγράμματα κονσόλας (command prompt των Windows - όχι DOS) και έτσι μπορείτε με δεξί κλικ → Ιδιότητες στη γραμμή τίτλου τους να προσαρμόσετε τη γραμματοσειρά τους ή να κάνετε αντιγραφή / επικόλληση κειμένου, προσομοιώνοντας έτσι το αρχείο εισόδου όταν υπάρχουν πολλά δεδομένα. Με δεξί κλικ → Προεπιλογές μπορείτε να προσαρμόσετε τις επιλογές για όλα τα παράθυρα κονσόλας, όχι μόνο γι' αυτό που είναι εκείνη τη στιγμή ανοιχτό.
Μάλιστα οι προχωρημένοι χρήστες μπορούν να τα εκτελέσουν και από ήδη ανοιχτή κονσόλα (Έναρξη → Εκτέλεση → cmd), οπότε να κάνουν και redirection, π.χ. ektelesimo.exe < arxeio_eisodou.txt > arxeio_eksodou.txt.
Ο τίτλος του παραθύρου των εκτελέσιμων αντιστοιχεί στο όνομα του προγράμματος της ΓΛΩΣΣΑΣ. Τα εκτελέσιμα δουλεύουν σε Windows 95, 98, Me, NT, 2000, XP, 2003, Vista, 2008 και Linux (wine και wineconsole), αλλά η διαδικασία παραγωγής εκτελέσιμων δεν δουλεύει σε Windows 9x.
Εάν θέλετε μπορείτε να αλλάξετε το εικονίδιο των εκτελέσιμων με κάποιο από αυτά τα προγράμματα επεξεργασίας εικονιδίων.

Αρχείο → Διαμόρφωση σελίδας

Περιθώρια και προσανατολισμός του χαρτιού εκτύπωσης.

Αρχείο → Προεπισκόπηση εκτύπωσης

Από εκεί μπορείτε να ορίσετε το μέγεθος της γραμματοσειράς κατά την εκτύπωση (με ακρίβεια δεκαδικού ψηφίου), αν θα χρησιμοποιούνται χρώματα κτλ. Οι ρυθμίσεις αυτές αποθηκεύονται για επόμενες φορές, αλλά όχι τα περιθώρια του εκτυπωτή. Αν θέλετε να αλλάξετε μόνιμα τα περιθώρια πηγαίνετε Έναρξη → Ρυθμίσεις → Εκτυπωτές ...

Αρχείο → Εκτύπωση

Αρχείο → Έξοδος

Το μενού Επεξεργασία Μενού «Επεξεργασία»

Επεξεργασία → Αναίρεση

Επεξεργασία → Αποκοπή

Επεξεργασία → Αντιγραφή

Βάζει στο Πρόχειρο των Windows το επιλεγμένο κείμενο σε τρεις διαφορετικές μορφές ταυτόχρονα: απλό κείμενο, κείμενο Unicode και σε μορφή HTML.

  • Απλό κείμενο: αν κάνετε επικόλληση στο σημειωματάριο των Windows 9x/Me το βελάκι θα αντικατασταθεί από <- και τα χρώματα θα χαθούν.
  • Κείμενο Unicode: αν κάνετε επικόλληση στο σημειωματάριο των NT/2000/XP ή Ειδική επικόλληση → Μη μορφοποιημένο κείμενο Unicode στο Microsoft Word θα δείτε το βελάκι να μένει ως έχει αλλά τα χρώματα να χάνονται.
  • Μορφή HTML: αν κάνετε απλή επικόλληση στο Word, Excel, Outlook ή Frontpage τότε θα επιλεχθεί αυτόματα η μορφή HTML, μεταφέροντας έτσι και τα χρώματα. Με αυτόν τον τρόπο μπορείτε να δημιουργήσετε και ιστοσελίδες που να περιέχουν χρωματισμένο ψευδοκώδικα.

Επεξεργασία → Αντιγραφή ως κώδικας HTML

Αυτό βολεύει κυρίως όταν θέλουμε να στείλουμε τον κώδικα σε κάποιο forum και θέλουμε αυτός να εμφανίζεται χρωματισμένος, ή αν γράφουμε HTML «με το χέρι» (βλ. σημειωματάριο). Βάζει στο πρόχειρο τον αντίστοιχο κώδικα HTML για το κείμενο που έχουμε επιλέξει. Π.χ. αν επιλέξουμε το βελάκι και κάνουμε επικόλληση στο σημειωματάριο θα δούμε <code class="SB">&#8592;</code> (το SB σημαίνει Σύμβολο). Αν αυτό το βάλουμε σε ένα θέμα κάποιου forum που έχει ενεργοποιημένη την HTML τότε θα εμφανιστεί το βελάκι με τα προεπιλεγμένα χρώματα (π.χ. στο Στέκι των Πληροφορικών).

Επεξεργασία → Επικόλληση

Επεξεργασία → Διαγραφή

Επεξεργασία → Επιλογή όλων

Επεξεργασία → Εύρεση

Επεξεργασία → Αντικατάσταση

Το μενού Εισαγωγή Μενού «Εισαγωγή»

Εισάγει δεσμευμένες λέξεις, ολόκληρες εντολές ή τελεστές της ΓΛΩΣΣΑΣ, για ταχύτητα στη συγγραφή προγραμμάτων.

Μενού «Εκτέλεση»

Εκτέλεση → Μεταγλώττιση

Κάνει συντακτικό έλεγχο στο πρόγραμμα και κατασκευάζει την εσωτερική αναπαράσταση που χρησιμοποιεί ο Διερμηνευτής για την εκτέλεσή του. Δεν είναι απαραίτητο να χρησιμοποιείται, για παράδειγμα η Εκτέλεση → Εκτέλεση κάνει αυτόματα και μεταγλώττιση.

Εκτέλεση → Εκτέλεση

Εκτελεί τον «Κώδικα», σταματώντας σε σημεία διακοπής, αν υπάρχουν. Αν είναι ενεργοποιημένη η «Αργή εκτέλεση», τότε ο χρήστης μπορεί να δει οπτικά την εκτέλεση του προγράμματος. Αν είναι ενεργοποιημένη η «Χρήση αρχείου εισόδου», τότε οι ΔΙΑΒΑΣΕ δεν περιμένουν είσοδο από το πληκτρολόγιο αλλά χρησιμοποιούν την καρτέλα Αρχείο εισόδου.

Εκτέλεση → Παύση εκτέλεσης

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

Το μενού Εκτέλεση Εκτέλεση → Βήμα με είσοδο σε υποπρογράμματα

Εκτελεί μόνο μία εντολή του προγράμματος και ξαναμπαίνει σε παύση. Αν η τρέχουσα εντολή περιέχει υποπρόγραμμα, σταματάει στην αρχή του υποπρογράμματος.

Εκτέλεση → Βήμα με υπέρβαση υποπρογραμμάτων

Αν η τρέχουσα εντολή περιέχει υποπρόγραμμα, το προσπερνάει και σταματάει στην αμέσως επόμενη εντολή.

Εκτέλεση → Εκτέλεση ως επιστροφή υποπρογράμματος

Αν η τρέχουσα εντολή είναι μέσα σε ένα υποπρόγραμμα, εκτελεί το υποπρόγραμμα και σταματάει ακριβώς στην επόμενη εντολή μετά από αυτό. Αν η τρέχουσα εντολή ανήκει στο κυρίως πρόγραμμα, εκτελεί μέχρι το τέλος του προγράμματος.

Εκτέλεση → Εκτέλεση ως τη γραμμή του δρομέα

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

Εκτέλεση → Τερματισμός εκτέλεσης

Τερματίζει αμέσως την εκτέλεση του προγράμματος.

Εκτέλεση → Αργή εκτέλεση

Αν ενεργοποιηθεί, κάνει την εκτέλεση του προγράμματος να είναι αργή (π.χ. τέσσερις εντολές ανά δευτερόλεπτο), ώστε να μπορεί να παρατηρεί ο χρήστης τη ροή της εκτέλεσης και τις τιμές των μεταβλητών. Η ταχύτητα της αργής εκτέλεσης μπορεί να ρυθμιστεί από τις επιλογές.

Εκτέλεση → Εκτέλεση σε ξεχωριστό παράθυρο

Δημιουργεί ένα προσωρινό εκτελέσιμο από τον τρέχοντα κώδικα ΓΛΩΣΣΑΣ και το εκτελεί σε ξεχωριστό παράθυρο. Ενόσω διαρκεί η εκτέλεσή του ο Διερμηνευτής ελαχιστοποιείται. Αυτή η εντολή είναι χρήσιμη στο να δούμε πώς εκτελείται κάποιο πρόγραμμα έξω από το βοηθητικό περιβάλλον του Διερμηνευτή.

Εκτέλεση → Εκτέλεση με καταγραφή εισόδου

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

Εκτέλεση → Χρήση αρχείου εισόδου

Αν ενεργοποιηθεί τότε οι εντολές ΔΙΑΒΑΣΕ δε σταματάνε την εκτέλεση του προγράμματος περιμένοντας είσοδο από το χρήστη, αλλά χρησιμοποιούν τις τιμές της καρτέλας Αρχείο εισόδου. Αν κάποια γραμμή σε αυτήν την καρτέλα έχει μείνει επίτηδες κενή, τότε αναμένεται είσοδος από το χρήστη. Η επιλογή αυτή μπορεί να ενεργοποιηθεί ή να απενεργοποιηθεί και κατά τη διάρκεια της εκτέλεσης. Επίσης είναι δυνατό να συμπληρώνεται κείμενο σ' αυτήν ενόσω εκτελείται το πρόγραμμα.

Εκτέλεση → Εναλλαγή σημείου διακοπής

Βάζει ή καταργεί ένα σημείο διακοπής στη γραμμή που βρίσκεται ο δρομέας. Όταν το πρόγραμμα φτάσει σ' αυτό το σημείο θα μπει σε παύση.

Το μενού Εργαλεία Μενού «Εργαλεία»

Εργαλεία → Μορφοποίηση κώδικα

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

Εργαλεία → Προβολή πλήρους οθόνης

Κρύβει τη γραμμή τίτλου του Διερμηνευτή και τη γραμμή εργασιών των Windows, μεγιστοποιώντας έτσι το χώρο εργασίας. Ιδιαίτερα χρήσιμο αν η ανάλυση της οθόνης είναι μικρή.

Εργαλεία → Επιλογές

Ο Διερμηνευτής έχει πάρα πολλές επιλογές, οι οποίες είναι οργανωμένες σε ένα διάλογο με πέντε καρτέλες. Άλλες αφορούν την προσαρμογή του περιβάλλοντος εργασίας και άλλες τη συμπεριφορά της ίδιας της ΓΛΩΣΣΑΣ:

Η καρτέλα Επιλογές-Γενικά Εργαλεία → Επιλογές → Καρτέλα Γενικά

  • Γραμματοσειρά κώδικα και οθόνης εκτέλεσης: επιτρέπονται μόνο οι σταθερού πλάτους γραμματοσειρές, και όχι για παράδειγμα η Arial. Προτεινόμενες είναι η Courier New και η Lucida Console. Η Fixedsys δεν περιέχει το βελάκι της ανάθεσης τιμής (το οποίο χρησιμοποιείται μόνο εάν το έχετε επιλέξει από τις επιλογές του Διερμηνευτή).
  • Μέγεθος: ο Διερμηνευτής την πρώτη φορά που εκτελείται επιλέγει αυτόματα το μέγεθος της γραμματοσειράς ανάλογα με την ανάλυση της οθόνης σας. Μπορείτε βέβαια να προσαρμόσετε το μέγεθος κατά βούληση.
  • Φάκελος παραδειγμάτων: Αναφέρεται στην επιλογή «Άνοιγμα παραδείγματος» του μενού «Αρχείο». Μπορείτε να ορίσετε μια θέση στην οποία βάζετε ασκήσεις για τους μαθητές.
  • Καθυστέρηση εντολών στην αργή εκτέλεση: Όταν είναι ενεργοποιημένη η Αργή εκτέλεση, πόσο χρόνο θα παραμένει ο Διερμηνευτής σε μια εντολή πριν προχωρήσει στην επόμενη.
  • Στο πλαίσιο κώδικα, να εμφανίζεται το δεξί περιθώριο στο χαρακτήρα [64]: εκεί φαίνεται μία κάθετη γραμμή και πάνω σ' αυτή στοιχίζονται τα σχόλια που δεν ξεκινάνε από την αρχή της γραμμής. Υπάρχουν δύο τύποι σχολίων: αυτά που ξεκινάνε από τον πρώτο χαρακτήρα και στοιχίζονται πάντα αριστερά και αυτά που ξεκινάνε στο μέσο της γραμμής. Για πιο ευκολοδιάβαστο κώδικα η αυτόματη στοίχιση τα βάζει δεξιά, οπότε αν το δεξί περιθώριο είναι πολύ μεγάλο δεν θα τα βλέπετε. Επειδή μερικοί έχουν πολύ μικρή ανάλυση οθόνης (640x480) προτείνεται να το αφήσετε στο χαρακτήρα 64 και να σπάτε τις μεγάλες εντολές χρησιμοποιώντας το σύμβολο συνέχισης γραμμής (&).
  • Αναδίπλωση γραμμών κώδικα όταν ξεπερνάνε το πλάτος του παραθύρου: Αν επιλεγεί, τότε οι μεγάλες γραμμές κώδικα αναδιπλώνονται και φαίνονται στην παρακάτω γραμμή.

Εργαλεία → Επιλογές → Καρτέλα Γλώσσα

Η καρτέλα Επιλογές-Γλώσσα Η ΓΛΩΣΣΑ του σχολικού βιβλίου σκόπιμα αποφεύγει να μπει σε ορισμένες «ασήμαντες» λεπτομέρειες, για να μην επιβαρύνει το μαθητή. Όμως κατά την άσκηση σε υπολογιστή αυτά τα λεπτά σημεία θα πρέπει να οριστούν, και από αυτήν την καρτέλα μπορούν να προσαρμοστούν ανάλογα με τις ανάγκες της κάθε άσκησης.

  • Δεκαδικά ψηφία κατά την εκτύπωση πραγματικών [2]: Η εντολή Γράψε 1 / 3 θα έπρεπε κανονικά να εμφανίσει 0.33333333 με άπειρα δεκαδικά ψηφία. Στην Pascal γράφοντας write(x:4:2) καθορίζουμε ότι ο x θα εκτυπωθεί με 4 συνολικά ψηφία και δύο δεκαδικά. Η ΓΛΩΣΣΑ (σωστά) δεν προβλέπει κάτι αντίστοιχο, οπότε αυτό που σκέφτηκα ήταν να το ενσωματώσω σε μενού. Αν ποτέ χρειαστείτε περισσότερα δεκαδικά ψηφία μπορείτε να τα αυξήσετε από αυτόν το διάλογο.
  • Στρογγυλοποίηση πραγματικών σε συγκρίσεις στο δεκαδικό [8]: Αυτό είναι λίγο δυσνόητο. Αν σε οποιαδήποτε «κανονική» γλώσσα προγραμματισμού δοκιμάσετε κάτι σαν το παρακάτω:
      ΓΡΑΨΕ 10/3*3 = 10
    θα δείτε ότι τυπώνει ΨΕΥΔΗΣ αντί για ΑΛΗΘΗΣ! Πώς είναι δυνατόν; Απλά οι πραγματικοί αριθμοί στον υπολογιστή δεν έχουν άπειρη ακρίβεια αλλά περιορισμένη, οπότε το 10/3*3 δεν κάνει ακριβώς 10 αλλά 9.9999999999999 ή 10.0000000000001 και επομένως δεν ισχύει η ισότητα. Το ίδιο συμβαίνει και σε επαναλήψεις, δηλαδή η πεπερασμένη ακρίβεια των πραγματικών μπορούν να κάνουν το πρόγραμμά μας να κάνει μία λιγότερη ή μία παραπάνω επανάληψη.
    Επειδή το γεγονός αυτό όχι μόνο είναι δύσκολο να το εξηγήσουμε στους μαθητές αλλά θα προτιμούσαμε να μην συνέβαινε, ο Διερμηνευτής με την επιλογή αυτή καθορίζει πόσα δεκαδικά ψηφία θεωρούνται σημαντικά στις συγκρίσεις. Για 8 δεκαδικά ψηφία η παραπάνω ισότητα 9.9999999999999 = 10 ισχύει και έτσι τυπώνεται ΑΛΗΘΗΣ και σταματάμε να πονοκεφαλιάζουμε. Παρόμοια επίδραση έχει σε όλες τις συνθήκες και στις εντολές διακλάδωσης (ΑΝ, ΑΛΛΙΩΣ_ΑΝ, ΠΕΡΙΠΤΩΣΗ, ΟΣΟ, ΓΙΑ - ΜΕΧΡΙ, ΜΕΧΡΙΣ_ΟΤΟΥ). Τα 8 σημαντικά ψηφία είναι μία καλή τιμή, αν όμως κάποιο πρόγραμμα κάνει πολλές χιλιάδες τέτοιες επαναλήψεις τότε ίσως χρειαστεί να τα μειώσετε.
  • Έλεγχος δεδομένων κατά την είσοδο: Αν είναι επιλεγμένο τότε δεν επιτρέπεται να δώσουμε γράμματα όταν το πρόγραμμα διαβάζει αριθμούς (ή τελεία για ακέραιους). Αν δεν είναι επιλεγμένο τότε μπορούμε να εισάγουμε ό,τι θέλουμε, αλλά στην περίπτωση αυτή μπορεί να προκύψουν λάθη εκτέλεσης.
  • Να γίνεται πλήρης αποτίμηση των λογικών εκφράσεων: Αυτή η επιλογή υπάρχει συνήθως και στις άλλες γλώσσες προγραμματισμού και έχει την εξής έννοια: Έστω ότι έχουμε έναν πίνακα 10 θέσεων και ψάχνουμε να βρούμε αν περιέχει σε κάποια θέση τον αριθμό 0, οπότε να σταματήσουμε. Λογικά λοιπόν θα χρησιμοποιούσαμε την επανάληψη
      ΟΣΟ ι <= 10 ΚΑΙ Α[ι] <> 0 ΕΠΑΝΑΛΑΒΕ
    Το πρόβλημα είναι ότι αν τελικά δε βρεθεί το μηδέν, το ι θα γίνει 11 οπότε η τελευταία ΟΣΟ θα πρέπει να εξετάσει αν Α[11] <> 0. Επειδή όμως Α[11] δεν υπάρχει, το πρόγραμμά μας θα σταματήσει με λάθος εκτέλεσης.
    Από την άλλη αν το ένα σκέλος της ΚΑΙ είναι ψευδές, το αποτέλεσμα είναι πάντα ψευδές χωρίς να χρειάζεται να γίνει εκτίμηση του δεύτερου μέρους. Αν η γλώσσα προγραμματισμού που δουλεύουμε κάνει μερική αποτίμηση λογικών συνθηκών, τότε ο παραπάνω κώδικας δε θα βγάλει ποτέ λάθος.
  • Όταν το τελευταίο γράμμα της Γράψε είναι το κενό, ο δρομέας να παραμένει στην ίδια γραμμή: Στη ΓΛΩΣΣΑ δεν υπάρχει εντολή αντίστοιχη της write της Pascal, η οποία να αφήνει το δρομέα στην ίδια γραμμή. Όμως πολλοί συνάδελφοι χρειάστηκαν μία τέτοια εντολή, κυρίως για εμφάνιση δισδιάστατων πινάκων. Άλλοι όμως συνάδελφοι (πολύ σωστά κατά τη γνώμη μου) ανέφεραν ότι δεν πρέπει να εισαχθεί καινούργια εντολή, γιατί έτσι θα παρεκκλίναμε από το βιβλίο.
    Η λύση που υλοποιήθηκε είναι η εξής:
    Αφού αποτιμηθεί όλο το κείμενο που προκύπτει από τη ΓΡΑΨΕ, αν ο τελευταίος χαρακτήρας του είναι το κενό, τότε αυτή μεταφράζεται σε write. Δηλαδή η εντολή
      ΓΡΑΨΕ 'Δώσε το όνομά σου:  '
    αφήνει το δρομέα στην ίδια γραμμή, ενώ η
      ΓΡΑΨΕ 'Δώσε το όνομά σου:'
    αφήνει το δρομέα στην παρακάτω γραμμή.
    Επειδή όμως μερικές φορές χρειάζεται να μην υπάρχει κενό στο τέλος μίας ΓΡΑΨΕ, το τελευταίο κενό διαγράφεται και δεν εμφανίζεται στην οθόνη εκτέλεσης. Γι' αυτόν το λόγο στο τέλος της πρώτης ΓΡΑΨΕ υπάρχουν δύο κενά, ώστε τελικά να εμφανιστεί το ένα.
  • Όταν γράφονται δύο συνεχόμενοι αριθμοί, (π.χ. Γράψε 1, 2), να παρεμβάλλεται κενό: Επειδή στις αρχικές δραστηριότητες οι μαθητές δεν έχουν ακόμα εξοικειωθεί με τα αλφαριθμητικά, τους φαίνεται λογικό η εντολή ΓΡΑΨΕ α, β  να αφήνει κενά μεταξύ των αριθμών. Στις επόμενες δραστηριότητες αυτή η επιλογή μπορεί να απενεργοποιείται ώστε να πρέπει να χρησιμοποιούν τη μορφή ΓΡΑΨΕ α, ' ', β.

Η καρτέλα Επιλογές-Ασάφειες Εργαλεία → Επιλογές → Καρτέλα Ασάφειες

Το σχολικό βιβλίο περιέχει κάποια αμφιλεγούμενα σημεία, για τα οποία η εκπαιδευτική κοινότητα δεν έχει καταλήξει σε κοινή ερμηνεία. Θα πρέπει να δίνετε προσοχή στα σημεία αυτά, ώστε τα προγράμματα που δημιουργείτε να είναι αποδεκτά από όλους.

Παρέχονται οι παρακάτω επιλογές:

Περισσότερες πληροφορίες για τις ασάφειες μπορείτε να βρείτε στο Στέκι των Πληροφορικών.

Εργαλεία → Επιλογές → Καρτέλα Μορφοποίηση

  • Αυτόματη μορφοποίηση του κώδικα κατά τη μεταγλώττιση: ας μην ξεχνάμε ότι οι κύριοι χρήστες του Διερμηνευτή είναι οι μαθητές, οι οποίοι δεν είναι συνηθισμένοι σε σωστή στοίχιση του κώδικα. Ο Διερμηνευτής μπορεί να βοηθήσει, στοιχίζοντας το πρόγραμμα σε κάθε μεταγλώττιση ανάλογα με τις παρακάτω επιλογές.
  • Η καρτέλα Επιλογές-Μορφοποίηση Στοίχιση του κώδικα με τα κατάλληλα διαστήματα: αν επιλεγεί, διαμορφώνεται αυτόματα η εσοχή κάθε εντολής ανάλογα με το πόσο «εμφωλευμένη» είναι, κάνοντας έτσι τον κώδικα πιο ευκολοδιάβαστο. Επίσης μπαίνουν τα κατάλληλα κενά μεταξύ των διαφόρων τελεστών και τελεστέων.
  • Αυτόματη στοίχιση των σχολίων στο δεξί περιθώριο: αυτό δεν το έχω δει σε κανένα άλλο περιβάλλον, είναι προσωπική «προτίμηση». Επειδή συνηθίζω να σχολιάζω σχεδόν τις μισές από τις γραμμές κώδικα που γράφω, είδα ότι μπορώ να διαβάσω καλύτερα τα σχόλια αν έχουν κάποια συγκεκριμένη στοίχιση και όχι αν ξεκινούν ακριβώς μετά την εντολή. Δυστυχώς πολλές φορές ο χώρος δεν επαρκεί για «αριστερή» στοίχιση ξεκινώντας από κάποια θέση, οπότε προτιμώ τη δεξιά στοίχιση. Έτσι αν επιλεγεί αυτό το κουτί τα σχόλια που δεν ξεκινούν από την αρχή της γραμμής θα κολλήσουν στο περιθώριο, το οποίο μπορείτε να το ορίσετε σε μία βολική τιμή από την καρτέλα «Γενικά». Τα σχόλια που ξεκινούν από την αρχή της γραμμής συνήθως αναφέρονται στην παρακάτω εντολή και επομένως μένουν όπως έχουν.
  • Δεσμευμένες λέξεις: Η χρήση πεζών ή κεφαλαίων δεσμευμένων λέξεων είναι θέμα προτίμησης, εκτός κι αν η γλώσσα προγραμματισμού που χρησιμοποιούμε είναι case sensitive (η C και πολλές άλλες δέχονται μόνο πεζές δεσμευμένες λέξεις). Το βιβλίο στους αλγόριθμους χρησιμοποιεί πεζά, ενώ στη ΓΛΩΣΣΑ κεφαλαία. Γράφοντας βέβαια με μπλε στυλό στο χαρτί τα κεφαλαία είναι όμορφα επειδή ξεχωρίζονται καλύτερα οι δεσμευμένες λέξεις, όμως σε ένα περιβάλλον που υποστηρίζει χρωματισμό αυτό είναι περιττό και μάλιστα κάνει τον κώδικα πιο δυσκολοδιάβαστο. Η προεπιλογή είναι ΚΕΦΑΛΑΙΑ, ώστε να συμφωνεί με τη ΓΛΩΣΣΑ του σχολικού βιβλίου, όσοι όμως προτιμούν μπορούν να επιλέξουν πεζά. Το «Χωρίς μορφοποίηση» αφήνει τις δεσμευμένες λέξεις όπως ακριβώς εισήχθηκαν, αλλά προτείνεται μόνο σε όσους είναι ήδη εξοικειωμένοι με τη συγγραφή κώδικα.
  • Η καρτέλα Επιλογές-Χρώματα κώδικαΑνάθεση τιμής: Το βιβλίο στους αλγορίθμους χρησιμοποιεί το βελάκι, ενώ στη ΓΛΩΣΣΑ το <- (μικρότερο και πλην). Από την έκδοση 0.90β και μετά η προεπιλεγμένη μορφή είναι το <- για συμφωνία με το σχολικό βιβλίο. Φυσικά αν κάποιος προτιμά το βελάκι μπορεί να επιλέξει την αντίστοιχη ρύθμιση.
  • Συγκριτικοί τελεστές: στους αλγόριθμους χρησιμοποιούνται οι Unicode μορφές (,,) ενώ στη ΓΛΩΣΣΑ οι ANSI (<=, >=, <>). Προεπιλογή είναι η ANSI μορφή τους.

Εργαλεία → Επιλογές → Καρτέλα Χρώματα κώδικα

Μπορεί να οριστεί ο χρωματισμός του κώδικα ανάλογα με τις προτιμήσεις του χρήστη.

Μενού «Βοήθεια»

Βοήθεια → Βοήθεια για το Διερμηνευτή

Ανοίγει τη φόρμα βοήθειας και εμφανίζει το παρόν αρχείο. Η βοήθεια είναι ενσωματωμένη στο εκτελέσιμο του Διερμηνευτή, δε χρειάζεται κάποιο εξωτερικό αρχείο.

Βοήθεια → Το εγχειρίδιο της ΓΛΩΣΣΑΣ

Το μενού Βοήθεια Ανοίγει το εγχειρίδιο της ΓΛΩΣΣΑΣ, το οποίο περιέχει την τυπική περιγραφή των εντολών της ΓΛΩΣΣΑΣ.

Βοήθεια → Άδεια χρήσης

Ανοίγει τη σελίδα με την άδεια χρήσης του Διερμηνευτή. Χρησιμοποιώντας το Διερμηνευτή θεωρείται ότι συμφωνείτε με την άδεια χρήσης του.

Βοήθεια → Σχετικά με το πρόγραμμα

Εμφανίζει ένα διάλογο με πληροφορίες για την έκδοση του Διερμηνευτή και στοιχεία επικοινωνίας με τον προγραμματιστή.

Πιστή υλοποίηση της ΓΛΩΣΣΑΣ του σχολικού βιβλίου

Επειδή το μάθημα «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον» είναι πανελλαδικώς εξεταζόμενο, δόθηκε ιδιαίτερη βαρύτητα στην πιστή υλοποίηση της ΓΛΩΣΣΑΣ όπως αυτή ορίζεται στο σχολικό εγχειρίδιο. Ορισμένες μάλιστα λεπτομέρειες (π.χ. το γεγονός ότι το ημίτονο δέχεται παράμετρο σε μοίρες και όχι σε ακτίνια) είναι δύσκολο να εντοπιστούν όχι μόνο από μαθητές αλλά και από καθηγητές (συμπεριλαμβανομένου και του συγγραφέα του προγράμματος).
Γι' αυτόν το λόγο με το που άρχισε να χρησιμοποιείται ευρέως ο Διερμηνευτής (2002) δημιουργήθηκε το Στέκι των Πληροφορικών ώστε να υπάρχει άμεση ανατροφοδότηση και να διορθώνονται οι όποιες αβλεψίες. Έτσι πλέον και χάρη στη βοήθεια εκατοντάδων συναδέλφων (ευχαριστούμε!) ο Διερμηνευτής υλοποιεί τον πιο κοινώς αποδεκτό ορισμό της ΓΛΩΣΣΑΣ.

Ακολουθούν μερικά χαρακτηριστικά παραδείγματα, για αναφορές στις πηγές που χρησιμοποιήθηκαν για την επιλογή της συγκεκριμένης υλοποίησης δείτε τις παρατηρήσεις του αντίστοιχου τμήματος του Εγχειριδίου της ΓΛΩΣΣΑΣ.

  • Στην ΕΠΙΛΕΞΕ επιτρέπεται οποιοσδήποτε τύπος δεδομένων, για παράδειγμα πραγματικοί αριθμοί και αλφαριθμητικά.
  • Στην ΕΠΙΛΕΞΕ επιτρέπονται συγκριτικοί τελεστές, για παράδειγμα ΠΕΡΙΠΤΩΣΗ <= "Γεωργίου".
  • Στην εντολή ΓΙΑ το ΜΕ_ΒΗΜΑ μπορεί να γραφεί είτε με κάτω παύλα είτε χωρίς.
  • Η παράμετρος των ΕΦ, ΗΜ και ΣΥΝ είναι σε μοίρες, όχι σε ακτίνια
  • Οι διαδικασίες καλούνται με μηχανισμό αντιγραφής και όχι με αναφορά. Όμως, επιτρέπεται να περαστεί σταθερά σε διαδικασία, δεν είναι απαραίτητο να περαστεί μεταβλητή.
  • Οι συναρτήσεις καλούνται με τιμή.
  • Το 2^2 είναι ακέραιος αριθμός, ενώ το 2^-2 και το 2^ι είναι πραγματικοί.

Παράμετροι εκτέλεσης του Διερμηνευτή (command line options)

Οι παράμετροι εκτέλεσης χρησιμοποιούνται κυρίως για την εγκατάσταση του Διερμηνευτή. Οι αγκύλες σημαίνουν ότι το όρισμα είναι προαιρετικό. Προφανώς όλα τα ορίσματα είναι προαιρετικά. Οι διπλές αγκύλες σημαίνουν ομαδοποίηση, π.χ. το /p χρησιμοποιείται μόνο μαζί με το "αρχείο.γλώσσα". Τα εισαγωγικά που εμφανίζονται στη γραμμή εντολών είναι αναγκαία μόνο αν τα αντίστοιχα ονόματα αρχείων ή φακέλων εμπεριέχουν κενά.

Γλώσσα.exe [[/p] "αρχείο.γλώσσα"] [[/i[:"φάκελος εγκατάστασης"]] [/s[:"διαδρομή συντόμευσης"]] [/q] [/r]]

  • p: Εκτύπωση (print) του αρχείου και έξοδος. Χρησιμοποιείται κυρίως μέσα από τον Windows Explorer, χωρίς να χρειάζεται να το γράφει ο χρήστης: δεξί κλικ σε κάποιο αρχείο .γλώσσα και επιλογή του Εκτύπωση από το μενού που εμφανίζεται.
  • i: Εγκατάσταση (install) του Διερμηνευτή. Ο Διερμηνευτής είναι αυτόνομο εκτελέσιμο πρόγραμμα, ουσιαστικά δηλαδή γίνεται απλά αντιγραφή του στο φάκελο εγκατάστασης. Εάν ο φάκελος εγκατάστασης παραληφθεί, χρησιμοποιείται ο C:\Program Files\Γλώσσα\.
  • s: Δημιουργία συντομεύσεων (shortcuts). Εάν δεν οριστεί η διαδρομή της συντόμευσης, δημιουργούνται από προεπιλογής δύο συντομεύσεις, μία στο μενού Έναρξη → Προγράμματα και μία στην επιφάνεια εργασίας όλων των χρηστών. Εάν θέλουμε να δημιουργήσουμε πολλές συντομεύσεις σε μη προκαθορισμένες διαδρομές, αρκεί να επαναλάβουμε την επιλογή /s όσες φορές χρειάζεται.
  • q: Εγκατάσταση χωρίς μηνύματα (quiet).
  • r: Εκτέλεση (run) του Διερμηνευτή μετά την εγκατάσταση.

Εάν ο Διερμηνευτής εκτελείται για πρώτη φορά σε κάποιον υπολογιστή, εμφανίζεται ένας διάλογος ο οποίος επιτρέπει στο χρήση να επιλέξει αν θέλει να εγκαταστήσει το Διερμηνευτή ή να τον εκτελεί από την τρέχουσα θέση του.

Όλες οι διαδρομές της γραμμής εντολών υποστηρίζουν επέκταση των μεταβλητών περιβάλλοντος και των CSIDL, για περαιτέρω προσαρμογή της εγκατάστασης. Επισκεφτείτε τη σελίδα υποστήριξης για περισσότερες πληροφορίες.

Βελτιώσεις από την προηγούμενη έκδοση:

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

Βελτιώσεις της έκδοσης 0.94 (20/04/2009) σε σχέση με την 0.93:

  • Τα εκτελέσιμα που είχαν παραχθεί με το Διερμηνευτή δεν χρησιμοποιούσαν τις προεπιλεγμένες ρυθμίσεις του διαλόγου Εργαλεία → Επιλογές (Γ. Σιαμαντάς).
  • Σε κάποιες μη ενημερωμένες, παλιές εκδόσεις των Windows μπορούσε να εμφανιστεί το σφάλμα "Εσφαλμένος τύπος variant" κατά την κλήση υποπρογραμμάτων με συνδυασμό αλφαριθμητικών και αριθμητικών παραμέτρων (Χ. Πιτατζίδης).

Βελτιώσεις της έκδοσης 0.93 (03/09/2008) σε σχέση με την 0.92:

  • Υποστηρίχθηκε η παραγωγή εκτελέσιμων αρχείων.
  • Το κύριο μέρος του Διερμηνευτή έγινε ανοικτού κώδικα.
  • Διάφορες εσωτερικές βελτιώσεις (διαχωρισμός frontend - backend κτλ).
  • Βελτίωση κάποιων σημείων της ενσωματωμένης βοήθειας και του εγχειριδίου της ΓΛΩΣΣΑΣ.

Βελτιώσεις της έκδοσης 0.92 (03/02/2007) σε σχέση με την 0.91b:

  • Πλέον ο Διερμηνευτής εκτελείται χωρίς να χρειάζεται ενεργοποίηση.
  • Προστέθηκε η καρτέλα «Ασάφειες» στο μενού Εργαλεία » Επιλογές.
  • Διορθώθηκαν διάφορα σημεία ώστε να εκτελείται σε Linux, με τη βοήθεια του wine.
  • Βελτιώθηκε η αυτόματη στοίχιση του κώδικα.
  • Στα λάθη «Μη αρχικοποιημένη μεταβλητή», δεν τονιζόταν το λάθος αλλά η δήλωση της μεταβλητής.
  • Στο εσωτερικό μιας συνάρτησης λανθασμένα επιτρεπόνταν η ανάθεση τιμής στο όνομα άλλης συνάρτησης. Το πρόβλημα ήταν μόνο συντακτικό, κατά την εκτέλεση η ανάθεση γινόταν στην τρέχουσα συνάρτηση.
  • Δεν επιτρεπόταν το πέρασμα μη αρχικοποιημένου στοιχείου πίνακα σαν πραγματική παράμετρος υποπρογραμμάτων, τα οποία δέχονταν σαν τυπική παράμετρο απλή μεταβλητή. Επίσης διορθώθηκαν κάποια άλλα σπάνια σφάλματα με πίνακες ως παραμέτρους.
  • Οι εκφράσεις - πίνακας δεν είχαν περιγραφή.
  • Από λάθος χρωματιζόταν οι λέξεις div και mod στο μέσω άλλων λέξεων.
  • Εσωτερικές αλλαγές για υποστήριξη localization.

Βελτιώσεις της έκδοσης 0.91b (04/01/2007) σε σχέση με την 0.90b:

Η έκδοση 0.91b διατέθηκε σε όλα τα δημόσια σχολεία μέσω του πακέτου «Αλγοριθμική και Προγραμματισμός» του ΥΠΕΠΘ.

  • Αναπτύχθηκε οδηγός εγκατάστασης και προστέθηκαν παράμετροι εκτέλεσης (command line options) για την αυτοματοποιημένη εγκατάσταση του Διερμηνευτή.
  • Υποστηρίχθηκαν τα Windows XP Themes για αισθητικούς λόγους.
  • Αν η επιλογή «Αναδίπλωση γραμμών» δεν ήταν ενεργοποιημένη, οι καρτέλες εμφανιζόταν μετακινημένες κατά ένα χαρακτήρα δεξιά (Αστέριος Φανίκος, 9ο Εν. Λύκειο Λάρισας).
  • Εσφαλμένα επιτρεπόταν στις συναρτήσεις να τελειώνουν με ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ (Παναγιώτης Τσιωτάκης).
  • Διάφορες άλλες μικροβελτιώσεις κατά την αυτόματη στοίχιση του κώδικα, την επιλογή γλώσσας στα windows 9x κτλ.

Βελτιώσεις της έκδοσης 0.90b (28/02/2006) σε σχέση με την 0.89b:

Έγιναν πολυάριθμες βελτιώσεις, κυρίως όσον αφορά στη διεπαφή χρήσης, τη συμβατότητα με όλες τις εκδόσεις των Windows και την πιστότητα σε σχέση με τη ΓΛΩΣΣΑ του σχολικού βιβλίου:

  • Η προεπιλεγμένη μορφή του συμβόλου ανάθεσης τιμής αλλάχθηκε σε <— αντί για για συμφωνία με το σχολικό βιβλίο (στην ψευδογλώσσα χρησιμοποιείται το ενώ στη ΓΛΩΣΣΑ το <—).
  • Οι παράμετροι στις συναρτήσεις περνιούνται με τιμή και όχι με αναφορά (Νίκος Χατζηγιαννάκης, Κέντρο Η/Υ, Μυτιλήνη).
  • Διορθώθηκε το σύμβολο συνέχισης γραμμής (&) ώστε να επιτρέπεται στην αρχή μιας γραμμής και όχι στο τέλος της.
  • Υλοποιήθηκε η καρτέλα Αρχείο εισόδου. Υποστηρίζεται και καταγραφή της εισόδου που εισάγεται από το πληκτρολόγιο.
  • Πολύ καλύτερη καρτέλα συγγραφής κώδικα, που υποστηρίζει αναδίπλωση, αυτόματη συμπλήρωση κειμένου με ctrl + διάστημα, αυτόματη διόρθωση (μοδ → mod, επανέλαβε → ΕΠΑΝΑΛΑΒΕ κτλ), αντιγραφή κειμένου με ctrl + κλικ, υπενθυμίσεις, μενού επεξεργασίας με δεξί κλικ κ.α.
  • Ο Διερμηνευτής έγινε Unicode, ώστε να εκτελείται σωστά και σε Windows NT/2000/XP/2003/Vista που δεν έχουν ελληνικές ρυθμίσεις γλώσσας, αλλά υποστηρίζει και ANSI, ώστε να εκτελείται σε Windows 95/98/Me.
  • Η συμβατότητα του Διερμηνευτή επεκτάθηκε ώστε να μπορεί να εκτελείται σε όλα τα Windows από 95/NT 4.0 και μετά χωρίς να χρειάζονται επιπλέον βιβλιοθήκες. Η προβολή όμως του αρχείου βοήθειας (μιας και είναι σε HTML μορφή) απαιτεί την ύπαρξη Internet Explorer 4.0 ή νεότερου.
  • Τα αρχεία βοήθειας και τα παραδείγματα του Διερμηνευτή ενσωματώθηκαν σε ένα και μοναδικό εκτελέσιμο, το οποίο μπορεί να εκτελείται κατευθείαν χωρίς να χρειάζεται εγκατάσταση.
  • Πολύχρωμα εικονίδια (32-bit alpha blended) και διάφορες άλλες βελτιώσεις της διεπαφής χρήστη.
  • Υποστηρίζονται UNC paths, δηλαδή μπορούν να ανοιχθούν αρχεία από το τοπικό δίκτυο χωρίς να χρειάζεται να γίνει αντιστοίχηση δίσκου.
  • Όταν γίνεται βηματική εκτέλεση στο εσωτερικό μιας συνάρτησης, στην καρτέλα Μεταβλητές εμφανίζεται και η τιμή που έχει ανατεθεί στο όνομά της (Αστέριος Φανίκος, 9ο Εν. Λύκειο Λάρισας).
  • Στην εκτύπωση υπήρχαν σφάλματα στο δεξί και στο κάτω περιθωρίο που έκαναν τις μεγάλες γραμμές να εκτυπώνονται εκτός περιθωρίου (Θωμάς Ποδηματάς, μαθηματικός).
  • Προστέθηκε επιλογή να παρεμβάλλονται κενά όταν στην εντολή Γράψε τυπώνονται δύο συνεχόμενοι αριθμοί, για ευκολία στις εισαγωγικές δραστηριότητες (Αστέριος Φανίκος, 9ο Εν. Λύκειο Λάρισας).

Βελτιώσεις της έκδοσης 0.89b (21/12/2003) σε σχέση με την 0.88α:

Οι βελτιώσεις της έκδοσης 0.89b είναι πάρα πολλές για να αναγραφούν εδώ. Ενδεικτικά αναφέρονται μερικές:

  • Υποπρογράμματα με μεταβίβαση παραμέτρων με αντιγραφή (copy in - copy out).
  • Υποστήριξη αναδρομής ακόμα και με το κυρίως πρόγραμμα.
  • Τελεστής συνέχισης γραμμής (&).
  • Παρακολούθηση και αλλαγή μεταβλητών για οποιοδήποτε από τα κληθέντα υποπρογράμματα.
  • Παρακολούθηση εκφράσεων (κάτι σαν αριθμομηχανή με εκφράσεις της ΓΛΩΣΣΑΣ) που λειτουργεί ακόμα και όταν δεν εκτελείται κάποιο πρόγραμμα.
  • Αργή εκτέλεση, σημεία διακοπής, βηματική εκτέλεση με είσοδο ή υπέρβαση υποπρογραμμάτων κτλ.
  • Δυνατότητα μεταφοράς των καρτελών (οθόνη χρήστη κτλ) σε οποιοδήποτε σημείο της οθόνης.
  • Προσθήκη πολλών ακόμα ρυθμίσεων στο μενού Εργαλεία → Επιλογές.
  • Εκτενής βελτίωση του αρχείου βοήθειας, του εγχειριδίου της ΓΛΩΣΣΑΣ και προσθήκη περισσότερων παραδειγμάτων.

Βελτιώσεις της έκδοσης 0.88α (21/08/2003) σε σχέση με την 0.87α:

  • Υλοποιήθηκε η δυνατότητα εκτύπωσης με ή χωρίς χρώματα (μόνο στην πλήρη έκδοση) και η προεπισκόπηση εκτύπωσης.
  • Στο μενού "Αρχείο" προστέθηκε η επιλογή "Εξαγωγή ως HTML" η οποία αποθηκεύει το πρόγραμμα με μορφή ιστοσελίδας (μόνο στην πλήρη έκδοση). Για να μπορέσετε να την χρησιμοποιήσετε σωστά, θα πρέπει οπωσδήποτε να συμβουλευτείτε το μενού Βοήθεια → Βοήθεια για το Διερμηνευτή. Επίσης προστέθηκε η επιλογή "Εξαγωγή ως WMF" (αρχείο διανυσματικής εικόνας Windows MetaFile).
  • Πλέον κατά την αντιγραφή κειμένου στο πρόχειρο ο κώδικας αντιγράφεται αυτόματα και σε μορφή html (μόνο στην πλήρη έκδοση). Έτσι κάνοντας επικόλληση στο FrontPage, στο Word ή στο Outlook η μορφοποίηση και τα χρώματα διατηρούνται..
  • Προστέθηκε η επιλογή "Αντιγραφή ως κώδικας HTML" η οποία βολεύει για παράδειγμα όταν θέλουμε να δημοσιεύσουμε μία άσκηση σε κάποιο φόρουμ όπως Το Στέκι των Πληροφορικών (μόνο στην πλήρη έκδοση).
  • Στο μενού "Βοήθεια" προστέθηκε η επιλογή "Βοήθεια για το διερμηνευτή" η οποία εξηγεί κάποια δύσκολα σημεία του προγράμματος, όπως η δυνατότητα "εξαγωγής ως html" ή η "πλήρης αποτίμηση λογικών συνθηκών".
  • Υλοποιήθηκε μία παραλλαγή της ΓΡΑΨΕ που αφήνει τον δρομέα στην ίδια γραμμή, δηλαδή αντίστοιχα με τη write της Pascal. Αυτή η δυνατότητα ήταν αίτημα πολλών συναδέλφων (π.χ. Τάσος Σταματούρος, 3ο Ενιαίο Λύκειο Ρόδου) και είναι ιδιαίτερα βολική στην εκτύπωση δισδιάστατων πινάκων. Από την άλλη υπήρχε επίσης από πολλούς η λογικότατη αντίρρηση ότι δεν πρέπει να ξεφύγουμε από τον τυπικό ορισμό της Γλώσσας του βιβλίου. Η μέση λύση που σκέφτηκα ήταν η εξής: Αν σε μία ΓΡΑΨΕ ο τελευταίος χαρακτήρας είναι το κενό, τότε η εντολή αυτή αντιστοιχεί στη write, όχι στη writeln, και παράλληλα το κενό αυτό δεν εμφανίζεται. Έτσι μία εντολή όπως η
      ΓΡΑΨΕ 'Προσπάθησε να πετύχεις το μυστικό αριθμό:  '
    θα αφήσει το δρομέα στην ίδια γραμμή, γράφοντας ένα κενό (και όχι δύο) μετά την άνω και κάτω τελεία. Ελπίζω ότι η λύση αυτή ικανοποιεί και τις δύο πλευρές.
  • Στις Επιλογές μπορεί να οριστεί το πλήθος των δεκαδικών ψηφίων με τα οποία θα εκτυπώνονται οι πραγματικοί.
  • Αφαιρέθηκε ο διάλογος της εισόδου χρήστη και τώρα η είσοδος γίνεται μέσα από την οθόνη χρήστη. Αρχική μου σκέψη ήταν ότι οι μαθητές είναι πιο συνηθισμένοι σε διάλογους παρά σε περιβάλλον τερματικού, αλλά το δεύτερο μάλλον είναι πιο κοντά στο σκεπτικό και του βιβλίου και των καθηγητών (Γιώργος Καρράς, Πρέβεζα).
  • Πλέον ο διάλογος ανοίγματος αρχείων θυμάται τον προηγούμενο φάκελο από τον οποίο ανοίχθηκε κάποιο πρόγραμμα, σε όλες τις εκδόσεις των Windows. Επίσης προστέθηκε στο μενού Αρχείο η εντολή "Άνοιγμα παραδείγματος", η οποία εντοπίζει προγράμματα από ένα συγκεκριμένο φάκελο ο οποίος καθορίζεται στις Επιλογές. Η αρχική του τιμή είναι ο φάκελος των έτοιμων παραδειγμάτων που εγκαθίστανται μαζί με το Διερμηνευτή, αλλά μπορείτε να ορίσετε και κάποιον κοινόχρηστο φάκελο στον οποίο θα βάζει ασκήσεις ο καθηγητής (Γιάννης Μοδέας, 1ο Ενιαίο Λύκειο Πειραιά).
  • Δε δούλευε σωστά η Επεξεργασία → Αναίρεση (Γιάννης Σταματούλης, μαθητής Ενιαίου Πυθαγορείου Λυκείου Σάμου).
  • Βελτιώθηκε πολύ η αντιγραφή - επικόλληση σε όλες τις εκδόσεις των Windows. Κατά την αντιγραφή το κείμενο τοποθετείται στο πρόχειρο και σαν απλό κείμενο και σαν Unicode. Έτσι, αν αντιγράψετε το βελάκι και κάνετε επικόλληση σε ένα πρόγραμμα που υποστηρίζει μόνο απλό κείμενο θα δείτε <--, ενώ αν υποστηρίζει Unicode θα δείτε .
  • Κατά την αποθήκευση στα Windows 95 η επέκταση .γλώσσα κοβόταν σε .γλώ, οπότε στη συνέχεια κατά το άνοιγμα τα αρχεία αυτά δεν εμφανίζονταν (Αθανάσιος Γκίκας, Γυμνάσιο Λειψών Δωδεκανήσου). Επίσης στα Windows 95 υπάρχει πρόβλημα αν η έκδοση της βιβλιοθήκης comctl32.dll είναι πολύ παλιά (από 4.70 και κάτω, δηλαδή αν έχετε Internet Explorer 3.0) αλλά αυτό λύνεται μόνο με αναβάθμιση της βιβλιοθήκης (ο Διερμηνευτής πλέον εμφανίζει τις απαραίτητες οδηγίες σ' αυτήν την περίπτωση).
  • Όταν επιλεγόταν κείμενο μέχρι το τέλος του αρχείου και στη συνέχεια διαγραφόταν, παρέμενε μία "μετέωρη" κενή γραμμή με αποτέλεσμα η οθόνη συγγραφής κώδικα να εμφανίζει μηνύματα "List index out of bounds" (Αστέριος Φανίκος, 5ο Γυμνάσιο Λάρισας).
  • Στην οθόνη χρήστη δεν εκτυπωνόταν οι χαρακτήρες Unicode.
  • Προστέθηκαν αναδυόμενα μηνύματα βοήθειας (hints) με περιγραφή των διαθέσιμων εντολών.
  • Με διπλό κλικ από την εξερεύνηση των Windows δεν άνοιγαν τα προγράμματα που στο όνομά τους περιείχαν κενά.
  • Υλοποιήθηκε η εκτύπωση με δεξί κλικ → εκτύπωση πάνω σε ένα πρόγραμμα από την εξερεύνηση των Windows.
  • Κατά την εκκίνηση του Διερμηνευτή το πληκτρολόγιο γυρνάει αυτόματα στα ελληνικά.
  • Η συντόμευση του μενού Εισαγωγή → Εντολή → Επίλεξε αντικαταστάθηκε από Alt + Ctrl + E σε Alt + Ctrl + J (J = Ξ ↔ επίλεΞε) γιατί με Alt + Ctrl + E εισάγεται το σύμβολο του ευρώ (€), όταν βέβαια το πληκτρολόγιο είναι γυρισμένο στα ελληνικά.

Βελτιώσεις της έκδοσης 0.87α (08/12/2002) σε σχέση με την 0.86α:

  • Η χρήση των πινάκων ακεραίων ήταν αδύνατη (Μιράντα Κυπριώτη, 1ο Γυμνάσιο Ρόδου). Το Delphi δεν υποστηρίζει μεγάλους ακέραιους (int64) σε δυναμικούς πίνακες variant, αλλά δε βρήκα κανέναν στην Borland Community να έχει αναφερθεί σ' αυτό το θέμα! Χρειάστηκε αρκετό debugging μέχρι να εντοπίσω το πρόβλημα, και η προσωρινή λύση ήταν να χρησιμοποιήσω μικρότερους ακεραίους (32 bit αντί για 64 bit) στους πίνακες ακεραίων. Ελπίζω ότι η έκδοση 7 του Delphi θα έχει διορθώσει το πρόβλημα, αν και αρχίζω πλέον να σκέφτομαι σοβαρά την εκδοχή να ξαναγράψω το Διερμηνευτή εξ' αρχής σε C.
  • Η οθόνη χρήστη και η παρακολούθηση μεταβλητών φαίνονται πλέον ταυτόχρονα στην οθόνη, για λόγους ευχρηστίας (Θωμάς Σοφίας, Λύκειο Βραχναίικων Πάτρας).
  • Η συνάρτηση ΛΟΓ επέστρεφε το δεκαδικό λογάριθμο, ενώ το βιβλίο στη σελίδα 153 αναφέρει ότι πρέπει να επιστρέφει τον φυσικό (Νεπέρειο, Ln) λογάριθμο (Θωμάς Ποδηματάς, μαθηματικός).
  • Κατά τη ΔΙΑΒΑΣΕ δε φαινόταν οι καινούργιες τιμές των εκφράσεων στην παρακολούθηση μεταβλητών (Αστέριος Φανίκος, 5ο Γυμνάσιο Λάρισας).

 Βελτιώσεις της έκδοσης 0.86α (27/10/2002) σε σχέση με την 0.85α: 

  • Το κόμμα στους πραγματικούς αριθμούς αντικαταστάθηκε με τελεία (Δημήτρης Αγγέλης, Computer Kids Ιωαννίνων). Η πρώτη μου σκέψη ήταν ο Διερμηνευτής να είναι όσο το δυνατόν πιο ελληνικός, αλλά είναι προτιμότερο να ακολουθεί κατά το δυνατόν το σχολικό βιβλίο (σελίδα 149).
  • Κατά τη δήλωση των πινάκων δε μηδενιζόταν ο εσωτερικός μετρητής διαστάσεων, με αποτέλεσμα να μην είναι δυνατή η χρήση παραπάνω από ενός πίνακα ανά πρόγραμμα! (Αριστείδης Βερνάρδος, Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Ε.Μ.Π.).
  • Αφαιρέθηκε η αφαίρεση των περιττών παρενθέσεων, επειδή θεωρήθηκε περιττή (καλό, ε;). Επίσης διορθώθηκαν κάποια προβλήματα με την προσεταιριστικότητα μερικών τελεστών (Φώτης Γεωργάτος, Μηχανικός Η/Υ και Πληροφορικής).
  • Ενώ οι συναρτήσεις Τ_Ρ και ΛΟΓ ήταν υλοποιημένες, δεν υπήρχαν στο μενού Εισαγωγή → Συνάρτηση (Αναστασία Βούλγαρη, Γυμνάσιο Συκιάς Χαλκιδικής).
  • Το ΚΑΙ είχε ίδια προτεραιότητα με το Η, ενώ θα έπρεπε να έχει μεγαλύτερη (Δημήτρης Αγγέλης, Computer Kids Ιωαννίνων). Αν και δεν αναφέρεται ρητώς πουθενά στο βιβλίο, όλες οι γλώσσες προγραμματισμού δίνουν μεγαλύτερη προτεραιότητα στο ΚΑΙ από το Η.
  • Υπήρχε πρόβλημα με την χρήση πινάκων χαρακτήρων ή λογικών μεταβλητών (Αναπληρώτρια καθηγήτρια πληροφορικής του Λυκείου Σιδηροκάστρου Σερρών).
  • Η άνω και κάτω τελεία «:» μετά από κάθε εντολή «ΠΕΡΙΠΤΩΣΗ» ήταν αντίθετη με το βιβλίο (σελ. 173).
  • Η βοήθεια δεν άνοιγε αν ο Διερμηνευτής εκτελούταν από διαφορετικό φάκελο.

Επίσης, στη δοκιμαστική έκδοση είναι πλέον δυνατή η χρήση των τελεστών > και < αλλά δεν είναι δυνατή η εκτέλεση της εντολής ΓΙΑ.

 Βελτιώσεις της έκδοσης 0.85α σε σχέση με την 0.8α: 

  • Δε γινόταν αντιγραφή - επικόλληση στα Windows 9x, επειδή δεν υποστηρίζουν εγγενώς το πρότυπο Unicode (Γιάννης Κωστάρας).
  • Βελτίωση της οθόνης χρήστη ώστε να αναδιπλώνονται οι λέξεις.
  • Όλες οι ρυθμίσεις πλέον αποθηκεύονται στο μητρώο.
  • Επιλογή αντιστοίχισης των αρχείων «*.γλώσσα» με τον Διερμηνευτή.
  • Πρώτη πλήρης έκδοση του Διερμηνευτή της γλώσσας.

Συχνές ερωτήσεις

Η τρέχουσα έκδοση του Διερμηνευτή δεν έχει γνωστά προβλήματα. Αν εντοπίσετε κάποια ατέλεια ή θέλετε να ζητήσετε κάποιο επιπλέον χαρακτηριστικό, παρακαλώ επικοινωνήστε μαζί μου στο [email protected] επισυνάπτοντας αναλυτική περιγραφή.

Τι σημαίνει το όνομα «Διερμηνευτής της ΓΛΩΣΣΑΣ»;

Η υποθετική γλώσσα προγραμματισμού που διδάσκεται στο μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ονομάζεται απλά «ΓΛΩΣΣΑ». Η παρούσα εφαρμογή, ακολουθώντας την ίδια απλότητα, ονομάζεται έτσι επειδή αποτελεί έναν διερμηνευτή (interpreter) της ΓΛΩΣΣΑΣ. Διερμηνευτές ονομάζονται οι εφαρμογές που μετατρέπουν τα προγράμματα σε μια εσωτερική αναπαράσταση και τα εκτελούν χωρίς να τα μεταφράζουν σε γλώσσα μηχανής.

Πώς εγκαθίσταται ο Διερμηνευτής; Πώς απεγκαθίσταται;

Ο Διερμηνευτής διατίθεται σαν ένα αυτόνομο πρόγραμμα το οποίο μπορεί να εκτελεστεί από οποιονδήποτε φάκελο, χωρίς να χρειάζεται να εγκατασταθεί στο σύστημά σας. Στην πρώτη εκτέλεση του Διερμηνευτή παρουσιάζεται ένας σχετικός διάλογος από όπου μπορείτε να τον αντιγράψετε στο C:\Program Files\Γλώσσα, και να δημιουργήσετε συντομεύσεις στην επιφάνεια εργασίας και στο μενού Έναρξη.

Για την απεγκατάστασή του αρκεί να διαγράψετε το εκτελέσιμο αρχείο. Αν προτιμάτε μπορείτε προηγουμένως να εκτελέσετε "Γλώσσα.exe /u" ώστε να διαγραφούν κάποιες ρυθμίσεις που αποθηκεύονται στο μητρώο, αλλά το μέγεθός τους είναι πολύ μικρό και δεν επιβαρύνει το σύστημα.

Μπορεί να εκτελεστεί χωρίς δικαιώματα administrator;

Φυσικά, αφού δε χρειάζεται καν εγκατάσταση!

Όμως, σε περιβάλλοντα πολλών χρηστών (όπως είναι τα σχολικά εργαστήρια) προτείνεται η πρώτη εκτέλεση του Διερμηνευτή να γίνει με δικαιώματα administrator, ώστε η αντιστοίχιση των αρχείων *.γλώσσα με το Διερμηνευτή να ισχύσει για όλους τους χρήστες.
Επίσης θα χρειαστείτε δικαιώματα administrator εάν θελήσετε να τον εγκαταστήσετε στο φάκελο C:\Program Files\Γλώσσα και ο δίσκος σας χρησιμοποιεί NTFS.
Ειδικά στα Windows Vista / 2008 δεν αρκεί να έχετε κάνει login σαν administrator για να δώσετε τα απαραίτητα δικαιώματα στο Διερμηνευτή, θα πρέπει να κάνετε δεξί κλικ → εκτέλεση ως διαχειριστής.

Σε τι γλώσσα αναπτύσσεται ο Διερμηνευτής;

Ο Διερμηνευτής αναπτύσσεται εξ' ολοκλήρου σε Delphi. Τα προγράμματα εκτελούνται από τα αντίστοιχα αντικείμενα του Διερμηνευτή χωρίς να χρειάζεται να μεταφράζονται σε κάποια άλλη γλώσσα, και έτσι δεν είναι δυνατό κάποιο πρόγραμμα της ΓΛΩΣΣΑΣ να βλάψει τον υπολογιστή σας. Ο κώδικας συντακτικής ανάλυσης στηρίζεται σε μια απλή αναδρομική γραμματική (LLR). Δε χρησιμοποιήθηκαν εργαλεία τύπου lex και yacc, γιατί αυτά που είναι διαθέσιμα για το Delphi δεν υποστηρίζουν ακόμα Unicode.

Είναι συμβατός ο Διερμηνευτής με το λειτουργικό μου σύστημα;

Η σύντομη έκδοση: ο Διερμηνευτής εκτελείται σε όλα τα Windows από τα 95/NT 4.0 και μετά (με την εξαίρεση των Windows CE) χωρίς κανένα απολύτως πρόβλημα συμβατότητας.

Η εκτενής έκδοση: Ασχολήθηκα αρκετούς μήνες με το θέμα της συμβατότητας του Διερμηνευτή, κυρίως από περιέργεια και όχι τόσο για χρηστικούς λόγους. Εξάλλου, δε νομίζω ότι υπάρχει κανένας που να χρησιμοποιεί ακόμα την πρώτη έκδοση των Windows 95a που είχε βγει τον Αύγουστο του 95 και δε διέθετε καν Internet Explorer! Οι ελάχιστοι που χρησιμοποιούν Windows 95 εγκαθιστούν συνήθως τη δεύτερη έκδοσή τους.

Δυστυχώς οι εφαρμογές που αναπτύσσονται σε Delphi (όπως ο Διερμηνευτής) από προεπιλογής χρειάζονται τουλάχιστον Windows 98. Χρειάστηκε να επέμβω πολλές φορές στο ίδιο το Delphi ώστε να το κάνω να παράγει κώδικα συμβατό με Windows 95 και να μη χρησιμοποιεί κάποιες βιβλιοθήκες που δεν υπάρχουν στις παλιότερες εκδόσεις των Windows (msimg32.dll, comctl32.dll έκδοσης 4.70 κτλ). Εν τέλει, ο Διερμηνευτής μπορεί να εκτελεστεί και στα Windows 95a αλλά και στα NT 4.0 χωρίς να χρειάζεται να προστεθεί καμία βιβλιοθήκη.

Ένα άλλο συνηθισμένο πρόβλημα συμβατότητας αφορά στην υποστήριξη ελληνικών. Αν και τα Windows NT/2000/XP/2003/Vista είναι Unicode, δηλαδή μπορούν να υποστηρίζουν πολλές γλώσσες ταυτόχρονα, το Delphi (καθώς και άλλα προγραμματιστικά περιβάλλοντα) δεν εκμεταλλεύεται αυτήν τη δυνατότητα και υποστηρίζει μόνο το ANSI σύνολο χαρακτήρων. Έτσι οι περισσότερες ελληνικές εφαρμογές δείχνουν «κινέζικα» αν δεν έχει οριστεί η ελληνική γλώσσα ως η προεπιλεγμένη από τον πίνακα ελέγχου των Windows.

Ευτυχώς ο Troy Wolbrink έχει αναπτύξει τα Tnt Unicode Controls, με τα οποία είναι δυνατή η παράκαμψη του παραπάνω προβλήματος. Έτσι πλέον ο Διερμηνευτής στα Windows NT/2000/XP/2003/Vista εκμεταλλεύται την Unicode υποστήριξη και μπορεί να εμφανίσει οποιαδήποτε γλώσσα στους διαλόγους του, ακόμα κι αν δεν έχουν ρυθμιστεί σωστά τα ελληνικά.

Επεκτείνοντας το σκεπτικό του Troy, προσπάθησα να κάνω το Διερμηνευτή να εμφανίζει ελληνικά ακόμα και σε Windows 9x/Me, στα οποία να μην έχει οριστεί ελληνική κωδικοσελίδα (φυσικά σε αγγλικά Windows με ελληνική κωδικοσελίδα δεν τίθεται ζήτημα, δουλεύουν σωστά όλες οι ελληνικές εφαρμογές). Στην αρχή νόμιζα ότι αυτό δεν ήταν δυνατό να γίνει, αφού τα Windows 9x υποστηρίζουν μόνο μία γλώσσα (εκτός της αγγλικής). Για παράδειγμα, αν προσπαθήσετε να εγκαταστήσετε το ελληνικό Office σε Windows με αγγλική κωδικοσελίδα, δε θα ολοκληρωθεί καν η εγκατάσταση!

Εν τέλει και ύστερο από αρκετό low level προγραμματισμό, ο Διερμηνευτής μπορεί να εκτελεστεί ακόμα και σε Windows 9x με μη ελληνική κωδικοσελίδα, με τον περιορισμό ότι στη γραμμή τίτλου δε φαίνονται ελληνικά γράμματα (αυτό είναι δυνατό να διορθωθεί, αλλά δεν πρέπει - τα Windows 9x υποστηρίζουν μόνο μια γλώσσα στις γραμμές τίτλου και αν ο χρήστης δε θέλει ελληνική γλώσσα στους τίτλους του αυτό θα συμβαίνει για κάποιο λόγο - π.χ. θα έχει γερμανικά Windows). Δεν ξέρω κάποια άλλη εφαρμογή που να μπορεί να εκτελεστεί κάτω από αυτές τις συνθήκες.

Γιατί η προεπισκόπηση εκτύπωσης αργεί να ανοίξει;

Αν ο διάλογος προεπισκόπηση εκτύπωσης χρειάζεται περισσότερο από ένα δευτερόλεπτο για να ανοίξει, τότε έχετε εγκατεστημένους πολλούς (και πιθανώς δικτυακούς) εκτυπωτές στα Windows. Έτσι τα ίδια τα Windows (η συνάρτηση PageSetupDlg) καθυστερούν προκειμένου να μάθουν το διαθέσιμο μέγεθος χαρτιού και τα περιθώριά του.

Γιατί δεν εμφανίζεται η βοήθεια;

Έχετε πολύ παλιά έκδοση του Internet Explorer (ή δεν έχετε καθόλου I.E.) Για να εμφανιστεί η βοήθεια χρειάζεται Internet Explorer 4.0 ή νεότερος. Δε χρειάζεται να είναι ο προεπιλεγμένος φυλλομετρητής σας, αρκεί να υπάρχουν οι αντίστοιχες βιβλιοθήκες στο φάκελο των Windows. Επικοινωνήστε μαζί μου ([email protected]) αν χρειάζεστε περαιτέρω βοήθεια.

Ευχαριστίες

Θα ήθελα καταρχάς να ευχαριστήσω τους συναδέλφους και τους μαθητές που με την ανατροφοδότησή τους βοήθησαν στη βελτίωση του Διερμηνευτή. Επίσης, τον Troy Wolbrink για τα TNT Unicode Controls του, τα οποία δίνουν στις εφαρμογές που αναπτύσσονται σε Delphi τη δυνατότητα να μπορούν να εκτελεστούν ως Unicode στα Windows NT και ως Ansi στα 9x. Τέλος, τον Maël Hörz για την υποστήριξη Unicode στο χειριστήριο συγγραφής κώδικα SynEdit.

Μελλοντικές βελτιώσεις

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

Μέχρι την έκδοση 1.0 αναμένεται να υλοποιηθούν:

  • Η δημιουργία αρχείου με τον πίνακα τιμών κατά την εκτέλεση ενός προγράμματος.
  • Εξαγωγή ως PDF.
  • Διάφορες βελτιώσεις της διεπαφής χρήστη, όπως π.χ. επέκταση του μενού Αρχείο → Άνοιγμα παραδείγματος.

Μέχρι και την έκδοση 1.0 ο Διερμηνευτής θα είναι πλήρως συμβατός με όλες τις 32bit και 64bit εκδόσεις των Windows (από 95a μέχρι και Vista).

Μετά την έκδοση 1.0 θα χρησιμοποιηθεί το Delphi 2009 το οποίο θα κάνει το Διερμηνευτή να μην είναι πλέον συμβατός με Windows 9x. Ο Διερμηνευτής θα ενσωματώσει ένα Web Browser (σαν αυτόν που εμφανίζεται καλώντας τη βοήθεια), ώστε να είναι δυνατή η προβολή μιας καρτέλας με την εκφώνηση σε μορφή HTML και πιθανώς οδηγίες για την επίλυση του προβλήματος. Η καρτέλα αυτή σχεδιάζεται να μπορεί να αλληλεπιδρά με το Διερμηνευτή, δηλαδή με κώδικα Javascript να μπορεί να «διατάσσει» το Διερμηνευτή να φορτώσει κάποιο συγκεκριμένο κώδικα, να μεγιστοποιεί την οθόνη εκτέλεσης ή να κρύβει κάποιες καρτέλες του Διερμηνευτή κτλ. Το αποτέλεσμα θα είναι μια άσκηση να είναι μια πλήρης δραστηριότητα για το μαθητή, που θα μπορεί να περιλαμβάνει πολλούς διαφορετικούς κώδικες ή αρχεία εισόδου, να ελέγχει την ορθότητα των απαντήσεων κτλ.