Einzelnen Beitrag anzeigen

DenkDirNix

Registriert seit: 13. Dez 2018
66 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi-Parser mit Anwendung "Referenzen suchen"

  Alt 19. Apr 2020, 14:47
Moinsen,

ich habe ein altes Tool (aus 2003 für Delphi7) mal etwas aufgefrischt und würde mich über freundliche oder hilfreiche Kommentare freuen. Motivation war die Unzulänglichkeit der IDE für die projektweite Suche im Quelltext und die Funktion "Referenzen suchen" (find References).

Was tut das Tool
  • Input ist ein übersetzbares Delphi-Projekt, eine Library oder Package. Die Entwicklung basiert auf dem Sprachumfang von Delphi 10.3.3.
  • Source-Files werden geparst und alle Elemente entsprechend der statischen Blockstruktur mit Typ-Informationen in einen TreeView einsortiert. Elemente sind im wesentlichen die Identifier, aber auch Pascal-Direktiven und -Attribute, Compiler-Direktiven und -Schalter, Literale und Dateinamen sowie falls gewünscht die Keywords.
  • Alle Referenzen (also textuelle Vorkommen) dieser Ids werden daneben als Liste von Code-Snippets angezeigt. Dazu der Referenz-Typ, also deklarierend, lesend, schreibend, weiterreichend. Alle Identifier in diesen Code-Snippets sind hyperlinked zum TreeView (per DoppelClick).

Nutzen
  • Zusätzlich zum üblichen funktionsbezogen-sequentiellen Blick auf die Anweisungen im Quellcode bekommt man schnellen Zugriff auf den "Lebenslauf" eines Identifiers.
  • schnelles projektweites und intelligentes (weil syntax- statt text-basiertes) Suchen und Umbenennen
  • Anbindung an IDE per Drag&Drop: Ziehen einer Referenz in die IDE springt zu dieser Codestelle
  • Filterung nach speziellen Nutzungen (z.B. ungenutzte Variablen, Generics, Overloads ,...)

Specials
  • Units dürfen fehlen. Nicht deklarierte Elemente werden in einer <Unresolved-unscoped>-Liste geführt. Natürlich ist solch ein Ergebnis nicht mehr exakt, trotzdem kann man idR damit arbeiten.
  • Ids aus System.pas sind rudimentär integriert, können nach Bedarf ergänzt werden.
  • Anzeige als Nassi-Shneiderman-Diagramm

Anzeige und Bedienung
  • siehe Hilfe-Datei

Aktueller Download aus meiner DropBox.
Miniaturansicht angehängter Grafiken
refpicmain.jpg   refpicoptions.jpg   refpicfilters.jpg   refpicfilteredname.jpg   refpicfilteredhierarchie.jpg  

refpicfilteredgenerics.jpg   diagramm.jpg  

Geändert von DenkDirNix (22. Jan 2024 um 16:29 Uhr) Grund: neue Version
  Mit Zitat antworten Zitat