Programación III Catedrático: Ing. Pablo Antonio de León Bautista. Código: (2014) Pre-Requisito: Post-Requisito:
Definición del problema Método del árbol Transformación
Se cuenta con la siguiente expresión regular ( '+' | '-' ) ? d + Se debe transformar a un AFD por medio del método del árbol.
El método del árbol puede seguir los siguientes pasos: 1) Poner al final de la ER un símbolo de fin de cadena # 2) Construir el árbol 3) Identificar los nodos anulables 4) Identificar las hojas y numerarlos 5) Identificar primeros y últimos 6) Hacer la tabla de siguientes 7) Hacer la tabla de transiciones y diagrama
Paso 1: Poner al final de la ER un símbolo de fin de cadena # ER = ( '+' | '-' ) ? d + #
Paso 2: Construir el árbol. ( '+' | '-' ) ?. d +. # ‘+’‘-’ | ?. +. # d
Paso 3: Identificar los nodos anulables Nodos : El anulable de la hoja épsilon es verdadero. Nodos hoja: El anulable, de las hojas, es falso.
Paso 3: Identificar los nodos anulables ‘+’‘-’ | ?. +. # d F F F F F V F F F
4) Identificar las hojas y numerarlos No se enumera la hoja con ‘+’‘-’ | ?. +. # d F F F F F V F F F
5) Identificar primeros y últimos
‘+’‘-’ | ? ? # d F F F F F V F F F , ,2,3 3 4
6) Hacer la tabla de siguientes Reglas Siguiente Nodo (*) (+): Los siguientes de cada elemento de los últimos de su hijo, son todos los primeros del mismo. Nodo (.): Cada elemento de últimos, del hijo izquierdo, tienen como siguientes a todos los primeros del hijo derecho. a b. 3 1,2 5,6 3,4 * a 1,2,35, 6
6) Hacer la tabla de siguientes Se formará una tabla de tres columnas. La primera contiene hojas del árbol. La segunda contiene el número asociado a las hojas. La tercera los siguientes, se llena con las reglas de función siguiente. La ilustración muestra los nodos a considerar (nodos negros), los cuadritos azules muestran el orden al aplicar las reglas. HojaNo. HojaSiguiente
6) Hacer la tabla de siguientes HojaNo. HojaSiguiente ‘+’13 ‘-’23 d33, 4 #4 ‘+’‘-’ | ? # d F F F F F V F F F , ,2,3 3 4
7) Hacer la tabla de transiciones y diagrama HojaNo. HojaSiguiente ‘+’13 ‘-’23 d33, 4 #4 ‘+’‘-’d S0(1,2,3)S1 S2 S1(3d)--S2 S2(3d, 4#)--S2 S1 S0 S2 ‘+’ ‘-’ d d d
Transforme la siguiente expresión regular a un Autómata Finito Determinístico. Realice paso a paso la solución. ER = d+('.'d+E|E)(('+'|'-')d+|d+)