2011-04-21 9 views
12

मैं भाषा, व्याकरण, पार्सिंग और कंपाइलर्स से संबंधित एक परीक्षा की तैयारी कर रहा हूं। यह वास्तव में चाय का मेरा प्याला नहीं है और अधिकांश संसाधन मुझे व्यापार की विभिन्न शर्तों को परिभाषित करने के लिए गणित की भाषा का उपयोग करते हैं और अंग्रेजी या फ्रेंच के साथ छड़ी के बजाय मुझे जानने के लिए अलग-अलग अवधारणाओं की व्याख्या करते हैं, जिन्हें मैं बहुत पसंद करता हूं। इसलिए, मुझे अध्ययन जारी रखने और सिद्धांत को समझने के लिए प्रेरणा खोजने के साथ दोनों में कुछ परेशानी हो रही है। तो मेरा प्रश्न यहां है: क्या आप में से कोई भी जानता है कि मुझे यह सब सीखने का "मजेदार" तरीका कहां मिल सकता है? या कम से कम, शायद इस विषय को संभालने का एक और "ठोस" और कम "गणितीय" तरीका।क्या भाषाएं, व्याकरण, पार्सिंग और कंपाइलर्स के बारे में जानने के लिए कोई "मजेदार" तरीके हैं?

मुझे निम्नलिखित को कवर करने की आवश्यकता है ताकि इन विषयों पर कुछ भी स्वागत हो!

  • पार्सिंग (एलआर, डालूँगा, ...)
  • व्याकरण (प्रसंग से मुक्त, नियतात्मक, ...)
  • सिंटेक्स विश्लेषण स्टेटिक प्रवाह विश्लेषण
  • प्रभाव विश्लेषण करने के लिए सॉफ्टवेयर रखरखाव और निर्भरता के विषय में यूजर इंटरफेस
  • गतिशील विश्लेषण

यहां कुछ संसाधन माना जा सकता है जो "मजा" (उद्धरण चिह्नों पर जोर देने के साथ) कर रहे हैं जिस तरह से एक तकनीकी विषय के बारे में जानने के लिए, बस जो मैं ढूंढ रहा हूं उसे समझने के लिए।

+0

यदि आपके पास केवल एक सप्ताह शेष है, तो आपको इन विषयों में से अधिकांश को कवर करने के लिए सीधे ड्रैगन पुस्तक को पढ़ना होगा। यह मजेदार नहीं होगा। –

+0

यदि मेरे पास केवल एक सप्ताह शेष है, तो मुझे संदेह है कि मैं ड्रैगन पुस्तक पर अपने हाथों को जल्दी से प्राप्त कर सकता हूं .. – Shawn

उत्तर

14

आप कम समय में बहुत कुछ सीख चाहते हैं में है, वैल शोर्रे के 1 9 64 से मेटा कंपाइलर्स के बारे में जानें (हाँ, आप इसे सही पढ़ते हैं) मेटाइआई स्वयं संकलन मेटाकंपलर बनाने के तरीके पर पेपर। एक फ्रीबी के रूप में, वे परंपरागत lanuages ​​भी संकलित कर सकते हैं! पेपर 10 पेज है, मेटा कंपाइलर्स का वर्णन करता है (वर्चुअल मशीन के रूप में इसे निष्क्रिय या नहीं), और इसमें दो पूर्ण कंपाइलर हैं।

एक दिमाग उड़ाने वाला क्षण है जब आप अंततः पहुंचते हैं जब संकलक स्वयं संकलित कर सकता है ... मैंने 70 के दशक के शुरुआती दिनों में संकलकों को इस तरह से सीखा और यह अब तक का सबसे यादगार संकलक सबक है। यह मजेदार है।

एक online tutorial here which implements all the ideas in JavaScript. है।

ट्यूटोरियल का लेखक डॉ जेम्स जेम्स पड़ोसियों का है, जिसने "डोमेन विश्लेषण" शब्द का आविष्कार किया था। उन्होंने मेटाआई विचारों का इस्तेमाल ड्रैको नामक एक शानदार डोमेन-विशिष्ट कोड जेनरेटर के लिए किया। ड्रैको पिछले 30 सालों से कंपाइलर जैसी टूल्स के लिए एक महत्वपूर्ण प्रेरणा थी।

0

तुम कब तक तैयार करने के लिए क्या है? कंपाइलर्स सीखने का सबसे अच्छा तरीका उनको खोदना है और ऐसा करने का सबसे अच्छा तरीका कंपाइलर्स पर सबसे अच्छी किताब का उपयोग करना है कभी भी लिखना: The Dragon Book यह पुराना है, लेकिन कमाल है। यह सस्ता नहीं है लेकिन यह संभवतः जादुई कंपाइलर के बारे में जानने के लिए सबसे ठोस और कम से कम गणितीय तरीका है।

यह किसी भी चमकती रोशनी नहीं है और यह रूबी गाइड की तरह एक भयानक फॉन्ट में नहीं होगा, लेकिन यह शीर्ष 10 Books Every Programmer Should Read

+0

हाँ, कोई पैसा नहीं और कोई समय नहीं (मुझे एक सप्ताह बाकी है) लेकिन सिफारिश के लिए बहुत बहुत धन्यवाद! – Shawn

+3

जब मैं इसे कॉलेज में ले गया, तो मुझे वास्तव में कंपाइलर्स पसंद नहीं आया, लेकिन वापस जाकर देखा कि मैंने कितना सीखा, यह वास्तव में इसके लायक था। ऐसा लगता है कि लंगड़ा है, लेकिन सीएस में 4 कक्षाएं थीं जिन्हें मैं आज भी संदर्भित करता हूं। कंपाइलर्स उनमें से एक है। इन्हें SO पर मिला: http://stackoverflow.com/questions/424796/are-there-any-compiler-lectures- उपलब्ध-via-video –

संबंधित मुद्दे

 संबंधित मुद्दे