Skip to main content
Version: 2021_2

Práctica 3 (22/9)


Orden del día

  1. Intro a jflex (20') con ejemplos
  2. Ejercicio interactivo con jflex (20' - alargamos según sea necesario )
  3. Explicación segunda mitad lab 1, forma de entrega y criterios de evaluación (15')
  4. Intervalo (10')
  5. Ejemplo de autómata (10')
  6. Ejercicio de autómata interactivo #1 (10' - alargamos según sea necesario + 10')
  7. Ejercicio de autómata interactivo #2 (10' - alargamos según sea necesario + 10')
  8. Ejercicio de autómata interactivo #3 (10' - alargamos según sea necesario + 10')
  9. Ejercicio de autómata interactivo #4 (10' - alargamos según sea necesario + 10')

CLONEN EL REPO YA YA YA MISMO

Y PONGAN REOPEN AS CONTAINER ASÍ SE VA CONSTRUYENDO EL CONTAINER

termdown 5m

https://github.com/compiladores/esqueleto-jflex#

Intro a jflex con ejemplos

  1. Lexer básico como los de clase (devuelven int)
  2. Lexer que devuelve un tipo
  3. Lexer que arroja excepciones
  4. Lexer con estado <COMMENT>
  5. Lexer con variable privada

Ejercicio interactivo con jflex

Lenguaje FORTALEZAZ#

  • (FO)+
  • F+
  • FOR
  • FORTALEZA
  • la Z o el <espacio> separan tokens
  • los números están prohibidos

Consigna: Hacer este ejemplo + algunos tests.

Metodología: en 10' pregunto hasta donde llegaron y vemos de alargar 10' más.#

Explicación 2da mitad Lab 1, Entrega y evaluación

  • Entrega por github classroom
  • GH classroom autograding para determinar si aprueba o no
  • 8: Entrega en fecha con menos de 7 tests extra
  • 10: Entrega en fecha con una contribución de 7 tests o más
  • Quien entregue aprobado por primera vez a partir del 7/10 inclusive, se saca 5 ó 7 respectivamente

Intervalo 10'


Los autómatas interpretados como máquinas de estados

Dado Σ={a,b}\Sigma=\{a,b\}

  • Ejemplo de repaso: cadenas con un número par de aa solución
  • Ejemplo nuevo: cadenas con un número par de aa y un número impar de bb solución

Ejercicio interactivo 1#

Consigna: Construir autómata que describa el siguiente lenguaje:

Dado Σ={a,b,c}\Sigma=\{a,b,c\}, strings que incluyan en alguna parte el substring abababab. solución

termdown 10

Ejercicio interactivo 2#

Consigna: Construir autómata que describa el siguiente lenguaje:

Dado Σ={a,b,c}\Sigma=\{a,b,c\}, strings que empiecen con el substring abababab. solución

termdown 5

Ejercicio interactivo 3#

Consigna: Construir autómata que describa el siguiente lenguaje:

Dado Σ={a,b,c}\Sigma=\{a,b,c\}, strings que no incluyan tres cc seguidas en ninguna posición. solución

termdown 5

Ejercicio interactivo 4#

Consigna: Construir autómata que describa el siguiente lenguaje:

Dado Σ={0,1,2,3,4,5,6,7,8,9}\Sigma=\{0,1,2,3,4,5,6,7,8,9\}, los números 46, 43, 435. solución

termdown 10