Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.691 Beiträge
 
Delphi 11 Alexandria
 
#1

Warum kennt Delphi eigentlich keine Makros?

  Alt 28. Okt 2012, 17:38
Warum kennt Delphi eigentlich immernoch keine Makros?
Vorallem beim Übersetzen von C-Headern wäre sowas einfach zu praktisch.


So schwer sollte das doch nicht zu implementieren sein?
Und es, bezüglich der Delphi-Language, kompatibel zu implementieren ist och nicht unmöglich.

Delphi-Quellcode:
{$DEFINEMACRO param '; xyz: Integer'}
{$DEFINEMACRO param_x ', xyz'}
{$DEFINEMACRO say 'Beep; ShowMessage(''Hello %1'');' string}
{$DEFINEMACRO msg '(''%3'' + Format('' %%s %%d'', [''%1'', %2]))' string integer string}

procedure Test(abc: string {$MACRO param}); // procedure Test(abc: string ; xyz: Integer);
begin
  {$IFMACRO param}
    ShowMessage(IntToStr(xyz));
  {$ENDIF}
  OtherProc(abc {$MACRO param_x});

  {$MACRO param 'World'}  // Beep; ShowMessage('Hello World');

  ShowMessage{$MACRO msg 'World' 123 'Hello'}; // ShowMessage('Hello' + Format(' %%s %%d', ['World', 123]));
end;
Der Compiler braucht das doch nur beim Parsen im Code zu ersetzen und danach zu interpretieren.

Natürlich sollte er alle Zeilenumbrüche in den Macros ignorieren (durch Leerzeichen zu ersetzen) ... dann dürfte auch der Debugger keine Probleme bekommen, da sich die Zeilenpositionen nicht verändern.


Voll blöd, daß man immernoch nicht wieder selber einen Precompiler reinhängen kann, um das selbst zu implementieren.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (28. Okt 2012 um 18:23 Uhr)
  Mit Zitat antworten Zitat