Πώς να δημιουργήσετε μια γλώσσα προγραμματισμού

Συγγραφέας: Peter Berry
Ημερομηνία Δημιουργίας: 19 Αύγουστος 2021
Ημερομηνία Ενημέρωσης: 8 Ενδέχεται 2024
Anonim
Ποιά γλώσσα προγραμματισμού να μάθω;
Βίντεο: Ποιά γλώσσα προγραμματισμού να μάθω;

Περιεχόμενο

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

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


στάδια



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


  2. Μάθετε σχετικά με την ορολογία. Οι μεταγλωττιστές σύνταξης συχνά έχουν φρασεολογία που δεν γνωρίζετε. Μάθετε για τους μεταγλωτιστές πριν συνεχίσετε. Βεβαιωθείτε ότι γνωρίζετε όλα όσα πρέπει να ξέρετε.


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


  4. Σκεφτείτε τη σημασιολογία. Επίσης, σκεφτείτε τις έννοιες της γλώσσας σας.
    • Θα επιτρέψετε την άμεση πρόσβαση στους δείκτες ή όχι;
    • Τι είδους δεδομένα θα χρησιμοποιήσει (εάν πληκτρολογηθεί);
    • Θα είναι μια στατική ή δυναμική γλώσσα;
    • Ποιο θα είναι το μοντέλο μνήμης του; Θα χρησιμοποιήσετε συλλέκτη απορριμμάτων ή χειροκίνητη διαχείριση μνήμης; Αν χρησιμοποιείτε συλλέκτη απορριμμάτων, προετοιμαστείτε να κωδικοποιήσετε ένα ή να προσαρμόσετε ένα για τη γλώσσα σας.
    • Πώς θα διαχειριστείτε τον ανταγωνισμό; Πρόκειται να χρησιμοποιήσετε ένα απλό μοντέλο εργασιών ή κάτι πιο περίπλοκο όπως η Linda ή το μοντέλο ηθοποιού, αφού οι υπολογιστές έχουν πολλές καρδιές σήμερα;
    • Θα ενσωματωθούν οι πρωτότυπες λειτουργίες στη γλώσσα ή θέλετε να τις εισαγάγετε από μια βιβλιοθήκη;
    • Ποια είναι τα παραδείγματα της γλώσσας; Λειτουργικό, αντικειμενοστρεφές, πρωτότυπο (όπως JavaScript), προσανατολισμένο προς το προσανατολισμό, προσανατολισμένο στο μοντέλο ή κάτι εντελώς νέο;
    • Πώς θα επικοινωνήσει η γλώσσα σας με υπάρχουσες βιβλιοθήκες και γλώσσες (κυρίως C); Αυτό είναι σημαντικό αν δημιουργείτε μια συγκεκριμένη γλώσσα.
    • Τέλος, ορισμένες από αυτές τις ερωτήσεις θα απαντηθούν στο δεύτερο βήμα και θα σας βοηθήσουν να απαντήσετε στο επόμενο βήμα.



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


  6. Δοκιμάστε διαφορετικές ιδέες σύνταξης. Χρησιμοποιήστε τα παραπάνω παραδείγματα για να δοκιμάσετε.
    • Προσέξτε να κρατήσετε τη γλώσσα σας στην κατηγορία των γλωσσών χωρίς κώνο ή σε μια υποκατηγορία. Εσείς και ο αναλυτής θα σας ευχαριστήσω αργότερα.


  7. Γράψτε τη γραμματική για τη σύνταξη.


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



  9. Γράψτε ένα σαρωτή και έναν αναλυτή frontend. Μπορείτε επίσης να βρείτε ένα εργαλείο για να σας βοηθήσουμε.
    • Επίσης, σκεφτείτε πώς ο μεταγλωττιστής θα προειδοποιήσει τον χρήστη για πλαστά προγράμματα και σφάλματα σύνταξης.


  10. Γράψτε τον κωδικό. Χρησιμοποιήστε τις πληροφορίες του αναλυτή για να γράψετε τον αντικειμενικό κώδικα ή μια ενδιάμεση αναπαράσταση. Έχετε τον αναλυτή να δημιουργήσει ένα αφηρημένο συντακτικό δένδρο και, στη συνέχεια, να δημιουργήσει τον κώδικα αντικειμένου από αυτό το δέντρο χρησιμοποιώντας τους κωδικούς διευθύνσεων ή τον μεγάλο αδελφό του SSA πριν δημιουργήσει έναν πίνακα συμβόλων για τον ορισμό λειτουργιών, παγκόσμιων μεταβλητών κ.ο.κ.
    • Επιπλέον, ανάλογα με τη γλώσσα σας, ίσως θελήσετε να δημιουργήσετε πίνακες εικονικών δεικτών ή πίνακες πληροφοριών για τις τάξεις σας (για υποστήριξη RTTI).


  11. Κωδικοποιήστε την εντολή. Αυτό είναι το πρόγραμμα που θα συνδέσει όλο τον κώδικα.


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


  13. Σκεφτείτε για το σφάλμα.


  14. Γράψτε την τυπική βιβλιοθήκη. Εάν η γλώσσα σας χρησιμοποιεί μια συνηθισμένη βιβλιοθήκη, πρέπει να την γράψετε επιπλέον του συλλέκτη απορριμμάτων και άλλων ιδιοτήτων που χρειάζεστε.
    • Στην πραγματικότητα, αν κωδικοποιήσετε τον μεταγλωττιστή, θα χρειαστείτε έναν κώδικα που θα εκτελέσει το λειτουργικό σύστημα για να ξεκινήσει να ρίχνει τον κωδικό χρήστη (για παράδειγμα, κατανέμοντας όλες τις παγκόσμιες μεταβλητές).


  15. Δημοσιεύστε τη γλώσσα σας. Δημοσιεύστε τη γλώσσα σας μαζί με τις προδιαγραφές και τα δείγματα κώδικα που έχετε δημιουργήσει.
    • Μην ξεχάσετε να αναφέρετε πώς είναι δυνατόν να ενσωματώσετε υπάρχουσες βιβλιοθήκες και να χρησιμοποιήσετε ιδιότητες χρόνου εκτέλεσης ή τυπικές βιβλιοθήκες.
  • Υπομονή
  • Γνώση των ιδιοτήτων των γλωσσών προγραμματισμού και του σχεδιασμού τους
  • Η γνώση στη θεωρία των μεταγλωττιστών (δεδομένου ότι πρόκειται να κωδικοποιήσετε έναν μεταγλωττιστή ή έναν διερμηνέα για τη γλώσσα σας και η εφαρμογή σας θα χρησιμεύσει ως αναφορά)
  • Μια χρήση για τη γλώσσα σας (μην ξεχνάτε ότι ορισμένες από τις πιο χρησιμοποιούμενες γλώσσες όπως το C ή το LISP δημιουργήθηκαν για να κάνουν κάτι συγκεκριμένο, για παράδειγμα για να δημιουργήσουν Unix ή για συμβολικούς υπολογισμούς)

Πώς να γίνετε δάσκαλος καράτε

Virginia Floyd

Ενδέχεται 2024

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

Άλλες ενότητες Μερικές φορές, η ζωή σας ρίχνει μια καμπύλη. Βρίσκεστε σε μια κοινωνική κατάσταση, και προτού να το ξέρετε, υπάρχει μια βουτιά στα δόντια σας. Ήμασταν όλοι εκεί στο παρελθόν: είναι περί...

Οι Εκδόσεις Μας