LEX es un programa que genera analizadores léxicos para analizar cadenas de caracteres y dividirlas en tokens. Está diseñado para trabajar junto con YACC para el análisis sintáctico. Consta de secciones para declaraciones, reglas con expresiones regulares que asocian patrones a código C, y código C. Tiene como objetivo dividir cadenas de entrada en tokens de acuerdo a las expresiones definidas.