Want to create interactive content? It’s easy in Genially!

Over 30 million people create interactive content in Genially.

Check out what others have designed:

Transcript

lr(0) y slrcompiladores

ingenieria en sistemas computacionalesR

Autor/a: Miguel Ángel Rodríguez Rodríguez

20/11/2024

TABLA DE CONTENIDO

07.limitaciones del lr(0)

01.definiciones

08.concluciones

06.limitaciones del slr

05.desventajas

04.ventajas

03.comparacion tabular

02.ejemplos graficos

definiciones

03

01. definiciones

definicion de un lr(0)

Un analizador LR(0) es un tipo de autómata de pila utilizado en el análisis sintáctico de lenguajes formales. El término LR se refiere a: L (Left to right): El análisis de la entrada se realiza de izquierda a derecha. R (Rightmost derivation): El análisis construye una derivación en la que se reduce a partir de la parte derecha.

01. definiciones

slr

El analizador SLR es una mejora del LR(0) que también realiza un análisis de izquierda a derecha y una derivación a partir de la parte derecha, pero tiene la capacidad de manejar más gramáticas debido al uso de los Follow sets. Un Follow set de un no terminal es el conjunto de símbolos que pueden seguir a ese no terminal en alguna derivación. Los Follow sets permiten al analizador decidir cuándo realizar una reducción en lugar de un desplazamiento, dependiendo de los símbolos siguientes en la entrada.

ejemplos graficos

01

01. ejemplos graficos

1. Autómata de un Analizador LR(0)

Estado 0: S → •A A → •aA A → •b (Entrada: 'a', 'b') Estado 1: S → A• (Entrada: fin) Estado 2: A → a•A (Entrada: 'a', 'b') Estado 3: A → b• (Entrada: 'a', 'b')

01. ejemplos graficos

2. Autómata de un Analizador SLR

Estado 0: S → •A A → •aA A → •b (Entrada: 'a', 'b') Estado 1: S → A• (Entrada: '$') Estado 2: A → a•A (Entrada: 'a', 'b') Estado 3: A → b• (Entrada: 'a', 'b') Acción en Estado 3: Si el siguiente símbolo es en el Follow(A) → Reducir A → b

tabla

04

04. tabla

ventajas

03

03. ventajas

lr(0)

  • Simplicidad: Es más fácil de implementar que otros analizadores LR porque no utiliza lookahead ni Follow sets.
  • Velocidad: Debido a su simplicidad, los analizadores LR(0) tienden a ser rápidos en la ejecución, ya que realizan menos verificaciones y decisiones.

slr

  • Mayor poder expresivo: Gracias al uso de los Follow sets, los analizadores SLR pueden manejar una mayor variedad de gramáticas que los analizadores LR(0).
  • Mejor resolución de conflictos: Los Follow sets permiten resolver muchos de los conflictos de desplazamiento-reducción que ocurren en LR(0).

limitaciones

03

03. limitaciones

lr(0)

  • Limitado en gramáticas: No puede manejar gramáticas complejas, especialmente aquellas que requieren lookahead o resolución de conflictos de desplazamiento-reducción.
  • Conflictos de desplazamiento-reducción: Dado que no considera el contexto adicional, puede ser incapaz de resolver conflictos donde se necesita más información.

slr

  • Mayor complejidad: La implementación de un analizador SLR es más compleja debido a la necesidad de calcular y usar los Follow sets.
  • Puede ser menos eficiente: Aunque resuelve más gramáticas que LR(0), puede requerir más memoria y tiempo para generar las tablas de análisis, especialmente para gramáticas grandes.