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

Get started free

Proyecto Final Educación Superior Dinámico

Miguel Rodríguez

Created on November 20, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Higher Education Presentation

Psychedelic Presentation

Vaporwave presentation

Geniaflix Presentation

Vintage Mosaic Presentation

Modern Zen Presentation

Newspaper Presentation

Transcript

lr(0) y slrcompiladores

ingenieria en sistemas computacionalesR

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

20/11/2024

02.ejemplos graficos

03.comparacion tabular

04.ventajas

01.definiciones

TABLA DE CONTENIDO

06.limitaciones del slr

07.limitaciones del lr(0)

08.concluciones

05.desventajas

03

definiciones

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.

01

ejemplos graficos

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

04

tabla

04. tabla

03

ventajas

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).

03

limitaciones

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.