Wie kann man eine eigene Programmiersprache entwickeln?

7 Antworten

Du musst

  • zunächst Wortschatz, Syntax und Semantik deiner Programmiersprache spezifizieren
  • und dann einen Compiler bauen, der jeden in deiner Sprache beschriebenen Algorithmus umsetzen kann in eine Folge von Befehlen, die deine CPU auszuführen versteht mit dem Effekt, genau diesen Algorithmus abzuarbeiten.

Da du von keiner schon bekannten Programmiersprache ausgehen möchtest, kann auch dieser Compiler nur eine Folge von Befehlen sein, die deine CPU auszuführen versteht.

Die erste Frage ist glaube ich immer, warum man eine neue Programmiersprache entwickeln will. Wenn du das aus rein aus Interesse machst, bin ich sofort bei dir, denn das ist schon ein spannendes Thema.

Wie die Sprache aufgebaut sein soll, was sie unterstützen soll und dergleichen, das wurde schon in anderen Antworten diskutiert.

Es gibt im Informatik-Studium Vorlesungen zum Compiler-Bau, damit kannst du dann erfahren, wie man das umsetzt. Warum eine Programmiersprache nicht auf einer anderen Programmiersprache aufsetzen darf, ist mir jetzt nicht so klar. Aber letzten Ende mußt du dir ja aussuchen, wie du das machen willst. Letztlich landet alles bei Maschinensprache.

Woher ich das weiß:Hobby – Hobby seit meiner Jugend

Indem du Syntax und Semantik für die Zeichenfolgen deines Quellcodes beschreibst und dazu einen Compiler baust.

Stütze dich beispielsweise auf die Backus-Naur Form und suche wissenschaftlich nach Compiler Generatoren.

Man schreibt den Interpreter oder Compiler zur Spezifikation.

Komplett ohne Basisprogrammiersprache gehts tatsächlich nicht. Mindestens Maschinensprache muss genutzt werden.

PerfectMuffin  08.12.2019, 08:43

Maschinensprache hat sich auch mal jemand ausgedacht.

0
PerfectMuffin  08.12.2019, 09:51
@oopexpert

Ach, kommen Prozessoren mit fertig eingebauter Maschinensprache von Gott oder wie?

0
oopexpert  08.12.2019, 12:40
@PerfectMuffin

Definitiv nicht von Gott. Die Sprachelemente konvergieren gegen Notwendigkeiten. Da "denkt" sich niemand mehr irgendetwas aus.

0
PerfectMuffin  08.12.2019, 12:46
@oopexpert

Das ist ja wohl Unfug.

Mal in einer Vorlesung zum Thema Prozessordesign gewesen?

"Warum ist diese Instruktion so?" - "Ist nicht optimal, hat sich aber so durchgesetzt."

Und es steht jedem frei selbst einen Prozessor zu entwerfen.

Abgesehen von allem davon, ist Maschinensprache soweit ich weiß nicht als Programmiersprache anerkannt.

0
KarlRanseierIII  08.12.2019, 12:30

Daß man unter die ISA einer CPU nicht kommt, ohne auch die CPU selbst zu entwerfen, sollte wohl klar sein.

D.h. Assembler ist nicht nötig, aber unter die ISA komme ich halt per Definition nicht - Ausnahme wären hier CPUs etc. die uCode haben. Ist dieser austauschbar, dann kann ich natürlich ggf. auch die ISA abändern, was aber wiederum bedeutet, daß ich initime Kenntnisse über den Entwurf des Chips haben müßte.

0