कंपाइलर के प्रकार | Types of Compiler in Compiler Design in Hindi


कंपाइलर के प्रकार (Types of Compiler in Compiler Design)

कंपाइलर (Compiler) एक ऐसा प्रोग्राम होता है जो उच्च स्तरीय प्रोग्रामिंग भाषा (High-Level Programming Language) में लिखे गए कोड को मशीन भाषा (Machine Language) में परिवर्तित करता है। कंपाइलर को उनके कार्य प्रणाली और विशेषताओं के आधार पर विभिन्न प्रकारों में वर्गीकृत किया जाता है।

1. सिंगल पास कंपाइलर (Single Pass Compiler)

यह कंपाइलर स्रोत कोड (Source Code) को केवल एक बार स्कैन करता है और सीधे मशीन कोड जेनरेट करता है।

  • तेज़ी से कार्य करता है।
  • कोड ऑप्टिमाइजेशन की सीमित क्षमता होती है।
  • उदाहरण: PASCAL और FORTRAN कंपाइलर

2. मल्टी-पास कंपाइलर (Multi-Pass Compiler)

यह कंपाइलर स्रोत कोड को कई चरणों (Passes) में स्कैन करता है और प्रत्येक चरण में विभिन्न कार्य करता है।

  • बेहतर ऑप्टिमाइजेशन प्रदान करता है।
  • थोड़ा अधिक समय लेता है।
  • उदाहरण: GCC (GNU Compiler Collection)

3. क्रॉस कंपाइलर (Cross Compiler)

यह कंपाइलर एक प्लेटफॉर्म पर रन करता है लेकिन दूसरे प्लेटफॉर्म के लिए कोड जेनरेट करता है।

  • एम्बेडेड सिस्टम (Embedded Systems) में उपयोग किया जाता है।
  • सॉफ्टवेयर को विभिन्न हार्डवेयर आर्किटेक्चर के लिए तैयार करता है।
  • उदाहरण: ARM Cross Compiler

4. जस्ट-इन-टाइम (JIT) कंपाइलर (Just-In-Time Compiler)

यह कंपाइलर कोड को रनटाइम (Runtime) के दौरान ट्रांसलेट करता है, जिससे परफॉर्मेंस बेहतर होती है।

  • डायनामिक भाषाओं में उपयोग किया जाता है।
  • तेज़ गति से कोड एक्जीक्यूशन करता है।
  • उदाहरण: Java Virtual Machine (JVM) का JIT कंपाइलर

5. इंटरप्रेटर और कंपाइलर हाइब्रिड (Interpreter and Compiler Hybrid)

यह कंपाइलर स्रोत कोड को पहले इंटरमीडिएट कोड में ट्रांसलेट करता है और फिर इसे इंटरप्रेट करता है।

  • बैलेंस्ड परफॉर्मेंस प्रदान करता है।
  • उदाहरण: Python, Java

6. टेबल ड्रिवन कंपाइलर (Table-Driven Compiler)

इस कंपाइलर में सिंटैक्स और सेमांटिक एनालिसिस के लिए टेबल्स का उपयोग किया जाता है।

  • इम्प्लीमेंटेशन आसान होता है।
  • डेटा-संचालित डिज़ाइन प्रदान करता है।

7. इंक्रीमेंटल कंपाइलर (Incremental Compiler)

यह कंपाइलर केवल कोड के बदले हुए भाग को फिर से कंपाइल करता है, जिससे तेजी से कार्य निष्पादित होता है।

  • प्रोजेक्ट के छोटे-छोटे बदलावों के लिए प्रभावी।
  • उदाहरण: Lisp और Smalltalk कंपाइलर

8. परसेप्शन कंपाइलर (Perception Compiler)

यह कंपाइलर इनपुट डेटा को प्रोसेस करके आउटपुट जेनरेट करता है, जैसे कि AI बेस्ड कंपाइलर्स।

  • न्यूरल नेटवर्क और मशीन लर्निंग एल्गोरिदम पर आधारित।
  • स्मार्ट कंपाइलिंग करता है।

कंपाइलर के प्रकारों की तुलना (Comparison of Compiler Types)

कंपाइलर प्रकार मुख्य विशेषता उदाहरण
Single Pass Compiler केवल एक बार स्कैन करता है PASCAL, FORTRAN
Multi-Pass Compiler अधिक सटीकता और ऑप्टिमाइजेशन GCC
Cross Compiler एक प्लेटफॉर्म पर रन, दूसरे के लिए कोड ARM Compiler
JIT Compiler रनटाइम पर कोड ट्रांसलेट करता है JVM JIT
Interpreter & Compiler Hybrid इंटरमीडिएट कोड को इंटरप्रेट करता है Python, Java
Incremental Compiler केवल बदले हुए कोड को कंपाइल करता है Lisp, Smalltalk

निष्कर्ष (Conclusion)

कंपाइलर को विभिन्न आवश्यकताओं और कार्यप्रणाली के आधार पर कई प्रकारों में विभाजित किया जाता है। प्रत्येक कंपाइलर का उद्देश्य सोर्स कोड को मशीन कोड में बदलना है लेकिन उनके काम करने का तरीका भिन्न हो सकता है। यह निर्भर करता है कि किस प्रकार के सिस्टम और उपयोग के लिए कंपाइलर की जरूरत है।

Related Post

Comments

Comments