Introduction
Imagine reading a sentence and wanting to understand its meaning. To do this, you first break it into words and recognize what each word represents. In programming, compilers do something similar by breaking code into smaller pieces to understand and process it.