So habe ich Design-Programmiersprachen und bekam weit genug, dass ich Beispielcode schrieb und begann, BNF zu schreiben. Ich möchte wissen, gibt es eine Checkliste von Dingen, die ich tun könnte, bevor ich den Rest meines BNF schreibe? Was soll ich danach machen? Ich fürchte, die Implementierung wird lange dauern (so komplex wie und vielleicht mehr als C++). Was sind Dinge, die ich tun sollte oder was ich beachten sollte?Entwerfen und Implementieren einer Programmiersprache, Was ist der nächste Schritt?
Antwort
Erhalten Sie einen Peer-Review zu dem, was Sie bisher getan haben. Sprache Design ist hart - es ist wahrscheinlich, dass ein zusätzliches Paar Augen (oder mehrere) würde helfen, einige Bereiche zu finden, wo Sie es verbessern könnten vor gehen Sie zu weit auf der Seite der Umsetzung. (Insbesondere, wenn es komplexer als C++ ist, sind Sie sicher, dass das notwendig ist?)
Wenn es komplexer als C++ ist, muss es wahrscheinlich neu gestaltet werden. Ein großer Teil der Komplexität von C++ ergibt sich aus der Notwendigkeit, C-Kompatibilität zu bieten und so Features über die weniger als wunderbare C-Deklarationssyntax zu stellen. Wenn Sie keine existente Sprache unterstützen müssen, ist es schwer zu verstehen, wie diese Komplexität gerechtfertigt werden kann.
entworfen hat und implementiert ein paar Sprachen selbst, empfehle ich einen invremental Ansatz:
- Design kleine Teilmenge
- implementieren es
- verwenden es
Mit den Lehren, Design eine etwas größere Teilmenge und Wiederholung.
- 1. Methodiken zum Entwerfen einer einfachen Programmiersprache
- 2. Was ist der Kern der DrRacket-Programmiersprache?
- 3. Was ist diese Programmiersprache?
- 4. Was ist der beste Weg, um Templates in einer Programmiersprache zu implementieren?
- 5. Was ist die prägnanteste Programmiersprache?
- 6. Was ist der Unterschied zwischen einem Framework und einer Bibliothek in einer Programmiersprache wie JavaScript?
- 7. Was ist der erste Schritt in (NSTimer Release und Invalidate)?
- 8. Was ist der Schritt-für-Schritt-Prozess zur Implementierung einer Chat-Anwendung mit Firebase
- 9. Wie würden Sie eine funktionale Programmiersprache implementieren?
- 10. Was ist das Akteurmodell im Kontext einer Programmiersprache?
- 11. Was ist die Programmiersprache dieses Code-Snippet
- 12. Was ist diese neue Axum Programmiersprache?
- 13. Was ist die beste Programmiersprache für Selen?
- 14. Was ist mit Framework, Programmiersprache und Skriptsprache gemeint?
- 15. Implementieren und Entwerfen eines Protokolls für Client-Server-Anwendung
- 16. Syntax der Swift-Programmiersprache
- 17. Was bedeuten "_" und "in" in Swift Programmiersprache?
- 18. Entwerfen einer Ähnlichkeitstabelle
- 19. Was sind die Vorteile der Kotlin Programmiersprache?
- 20. Was ist der Unterschied zwischen einer Sprache und einem Framework?
- 21. Ist Bash eine Programmiersprache?
- 22. Entwerfen einer PHP-Klasse. Der richtige Weg
- 23. Was ist der beste Algorithmus für das nächste Wort
- 24. Entwerfen einer GUI
- 25. Dokumentationssystem, das unabhängig von der Programmiersprache ist
- 26. php Schritt für Schritt Ausführung
- 27. Was ist der nächste Nachbar von Cloudant Geospatial Point Suche
- 28. Was ist der beste Weg, um eine Datenbank für Ruby on Rails zu entwerfen?
- 29. Was ist der beste Weg, große WCF Duplex Services mit einer Silverlight-Anwendung zu entwerfen?
- 30. Entwerfen einer Einstellungsstruktur
Haben Sie Ada wieder entdeckt? – Nosredna
Viele verwandte Fragen zu SO: http://stackoverflow.com/search?q=Designing+und+Implementing+a+programming+language insbesondere http://stackoverflow.com/questions/365602/creating-your-own-language – lothar