zusammengehörige if-else-endif erkennen

magic_halli

Erfahrenes Mitglied
Hallo.

Ich habe ein Textfile mit darin enthaltenen if-Anweisungen (auch verschachtelt möglich), z.B:
Code:
IF <Bedingung>
   textzeile1
   if <Bedingung>
      textzeile2
      if <Bedingung>
         textzeile3
      endif
   else
      textzeile4
   endif
   textzeile5
ELSE
   textzeile6
   if <Bedingung>
      textzeile7
   else
      textzeile8
   endif
   textzeile9
ENDIF
Mein Problem ist, wie kann ich erkennen, welches ENDIF zu welchem IF gehört und welches ELSE, wenn vorhanden, zu welchem IF/ENDIF gehört.
Mir fehlt hierfür ganz einfach ein Lösungsansatz, wie man das ermitteln kann - selbst in Worten gesprochen komme ich irgendwie nicht drauf! :cry:
Kann mir bitte jemand helfen! Ich will gar nicht mal Code haben, nein... ich brauche nur paar Ideen bzw. Tips, wie ich ermitteln kann, welche IF/ELSE/ENDIF zusammengehören, um das dann programmiertechnisch umzusetzen!

Danke und Gruß.
 
Hallo,

kannst du mal erklären, was du überhaupt machen möchtest.

Sowas programmtechnisch zu erkennen ist nicht so das problem. Jedes else bzw endif gehört zu dem letzten "geöffneten" if. Sobald ein endif kommt, ist das letzte "geöffnete" if "geschlossen". Jedes dann folgende else oder endif, gehört dann zu dem davor geöffneten if. USW.


MFG

zEriX
 
Wenn das Texfile immer so schon eingerückt ist, dann kannst du so vorgehen, dass du sasgt alle Ifs und Els gehöhren zusammen wenn sie 2 Spaces eingerückt sind, und nicht von einer Zeile mit weniger Spaces unterbrochen werde.

Reicht das? :)
 
Wieso? Erlich gesagt habe ich in Java noch nie ein ENDIF verwendet und es ging immer gut. Oder hat da jemand diesen Thread in das falsche Forum geschrieben?
 
Ich schätze mal, dass er den Code da mit Java einlesen möchte und dann ist es egal, welche Sprache es ist. Es gibt mehrere Sprachen die ein ENDIF haben.

MFG

zEriX
 
Hmm, also in dem Fall würde ich das File zuerst darauf überprüfen, ob es ein ENDIF hat und dann zerix Methode anwenden.
 
@Matze
Das funktioniert so nicht. Man geht von oben nach unten. Man braucht ja kein endif, wenn kein if vorhanden ist. Dann kann es immer noch sein, dass vielleicht ein ENDIF zuviel ist. Dann ist auch die Syntax falsch. Es könnten auch mehrere If-Anweisungen sein und zu wenig endifs, dann stimmt es ja auch nicht.

MFG

zEriX
 

Neue Beiträge

Zurück