Σελίδα 1 από 2
Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 06 Δεκ 2023, 01:24
από tanipteros
Η πρώτη γλώσσα προγραμματισμού που έμαθα ήταν η BASIC !
Όνειρο παιδικό είναι να φτιάξω και γω την δικιά μου γλώσσα προγραμματισμού έτσι για χόμπυ και πλάκα και για να μάθω καλύτερα την επιστήμη των υπολογιστών.
Υπόψιν δεν πάω σε κάποιο πανεπιστήμιο πληροφορικής απλά είμαι ένας χομπύστας κομπιουτεράς.
Έτσι λοιπόν βρήκα αυτά τα βιβλία,


https://www.protoporia.gr/?subcats=Y&pc ... cts.search
Ένας φίλος μου είπε ότι η κατασκευή ενός compiler μπορεί να πάρει χρόνια ειδικά για έναν αρχάριο σαν και μένα.
Οπότε πιστεύω ότι αυτό θα είναι το χόμπυ μου για τα επόμενα χρόνια...
Τι λέτε εσείς;
Έχετε δοκιμάσει να φτιάξετε τον δικό σας μεταγλωττιστή ;
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 06 Δεκ 2023, 01:29
από tanipteros
οι γλώσσες που ήδη γνωρίζω είναι FreeBASIC, JAVA, C, C++
σε ποια λέτε να γράψω τον μεταγλωττιστή;
σκέφτομαι να χρησιμοποιήσω το LLVM οπότε μάλλον πάμε για JAVA ή C++
ποια η άποψη σας;
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 08 Δεκ 2023, 16:21
από klg
Στο llvm κάνεις target το IR που χρησιμοποιεί το backend, δεν έχει κυριολεκτικά καμία σημασία η γλώσσα που θα χρησιμοποιήσεις (and that's the whole point of llvm). Θα σου πρότεινα να ξεκινούσες με κάτι πιο εύκολο ως project, όπως το παρακάτω:
https://craftinginterpreters.com/contents.html
και να φτιάξεις ένα απλό stack-based virtual machine.
Ειδικά για compiler αυτό είναι πολύ καλό:
https://www.amazon.com/Engineering-Comp ... 012088478X
και έχε και αυτό σαν reference για resources:
https://github.com/aalhour/awesome-compilers
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 08 Δεκ 2023, 16:22
από έργο_μακέτο
tanipteros έγραψε: 06 Δεκ 2023, 01:29
οι γλώσσες που ήδη γνωρίζω είναι FreeBASIC, JAVA, C, C++
σε ποια λέτε να γράψω τον μεταγλωττιστή;
σκέφτομαι να χρησιμοποιήσω το LLVM οπότε μάλλον πάμε για JAVA ή C++
ποια η άποψη σας;
C η C++
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 08 Δεκ 2023, 16:26
από southern
tanipteros έγραψε: 06 Δεκ 2023, 01:24
Η πρώτη γλώσσα προγραμματισμού που έμαθα ήταν η BASIC !
Όνειρο παιδικό είναι να φτιάξω και γω την δικιά μου γλώσσα προγραμματισμού έτσι για χόμπυ και πλάκα και για να μάθω καλύτερα την επιστήμη των υπολογιστών.
Υπόψιν δεν πάω σε κάποιο πανεπιστήμιο πληροφορικής απλά είμαι ένας χομπύστας κομπιουτεράς.
Έτσι λοιπόν βρήκα αυτά τα βιβλία,


https://www.protoporia.gr/?subcats=Y&pc ... cts.search
Ένας φίλος μου είπε ότι η κατασκευή ενός compiler μπορεί να πάρει χρόνια ειδικά για έναν αρχάριο σαν και μένα.
Οπότε πιστεύω ότι αυτό θα είναι το χόμπυ μου για τα επόμενα χρόνια...
Τι λέτε εσείς;
Έχετε δοκιμάσει να φτιάξετε τον δικό σας μεταγλωττιστή ;
γιατι δεν ασχολεισαι με κατι πιο απλο πχ python;
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 08 Δεκ 2023, 20:36
από tanipteros
southern έγραψε: 08 Δεκ 2023, 16:26
tanipteros έγραψε: 06 Δεκ 2023, 01:24
Η πρώτη γλώσσα προγραμματισμού που έμαθα ήταν η BASIC !
Όνειρο παιδικό είναι να φτιάξω και γω την δικιά μου γλώσσα προγραμματισμού έτσι για χόμπυ και πλάκα και για να μάθω καλύτερα την επιστήμη των υπολογιστών.
Υπόψιν δεν πάω σε κάποιο πανεπιστήμιο πληροφορικής απλά είμαι ένας χομπύστας κομπιουτεράς.
Έτσι λοιπόν βρήκα αυτά τα βιβλία,


https://www.protoporia.gr/?subcats=Y&pc ... cts.search
Ένας φίλος μου είπε ότι η κατασκευή ενός compiler μπορεί να πάρει χρόνια ειδικά για έναν αρχάριο σαν και μένα.
Οπότε πιστεύω ότι αυτό θα είναι το χόμπυ μου για τα επόμενα χρόνια...
Τι λέτε εσείς;
Έχετε δοκιμάσει να φτιάξετε τον δικό σας μεταγλωττιστή ;
γιατι δεν ασχολεισαι με κατι πιο απλο πχ python;
πρώτον : ο σκοπός είναι να φτιάξω έναν μικρό μεταγλωττιστή οπότε πάμε σε γλώσσες C/C++/java, αν θέλω να υποστηρίζει και δείκτες πάμε αποκλειστικά σε C/C++
δεύτερον από ότι έχω ψάξει το workflow έχει τουλάκια όπως flex/bison η jflex for java. H python δεν έχει καλή βιβλιογραφία για τις αντίστοιχες υλοποιήσεις.
τρίτον: τα βιβλία που κυκλοφορούν είναι για flex/bison, lex/yacc, jflex/Byacc/javacc for java. Επειδή είμαι αρχάριος θα πηγαίνω παραμάσχαλα με το βιβλίο και την υλοποίηση που κάνει για python δεν έχω βρει κάποιο βιβλίο αντίστοιχο.
τέταρτον: Στην φάση του code generation λέω να χρησιμοποιήσω llvm και η βιβλιογραφία αυτού είναι σε C++
οπότε αναγκαστικά από τα βιβλία και μόνο οδηγούμε σε C/C++/Java
.........................
με python είχα ασχοληθεί παλιά και έμαθα πώς να κάνεις παραθυρικές εφαρμογές με PyQt5
έφτιαξα και ένα GUI front end για το clamav σε linux/windows
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 08 Δεκ 2023, 20:47
από tanipteros
βρήκα αυτό το έργο
https://github.com/lwiest/BASICCompiler
A BASIC compiler written in Java, compiles BASIC programs into Java bytecode
γράφεις κώδικα BASIC και σου βγάζει αρχεία JAVA που τα τρέχεις μέσα στο JVM με την εντολή java
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 08 Δεκ 2023, 21:12
από AlienWay
Και εγώ με τέτοια ασχολήθηκα. Gwbasic
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 08 Δεκ 2023, 21:15
από southern
Υπήρχε ένας τύπος στο ινσομνια που ισχυριζόταν ότι είχε φτιάξει τη δική του γλώσσα. Έτρωγε πολύ κράξιμο
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 09 Δεκ 2023, 00:40
από tanipteros
southern έγραψε: 08 Δεκ 2023, 21:15
Υπήρχε ένας τύπος στο ινσομνια που ισχυριζόταν ότι είχε φτιάξει τη δική του γλώσσα. Έτρωγε πολύ κράξιμο
αν μόνο το έλεγε και δεν έδινε κανα σύνδεσμο να δούμε κώδικα δικαιολογημένα τον κράζανε
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 09 Δεκ 2023, 00:42
από tanipteros
AlienWay έγραψε: 08 Δεκ 2023, 21:12
Και εγώ με τέτοια ασχολήθηκα. Gwbasic
μετά πήγες VB6, vb.net ?
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 09 Δεκ 2023, 01:09
από AlienWay
tanipteros έγραψε: 09 Δεκ 2023, 00:42
AlienWay έγραψε: 08 Δεκ 2023, 21:12
Και εγώ με τέτοια ασχολήθηκα. Gwbasic
μετά πήγες VB6, vb.net ?
Όχι. Μόνο με αυτή είχα ασχοληθεί στ δημοτικό και στο γυμνάσιο. Μετά δεν το ακολούθησα.
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 09 Δεκ 2023, 01:24
από Imperium
Διάβασε πρώτα όλο το Aho, Sethi, Ullman και μετά ξανάσκεψου αν θες να ασχοληθείς με compiler. Πιστεύω οτι δεν έχει κάποιο νόημα, ούτε απο πλευρας διασκέδασης ούτε από πλευράς χρησιμότητας. ΟΚ, σίγουρα μάθε τουλάχιστον καλούτσικη χρήση yacc, bison, ANTLR, whatever... μια καλή κατανόηση parser είναι το κύριο ζητούμενο, και αυτό αξίζει.
Κοίτα και κανά interpreter, όπως ήδη σου προτάθηκε.
Μετά αν επιμένεις ντε και καλά να σκαρώσεις ενα toy compiler, βλέπουμε.
Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 09 Δεκ 2023, 01:42
από tanipteros
Imperium έγραψε: 09 Δεκ 2023, 01:24
Διάβασε πρώτα όλο το Aho, Sethi, Ullman και μετά ξανάσκεψου αν θες να ασχοληθείς με compiler. Πιστεύω οτι δεν έχει κάποιο νόημα, ούτε απο πλευρας διασκέδασης ούτε από πλευράς χρησιμότητας. ΟΚ, σίγουρα μάθε τουλάχιστον καλούτσικη χρήση yacc, bison, ANTLR, whatever... μια καλή κατανόηση parser είναι το κύριο ζητούμενο, και αυτό αξίζει.
Κοίτα και κανά interpreter, όπως ήδη σου προτάθηκε.
Μετά αν επιμένεις ντε και καλά να σκαρώσεις ενα
toy compiler, βλέπουμε.
merci

Re: Ας φτιάξουμε μια γλώσσα BASIC ... !
Δημοσιεύτηκε: 09 Δεκ 2023, 01:46
από tanipteros
μεταξυ flex, bison, antlr4 σε ποιο να επενδέσω ?