Jargon/Slang - Περιβάλλον ανάπτυξης γα τη ΓΛΩΣΣΑ

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Jargon/Slang - Περιβάλλον ανάπτυξης γα τη ΓΛΩΣΣΑ

Δημοσίευσηαπό cyberpython » 31 Οκτ 2010, 19:23

Πριν από 2 εβδομάδες αποφάσισα να ξανα-γράψω το μεταγλωττιστή από το μηδέν, αυτή τη φορά ως διερμηνευτή (αφορμή το βιβλίο Language Implementation Patterns που έπεσε στα χέρια μου).

Μέχρι στιγμής ο διερμηνευτής μπορεί να εκτελέσει οποιοδήποτε πρόγραμμα δεν περιέχει υπο-προγράμματα (όλα τα παραδείγματα του βιβλίου ΑΕΣΠΠ μέχρι το κεφάλαιο 10).
Υποστηρίζει όλες τις ενσωματωμένες συναρτήσεις της ΓΛΩΣΣΑΣ, πολυδιάστατους πίνακες κλπ. - βέβαια, ακόμη δεν έχω ελέγξει κατά πόσο λειτουργούν σωστά όλα αυτά...
Τα μηνύματα χρόνου εκτέλεσης ακόμη είναι στα Αγγλικά.
Για να τρέξει χρειάζεται εγκατεστημένο κάποιο JRE (το έχω δοκιμάσει μόνο με το JRE της Oracle).

Μπορείτε να κατεβάσετε ένα ZIP με το εκτελέσιμο από εδώ


και αφού το αποσυμπιέσετε τρέχετε από γραμμή εντολών:
Κώδικας: Επιλογή όλων
cd <διαδρομή όπου αποσυμπιέστηκε το ZIP>
cd glossa-interpreter_M1\(2010-10-31\)
java -jar dist/glossa-interpreter.jar src/glossa/samples/PrintTest.gls

Εικόνα

Στον κατάλογο glossa-interpreter_M1(2010-10-31)/src/glossa/samples υπάρχουν μερικά ακόμη δοκιμαστικά αρχεία εισόδου π.χ. υπολογισμός ριζών τριωνύμου, εμβαδού κύκλου κ.α.

Όλος ο κώδικας είναι ελεύθερα διαθέσιμος υπό την άδεια MIT σε αυτό το Github repository
Κοινότητα ΕΛ/ΛΑΚ Οικονομικού Πανεπιστημίου Αθηνών / Ubuntu-gr / My Web Log
Επίπεδο Γνώσεων Linux: Μέτριο, Προγραμματισμός: Ναι, Aγγλικά: Καλά
Λειτουργικό : Ubuntu 10.04 - 32bits
Η/Υ : Intel Core2 4400@2 GHz / 2GB DDR2 RAM / GeForce 8400 GS 512MB / Creative SB Audigy SE
Άβαταρ μέλους
cyberpython
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 733
Εγγραφή: 14 Μάιος 2008, 13:22
Εκτύπωση

Re: Jargon/Slang - Περιβάλλον ανάπτυξης γα τη ΓΛΩΣΣΑ

Δημοσίευσηαπό cyberpython » 07 Νοέμ 2010, 20:06

Πλέον ο διερμηνευτής μπορεί να εκτελέσει οποιοδήποτε πρόγραμμα γραμμένο στη ΓΛΩΣΣΑ.

Λήψη έκδοσης 0.2

  • Γίνεται αυτόματη αναγνώριση της κωδικοποίησης του αρχείου εισόδου (windows-1253, ISO-8859-7 ή UTF-8).
    Οι χρήστες Windows ίσως πρέπει να αλλάξουν τη γραμματοσειρά της γραμμής εντολών σε Lucida Console και να δώσουν την εντολή:
    Κώδικας: Επιλογή όλων
    chcp 1253

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

