GWEB: Go भाषा के लिए एक साहित्यमूलक प्रोग्रामिंग टूल
(github.com/sjnam)GWEB Go भाषा के लिए एक साहित्यमूलक प्रोग्रामिंग (Literate Programming) सिस्टम है। इसे Donald Knuth की CWEB संरचना को क़रीब से मॉडल करते हुए विकसित किया गया है।
डेवलपर एक ही .w source file में TeX दस्तावेज़ (व्याख्या) और Go code को साथ-साथ लिखते हैं। इस फ़ाइल को machine और human, दोनों के लिए दो अलग-अलग परिणामों में बदला जाता है।
मुख्य टूल और फ़ीचर
GWEB सिस्टम मुख्य रूप से दो कोर commands से काम करता है।
- gtangle: दस्तावेज़ी व्याख्या को छोड़कर केवल Go code sections को इकट्ठा करता है और एक compilable
.gofile बनाता है। आउटपुट के समय यह अपने-आपgofmtstyle में format भी हो जाता है। - gweave: इंसानों के पढ़ने के लिए सुंदर typeset document (
.tex➡️ PDF) बनाता है। reserved words को bold, identifiers को italic में दिखाया जाता है, और cross-reference index अपने-आप तैयार होता है।
प्रमुख विशेषताएँ और लाभ
- सहज फ़ॉर्मैट:
//linedirective का built-in support देता है, इसलिए compile error या panic होने पर.gofile नहीं, बल्कि मूल.wfile की सही line location बताता है। - Self-Hosting सिस्टम: GWEB स्वयं भी साहित्यमूलक प्रोग्रामिंग तरीके से विकसित किया गया है।
lit/फ़ोल्डर के भीतर मौजूद.wfiles ही GWEB के वास्तविक source originals हैं। - एडिटर सपोर्ट: VS Code, Vim, Emacs उपयोगकर्ताओं के लिए syntax highlighting configuration भी प्रदान करता है।
GWEB का उपयोग करके जटिल Go projects की design intent और algorithms को ऐसे सुरुचिपूर्ण ढंग से दर्ज और प्रबंधित किया जा सकता है, जैसे कोई एक किताब लिख रहा हो।
अभी कोई टिप्पणी नहीं है.