Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| teaching:cc4101:tareas:2017-2:tarea3 [2017/11/07 15:09] – [Tarea 3] folmedo | teaching:cc4101:tareas:2017-2:tarea3 [2017/11/07 16:44] (current) – [Tarea 3] folmedo | ||
|---|---|---|---|
| Line 12: | Line 12: | ||
| Su tarea recibirá un String como argumento y debe parsearlo, interpretarlo y retornar el resultado como un String. | Su tarea recibirá un String como argumento y debe parsearlo, interpretarlo y retornar el resultado como un String. | ||
| - | A continuación se presenta la gramática BNF del lenguaje a implementar | + | A continuación se presenta, por partes, |
| ====== Números (2pt)====== | ====== Números (2pt)====== | ||
| <code scheme> | <code scheme> | ||
| Line 29: | Line 30: | ||
| Al igual que en la tarea pasada, usted tiene total libertad en como implementar cada una de estas funciones. | Al igual que en la tarea pasada, usted tiene total libertad en como implementar cada una de estas funciones. | ||
| + | |||
| + | Ejemplos con Java: | ||
| + | <code Java> | ||
| + | java tarea3 " | ||
| + | >" | ||
| + | </ | ||
| + | |||
| + | <code Java> | ||
| + | java tarea3 "(+ 4 3)" | ||
| + | >" | ||
| + | </ | ||
| + | |||
| ====== Funciones (2pt)====== | ====== Funciones (2pt)====== | ||
| - | Usted deberá extender su lenguaje con funciones de primera clase, estas deben tener régimen de evaluación eager y scope estático. Note que los mensajes de error son un String, su tarea debe siempre retornar un String. | + | Usted deberá extender su lenguaje con funciones de primera clase. Éstas |
| <code scheme> | <code scheme> | ||
| Line 45: | Line 58: | ||
| - " | - " | ||
| - | - " | + | - " |
| - | ====== Secuencias y Set (2pt)====== | + | |
| - | Usted deberá extender su lenguaje con secuencias y la capacidad de cambiar el valor de una variable, note que **NO** tiene que implementar cajas. | ||
| - | |||
| - | |||
| - | <code scheme> | ||
| - | < | ||
| - | | (seqn < | ||
| - | | (set <id> < | ||
| - | </ | ||
| - | |||
| - | A continuación se presentan diferentes ejemplos: | ||
| Ejemplos con Java: | Ejemplos con Java: | ||
| - | <code Java> | ||
| - | java tarea3 " | ||
| - | >" | ||
| - | </ | ||
| <code Java> | <code Java> | ||
| java tarea3 " | java tarea3 " | ||
| >" | >" | ||
| - | </ | ||
| - | |||
| - | |||
| - | <code Java> | ||
| - | java tarea3 "(+ 4 3)" | ||
| - | >" | ||
| </ | </ | ||
| Line 82: | Line 74: | ||
| Ejemplos con C: | Ejemplos con C: | ||
| + | <code C> | ||
| + | ./Tarea3 "(8 10)" | ||
| + | >" | ||
| + | </ | ||
| + | |||
| <code C> | <code C> | ||
| ./Tarea3 " | ./Tarea3 " | ||
| Line 87: | Line 84: | ||
| | | ||
| >" | >" | ||
| - | </ | ||
| - | |||
| - | <code C> | ||
| - | ./Tarea3 "(8 10)" | ||
| - | >" | ||
| </ | </ | ||
| Line 100: | Line 92: | ||
| (f 4))))" | (f 4))))" | ||
| >" | >" | ||
| + | </ | ||
| + | |||
| + | Note que los mensajes de error son un String, su tarea debe siempre retornar un String. | ||
| + | |||
| + | ====== Secuencias y Set (2pt)====== | ||
| + | |||
| + | Usted deberá extender su lenguaje con secuencias y la capacidad de cambiar el valor de una variable. (Note que **NO** tiene que implementar cajas.) | ||
| + | |||
| + | |||
| + | <code scheme> | ||
| + | < | ||
| + | | (seqn < | ||
| + | | (set <id> < | ||
| + | </ | ||
| + | |||
| + | |||
| + | Ejemplo con Java: | ||
| + | <code Java> | ||
| + | java tarea3 "(with (x 3) | ||
| + | (+ (seqn (set x 5) x) x))" | ||
| + | >" | ||
| </ | </ | ||

