So erstellen sie eine programmiersprache
Viele Menschen haben Schwierigkeiten oder Frustrationen mit den Programmiersprachen, die sie jeden Tag verwenden. Einige möchten, dass die Dinge abstrakter behandelt werden sollen, während andere die Implementierungsmerkmale nicht mögen, die sie wünschen, waren "Standard". Egal, ob Sie ein IT-Fachmann oder nur ein Hobbyist sind, oft Sie möchten, dass Sie eine neue Programmiersprache erstellen möchten.
Schritte
1. Sich mit der Technologie vertraut machen. Sie können keine Programmiersprache erstellen, wenn Sie nicht wissen, wie Sie einen Computer verwenden.

2. Vertraut mit der Terminologie. Compiler-Autoren verwenden oft eine unbekannte Terminologie. Lesen Sie auf Compiler, bevor Sie fortfahren. Stellen Sie sicher, dass Sie alles wissen, was Sie wissen müssen.

3. Entscheiden Sie sich, welches Problem Ihre Sprache löst. Befestigt es ein domänenspezifisches Problem oder ist es eine allgemeine Sprache??

4. Denken Sie an die Semantik Ihrer Sprache und die Konzepte davon.

5. Denken Sie an einige spezifische Aufgaben, die jemand mit Ihrer Sprache ausführen möchte. Zum Beispiel: "Sie möchten möglicherweise einen Roboter leiten, um einer Zeile" oder "Sie möchten möglicherweise relativ tragbare Desktop-Programme darin erstellen `oder` Sie möchten möglicherweise Webanwendungen mit ihm erstellen `.

6. Experimentieren Sie mit Syntaxideen (den Text der Sprache) für die obigen Beispiele.

7. Schreiben Sie eine formale Grammatik für die Syntax aus.

8. Entscheiden Sie sich, ob die Sprache interpretiert oder kompiliert wird. Das heißt, dass in der interpretierten Welt Ihr Benutzer in der Regel Ihr Programm in einem Editor bearbeitet und direkt auf dem Interpreter ausgeführt wird, während Ihr Benutzer in der kompilierten Welt Ihr Programm bearbeitet, kompiliert, die resultierende ausführbare Datei irgendwo speichern und ausführen.

9. Schreiben Sie den Front-End-Scanner und den Parser oder finden Sie ein Tool, das Ihnen dabei hilft.

10. Verwenden Sie die Parserinformationen, um den Objektcode oder eine Zwischendarstellung zu schreiben. Lassen Sie den Parser ein AST erstellen, und erstellen Sie dann Ihren Objektcode aus dem AST mit drei Adresscode oder seinem Big Brother SSA und erstellen Sie dann eine Symboltabelle, um Ihre Funktionen, globale Variablen usw. zu definieren.

11. Schreiben Sie den Executor oder den Codegenerator, der alles zusammen bindet.

12. Schreiben Sie viele Testprogramme, um die Sprache zu testen.

13. Überlegen Sie, wie der Benutzer ihre eigenen Programme debuggt.

14. Wenn Ihre Sprache eine Standardbibliothek verwendet, möchten Sie es schreiben. Zusammen mit einem Müllkollektor oder anderen Laufzeitfunktionen, wenn Sie es benötigen.

fünfzehn. Veröffentlichen Sie Ihre Sprache zusammen mit der Spezifikation dafür und einige Beispiele für das, was Sie darin tun können.
Video
Mit diesem Service können einige Informationen mit YouTube geteilt werden.
Tipps
Beginnen Sie mit der Gestaltung Ihrer Sprache und schreiben Sie keinen Code, bis Sie zufrieden sind und alle (oder am meisten) der Fragen oder Probleme mit Ihrem Design beantwortet haben, da es einfacher ist, das Design früher als später zu ändern.
Kennen Sie Ihre Zielplattform (Betriebssystem und Bibliotheken) für Ihren Compiler / Dolmetscher, schließlich werden Sie es verwenden und manipulieren.
Warnungen
Denken Sie, wenn Sie wirklich eine neue Sprache brauchen, und was Ihre Sprache hat, dass andere Sprachen nicht haben (es kann eine Kombination von Funktionen oder einer einzelnen Funktion sein).
Schreibsprachen ist schwierig, wenn Sie nicht wissen, was Sie tun. Es braucht auch viel Übung.
Bereiten Sie sich darauf vor, etwas Zeit im Sprachdesign zu verbringen, da Sie nicht die Chance haben, Ihre Sprache zu ändern, wenn Sie den Compiler geschrieben haben, und am Entwurfspunkt vorbei.
Versuchen Sie nicht, Ihre Funktionen in eine Vereinigung mehrerer Sprachen zu stützen, wie Sie sagen, dass Ihre Sprache eine Vereinigung von Sprache X, Sprache Y und Sprache Z ist, Z. Die Geschichte hat uns gezeigt, dass die so geschaffenen Sprachen niemals Erfolg finden, oder jeder würde PL / 1 anstelle von etwas programmieren.
Dinge, die du brauchen wirst
- Die Geduld.
- Wissen über Sprachfunktionen und Sprachdesign (Möglicherweise möchten Sie Programmiersprache-Konzepte von David A lesen. Watt).
- Wissen über Compiler-Theorie (da Sie einen Compiler / Dolmetscher für Ihre Sprache schreiben und Ihre Implementierung der Referenzimplementierung sein wird).
- Verwendet für Ihre Sprache (Denken Sie daran, dass einige der am häufigsten verwendeten Sprachen wie C oder Lisp erstellt wurden, um etwas zu tun, um Unix oder symbolische Berechnung zu erstellen).