Πολύ ενδιαφέρουσα συζήτηση.
Ειλικρινά περίμενα ότι ο Διερμηνευτής θα βγάλει 3.
Σίγουρα σχεδιάζοντας μια θεωρητική γλώσσα σε χαρτί δεν μπορεί κανείς να προβλέψει όλες τις λεπτομέρειες που θα χρειαστεί να αποσαφηνιστούν κατά την υλοποίηση.
Στο συγκεκριμένο, προσωπικά σκέφτηκα ως εξής: είναι πιο φυσιολογικό να μπουν οι παράμετροι από τα αριστερά προς τα δεξιά, όπως και στην ιεραρχία των πράξεων κλπ. Για παράδειγμα, αν είχαμε π.χ. ΚΑΛΕΣΕ ΔιαδικασίαΔ(ΣυνάρτησηΑ(α), ΣυνάρτησηΒ(β)), και κάναμε πίνακα τιμών, θα θέλαμε να εκτελεστεί πρώτα η κλήση της συνάρτησης Α και μετά της συνάρτησης Β.
Αν δεχτούμε το "μπαίνουν από αριστερά προς τα δεξιά" ως σωστό, τότε λόγω της στοίβας κλήσης παραμέτρων, που εκτός του ότι ισχύει παντού περιγράφεται και στο βιβλίο, κατά την απώθηση από τη στοίβα θα βγουν αντίθετα, από δεξιά προς τα αριστερά. Σε αυτό το δεύτερο κομμάτι δεν νομίζω ότι υπάρχει δυνατότητα για πολλές ερμηνείες, θα είναι αφύσικο να παραβιαστεί η λειτουργία της στοίβας για να βγουν από αριστερά προς τα δεξιά.
Γι' αυτό και στο Διερμηνευτή η τελική τιμή είναι 2...
Αυτό που καταλαβαίνω είναι ότι το πρόβλημα δεν υπάρχει μόνο στο μάθημα, αλλά σε όλες τις γλώσσες που χρησιμοποιούν αυτό τον μηχανισμό μεταβίβασης. Γνωρίζει κάποιος αν υπήρχε κάποιος τρόπος να αντιμετωπιστεί αυτό το πρόβλημα εκεί;
(edit: Ενώ πληκτρολογούσα έγραψε και ο Άλκης μήνυμα που εν μέρει απαντά.)Με μια σύντομη ματιά στην εργασία του Ευριπίδη βλέπω ότι αφορά παλιές γλώσσες (ALGOL, Fortran), όταν οι μηχανές ήταν πιο απλές και οι προγραμματιστές είχαν άμεση σχέση με το υλικό, οπότε ήταν αναμενόμενο (εικάζω) να έχουν καλύτερη σχέση με τη στοίβα κλήσης παραμέτρων. Ενδεχομένως αυτές οι γλώσσες να μοντελοποιούσαν και τον τρόπο με τον οποίο είχαν ήδη συνηθίσει να δουλευουν απευθείας στο υλικό.
Όμως θεωρώ ότι σήμερα κάτι τέτοιο είναι κακό όχι μόνο για τους μαθητές, αλλά και για τους προγραμματιστές. Η κλήση παραμέτρων από αριστερά στα δεξιά, δημιουργεί μια αφαίρεση, ένα μοντέλο, όπου έχει στόχο να θυμίσει την ανάγνωση κειμένου, όπου ό,τι βρίσκεται δεξιά ακολουθεί χρονικά. Η χρήση στοίβας χαλάει αυτή την αφαίρεση. Στην εποχή μας που έχουμε απομακρυνθεί από την μηχανή, κάτι τέτοιο είναι εντελώς εκτός διαίσθησης.
Τέλος πάντων ήδη έγραψα πολλά, δεν θεωρώ ότι κάποιος θα χρησιμοποιήσει αυτό τον τρόπο για να κάνει κάτι πραγματικά χρήσιμο. Μάλλον πρόκειται περί νοητικής άσκησης.