Angenommen, ich wollte meine eigene Programmiersprache erstellen. Unter der Annahme, dass ich alle Entscheidungen darüber getroffen habe, wie es aussehen und sich verhalten soll, muss ich nur einen Compiler dafür schreiben?
Treffen Sie alle Entscheidungen darüber, wie die Sprache aussehen und handeln soll soll, erstellen Sie Ihre eigene Programmiersprache. Sie benötigen keinen Compiler oder Interpreter, um eine Programmiersprache zu erstellen. Sie benötigen keinen Compiler oder Interpreter, um Programme in Ihrer Programmiersprache zu schreiben.
Sie benötigen nur dann einen Compiler oder einen Interpreter, wenn Sie dies tatsächlich möchten die von Ihnen geschriebenen Programme ausführen .
Meine Frage ist, ob die Erstellung einer Programmiersprache über einen Compiler erfolgt. High-Level ist in Ordnung.
Nein. Die Erstellung einer Programmiersprache erfolgt durch die Erstellung von zwei Regelsätzen:
- wie ein legales Programm aussieht (Syntax)
- was ein Rechtsprogramm macht (Semantik)
Das ist es.
Es gibt Programmiersprachen, die nicht implementiert sind. Oder die lange Zeit keine Implementierung hatten.
Zum Beispiel schuf Konrad Zuse Mitte der 1940er Jahre Plankalkül, aber aufgrund des Krieges konnte er es nie umsetzen. Es wurde erstmals 1975 im Rahmen einer Dissertation umgesetzt. Es existierte aber sicherlich in den 1950er und 1960er Jahren.
LISP wurde ursprünglich als besser handhabbare Alternative zum λ-Kalkül für das Studium der Berechnung entwickelt. Es wurde von Steve Russell, einem Schüler von John McCarthy, implementiert. McCarthy selbst bezweifelte sogar, dass LISP überhaupt implementiert werden könnte!
APL wurde ursprünglich als Notation für den Mathematikunterricht entwickelt. Es wurde später erweitert, um als Spezifikationssprache für IBM System / 360 zu dienen. Die Implementierung erfolgte später, nachdem die Sprache bereits verwendet worden war.
PLANNER war eine sehr einflussreiche Sprache, die tatsächlich erst implementiert wurde, nachdem sie bereits andere Sprachen beeinflusst hatte. Es wurde 1969 entworfen und 1973 implementiert. Zu diesem Zeitpunkt hatte es bereits Smalltalk und Prolog beeinflusst (beide 1972).
Struktur und Interpretation der klassischen Mechanik ist ein Physiklehrbuch, das Schema anstelle von Mathematik verwendet, um dynamische Systeme zu beschreiben. Die Tatsache, dass das Schema Dolmetscher und Compiler hat, ist für das Buch nicht wesentlich. Es wird als Sprache zur Vermittlung von Gedanken verwendet, nicht zum Ausführen von Programmen.
Wie Sie sehen, können Programmiersprachen auch ohne Implementierungen nützlich sein. "Programme sollten so geschrieben werden, dass Menschen sie lesen können und nur im Übrigen, damit Computer sie ausführen können", lautet ein berühmtes Zitat aus Struktur und Interpretation von Computerprogrammen. Programmiersprachen sind formale Sprachen zur eindeutigen Beschreibung komplexer Prozesse. Die Tatsache, dass ein Prozess, den ein Mensch genau genug beschreibt, um ihn zu verstehen, auch von einer Maschine ausgeführt werden kann, ist ein Nebeneffekt. Es ist eine sehr wünschenswerte, nützliche, starke Nebenwirkung, aber es ist eine Nebenwirkung.
Die allerersten "Programmiersprachen", λ-Kalkül, SKI-Kalkül, Turing-Maschinen, μ-rekursive Funktionen, wurden nicht zur Ausführung erstellt. Sie wurden geschaffen, um grundlegende Fragen der Logik und Mathematik zu verstehen.