Lexical Analyzer क्या है? इसके कार्य, इनपुट और आउटपुट समझाइए।

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 करता है।

उदाहरण:

int a = 10$;

$ 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 में लिखा कोड)

उदाहरण:

int sum = a + b;

Lexical Analyzer का Output

🔹 Output → Tokens की श्रृंखला

Token Lexeme
KEYWORD int
IDENTIFIER sum
OPERATOR =
IDENTIFIER a
OPERATOR +
IDENTIFIER b
SYMBOL ;

Lexical Analyzer में Token की Specification

Token को सामान्यतः इस रूप में लिखा जाता है:

<token-name, attribute-value>

उदाहरण:

<id, sum>
<num, 10>

Lexical Analyzer का Diagram

Source Program
|
v
——————
| Lexical Analyzer |
——————
| |
v v
Tokens Symbol Table
(Identifiers)

संक्षेप में (Summary)

बिंदु विवरण
Lexical Analyzer Compiler का पहला चरण
कार्य Token बनाना, Error ढूँढना
Input Source Program
Output Tokens
दूसरा नाम Scanner

Speak Your Mind

*

error: Content is protected !!