Wie programmiert man eine Programmiersprache?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Übersetzer/Interpreter für Programmiersprachen werden heute in einer schon existierenden Programmiersprache programmiert. Am häufigsten wird dafür C verwendet. Wieso, das habe ich hier erklärt: http://www.gutefrage.net/frage/neue-programmiersprache-erfinden

Wenn Du genauer wissen willst, wie man das macht, dann schau Dich mal unter dem Begriff Übersetzerbau bzw. Compilerbau um. Das wichtigste programmiererische Problem dabei ist, wie man der Maschine die Grammatik der Programmiersprache so beibringt, daß sie grammatische Fehler findet, korrekte Programme in ihre einzelnen Sinnbestandteile zerlegt (Scanning und Parsing) und für diese Teile dann die entsprechenden Anweisungen in Maschinencode zusammenbaut.

Ein bekanntes ausführliches Lehrbuch ist das mit dem Drachen von Aho und Ullman. Gut zu lesen und weniger umfangreich sind die Bücher von David Gries und Niklaus Wirth. (Nur als Bsp. Es gibt recht viele.)

Eine interessante Frage. Schließlich ist ein Computer im Prinzip dumm wie Brot - er kann nur 1 und 0. Die ersten Computer ( z. B. Zuse) funktionierten ja noch mit Lochkarten -.Loch=1 kein Loch=0. Die erste Programmiersprache, mit der ich Berührung hatte, war "BASIC". Aber auch da mussten die Befehle in Binärcode umgewandelt und kompiliert werden. Der Complier ist dann also der "Übersetzer", der die jeweilige Programmiersprache in Binärcode umwandelt. Es gibt also für jede Sprache einen "Dolmetscher", der z. B. von Java nach Binär "übersetzt".

Jetzt registrieren, um alle Antworten zu lesen!