Hilfe beim Debugging



Beim Debugging ist es oft angebracht größere Teile eines Programms auszukommentieren. In PostScript ist dies nur sehr umständlich zu realisieren, da nur jeweils eine Zeile auskommentiert werden kann ('%' kommentiert den Rest der Zeile aus). Eine Möglichkeit (nicht unbedingt die naheliegendste :-) ) wäre die Neu-Definition von Kontrollstrukturen.

Beispiel:

/orig_ifelse /ifelse load def   % ifelse-Operator vor dem Ueberschreiben sichern

/ifelse
{ exch              % die if-Bedingung und die else-Bedingung vertauschen
  orig_ifelse       % das 'alte' ifelse aufrufen
} bind def
Wird nun der ifelse-Operator benutzt, so wird die erste Prozedur im else-Fall ausgeführt und die zweite im if-Fall.

Beachte:
Wenn man Kontrollstrukturen überschreibt, sollte man die originalen Operatoren immer vorher sichern, da sie sonst im weiteren Programmverlauf nicht mehr zur Verfügung stehen!!!



Ein anderes Beispiel wäre den show- oder den showpage-Operator umzudefinieren. Man könnte dabei z.B. mittels der Stack-Operatoren diverse Kontrollwerte auf dem Stack ausgeben:

/old_show /show load def

/show
{ dup == flush
  old_show 
} bind def


© Holger Gehringer, Dezember 1998