Τετάρτη 15 Ιουλίου 2015

Σε λίγες μέρες...η όγδοη έκδοση της Μ2000

Ευχάριστα νέα για σήμερα.
Επιτέλους η Μ2000 αναβαθμίστηκε με κλάσεις και αντικείμενα (ομάδες λέγονται στη γλώσσα).
Παράδειγμα

Φόρμα 40,25 \\40Χ25
Κλάση Αλφα {
       Χ=10, Υ, Α$="Όνομα"
       Τμήμα Αλφα {
             Αν ταύτιση("NN") Τότε Διάβασε ,
      }
       Τμήμα Νέο.Όνομα {
             Διάβασε .Α$
       }
       Συνάρτηση Νέο.Όνομα$ {
             =.Α$
       }
       Συνάρτηση Ένα { = **2+}
}
Κάπα=Αλφα() \\ κατασκευάζουμε το αντικείμενο χωρίς παραμέτρους
Κάπα.Υ=20
Τύπωσε Κάπα.Ένα()
Βήτα=Αλφα(10,20) \\ εδώ με παραμέτρους
Τύπωσε Βήτα.Ενα()
Για Βήτα {
       Τύπωσε,, .Α$, .Ενα()
}
Λάμδα=Κάπα \\ αντιγραφή αντικειμένου
Για Λάμδα {
       -=5
       .Νέο.Όνομα "Λάμδα"
       Τύπωσε .Νέο.Όνομα$(), .Ένα()
}

Τα αντικείμενα μπορούν να περάσουν με τιμή (ως αντίγραφα) ή με αναφορά σε τμήματα και συναρτήσεις.
Η Άλφα() ή Άλφα(10,20) επιστρέφει ένα αντικείμενο. Οι συναρτήσεις στην νέα έκδοση επιστρέφουν αντικείμενα αλλά και πίνακες. Μπορούμε να αντιγράψουμε ένα πίνακα σε ένα άλλο! Μπορούμε να περάσουμε σε συναρτήσεις και τμήματα πίνακα με τιμή δηλαδή αντίγραφο του πίνακα.
Επιπλέον μπορούμε να περάσουμε με αναφορά συναρτήσεις!

Κάνε α(Χ,Υ)=Χ**2+Υ
Κάνε β(Χ,Υ)=Χ**3+Υ*5+10
Τύπωσε α(10,20), β(10,20)


Τμήμα Μι {
       Διάβασε &κάτι() \\ διαβάζουμε τη συνάρτηση
      Τύπωσε κάτι(100,200)
}
Μι &α() \\ καλούμε με πέρασμα συνάρτησης
Μι &β()

Φτιάχτηκε μέχρι και σύστημα να βλέπει κανείς το πρόγραμμα καθώς εκτελείται:

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

Αυτή την εποχή γράφω την αγγλική έκδοση του M2000 Language Definition και θα δημοσιεύσω τον κώδικα μόλις τελειώσει και το κείμενο και τυχόν διορθώσεις εμπλουτισμοί.
Μια αναθεώρηση του κώδικα της 8ης έκδοσης υπάρχει εδώ

Μισοτελειωμένο το Language Definition (Θα το κάνω στα Ελληνικά με τις Ελληνικές εντολές - η Μ2000 έχει όλες τις εντολές και στις δυο γλώσσες, Αγγλικά και Ελληνικά)

Σε αναμονή λοιπόν της τελικής έκδοσης 8 της Μ2000

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.