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. Bild mit dem Titel Erstellen einer Programmiersprache Schritt 1
1. Sich mit der Technologie vertraut machen. Sie können keine Programmiersprache erstellen, wenn Sie nicht wissen, wie Sie einen Computer verwenden.
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 2
    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.
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 3
    3. Entscheiden Sie sich, welches Problem Ihre Sprache löst. Befestigt es ein domänenspezifisches Problem oder ist es eine allgemeine Sprache??
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 4
    4. Denken Sie an die Semantik Ihrer Sprache und die Konzepte davon.
  • Wirdst du Direktzeigerzugriff zulassen oder nicht?
  • Was sind die Datentypen Ihrer Sprache??
  • Ist es eine statische oder dynamische Sprache?
  • Was ist dein Gedächtnismodell?? Wollen Sie einen Müllsammler oder ein manuelles Speicherverwaltung verwenden?? (Wenn Sie einen Müllkollektor verwenden, legen Sie auf, ob Sie einen schreiben möchten, oder an Ihre Sprache anpassen.)
  • Wie werden die Parallelität umgehen?? Verwenden Sie ein einfaches Threading- / Sperrmodell oder etwas komplexeres wie Linda oder das Schauspielermodell? (Da heutzutage Computer mehrere Kerne haben.)
  • Gibt es primitive Funktionen, die in die Sprache eingebettet sind oder alles aus einer Bibliothek stammt??
  • Was ist das Paradigma- oder Paradigmen Ihrer Sprache?? Funktional? Objektorientierten? Prototyp (wie jаvascript)? Aspektorientiert? Vorlagenorientiert? Oder etwas völlig neues?
  • Wie wird Ihre Sprache mit vorhandenen Bibliotheken und Sprachen (hauptsächlich c) angrenzt?? Dieser Punkt ist wichtig, wenn Sie eine domänenspezifische Sprache bauen.
  • Schließlich werden einige der Antworten auf diese Fragen vom zweiten Schritt beantwortet und helfen Ihnen, den nächsten Schritt zu beantworten.
  • Bild mit dem Titel Erstellen einer Programmiersprache Schritt 5
    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 `.
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 6
    6. Experimentieren Sie mit Syntaxideen (den Text der Sprache) für die obigen Beispiele.
  • Seien Sie vorsichtig, um Ihre Sprache in der kontextfreien Sprachkategorie oder etwas darin zu halten. Ihr Parsergenerator und Sie werden es später schätzen.
  • Bildtitel Erstellen Sie eine Programmiersprache STEP 7
    7. Schreiben Sie eine formale Grammatik für die Syntax aus.
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 8
    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.
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 9
    9. Schreiben Sie den Front-End-Scanner und den Parser oder finden Sie ein Tool, das Ihnen dabei hilft.
  • Denken Sie auch darüber nach, wie Ihr Compiler / Dolmetscher Ihren Benutzer über fehlerhafte Programme und Syntaxfehler warnen.
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 10
    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.
  • Je nach Ihrer Sprache können Sie auch virtuelle Zeigertabellen oder Informationstabellen für Ihre Klassen erstellen (um Reflexion oder RTTI zu unterstützen).
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 11
    11. Schreiben Sie den Executor oder den Codegenerator, der alles zusammen bindet.
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 12
    12. Schreiben Sie viele Testprogramme, um die Sprache zu testen.
  • Sie möchten Programme erstellen, die die Belastungen Ihrer formalen Grammatik betonen, um zu sehen, dass Ihr Compiler alles akzeptiert, was sich in Ihrer Definition befindet, und lehnt alles ab, was sich außerhalb davon befindet.
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 13
    13. Überlegen Sie, wie der Benutzer ihre eigenen Programme debuggt.
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 14
    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.
  • Wenn Sie einen Compiler schreiben, benötigen Sie den Code, den das Betriebssystem ausführt, um den Benutzercode ausführen zu können (z. B. Zuteilung aller globalen Variablen).
  • Bildtitel Erstellen Sie eine Programmiersprache Schritt 15
    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.
  • Vergessen Sie nicht, zu dokumentieren, wie Sie mit vorhandenen Bibliotheken, Sprachen und der Verwendung der Laufzeitfunktionen und / oder der Standardbibliothek integrieren 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).
    In Verbindung stehende Artikel