Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
teaching:cc4101:tareas:2025-1:tarea1a [2025/03/26 16:27] – [2) Parser del Lenguaje Extendido [1.2 pts]] dibanezteaching:cc4101:tareas:2025-1:tarea1a [2025/03/26 18:02] (current) – [Parsing de Lenguaje con Funciones top-level] dibanez
Line 11: Line 11:
  
 Deben desarrollar su tarea en base a los siguientes archivos: Deben desarrollar su tarea en base a los siguientes archivos:
-  * ''PLACEHOLDER'': Aquí deberán implementar todas las funcionalidades pedidas en cada pregunta. +  * ''{{ :teaching:cc4101:tareas:2025-1:t1a.rkt |}}'': Aquí deberán implementar todas las funcionalidades pedidas en cada pregunta. 
-  * ''PLACEHOLDER'': Aquí se le proveen tests iniciales para el lenguaje base, y deberán añadir nuevos tests para las funciones desarrolladas o extendidas.+  * ''{{ :teaching:cc4101:tareas:2025-1:t1a-test.rkt |}}'': Aquí se le proveen tests iniciales para el lenguaje base, y deberán añadir nuevos tests para las funciones desarrolladas o extendidas.
  
 Deben entregar vía U-Cursos **un único archivo .zip** que contenga los archivos **t1a.rkt** y **t1a-test.rkt**. Deben entregar vía U-Cursos **un único archivo .zip** que contenga los archivos **t1a.rkt** y **t1a-test.rkt**.
Line 71: Line 71:
  
  
-En esta parte, vamos a extender el lenguaje core con algunas primitivas extra (booleanos, y operadores booleanos simples), la expresión condicional ''if'', e identificadores locales (''with'' con una cantidad arbitraria de bindings). +En esta parte, vamos a extender el lenguaje core con algunas primitivas extra (booleanos, y operadores booleanos), la expresión condicional ''if'', e identificadores locales (''with'' con una cantidad arbitraria de bindings). 
  
 Las extensiones sintácticas del lenguaje se presentan en el siguiente BNF. Las extensiones sintácticas del lenguaje se presentan en el siguiente BNF.
Line 118: Line 118:
 } }
 { {
-    {define {<= x y} {{y x}}}+    {define {<= x y} {|| {= x y} {< y}}}
     {define {in-range lo x hi} {&& {<= lo x} {< x hi}}}     {define {in-range lo x hi} {&& {<= lo x} {< x hi}}}
     {in-range -20 0 100}     {in-range -20 0 100}