Προς το παρόν παρέχεται μόνο διεπαφή γραμμής εντολών.
Κοινότητα ΕΛ/ΛΑΚ Οικονομικού Πανεπιστημίου Αθηνών / Ubuntu-gr / My Web Log
Επίπεδο Γνώσεων Linux: Μέτριο, Προγραμματισμός: Ναι, Aγγλικά: Καλά
Λειτουργικό : Ubuntu 10.04 - 32bits
Η/Υ : Intel Core2 4400@2 GHz / 2GB DDR2 RAM / GeForce 8400 GS 512MB / Creative SB Audigy SE
Άβαταρ μέλους
cyberpython
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 733
Εγγραφή: 14 Μάιος 2008, 13:22
Εκτύπωση

Re: Jargon/Slang - Περιβάλλον ανάπτυξης γα τη ΓΛΩΣΣΑ

Δημοσίευσηαπό cyberpython » 12 Νοέμ 2010, 21:21

Update: Μόλις ολοκλήρωσα την ενσωμάτωση του διερμηνευτή στον επεξεργαστή κώδικα, οπότε πλέον είναι ολοκληρωμένο περιβάλλον ανάπτυξης και όχι απλά επεξεργαστής κώδικα!

Έτσι, πλέον οι μαθητές που παρακολουθούν το μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον και δε χρησιμοποιούν Windows έχουν μία σχετικά καλή εναλλακτική λύση απέναντι στην εκτέλεση του "Διερμηνευτή" μέσω wine (βέβαια δε μπορεί να συγκριθεί με το "Διερμηνευτή" του Άλκη 'alkisg' Γεωργόπουλου σε πιστότητα υλοποίησης ή δυνατότητες παραμετροποίησης....) .

Ο χρήστης μπορεί να επεξεργαστεί και να εκτελέσει (σε πλήρη ταχύτητα, βήμα-προς-βήμα ή με καθυστέρηση ανάμεσα στις εντολές) τα προγράμματά του, να δει τις τιμές των μεταβλητών και την κλήση των υποπρογραμμάτων αν η εκτέλεση δε γίνεται σε πραγματικό χρόνο και να χρησιμοποιήσει κάποιο αρχείο εισόδου π.χ. για την εισαγωγή μεγάλου όγκου δεδομένων.
ΠΡΟΣΟΧΗ: Οι λειτουργίες ανοίγματος/αποθήκευσης/δημιουργίας νέου αρχείου εισόδου δε ζητούν επιβεβαίωση, οπότε μπορεί να χάσετε τις αλλαγές που έχετε κάνει αν δεν τις έχετε αποθηκεύσει.

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


Εικόνες λειτουργίας:
Εικόνα Εικόνα Εικόνα


Λήψη Slang

Για να το τρέξετε απαιτείται JRE >= 6u10.
Αποσυμπίεστε το αρχείο Slang-0.9.03.zip και κάντε διπλό κλικ στο αρχείο slang.jar
Το έχω δοκιμάσει μόνο με το JRE της Oracle, οπότε αν μπορεί κάποιος ας μας πει αν λειτουργεί και με το OpenJDK.
Τρέχει με OpenJDK ή με το JRE της Oracle.

Όλος ο κώδικας είναι διαθέσιμος υπό την Apache License v 2.0 σε αυτό το GitHub repository.
Κοινότητα ΕΛ/ΛΑΚ Οικονομικού Πανεπιστημίου Αθηνών / Ubuntu-gr / My Web Log
Επίπεδο Γνώσεων Linux: Μέτριο, Προγραμματισμός: Ναι, Aγγλικά: Καλά
Λειτουργικό : Ubuntu 10.04 - 32bits
Η/Υ : Intel Core2 4400@2 GHz / 2GB DDR2 RAM / GeForce 8400 GS 512MB / Creative SB Audigy SE
Άβαταρ μέλους
cyberpython
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 733
Εγγραφή: 14 Μάιος 2008, 13:22
Εκτύπωση

Προηγούμενη

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι

cron