मुझे हाल ही में कंपाइलर्स में बहुत रुचि है और वे कैसे काम करते हैं। चूंकि जीसीसी के पास इसका स्रोत उपलब्ध है, मुझे लगा कि यह अध्ययन करने के लिए सबसे अच्छी सामग्री होगी।सीखना जीसीसी आंतरिक
पहली बात मुझे एहसास हुआ कि यह जीसीसी का अध्ययन करने के लिए व्यर्थ होगा अगर मुझे सरल कंपाइलर डिज़ाइन सिद्धांतों की बुनियादी समझ नहीं है। मैं तब से "ड्रैगन बुक" को परिश्रमपूर्वक पढ़ रहा हूं, जो मैंने देखा है, संकलक कार्यान्वयन पर वास्तविक तथ्य है।
कोई भी पुस्तक कम नहीं, उस पुस्तक को पढ़ने से केवल जीसीसी जैसे कंपाइलरों के बारे में जानने की मेरी इच्छा बढ़ गई है।
इसके अतिरिक्त, मुझे यह कहना उचित लगता है कि मेरे पास सी/सी ++ (उर्फ, मैं सी जानने के बिना जीसीसी का अध्ययन करने की कोशिश नहीं कर रहा हूं) की मध्यवर्ती समझ है। मुझे आशा है कि जीसीसी का अध्ययन करने से मुझे उस पर भी सुधार करने में मदद मिलेगी।
मैंने नवीनतम निर्माण डाउनलोड किया है जो मुझे मिल सकता है; हालांकि, स्रोत कोड को समझते समय मैं खो जाता हूं।
जो मैं खोज रहा हूं वह आगे बढ़ने के सुझाव हैं। क्या कोई ऐसी परियोजना है, जो इतनी बड़ी नहीं है, मैं जीसीसी के लिए एक कदम पत्थर के रूप में उपयोग कर सकता हूं? क्या जीसीसी का कोई विशेष मॉड्यूल है जो पहले अध्ययन करने की सिफारिश करेगा? क्या कोई किताबें हैं जो जीसीसी के कार्यान्वयन में इसके उपयोग के बजाए जाती हैं? शायद मुझे चमकना बंद कर देना चाहिए और जब तक यह क्लिक नहीं करता तब तक स्रोत को पढ़ना जारी रखें?
कोई भी और सभी प्रतिक्रियाओं की बहुत सराहना की जाएगी।
संपादित करें: यदि आपको लगता है कि मुझे एक अलग कंपाइलर/दुभाषिया का अध्ययन करना चाहिए, तो मैं सुझावों की सराहना करता हूं कि किसके लिए।
आपको ड्रैगन पुस्तक को पढ़ना चाहिए और फिर अपना स्वयं का कंपाइलर लिखना चाहिए। यह जबरदस्त मदद करता है। –
मैंने सुना है कि जीसीसी हैक करने का दर्द है। शायद एलएलवीएम एक विकल्प होगा? – Blender
1. आपको पूरी तरह से एक विशेषज्ञ स्तर पर भाषा को समझना चाहिए 2. पहले अपनी छोटी कंपाइलर को एक छोटी भाषा के लिए लिखें 3. जीसीसी एक गड़बड़ है। – Pubby