Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| teaching:cc4101:tareas:2025-1:tarea1a [2025/03/26 16:27] – [2) Parser del Lenguaje Extendido [1.2 pts]] dibanez | teaching: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: | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| 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 | + | En esta parte, vamos a extender el lenguaje core con algunas primitivas extra (booleanos, y operadores booleanos), la expresión condicional '' |
| 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} {< x 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} | ||
| Line 133: | Line 133: | ||
| === Nuevos nodos para el AST === | === Nuevos nodos para el AST === | ||
| - **[0.1 pts]** Defina el tipo '' | - **[0.1 pts]** Defina el tipo '' | ||
| - | - **[0.2 pts]** Extienda el tipo de datos '' | + | - **[0.3 pts]** Extienda el tipo de datos '' |
| === Extender el Parser === | === Extender el Parser === | ||
| - | - **[0.1 pts]** Implemente la función '' | + | - **[0.2 pts]** Implemente la función '' |
| - | - **[0.4 pts]** Extienda la función '' | + | - **[0.6 pts]** Extienda la función '' |
| <note important> | <note important> | ||

