Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Code aller Methoden einer Unit auskommentieren per IFDEF (https://www.delphipraxis.net/210066-code-aller-methoden-einer-unit-auskommentieren-per-ifdef.html)

hoika 24. Feb 2022 15:49

Code aller Methoden einer Unit auskommentieren per IFDEF
 
Hallo,
ich möchte gern folgendes machen.

geg.

Delphi-Quellcode:
unit A;

interface

procedure Foo(i: Integer);

implementation

procedure Foo(i: Integer);
var
  j: Integer;
begin
  try
    j:= i/2;
  except
  end;
end;
ges.
Delphi-Quellcode:
unit A;

interface

procedure Foo(i: Integer);

implementation

procedure Foo(i: Integer);
var
  j: Integer;
begin
  {$IFDEF WAS_AUCH_IMMER}
  try
    j:= i/2;
  except
  end;
  {$ENDIF}{WAS_AUCH_IMMER}
end;

end.
Ziel ist, die Methoden-Rümpfe schon mal dazuhaben, den dort bereits befindlichen, alten, Code aber erst mal wegzuhaben.

Es geht um existierende Units, also nichts neues.

Mehr schwebt da so eine Art Parser vor, der die Unit lädt analysiert und den Compilerbaum (heißt das so?) aufbaut,
den ich dann um die IFDEFs erweitern kann.

TurboMagic 24. Feb 2022 15:56

AW: Code aller Methoden einer Unit auskommentieren per IFDEF
 
Hallo,

das nennt ma AST, Abstract Syntax Tree und ja, es gibt irgendwo eine Open Source Delphi AST Umsetzung...

Grüße
TurboMagic

jaenicke 24. Feb 2022 16:04

AW: Code aller Methoden einer Unit auskommentieren per IFDEF
 
Es gibt z.B. den Castalia Parser, aber in der vorliegenden Form kennt der die neueren Sprachfeatures nicht. Den zu erweitern, wenn es nur darum geht, dass es damit keine Fehler gibt, ist aber nicht so schwer, wenn man versteht wie so etwas funktioniert.
https://github.com/jacobthurman/Castalia-Delphi-Parser


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz