.nils.: ähnlich wie parserklasse blos kleiner

Beitrag lesen

Hallo,

Das ist nicht ganz einfach.

Entweder machst Du es rekursiv (eleganter aber kann bei seehr langen Texten in die Hose gehen) oder Buchstabe für Buchstabe.

Eine Hilfe ist erstmal: wenn ein schließendes Tag auftaucht, muß das letzte Tag davor entweder ein anderes schließendes Tag sein, oder das zugehörige öffnende Tag. Sonst ist es falsch verschachtelt.

Das kannst Du für eine Rekursion nutzen. Du gehst von hinten nach vorne. immer wenn ein schließendes Tag auftaucht, beginnt ein Rekursionsdurchlauf. Du liest dann weiter die Buchstaben bis zum nächsten Tag. ist es ein schließender, rufst Du aus der gerade laufenden Rekursionsschleife die nächste Rekursion auf. Ist es ein öffnender, checkst Du, ob er zum aktuellen schließenden passt.
Wenn ja, ok, dann springst Du zurück in das Hauptprogramm, bzw. die vorhergehende Schleife, Wenn nein, dann ist es eine fehlerhafte Verschachtelung.

Gruß, Nils

p.s. Das ganze geht natürlich auch von vorne nach hinten