Svelte Compiler हैंडबुक
(lihautan.com)- Svelte के compile चरणों को आसानी से समझने लायक तरीके से समझाया गया है
#1 .svelte फ़ाइल को पढ़कर AST में बदलना
→ HTML को स्वयं parse किया जाता है, Script के लिए Acorn, CSS के लिए css-tree का उपयोग
#2 AST को traverse करके references और dependencies को track करना
→ Component instance बनाना और variables को खोजकर mark करना
#3 code blocks और fragments बनाना
→ DOM/SSR Renderer
#4 code generation
2 टिप्पणियां
कुछ दिन पहले परिचित कराया गया Toast UI Editor(https://hi.news.hada.io/topic?id=1823) हो, या Language Server Protocol(https://en.wikipedia.org/wiki/Language_Server_Protocol), AST का उपयोग करने वाले प्रोजेक्ट्स धीरे-धीरे बढ़ते जा रहे हैं। मुझे याद है कि पहले मैंने यह तर्क भी देखा था कि JS फ़ाइलों को टेक्स्ट की बजाय AST के रूप में भेजा जाए ताकि browser engine उन्हें और तेज़ी से समझ सके; यह लेख(https://blog.cloudflare.com/binary-ast) वही नहीं था, लेकिन विचार कुछ मिलता-जुलता लगता है.
जब AST अपने-आप बनने के बजाय थोड़े अधिक अर्थपूर्ण ढंग से हाथ से बनाया जाता है, तो वह आखिरकार S-Expression श्रेणी की functional language जैसा हो जाता है। बीच में कहीं मुलाकात हो जाए तो मज़ेदार होगा।
एक बार पढ़ लेने के बाद बाहरी contributors के लिए Svelte codebase में contribute करना आसान हो जाएगा।