Which classification best describes a compiler based on its role in program translation?
प्रोग्राम अनुवाद (Program Translation) में अपनी भूमिका के आधार पर Compiler को किस श्रेणी में रखा जाता है?
Options / विकल्प
A. System software because it converts code for OS execution
सिस्टम सॉफ्टवेयर क्योंकि यह कोड को OS द्वारा निष्पादन योग्य बनाता है
B. Application software because users launch it manually
एप्लिकेशन सॉफ्टवेयर क्योंकि उपयोगकर्ता इसे मैन्युअली चलाते हैं
C. Application software because it edits documents
एप्लिकेशन सॉफ्टवेयर क्योंकि यह दस्तावेज़ों को संपादित करता है
D. It is a hardware abstraction layer
यह एक हार्डवेयर एब्स्ट्रैक्शन लेयर है
Correct Answer / सही उत्तर
✅ A. System software because it converts code for OS execution
✅ A. सिस्टम सॉफ्टवेयर क्योंकि यह कोड को OS द्वारा निष्पादन योग्य बनाता है
Detailed Explanation / विस्तृत व्याख्या
Hindi
Compiler (कंपाइलर) एक प्रकार का System Software है, जिसे Language Processor भी कहा जाता है। इसका मुख्य कार्य उच्च स्तरीय प्रोग्रामिंग भाषा (High-Level Language) जैसे C, C++, Java आदि में लिखे गए Source Code को मशीन भाषा (Machine Code/Object Code) में परिवर्तित करना होता है, जिसे कंप्यूटर का प्रोसेसर समझ और निष्पादित कर सकता है।
कंपाइलर पूरे प्रोग्राम का एक साथ विश्लेषण करता है और फिर उसे मशीन कोड में बदलता है। इस प्रक्रिया में यह कई चरणों से गुजरता है, जैसे—
- Lexical Analysis (शब्दीय विश्लेषण)
- Syntax Analysis (वाक्यविन्यास विश्लेषण)
- Semantic Analysis (अर्थगत विश्लेषण)
- Code Optimization (कोड अनुकूलन)
- Code Generation (कोड निर्माण)
कंपाइलर को System Software इसलिए कहा जाता है क्योंकि यह उपयोगकर्ता और हार्डवेयर के बीच सीधे कार्य नहीं करता, बल्कि अन्य सॉफ्टवेयरों को चलाने योग्य बनाने के लिए आवश्यक आधार प्रदान करता है।
उदाहरण:
- GCC Compiler
- Turbo C Compiler
- Microsoft Visual C++ Compiler
अन्य विकल्प गलत क्यों हैं?
B. Application software because users launch it manually
किसी सॉफ्टवेयर को मैन्युअली चलाना उसकी श्रेणी निर्धारित नहीं करता। कंपाइलर को उपयोगकर्ता चलाता है, फिर भी यह सिस्टम सॉफ्टवेयर ही रहता है।
C. Application software because it edits documents
कंपाइलर का कार्य दस्तावेज़ संपादित करना नहीं है। यह कोड का अनुवाद करता है।
D. It is a hardware abstraction layer
Hardware Abstraction Layer (HAL) हार्डवेयर और ऑपरेटिंग सिस्टम के बीच इंटरफेस का कार्य करती है। कंपाइलर HAL नहीं है।
English
A Compiler is a type of System Software known as a Language Processor. Its primary function is to translate source code written in a high-level programming language (such as C, C++, or Java) into machine code or object code that the processor can execute.
Unlike an interpreter, a compiler translates the entire program before execution. During compilation, it performs several stages, including:
- Lexical Analysis
- Syntax Analysis
- Semantic Analysis
- Code Optimization
- Code Generation
A compiler is classified as System Software because it provides the necessary environment and support for creating executable programs. It acts as a bridge between human-readable source code and machine-executable instructions.
Examples include:
- GCC Compiler
- Turbo C Compiler
- Microsoft Visual C++ Compiler
Why are the other options incorrect?
B. Application software because users launch it manually
Whether a program is launched manually does not determine its classification. Compilers remain system software.
C. Application software because it edits documents
Compilers do not edit documents; they translate source code into machine code.
D. It is a hardware abstraction layer
A Hardware Abstraction Layer provides an interface between hardware and the operating system. A compiler performs code translation and is not a HAL.
Exam Point / परीक्षा हेतु महत्वपूर्ण तथ्य
✅ Compiler = System Software + Language Processor
✅ Compiler translates High-Level Language → Machine/Object Code
✅ कंपाइलर उच्च स्तरीय भाषा को मशीन भाषा में परिवर्तित करता है।
✅ Compiler and Interpreter are both Language Processors.
✅ कंपाइलर पूरे प्रोग्राम का एक साथ अनुवाद करता है, जबकि इंटरप्रेटर लाइन-दर-लाइन अनुवाद करता है।