Ich möchte eine eigene Programmiersprache proggen?!
-
Ist da boost::spirit das richtige Werkzeug für mich?
-
Ich würde dir eher zur java.util.SolveMyProblem - Klasse raten.
-
spirit ist mit sowas großen überfordert. da greifen wieder die typischen lexer wie mans ie seit 20 jahren benutzt. Yacc/bison etc sollte es dann schons ein^^
-
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