Lex es una herramienta que genera código C para analizar cadenas de caracteres basándose en expresiones regulares especificadas por el usuario. Lex divide el input en cadenas que coinciden con las expresiones y ejecuta fragmentos de código asociados. El usuario provee el código adicional necesario para completar las funciones del analizador léxico generado.