Technische Details
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Dieser Drucker ist ein Fork des recast-Druckers, dessen Algorithmus durch den von Wadler in "A prettier printer" beschriebenen ersetzt wurde. Es könnten noch Reste von recast-Code vorhanden sein, die bereinigt werden müssen.
Das Grundprinzip ist, dass der Drucker einen AST (Abstract Syntax Tree) entgegennimmt und eine Zwischendarstellung der Ausgabe zurückgibt, die dann in einen String umgewandelt wird. Der Vorteil: Der Drucker kann die IR (Intermediate Representation) "vermessen" und prüfen, ob die Ausgabe in eine Zeile passt – falls nicht, wird ein Zeilenumbruch eingefügt.
Daher besteht die Hauptlogik beim Drucken eines ASTs darin, eine abstrakte Repräsentation der Ausgabe mit bestimmten Befehlen zu erzeugen. Beispielsweise steht ["(", line, arg, line, ")"] für die Verkettung von öffnender Klammer, Argument und schließender Klammer. Passt dies nicht in eine Zeile, kann der Drucker an den durch line markierten Stellen umbrechen.
Der Playground bietet einen speziellen Modus zur Untersuchung von Prettiers Zwischendarstellung. Um ihn zu nutzen, öffnen Sie die Seitenleiste (über "Show options") und setzen die parser-Option auf den speziellen Wert doc-explorer.
Weitere (grobe) Details finden Sie in commands.md.