1 poin oleh jsunam 4 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp

GWEB adalah sistem pemrograman literer (Literate Programming) untuk bahasa Go. Sistem ini dikembangkan dengan memodelkan secara erat struktur CWEB karya Donald Knuth.
Pengembang menulis dokumen TeX (penjelasan) dan kode Go secara berdampingan dalam satu berkas sumber .w. Berkas ini kemudian diubah menjadi dua keluaran untuk mesin dan manusia.

Alat dan fungsi inti

Sistem GWEB pada dasarnya bekerja dengan dua perintah inti.

  • gtangle: Mengumpulkan hanya bagian kode Go, tanpa penjelasan dokumen, lalu menghasilkan berkas .go yang siap dikompilasi. Saat output dibuat, formatnya otomatis disesuaikan dengan gaya gofmt.
  • gweave: Menghasilkan dokumen tata letak yang indah dan mudah dibaca manusia (.tex ➡️ PDF). Kata kunci ditampilkan tebal, identifier dimiringkan, dan indeks referensi silang dibuat secara otomatis.

Fitur dan keunggulan utama

  • Format yang intuitif: Mendukung direktif //line secara bawaan sehingga ketika terjadi error kompilasi atau panic, lokasi baris yang ditunjukkan secara akurat merujuk ke berkas .w asli, bukan berkas .go.
  • Sistem self-hosting: GWEB sendiri juga dikembangkan dengan pendekatan pemrograman literer. Berkas .w di dalam folder lit/ adalah sumber kode asli GWEB.
  • Dukungan editor: Juga menyediakan konfigurasi syntax highlighting untuk pengguna VS Code, Vim, dan Emacs.

Dengan GWEB, maksud desain dan algoritme dari proyek Go yang kompleks dapat dicatat dan dikelola secara elegan seolah-olah sedang menulis sebuah buku.

Belum ada komentar.

Belum ada komentar.