Writing a Compiler in Go
Создаём компилятор с нуля на Go
सारांश:
परिचय
पुस्तक «Writing a Compiler in Go» — यह Thorsten Ball की प्रसिद्ध द्वयी की दूसरी भाग है, जो Monkey भाषा के लिए interpreter और compiler बनाने पर केंद्रित है। यदि पहली पुस्तक («Writing an Interpreter in Go») interpreter बनाना सिखाती है, तो यह खंड पाठक को आगे ले जाता है — एक पूर्ण compiler बनाने तक, जो byte-code उत्पन्न करता है, और अपनी खुद की virtual machine (VM) तक।
यह पुस्तक 2019 में प्रकाशित हुई, इसमें 246 पृष्ठ हैं और यह Go (Golang) भाषा जानने वाले प्रोग्रामर्स के लिए है। यह उन लोगों के लिए आदर्श है जो गहराई से समझना चाहते हैं कि compiler, byte-code और virtual machines व्यवहार में कैसे काम करते हैं।
पुस्तक किस बारे में है
Thorsten Ball क्रमिक रूप से, कदम दर कदम, दिखाते हैं कि पहली पुस्तक के interpreter को compiler में कैसे बदला जाए। मुख्य विचार: AST (abstract syntax tree) को सीधे execute करने के बजाय, हम इसे byte-code instructions में compile करते हैं, और फिर उन्हें virtual machine पर execute करते हैं।
पुस्तक निम्नलिखित विषयों को कवर करती है:
- byte-code के लिए instruction system (opcodes) का डिज़ाइन।
- compiler का कार्यान्वयन जो AST को byte-code sequence में बदलता है।
- stack-based virtual machine (VM) का निर्माण।
- variables, functions, closures, arrays, hashes और built-in functions का प्रबंधन।
- compiler का optimization और debugging।
- प्रत्येक चरण का unit tests के साथ परीक्षण।