Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Code Folding: Implementierung in eigenem Editor

  Alt 22. Jul 2020, 15:39
Ich dachte an Stack, und ich glaube, Delphi macht das genauso. Für jeden Beginn - begin, for, while, Repeat usw. - wird etwas auf den Stack geschoben, für jedes end; wieder entfernt; ist der Stack leer, ist die Prozedur zuende. Da steckt der Teufel natürlich gewaltig im Detail.
Das kann man sich einfacher machen indem man das ganze durch rekursive Methoden kapselt. Dadurch landet alles automatisch auf dem Stack. Wie so etwas aussieht, kann man bei Castalia anschauen:
https://github.com/jacobthurman/Castalia-Delphi-Parser
Kurz gesagt geht man durch den Quelltext und unterscheidet jeweils welche Möglichkeiten es vom aktuellen Punkt aus gibt. Entweder findet man dann passenden Quelltext als nächstes und macht damit weiter oder man wirft einen Parserfehler.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat