9 तथाकथित "अनुवाद के चरण" मानक में [lex.phases]
(2.2 में सी ++ 11, 2.1 में सी ++ 03) में मानक में सूचीबद्ध हैं।
मानक में मांग की गई विस्तार अलग-अलग होती है: प्रीप्रोसेसिंग कई चरणों में विभाजित होती है, क्योंकि मानक में विभिन्न बिंदुओं पर यह महत्वपूर्ण है कि "पहले से ही किया गया है" और "बाएं करने के लिए क्या" है, जब कोई विशेष बिट व्यवहार परिभाषित किया गया है। तो हालांकि यह आपको एक व्याख्याता लिखने के बारे में नहीं बताता है, यह आपको एक सुंदर स्पष्ट रोडमैप देता है।
दूसरी तरफ लिंक करना यह तय करने के लिए ज्यादातर कार्यान्वित किया जाता है कि यह वास्तव में कैसे प्राप्त किया जाता है, क्योंकि मानक परवाह नहीं करता है एक दिया गया नाम देखा जाता है, जो इसका संदर्भ है।
यह पार्सिंग पर कोई विवरण नहीं देता है, या तो, यह कहता है "परिणामी टोकन वाक्य रचनात्मक रूप से और अर्थात् विश्लेषण और अनुवादित हैं"। ऐसा इसलिए है क्योंकि पूरे अध्याय 3-15 को उस विवरण को भरने की आवश्यकता है।
यह पार्सिंग/अनुवाद के दौरान आंतरिक प्रतिनिधित्व का उल्लेख नहीं करता है, और न ही यह अनुकूलन चरणों का उल्लेख करता है - वे संकलक के डिजाइन के लिए महत्वपूर्ण हैं, लेकिन वे मानक के लिए महत्वपूर्ण नहीं हैं। अनुकूलन विभिन्न कंपेलरों में विभिन्न स्थानों में हो सकता है। लंबे समय तक, ऑब्जेक्ट फाइलों को उत्सर्जित करने से पहले अनुकूलन संकलन चरण में लगभग पूरी तरह से था, और लिंकर्स एक पोस्ट के रूप में गूंगा थे। मुझे लगता है कि अब गंभीर सी ++ कार्यान्वयन कम से कम कई टीयू में कुछ अनुकूलन कर सकते हैं। तो "दूसरों" को मानक से बाहर नहीं छोड़ा गया है, वे वास्तव में समय के साथ बदलते हैं।
स्रोत
2012-01-12 10:51:41
यहाँ [जीसीसी internals पुस्तिका के पृष्ठ] (http://gcc.gnu.org/onlinedocs/gccint/Passes.html#Passes) । मैंने सोचा कि यह उस भाषा का इस्तेमाल करता था जिसे आप चाहते थे लेकिन स्पष्ट रूप से नहीं। यदि आप जीसीसी स्रोत में देखते हैं तो व्यक्तिगत अनुकूलन पास का भार होता है। मुझे नहीं लगता कि मानक, यह निर्धारित करता है कि इसे प्राप्त करने के लिए उसे क्या करना चाहिए, यह नहीं कि यह कैसे करना चाहिए, और यह कि आपकी सर्वश्रेष्ठ शर्त एक अकादमिक कंपाइलर निर्माण पाठ्यक्रम या पाठ्यपुस्तक होगी - मुझे यकीन है कि वहां बहुत कुछ है। – Rup
@ शार्पतोथ मैंने सवाल वापस ले लिया - मेरा मानना है कि यह शीर्षक एक ही चीज़ की तलाश करने वाले लोगों द्वारा अधिक आसानी से पाया जा सकता है। –
@ लुचियान ग्रिगोर: ठीक है, हालांकि, शीर्षक परिवर्तन वास्तव में महत्वपूर्ण है - "यह आमतौर पर कैसे किया जाता है" v "मानक कहता है कि यह कैसे किया जाना चाहिए"। वैसे भी यह आपका सवाल है, आप तय करते हैं। – sharptooth