tom as: Parser selber schreiben

Beitrag lesen

Hallo,

ich wollte mal fragen, ob hier einer mir mit dem Schreiben eines Parsers helfen kann. Ich möchte eine Matheanwendung schreiben, die so etwas zB versteht:

A = P(-2|-3);
B = P(3|5);
C = P(1|1);
D = P(2|2);
a = [AB];
c = CD;
{S} = a ∩ c;

Dabei bin ich soweit durch schachteln von if-Abfragen auch schon recht weit gekommen, wenn gleich der Code jetzt schon 400 Zeilen umfasst.

Das Problem ist jetzt folgendes: Wenn der Anwender in der letzten Zeile mehr als einen Punkt angibt, so muss eine Fehlermeldung auftauchen, da Strecke und Gerade maximal nur einen Punkt gemeinsam haben können (wenn sie aufeinander liegen sind es zwar unendlich viele, aber die kann man ja eh nicht eintippen). Ich habe damit eine kontextsensitive Sprache.

Jetzt wollte ich dann doch mal fragen, ob es hier nicht jemanden gibt, der mir helfen kann, wie das ganze elegant löse. Also mir irgendwie so helfen kann:

1. Hat Beispielcode
2. Hat ein dokument/link in dem detailliert beschrieben wird, wie man solche Parser in Java/JavaScript schreibt
3. Kennt ein Forum in das meine Frage vielleicht besser reinpasst.

Ich wäre für jede Hilfe dankbar.