You are on page 1of 6

compiler डिजाईन के सभी नोट् स के डिए ehindistudy.com पर जाये.

Phases of Compiler in Hindi – कम्पाइिर के फेज


कम्पाइलर एक सॉफ्टवेयर प्रोग्राम है जो कक high level language code को machine
level language code में बदल दे ता है कजससे कक कंप्यूटर प्रोसेसर इसे आसानी से समझ
सके.

इसके 6 phases कनम्नकलखित हैं :-

Lexical analysis
Lexical analyzer जो है वह compilation की प्रकिया का पहला फेज होता है . यह फेज
text scanner की तरह कायय करता है . यह source program को इनपुट की तरह लेता
है . यह source program के एक character को एक समय में read करता है और इसे
lexemes में बदल दे ता है . lexical analyzer टोकन (tokens) के रूप में इन lexemes
को प्रस्तुत करता है ।

Syntax analysis
यह compilation की प्रकिया का दू सरा phase है . इसे parsing भी कहते है . यह tokens
को input की तरह लेता है और parse tree को output के रूप में जनरे ट करता है . इस
phase में parser यह check करता है कक tokens के द्वारा बनाये गये expressions सही
है या नही.

Semantic analysis
यह इसका तीसरा phase होता है . यह check करता है कक parse tree, लैंग्वेज के rules
को follow करता है या नही. इसके साथ साथ Semantic analyzer जो है वह
identifiers, उनके प्रकार, और expressions को भी track करता है . Semantic
analyzer आउटपुट में annotated syntax tree को produce करता है .

Intermediate code generation


Intermediate code generation में, कम्पाइलर target machine के कलए source
code के intermediate code को जनरे ट करता है . intermediate code जो है वह
high level language और machine language के मध्य जनरे ट होता है . इस code को
इस प्रकार जनरे ट होना चाकहए कजससे कक इसे target machine code में आसानी से
translate ककया जा सके.
compiler डिजाईन के सभी नोट् स के डिए ehindistudy.com पर जाये.

Code optimization
यह code optimization एक optional फेज होता है . इसका प्रयोग intermediate
code को बेहतर बनाने के कलए ककया जाता है कजससे कक program का output तेज run
हो और space कम ले. यह अनावश्यक codes को remove कर दे ता है और codes को
एक िम में arrange कर दे ता है कजससे program के execution की speed बढ़ जाती
है .

Code generation
यह compilation process का आं खिरी phase है . यह optimize ककये गये
intermediate code को input की तरह लेता है और इसे target machine language
में map करता है . code generator जो है वह intermediate code को machine code
में बदल दे ता है .

LR Parser in Hindi – LR पाससर क्या है


LR parsers जो है वह bottom-up parser का एक प्रकार है . यह non-recursive, और
shift reduce होता है .

यह context free grammar का प्रयोग करता है कजसके कारण यह सबसे प्रभावी syntax
analysis तकनीक बन जाती है . और इसका प्रयोग grammars की large class को
parse करने के कलए ककया जाता है .

LR Parser को LR (k) parsers के नाम से भी जाना जाता है ; जहााँ L का मतलब input के


left-to-right scanning से है . और R का मतलब reverse में construction के right-
most derivation से है .

k जो है वह decision लेने के कलए lookahead symbols की संख्या को दर्ाय ता है ।

Multi Pass Compiler in Hindi


• multi pass compiler का प्रयोग एक प्रोग्राम के source code को कई बार
process करने के कलए ककया जाता है
• पहले pass में , कम्पाइलर source program को read करता है , उसे scan करता
है , tokens को extract करता है और result को output file में स्टोर करता है .
• दू सरे पास में , कम्पाइलर पहले pass के द्वारा दी गयी output file को read करता
है , syntactic tree का कनमाय ण करता है और syntactical analysis को पूरा करता
compiler डिजाईन के सभी नोट् स के डिए ehindistudy.com पर जाये.

है . इस phase का आउटपुट एक file होती है जो कक syntactical tree को स्टोर


