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:2017-2:tarea3 [2017/11/07 15:32] folmedoteaching: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, por partes, la gramática BNF del lenguaje a implementar (Números, Funciones, Secuencias y Set).+A continuación se presenta, por partes, la gramática BNF del lenguaje a implementar (Números, Funciones, Secuencias y Set). La semántica del lenguaje debe ser la misma a la vista en clases, por ejemplo (ante la presencia de mutaciones) los argumentos de una suma se deben evaluar de izquierda a derecha
  
 ====== Números (2pt)======  ====== Números (2pt)====== 
Line 58: Line 58:
  
   -  "error: identificador libre!! x" que se lanza al encontrar con un identificador libre 'x'    -  "error: identificador libre!! x" que se lanza al encontrar con un identificador libre 'x' 
-  -  "error: expresión inválida expr" que se lanza al no poder interpretar 'expr',esta no es ni un número ni una función.  +  -  "error: expresión inválida expr" que se lanza al no poder interpretar 'expr',ésta no es ni un número ni una función.  
  
  
Line 98: Line 98:
 ====== Secuencias y Set (2pt)====== ====== 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.+Usted deberá extender su lenguaje con secuencias y la capacidad de cambiar el valor de una variable. (Note que **NO** tiene que implementar cajas.)
  
  
Line 107: Line 107:
 </code> </code>
  
-A continuación se presentan diferentes ejemplos: 
- 
-Ejemplos con Java: 
- 
- 
- 
-Ejemplos con C: 
  
 +Ejemplo con Java:
 +<code Java>
 +java tarea3 "(with (x 3)
 +                 (+ (seqn (set x 5) x) x))"
 +>"10"
 +</code>