Ich möchte eine eigene Programmiersprache proggen?!
-
sorry, hab zu vergessen zu erwähnen das ich die Programmiersprache unter C++ proggen will.
-
Man kann keine Programmiersprache "proggen". Was du programmieren kannst, wäre ein Compiler/Interpreter(dürfte ein bisschen leichter ein als Compiler) für eine Programmiersprache. Und dabei werden dir solche Klassen mit Sicherheit nicht viel weiterhelfen.
-
::::> TROLL <::::
defenitif, troll
-
Na und? Trotzdem interessant.
-
Jup, mit Spirit kannst du das wunderbar machen. Du musst hauptsächlich die Grammatik in eine EBNF ähnliche Form bringen.
<edit>:)</edit>
-
kingruedi schrieb:
Jup, mit Spirit kannst du das wunderbar machen. Du musst hauptsächlich die Gramatik in eine EBNF ähnliche Form bringen.
Grammatik
-
Ich würde das nicht gleich als unmöglich abtun...
Es ist mit zugegebener massen relativ viel aufwand möglich einen einfachen compiler/interpreter zu bauen... der beherrscht dann erstmal nur
if expr then expr else exprrest dann rekursiv und man kann sich erstmal schleifen sparen...
am besten die Grammatik so aufbauen das man mit einem LL(1)-Parser auskommt...
-
Ich glaube jeder der Informatik studiert muß in seinem Semester eine eigene Programmiersprache erstellen. Wenn auch nach Anleitung... aber so schwer ist das nicht.
-
peterf79 schrieb:
Ich glaube jeder der Informatik studiert muß in seinem Semester eine eigene Programmiersprache erstellen. Wenn auch nach Anleitung... aber so schwer ist das nicht.
Nein
-
Dann bekommst Du das Fach Compilerbau noch oder es ist bei Dir optional...
-
peterfarge schrieb:
Dann bekommst Du das Fach Compilerbau noch oder es ist bei Dir optional...
Hatte ich schon. Aber da haben wir nur formalen Mist gemacht (LL1(1), kontextfreie Grammatiken, DEA, NEA usw). Aber konkret ne Sprache implementiert haben wir nicht.
-
Nein? Also ich habe mich über flex und bison tot geärgert... am Ende gab es sogar eine Optionale Aufgabe den ganzen Mist mit Java Bytecode umzusetzen. Hatte aber keinen Kopf mehr dafür...
-
MiC++ha schrieb:
::::> TROLL <::::
defenitif, trollLern erstmal richtig schreiben, bevor du andere als Troll bezeichnest.
otze schrieb:
spirit ist mit sowas großen überfordert.
Sicher? Ich habe zwar bisher nur relativ kleine Sachen damit gemacht, aber es kam mir nicht lahm bzw. ungeignet für umfangreiche Grammatiken vor.
-
es sit nicht die geschwindigkeit, aber die komplexität nimmt fast exponential mit der größe der grammatik zu. sogar die macher von spirit sagen, dass man spirit nur bei kleinigkeiten benutzen sollte.
-
Die Compilezeiten werden teilweise extrem in die Höhe getrieben, aber durch einige Tricks kann man da auch ein wenig optimieren. Ich weiß zwar nicht, was du unter groß verstehst, aber für die meisten Parser-Aufgaben halte ich Spirit für sehr geeignet, vielleicht auch für kleinere Programmiersprachen. Ist klar, dass man damit keinen Hochsprachenparser bauen sollte. Naja, mal sehen wie sich das noch weiter entwickelt.
-
das hauptproblem meienr meinung nach ist aber der fehlende support für klassenmethoden, das vergällt einem die sache doch schon etwas.
-
hab mal spirit benutzt
bin aber nich begeistert
-
sprachen werden auch oft in sich selbst geschrieben. delphi wurde zum beispiel mit delphi programmiert
delphi
-
- Sprachen werden gar nicht geschrieben, wenn dann compiler
- außerdem muss der erste Compiler der Logik nach auf jeden Fall erst mal in einer anderen, schon vorhandenen Sprache geschrieben werden
-
Optimizer schrieb:
- außerdem muss der erste Compiler der Logik nach auf jeden Fall erst mal in einer anderen, schon vorhandenen Sprache geschrieben werden
Naja, ich kann doch einen Compiler meiner neuen Sprache ZWÖLFZISCH in einer Sprache DRÖLFZISCH schreiben, die es noch gar nicht gibt (weil noch kein Compiler dafür existiert). Dann könnte ich den DRÖLFZISCH-Compiler entwickeln... der ...
Ach vergesst es!