Lexical Analyzer क्या है? (What is Lexical Analyzer)
Lexical Analyzer compiler का पहला चरण (First Phase) होता है, जिसे Scanner भी कहते हैं।
यह source program को पढ़कर उसे छोटे–छोटे अर्थपूर्ण भागों (Tokens) में विभाजित करता है।
सरल शब्दों में, Lexical Analyzer यह पहचानता है कि प्रोग्राम में keyword, identifier, operator, constant क्या है।
Lexical Analyzer का स्थान (Compiler में) Source Program → Lexical Analyzer → Tokens → Syntax Analyzer
Lexical Analyzer के कार्य (Functions of Lexical Analyzer)
1️⃣ Token बनाना (Token Generation)
-
Source code को tokens में तोड़ता है।
-
जैसे:
int,a,=,10,;
2️⃣ White Space और Comment हटाना
-
Blank space, tab, newline और comments को ignore करता है।
3️⃣ Lexical Error पहचानना
-
Invalid symbols को detect करता है।
उदाहरण:
❌ $ invalid character → Lexical Error
4️⃣ Symbol Table में Entry करना
-
Variable और identifier की जानकारी Symbol Table में store करता है।
5️⃣ Token को Parser को भेजना
-
बने हुए tokens को Syntax Analyzer (Parser) को भेजता है।
Lexical Analyzer का Input
🔹 Input → Source Program (High Level Language में लिखा कोड)
उदाहरण:
Lexical Analyzer का Output
🔹 Output → Tokens की श्रृंखला
| Token | Lexeme |
|---|---|
| KEYWORD | int |
| IDENTIFIER | sum |
| OPERATOR | = |
| IDENTIFIER | a |
| OPERATOR | + |
| IDENTIFIER | b |
| SYMBOL | ; |
Lexical Analyzer में Token की Specification
Token को सामान्यतः इस रूप में लिखा जाता है:
उदाहरण:
<num, 10>
Lexical Analyzer का Diagram
|
v
——————
| Lexical Analyzer |
——————
| |
v v
Tokens Symbol Table
(Identifiers)
संक्षेप में (Summary)
| बिंदु | विवरण |
|---|---|
| Lexical Analyzer | Compiler का पहला चरण |
| कार्य | Token बनाना, Error ढूँढना |
| Input | Source Program |
| Output | Tokens |
| दूसरा नाम | Scanner |
Speak Your Mind