La máquina de Turing es un dispositivo de reconocimiento de lenguaje más general que los autómatas finitos o de pila, ya que puede reconocer lenguajes regulares, independientes de contexto y otros tipos de lenguajes. Se compone de un control finito, una cabeza lectora y una cinta potencialmente infinita donde se coloca la entrada, y puede modificar la cinta mientras se mueve bidireccionalmente sobre ella para determinar si la entrada es aceptada. Funciona leyendo símbolos de la cinta, reemplazándolos