Diapositivas de M.a.paz Menvielle sobre Autómatas con Pila y Analizadores Sintácticos. El Pdf, un recurso de Informática para Universidad, detalla la definición, configuración y movimiento de los autómatas con pila, así como los analizadores sintácticos ASD y ASA.
Ver más26 páginas


Visualiza gratis el PDF completo
Regístrate para acceder al documento completo y transformarlo con la IA.
M.A.Paz Menvielle 2k3-2k11
M.A.Paz Menvielle 2k3-2k11
M.A.Paz Menvielle 2k3-2k11
M.A.Paz Menvielle 2k3-2k11
Autómata Finito al que se agrega memoria de PILA o LIFO (last in - first out). Reconoce Lenguaje generado por la gramática tipo 2 Independiente de Contexto (lenguajes de programación) Aumenta la capacidad de resolver problemas por el hecho de poder memorizar total o parcialmente la cadena
M.A.Paz Menvielle 2k3-2k11
AP = (2, I, Q, q0, #, A, f) donde: E = alfabeto de símbolos de entrada T = alfabeto de símbolos de pila (distinto de E) Q = conjunto finito y no vacío de estados posibles q0 = estado inicial. q0€ Q # = símbolo de referencia de pila. # e Ty # ¿ ¿ A = conjunto de estados de aceptación. AcQ f = función de transición, se distingue según sea APD f: Qx ExT- QxT* APND f: Q x (_ U {}}) xT ->P(QxT*)
M.A.Paz Menvielle 2k3-2k11
APND = (2, I, Q, q0, #, A, f) f: Q x (_ U {}) xT -> P(Q xT*) DIGRAFO e2, P2 / B1 90 qm f(q0, e2, p2) = { (qm, B1 ) } Σ λ e1 €2 en > qo, P1 ... ... ... ... > 90, P2 ... { (qm,₿1) } ... ... Qx T Estado de aceptación *qp Pk ... ... ... ... qa
M.A.Paz Menvielle 2k3-2k11 q0 ... ... ... ... Estado Inicial f
Iniciando el funcionamiento en el estado inicial q0 , y con la pila vacía marcada por #, el autómata: 1- Lee un símbolo leído de la cinta de entrada lec=eleido o no lee lec=X 2-Saca un símbolo que lee de la pila (lectura destructiva) w=sacar( 3- Transita a uno a más estados y realiza una acción sobre la pila: grabar uno o más símbolos / no grabar (se representa con 2) f(qactual, lec, w) = {(q1, B1), (q2, B2), ... , (qm, Bim)} 4- Repite los pasos 1 a 3 en forma no determinística hasta finalizar la lectura de la cadena. 5- Decide si acepta o rechaza la cadena leída. AUTÓMATA - NO DETERMINISTA - RECONOCEDOR
M.A.Paz Menvielle 2k3-2k11
APND =(2, I, Q, q0, #, A, f) con f: Q x (_ U {}}) x T -> P(Q xT*) a) El AP puede leer un símbolo de entrada o no leer, por lo que puede realizar transiciones espontáneas (2 ). b) El rango de la función de transición es P(Q x *), por lo que puede transitar a varios estados, c) Podría realizar sobre la pila una de varias acciones: 1. Desapilar: extrae un símbolo w y no almacena nada 2. f(p, a, w) = {(q,1) } no graba nada 2. Apilar: extrae un símbolo w y lo devuelve con algo más wB. f(p, a, w) = { (q, w B) } con ßer+ 3. Cambiar: extrae un símbolo w y almacena algo más B. f(p, a, w) = { (q, B) } con ßer+
M.A.Paz Menvielle 2k3-2k11
Diseñar un AP que reconozca el siguiente lenguaje: L={1"On / n>= 1} GRAFO Σε, Γ/ Γ 0, 1 /1 1, # / # 1 0,1 p 1,1/11 q λ, #/# ΑΡ = ( Σ, Q, q0, #, A, f) , r PILA a=1100 1 f: Qx EXT->QxT* f(p, 1, #) = (p,# 1) f(p, 1, 1) = (p, 11) f(p, 0,1)=(q, 2) f(q, 0, 1) = (q,1) f(q, 1, #) = (r, #) f 0 1 λ >>p,# {p,#1} # >>p,1 {q, λ} {p,11} Q, T q,1 {q, λ} q,# {r,#}
M.A.Paz Menvielle 2k3-2k11 1 Σ 1 # AP = ({0, 1}, {1, #}, {p, q, r}, p, #, {r}, f)
APND = (E, I, Q, q0, #, A, f ) con f : Qx ({}}) xT->P(QxT*) Cinta de Entrada f(q), a, #) = { (q2, #XY ) } a b c d e f g h i . .. f Y qn q1 ... q2 X # q3 … q4 1. Lee un símbolo de entrada. 2. Saca un símbolo de la cima de pila 3. Almacena en la pila una cadena de símbolos de pila y 4. Transita a un nuevo estado. Al terminar de leer la cadena de entrada DECIDIRÁ si la acepta.
f = función de transición. f: Q x _ x T -> QxT* donde: T *= T U {} Un AP con transiciones À es un APND pero si cumple la condición que no exista la misma transición para otra entrada, se estará comportando como APD, así: f: Qx (_ U {}}) xT-QxT* Si ] f(q, 1, b) para qeQ y bel, entonces X f(q, a, b) Vae _
M.A.Paz Menvielle 2k3-2k11
f: Q x ( U {}) xT->P(QxT*), donde: *= T U {} A, b/ cc q r b / cc If(q, 1, b)| =1 y f(q, a, b) = + para q, reQ, ber, ae_ - q cualquier estado - ) Cadena leída completa o No se lee entrada - Sólo una transición - q cualquier estado - a Símbolo leído - No existe esa transición4
M.A.Paz Menvielle 2k3-2k11
Función de transición. f: Q x (_ U {}) x T -> P(Q xT*) Donde: r *= T U &} Condiciones que lo hacen No Determinista: a) Operar sin leer la cadena de entrada (transición 2) b) Varias opciones de Estado-Entrada-Pila a Estado-Carga de Pila P(Q x *) c) Combinación de las anteriores
M.A.Paz Menvielle 2k3-2k11
f: Q x ( U {}) xT -> P(Q xl*), donde: r *= T U {} A, b/ cc q r a , b / cc f(q,1, b)++ y f(q, a, b) + + para q, reQ, ber,a=> I - q cualquier estado - ) Cadena leída completa o No se lee entrada - Existe esa transición - q cualquier estado - a Símbolo leído - Existe esa transición
M.A.Paz Menvielle 2k3-2k11
M.A.Paz Menvielle 2k3-2k11
AP acepta cadenas que han sido completamente leídas y transitan desde su configuración inicial a final. De 3 formas: a) Aceptación por pila vacía: 1, # / # L(AP)={a / (q0, a, #) F* (qn, 2, #) con qn, q0 € Q, #E T, aez* , qn¢ A} b) Aceptación por estado final: λ, Ο / λ L(AP)={a / (q0, a, #) +* (qn, 2, 0) con qn, q0 € Q, #E I, aez* , que A, 0 € T+, ô contenido de la pila} c) Aceptación por pila vacía y estado final: 2, # / # L(AP)={a / (q0, a, #) +* (qn, 2, #) con qn, q0 € Q, #E I, aez* , que A}
M.A.Paz Menvielle 2k3-2k11
Diseñar un AP que reconozca el siguiente lenguaje: L={1"On / n>= 1} GRAFO Σε, Γ/ Γ 0, 1 /1 1, # / # 1 0,1 p 1,1/11 q λ, #/# ΑΡ = ( Σ, Q, q0, #, A, f) , r PILA a=1100 1 f: Qx ExT-QxT* f(p, 1, #) =(p,# 1) f(p, 1, 1) = (p, 11) f(p, 0,1)=(q, 2) f(q, 0, 1) = (q, 2) f(q, 1, #) = (r, #) f 0 1 λ ->p,# p,#1 -p,1 α, λ p,11 Q, r q,1 α, λ q,# r,#
M.A.Paz Menvielle 2k3-2k11 1 1 # # AP = ({0, 1}, {1, #}, {p, q, r}, p, #, {r}, f)
Diseñar un AP que reconozca el siguiente lenguaje: L={1^0^ / n>= 1} GRAFO 1 0, 1 /1 1, # / # 1 0, 1 /2 p 1,1 / 11 q AP = ({0, 1}, {1, #}, {p, q, r}, p, #, {r}, f) 0,#/# r Árbol de descripciones instantáneas a=1100 (p, 1100, #) (Q, B, I) Movimiento o tránsito (p, 100, # 1) (p, 00,#11) + (q,0,#1) (p, 00, #11) (q, 0, #1) Movimiento Gen. de Conf. Inicial a Conf. Final V (q, λ, #) -> (r, À, #)
M.A.Paz Menvielle 2k3-2k11 (p,1100,#) +* (r,),#)
Diseñar un AP que reconozca el siguiente lenguaje formal (Análisis Sintáctico) letra = input("Ingrese una letra: ") if letra == 'a' : a b c print ("letra a") d e else : fc print ("otra letra' d e AP = ({a, b, c, d, e, f}, {a, d, f, #}, {p, q, r, s, t, u, v, w, z}, p, #, {z}, f) a= abcdefcde b, a / a c, a / a Ce > q r a, # / # a d, a / ad e, d / z C s λ, α / λ f, a / f λ, #/# t c, f / f w e, d /1 d, 1 / d v u d, f / d
M.A.Paz Menvielle 2k3-2k11
Reconoce lenguaje cuyas cadenas son palíndromos de largo par. B=ZZ-1 donde Z={a, b}* CP b, b /2 a, a /1 q A,#/# r AP = ({a, b}, {a, b, #}, {p, q, r}, p, #, {r}, f) a, # / # a b, # / # b b, b /2 a, a /1 a, a / aa b, b / bb a, b / ba f a b λ >>p,# {p, #a} {p,#b} -p, a {(p, aa),(q, 1)} {p, ab} Q, T ->p, b {p, ba} {(p, bb), (q, 2)} q, # {r,#} q, a {q, λ} q, b {α, λ} Σ b, a / ab
M.A.Paz Menvielle 2k3-2k11
Reconoce lenguaje cuyas cadenas son palíndromos de largo par. B=ZZ-1 donde Z={a, b)* C p b, b /2 a, a /X λ, #/# q r AP = ({a, b}, {a, b, #}, {p, q, r}, p, #, {r}, f) Árbol de descripciones instantáneas (p, abba, #) a, a / aa b, b / bb a=abba a, b / ba b, a / ab (p, bba, # a) (p, ba, #ab) b, b /1 0 b, b / bb Movimiento o tránsito (q, a, #a) + (q, λ, #) (p, a, #abb) (q, a, #a) Mov. Gen. de Conf. Inicial a Conf. Final (p, 1, #abba) (q, λ , #) - (p, abba, #) +* (r, ), #) V X (r, λ , #)
M.A.Paz Menvielle 2k3-2k11 a, # / # a b, b /2 a, a /1 b, # / # b