En la primera fase, el compilar analiza lexicográficamente el texto, es decir, transforma con la ayuda de autómatas finitos, el texto continuo en una secuencia de entidades, llamadas token, por ejemplo, palabras claves, valores numéricos, operadores, comentarios, etc.
Existen herramientas para el desarrollador que ayudan en la construcción de dichos autómatas, cuyas entradas suelen ser expresiones regulares y código de acción y cuyas salidas son programas que realizan la tarea del análisis lexicográfico. Un ejemplo es lex para un sistema Unix.
Existen herramientas para el desarrollador que ayudan en la búsqueda de secuencias de texto descritas por expresiones regulares. Un ejemplo es grep para un sistema Unix o comandos internos a editores como el vi o emacs.
El lenguaje UML (unified modeling language) se usa para la descripción durante el proceso de desarrollo de software. El lenguaje gráfico usa diferentes tipos de diagramas para este fin. Uno de ellos son los diagramas de estados que visualizan el cambio de estados de los objetos debido al paso de mensajes entre ellos.