ककये रहती है .
• तीसरे पास में , compiler दू सरे paas के द्वारा दी गयी output file को read करता
है और यह check करता है कक tree लैंग्वेज के rule को follow कर रही है या नहीं.
• यह pass तब तक चलते रहता है जब तक कक target output प्राप्त ना हो जाए.
Single Pass Compiler in Hindi
• single pass compiler का प्रयोग program को केवल एक बार traverse करने
के कलए ककया जाता है . कसंगल-पास कंपाइलर प्रत्येक computation unit के parts
से केवल एक बार pass होता है । यह प्रत्येक part को उसके अंकतम machine
code में translate कर दे ता है .
• इसमें , जब line source प्रोसे स होता है , तो इसे स्कैन ककया जाता है और token को
extract ककया जाता है .
• उसके बाद प्रत्ये क line के syntax को analyze ककया जाता है और tree के
स्टर क्चर को कनकमयत ककया जाता है . semantic part के बाद, code को जनरे ट ककया
जाता है .
• इस प्रकिया को code की प्रत्ये क line के कलए तब तक repeat ककया जाता है जब
तक कक पूरे program को compile ना कर कलया जाए.
compiler डिजाईन के सभी नोट् स के डिए ehindistudy.com पर जाये.

र्ब्द “Automata" को Greek भाषा के र्ब्द "αὐτόματα" से कलया गया है | कजसका


मतलब "self acting" होता है |

Finite Automata क्या है?

Finite Automata , patterns को recognize करने के कलए एक सरल मर्ीन है . finite


automata को states machine या finite-state machines (FSM) भी कहते है . finite
automata एक गकणतीय मॉडल है कजसका प्रयोग कंप्यूटर प्रोग्राम तथा िमबद्ध लॉकजक
सककयटों को कडजाईन करने में ककया जाता है .

states की एक finite संख्या के साथ एक Automata को finite Automata कहते है ।

एक finite Automata में पां च tuples होते है

Q, Σ, q, F, δ (यह machine का formal specification होता है ।)


compiler डिजाईन के सभी नोट् स के डिए ehindistudy.com पर जाये.

Q – यह states का finite समूह होता है

Σ – यह input symbols का समूह होता है

q – यह initial states होता है

F – यह final states का समूह होता है

δ – यह transition function होता है ,

finite automata दो प्रकार का होता है :-

1:- Deterministic Finite Automato (DFA)

2:- nonDeterministic Finite Automato (NFA)

Pushdown automata (PDA) in Hindi


Pushdown automata एक finite automata है कजसमें extra memory होती है
कजसे stack कहते है . यह stack (स्टै क) pushdown automata को context-free
language को पहचानने में मदद करता है .
PDA जो है वह context-free grammar को implement करने का तरीका है , वैसे ही
जैसे हम regular grammar के कलए DFA को कडजाईन करते है . एक DFA जानकारी
(information) की एक finite मात्रा को याद रि सकता है , लेककन एक PDA जानकारी
की infinite मात्रा को याद रि सकता है ।

सामन्यतया एक pushdown automata (PDA) होता है :-

“Finite state machine” + “stack”

एक PDA के तीन components होते हैं :-

• एक input tape
• एक control unit
compiler डिजाईन के सभी नोट् स के डिए ehindistudy.com पर जाये.

• infinite size के साथ एक stack.

नीचे आप खिक करके सभी नोट् स पढ़ सकते हैं :-

• Finite Automata in Hindi – DFA, NFA in Hindi


• Mealy machine and Moore machine in Hindi – मीली और मूरे मर्ीन क्या
है ?
• LR पासयर क्या है – What is LR Parser in Hindi?
• Phases of Compiler in Hindi
• Single pass और Multi pass Compiler क्या है ?
• Bootstrapping in compiler design in Hindi
• Machine language और Assembly language के बीच अंतर
• What is YACC in Hindi – Compiler Design
• What is Derivation in Hindi – Compiler Design
• Parse Tree in Hindi – पासय टर ी क्या है ?
• Parser (Parsing) in Hindi – पासयर क्या है ?
• Shift Reduce Parsing in Hindi – कर्फ्ट रे डूस पाकसिंग क्या है ?
• Syntax Directed Translation in Hindi – कसंटेक्स डायरे क्टे ड टर ां सलेर्न क्या है
• Symbol Table in Hindi – Compiler Design
• Derivation Tree in Hindi – डे रीवेर्न टर ी क्या है ?

You might also like