Guten Morgen,
Es geht um Parser und zwar möchte ich gerne einen Bottom-Up-Parser implementieren, der zuvor aus EBNF erzeugte Regel an einer Eingabe auswertet und entsprechend die Eingabe reduziert. Dazu kommt, dass ich keine Tabellen verwenden möchte. Also liegt ja ein Shift-reduce-parser nahe, aber da habe ich folgendes Problem:
Zitat:
A ← AB | B
C ← A + A
Das sind die Regeln und nun folgender Code:
Zitat:
BB+BBB
AB+BBB
A+BBB
A+ABB
CB
würde mir also jetzt einen Fehler ausgeben, obwohl sich die Eingabe vollkommen zu C reduzieren müsste. Was kann man da tun? O_o