Why Study Lexical Analysis
Lexical analysis is one of the simplest aspects of compilers
Almost never a problem in practice
Why do we need to study it?
Reason 1: It is also the first phase of a compiler
So we study it first.
Reason 2: 'Drunk under the lamppost' effect
lamppost = a metal post supporting an outdoor lamp (such as a streetlight)
What are you doing?
- Searching for my Camipro card…
Where did you lose it?
- Over there, near 'le Vinci'
Then why are you looking for it here and not there?
- Because it's dark there, and here I have the light!
Lexical Analysis is under the Lamppost
The problem can be described using finite state machines
- very well understood
- have very good properties, can manipulate them well
Automated lexical analysis techniques are easier to understand
- preparation for parsing