RODRIGO BUTRON GALO CAHUANA DANIEL TICONA ALDO CHOQUE ALEX COILLO
Simplemente todos sus estados de inicio en un solo
estado de inicio. Por ejemplo, considere los tokens dados por las cadenas :=,<= e =. Cada uno de stos es una cadena fija, y los DFA para ellos se pueden escribir como sigue:
Como cada uno de estos tokens comienza con un
carcter diferente, podemos solo identificar sus estados de inicio para obtener el siguiente DFA:
Sin embargo, supongamos que tenamos varios tokens
que comenzaban con el mismo carcter, tales como <, y <= y <>. Ahora no podemos limitarnos a escribir el diagrama siguiente, puesto que no es un DFA (dado un estado y un carcter, siempre debe haber una transicin nica hacia un nuevo estado nico):
En vez de eso debemos arreglarlo de manera que slo
quede una transicin por hacerse en cada estado, tal como en el diagrama siguiente
La nueva clase de autmatas finitos se denomina NFA por las
siglas del trmino autmata finito no determinstico en ingls. Antes de definirlo necesitamos otra generalizacin que ser til en la aplicacin de los autmatas finitos a los analizadores Lxicos: el concepto de la transicin E. Una transicin E es una transicin que puede ocume sin consultar la cadena de entrada (y sin consumir ningn carcter). Se puede ver como una "igualacin" de la cadena vaca, la cual antes describimos como E. En un diagrama una transicin E se describe como si e fuera en realidad un carcter:
Esto no debe confundirse con una correspondencia del carcter E en la
entrada: si el alfabeto incluye este carcter, se debe distinguir del carcter e que se usa como metacarcter para representar una transicin E. Las transiciones E Son hasta cierto punto contraintuitivas, porque pueden ocurrir "espontneamente", es decir, sin bsqueda hacia delante y sin modificacin de la cadena de entrada, pero son tiles de dos maneras. Una es porque permiten expresar una seleccin de alternativas de una manera que no involucre la combinacin de estados. Por ejemplo, la seleccin de los tokens :=, <= e = se puede expresar al combinar los autmatas para cada token como se muestra a continuacin:
Esto tiene la ventaja de que mantiene intacto al
autmata original y slo agrega un nuevo estado de inicio para conectarlos. La segunda ventaja de las transiciones E es que pueden describir explcitamente una coincidencia de la cadena vaca:
Por supuesto, esto es equivalente al siguiente DFA, el
cual expresa que Iii aceptacion ocurrira sin hacer coincidir ningn carcter: