एक कंपाइलर में दो प्रमुख ब्लॉक होते हैं: 'फ्रंट एंड' और 'बैक एंड'। एक कंपाइलर का फ्रंट एंड स्रोत कोड का विश्लेषण करता है और कहा गया स्रोत कोड के 'मध्यस्थ प्रतिनिधित्व' का कुछ रूप बनाता है जो स्रोत कोड की तुलना में मशीन एल्गोरिदम द्वारा विश्लेषण करना बहुत आसान होता है (यानी स्रोत कोड जैसे सी ++ डिज़ाइन किया गया है कोड लिखने के लिए मानव प्रोग्रामर की सहायता के लिए, मध्यस्थ रूप को एल्गोरिदम को सरल बनाने में मदद के लिए डिज़ाइन किया गया है जो मध्यवर्ती रूपों का विश्लेषण आसान बनाता है)। एक कंपाइलर का पिछला अंत मध्यस्थ रूप लेता है और फिर इसे 'लक्षित भाषा' में परिवर्तित करता है।
अब, सामान्य उपयोग कंप्यूटर्स के लिए लक्षित भाषा विभिन्न प्रोसेसर के लिए असेंबलर भाषाएं हैं, लेकिन कुछ अन्य भाषा में कोड बनाने के लिए एक कंपाइलर बैक एंड को प्रतिबंधित करने के लिए कुछ भी नहीं है, जब तक कि लक्षित भाषा (कम से कम) एक सामान्य सीपीयू असेंबलर के रूप में लचीला के रूप में।
अब, जैसा कि आप शायद कल्पना कर सकते हैं, सी निश्चित रूप से एक सीपीयू के असेंबलर के रूप में लचीला है, जैसे सी ++ से सी कंपाइलर वास्तव में तकनीकी पीओवी से लागू करने में कोई समस्या नहीं है।
तो तुम है: सी ++ --- दृश्यपटल ---> someIntermediaryForm --- बैकएंड ---> सी
आप इन लोगों की जाँच कर सकते हैं: http://www.edg.com/index.php?location=c_frontend (ऊपर लिंक बस के लिए जानकारीपूर्ण है क्या किया जा सकता है, वे लाइसेंस उनके सामने जहाँ तक मुझे पता है हजारों डॉलर की) दसियों
पुनश्च के लिए समाप्त हो जाती है, कोई इस तरह के एक सी ++ सी संकलक के लिए जीएनयू से वहाँ है, और यह पूरी तरह से मुझे धड़कता है (यदि मैं इसके बारे में सही हूँ)। चूंकि सी भाषा काफी छोटी है और इसकी आंतरिक तंत्र काफी प्राथमिक हैं, एक सी कंपाइलर को एक व्यक्ति-वर्ष के काम की तरह कुछ चाहिए (मैं आपको यह पहला हाथ बता सकता हूं क्योंकि मैंने साल पहले ऐसा संकलक लिखा था, और यह एक [ वर्चुअल] स्टैक मशीन इंटरमीडिएरी कोड), और एक सी, कंपाइलर को लिखने में सक्षम होने के दौरान एक बार सी संकलक लिखने में सक्षम होने के बाद एक बड़ी बात होगी ...
@MSalters: Comaus संकलक के बारे में सूचक के लिए धन्यवाद। लेकिन दुख की बात यह है कि मेरे उद्देश्य की सेवा नहीं करता है, क्योंकि आउंस कंपाइलर इंटरमीडिएट प्रारूप सी कोड प्राप्त करना संभव नहीं है, और यहां तक कि अगर हम किसी भी तरह से सामान्य एएनएसआई-सी कंपाइलर्स द्वारा संकलित नहीं करते हैं। – goldenmean
यदि आपका कोड अपवाद और टेम्पलेट का उपयोग नहीं करता है तो आपको अपने कोड पर काम करने के लिए सीफ़्रंट की पुरानी प्रति प्राप्त करने का मौका मिल सकता है। लेकिन जैसा कि एमएसल्टर्स ने कहा कि यह बदसूरत होने जा रहा है :-) – lothar
इसे किसी भी मानक लाइब्रेरी कार्यक्षमता का उपयोग करना होगा –