Next: Der Maßbaum Up: Lisp2Pro: Pretty-Printer für Previous: Die Schnittstelle

Ausgabeformate

Lisp2Pro verwendet drei Ausgabeformate:

  1. linear

  2. senkrecht

  3. senkrecht und eingerückt

Welches Format verwendet wird, hängt vom auszugebenden Ausdruck ab. Das primäre Ziel bei der Wahl des Formats is die Erzeugung eines leicht lesbaren Ausdrucks. Insbesondere wird gegebenenfalls auch dann eine neue Zeile angebrochen, wenn die aktuelle noch ausreichen würde. Zur Veranschaulichung betrachte man die folgenden Beispiele:

  1. +(1, 2, 3, 4, 5, 6)
    Die Funktion + hat hier zwar sechs Argumente, jedoch bietet auch das lineare Format eine gute Lesbarkeit. Eine Aufspaltung in Einzelzeilen würde den Leser in den meisten Fällen stören, da durch die mangelhafte Platzausnutzung nur wenige Informationen auf den Schirm passen.
  2. append([a, b, c, [1, 2, 3]], [x, y, [z1, z2, z3], z])
    Hier hat append zwar nur zwei Argumente, und der gesamte Ausdruck paßt auf eine Zeile, jedoch erschweren verschachtelte Listen die Lesbarkeit. Hier sollte also das senkrechte Format gewählt werden:
    
          append([a,
                  b,
                  c,
                  [1, 2, 3]],
                 [x,
                  y,
                  [z1, z2, z3],
                  z])
Die Entscheidung über das Format läuft auf ein etwas diffiziles Problem hinaus. Zum einen benötigt man eine gewisse Erfahrung mit typischen Relfun-Ausgaben, zum anderen geht auch der persönliche Geschmack ein. Wer hier etwas ändern möchte, sei auf die Funktionen pro-print-arg-list und get-arg-list-info des Moduls Lisp2Pro verwiesen.


Harold Boley & Michael Herfert (herfert@dfki.uni-kl.de)