Stanford University: Keith Schwarz's "Lexical Analysis"

Read the Basics on pages 1-2.