Download Premios Semana 15

Document related concepts
no text concepts found
Transcript
Premios Semana 15
Analizadores LR(1) y LALR()
Analizador Sintactico LR(1)
• Similar al analizador SLR().
• El LR(1) utiliza únicamente un subconjunto de
los siguientes de cada no terminal.
• Asi, se refina el conjunto de los terminales
validos, reduciendo los conflictos
• Es un analizador mas poderoso que el SLR()
• Sin embargo, posee mas estados que este.
Definición LR(1)
• Dado un elemento LR(1)[A->αβµ,a] donde B es
un no terminal, existen transiciones ε para
elementos [B->β,b] para cada producción B->β y
para cada token b en Primero(µa).
Autómata para gramática LR(1)
Autómata para la gramática:
A(A)|a
Analizador Sintáctico LALR
• Genera tablas mucho mas pequeñas que las
obtenidas con el LR(1).
• Tiene la misma cantidad de estados que el
SLR(), sin presentar tantos conflictos
• Es decir, mayor potencia de análisis, con el
mismo tamaño.
• En pocas palabras, es reducir el LR(1)
Analizador Sintáctico LALR
• Consiste en comparar estados semejantes para
reducirlos
• Los estados que se comparan, solo presentan
diferencias en los símbolos de pre-analisis.
• Al comparar los “corazones”, se unen los estados
semejantes, asignando como conjunto de
símbolos de pre-analisis, la unión de ambos
Analizador Sintáctico LALR
• Como corazón se entenderá a aquellos estados
que tengan el mismo conjunto de primeros
elementos.