magic_halli
Erfahrenes Mitglied
1. Das File wird aus einem techn.Zeichenprogramm heraus generiert und ist IMMER syntaktisch korrekt in bezug auf IF-ELSE-ENDIF-Blöcke! Das ist schonmal die eine Gegebenheit.
2. Es existieren KEINE Einrückungen der Syntax. Jede Zeile beginnt am Zeilenanfang.
Ich möchte das File mit Java zeilenweise durchgehen (das funktioniert bereits) und je nachdem, ob ein IF true oder false ist und ob eventuell dazu noch ein ELSE-Zweig existiert, die dazwischenliegenden Zeilen bearbeiten.
Das ganze soll natürlich so funktionieren, dass auch verschachtelte IF´s erkannt und darauf entsprechend reagiert werden kann.
2. Es existieren KEINE Einrückungen der Syntax. Jede Zeile beginnt am Zeilenanfang.
Ich möchte das File mit Java zeilenweise durchgehen (das funktioniert bereits) und je nachdem, ob ein IF true oder false ist und ob eventuell dazu noch ein ELSE-Zweig existiert, die dazwischenliegenden Zeilen bearbeiten.
Das ganze soll natürlich so funktionieren, dass auch verschachtelte IF´s erkannt und darauf entsprechend reagiert werden kann.
Mh, sowas ähnliches hab ich schonmal versucht umzusetzen... kam aber nur Mist bei raus, da ich irgendwie völlig durcheinander kam.Wenn Du in einer Zeile ein "IF" findest kannst/musst Du davon ausgehen das es auch ein "ENDIF" dazu gibt. Verinfacht kannst Du erstmal eine Zählvariable nehmen und diese incrementieren. Sollte innerhalb des gefundenen "IF" wieder ein "IF" auftauchen, tust Du die Zählvariable wieder um eins hochzählen. Findest Du das erste "ENDIF" kannst/musst Du davon ausgehen das es sich hierbei um das "ENDIF" handelt welches zum 2. gefundenen "IF" gehört. Das nächste gefundene "ENDIF" gehört somit zum ersten gefundenen "IF".
Genauso kannst Du das mit einem "ELSE" oder "ELSEIF" machen.
Zuletzt bearbeitet: