Estas herramientas permiten generar el esqueleto del analizador sintáctico a partir de una definición formal del "lenguaje de partida", especificada normalmente mediante una gramática formal y barata, dejando únicamente al programador del compilador la tarea de programar las acciones semánticas asociadas.