1 Punkte von jsunam 4 시간 전 | Noch keine Kommentare. | Auf WhatsApp teilen

GWEB ist ein Literate-Programming-System für die Go-Sprache. Es wurde entwickelt, indem die CWEB-Struktur von Donald Knuth eng nachgebildet wurde.
Entwickler verfassen in einer einzigen .w-Quelldatei parallel TeX-Dokumentation (Erklärungen) und Go-Code. Diese Datei wird in zwei Ausgaben für Maschine und Mensch umgewandelt.

Zentrale Werkzeuge und Funktionen

Das GWEB-System arbeitet im Wesentlichen mit zwei zentralen Befehlen.

  • gtangle: Sammelt nur die Go-Code-Abschnitte ohne die dokumentierenden Erklärungen und erzeugt eine kompilierbare .go-Datei. Die Ausgabe wird dabei automatisch im gofmt-Stil formatiert.
  • gweave: Erzeugt ein ansprechend gesetztes, gut lesbares Dokument (.tex ➡️ PDF). Reservierte Wörter werden fett, Bezeichner kursiv dargestellt, und ein Querverweisindex wird automatisch erstellt.

Wichtige Merkmale und Vorteile

  • Intuitives Format: Unterstützt standardmäßig die //line-Direktive, sodass bei Compiler-Fehlern oder Panics präzise auf die Zeilenposition in der ursprünglichen .w-Datei statt in der .go-Datei verwiesen wird.
  • Self-Hosting-System: GWEB selbst wurde ebenfalls im Stil des Literate Programming entwickelt. Die .w-Dateien im Ordner lit/ sind die eigentlichen Quelltexte von GWEB.
  • Editor-Unterstützung: Bietet zusätzlich Konfigurationen für Syntax Highlighting für Nutzer von VS Code, Vim und Emacs.

Mit GWEB lassen sich Entwurfsabsichten und Algorithmen komplexer Go-Projekte elegant dokumentieren und verwalten, als würde man ein Buch schreiben.

Noch keine Kommentare.

Noch keine Kommentare.