Einzelnen Beitrag anzeigen

Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Parsen von Source Code Files

  Alt 15. Mär 2022, 09:26
Sind in der originalen Datei auch schon "sinnvolle" Zeilenumbrüche drin, insbesondere nach jedem Semikolon (= Befehlstrenner), oder ist das nur ein langer String ohne solche Steuerzeichen?

Im ersten Fall würde ich die Datei in eine temporäre Stringlist laden. Danach diese Zeile für Zeile durchgehen und dabei die eigentliche Zielliste aufbauen.
  • Wenn einzeiliger Kommentar: Aktuelle Zeile in Zielliste einfügen
  • Beginn eines mehrzeiligen Kommentars: Wechsel in "Kommentarmodus" und Zeile in Zielliste einfügen
  • Im Kommentarmodus: Zeile in Zielliste einfügen, checken auf Kommentar-Ende, ggf. Kommentarmodus verlassen
  • Im Nicht-Kommentarmodus: Zeile an einen temporären String anhängen (ohne Zeilenumbruch). Test auf ";" am Ende, ggf. temporären String in Zielliste einfügen.

Evtl. kann man auch was mit myList.DelimitedText; und ";" als Delimiter machen, aber dann würden Kommentare vermutlich falsch behandelt.

Edit: Ist das richtig, dass in den Aufzählungen (oder: Parameter-Listen) wahlweise ein Komma oder ein Zeilenumbruch gültig ist? Die Kommata müsstest du dann ja ggf. einfügen, wenn du einen mehrzeiligen Befehl in eine Zeile schreibst ...
The angels have the phone box.

Geändert von Gausi (15. Mär 2022 um 09:29 Uhr)
  Mit Zitat antworten Zitat