Challenge 5: Lexical Analyzer
Merge branch 'lexical_analyzer'