L'analyse lexicale est la première étape de la compilation, où le compilateur lit les caractères d'un texte pour produire des unités lexicales. Ces unités sont définies par des modèles et regroupent des chaînes de caractères ayant une signification collective. L'analyseur lexical, sous-programme clé du compilateur, utilise des expressions régulières pour spécifier ces unités, bien qu'il nécessite des outils théoriques plus puissants pour des constructions plus complexes.