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:32] – [2) Parser del Lenguaje Extendido [1.2 pts]] dibanezteaching:cc4101:tareas:2025-1:tarea1a [2026/03/26 15:40] (current) – [2) Parser del Lenguaje Extendido [1.2 pts]] msegur
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 133: Line 133:
 === Nuevos nodos para el AST === === Nuevos nodos para el AST ===
   - **[0.1 pts]** Defina el tipo ''Binding'' que corresponde al nodo ''<binding>'' en el BNF, que representa la asociación entre un identificador y una expresión.   - **[0.1 pts]** Defina el tipo ''Binding'' que corresponde al nodo ''<binding>'' en el BNF, que representa la asociación entre un identificador y una expresión.
-  - **[0.pts]** Extienda el tipo de datos ''Expr'' con nuevos constructores para las expresiones que se añadieron al lenguaje.+  - **[0.pts]** Extienda el tipo de datos ''Expr'' con nuevos constructores para las expresiones que se añadieron al lenguaje.
  
 === Extender el Parser === === Extender el Parser ===
-  - **[0.pts]** Implemente la función ''parse-binding'' que recibe una s-expression y retorna un nodo ''Binding''+  - **[0.pts]** Implemente la función ''parse-binding'' que recibe una s-expression y retorna un nodo ''Binding''
-  - **[0.pts]** Extienda la función ''parse-expr'' con casos para las nuevas expresiones.+  - **[0.pts]** Extienda la función ''parse-expr'' con casos para las nuevas expresiones.
  
 <note important> <note important>