HeadlinesBriefing favicon HeadlinesBriefing.com

1024 बाइट्स पायथन इंटरप्रेटर कोड गोल्फ

Hacker News •
×

Austin Z. Henley एक डेवलपर हैं जो सप्ताहांत में हाथ से कोड लिखते हैं, उन्होंने केवल 1024 बाइट्स C कोड में पायथन इंटरप्रेटर बनाने की कोड गोल्फ चुनौती की घोषणा की। यह परियोजना स्पष्ट रूप से मैक्रो और बाहरी लाइब्रेरी से बचती है। Henley ने FizzBuzz प्रोग्राम लागू करके शुरुआत की, जो कोष्ठक के बिना कॉलन और इंडेंटेशन का उपयोग करके पायथन का वाक्य रचना नकल करता है। उन्होंने नोट किया कि पूरे पायथन भाषा को इतने छोटे पैमाने में फिट करना असंभव है, इसलिए उन्होंने उस वाक्य रचना के उपसमुच्चय पर ध्यान केंद्रित किया जो 'पायथन जैसा' दिखता हो। उनके प्रारंभिक प्रयास असफल रहे; एक बुनियादी कैलकुलेटर जल्दी से 512 बाइट्स सीमा से अधिक हो गया। फिर उन्होंने रणनीति बदली, उन तत्वों को सूचीबद्ध किया जो पायथन जैसे दिखते हैं, यह स्वीकार करते हुए कि उनकी कोड गोल्फ कौशल 512 बाइट्स लक्ष्य के लिए अपर्याप्त थे। उन्होंने तय किया कि पहले इसे काम करें, फिर छोटा करें। इंटरप्रेटर वैश्विक चरों में रखे न्यूनतम स्थिति, कच्चे कोड के लिए निश्चित लंबाई वाले सरणी और चरों के लिए प्रतीक तालिका का उपयोग करता है। यह अभिव्यक्तियों का पुनरावर्ती रूप से विश्लेषण करता है और C कॉल स्टैक का उपयोग करके नियंत्रण प्रवाह को संभालता है। लूप पीछे कूदकर और प्रत्येक पुनरावृत्ति में स्रोत कोड को पुनः विश्लेषित करके काम करते हैं। यह परियोजना भाषा कार्यान्वयन प्रतिबंधों में एक अद्वितीय अभ्यास का प्रतिनिधित्व करती है।