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:2022-1:tarea3 [2022/06/07 16:51] rodrigo.urreateaching:cc4101:tareas:2022-1:tarea3 [2023/06/14 20:55] (current) – [Tarea 3 (Entrega: 9 de julio de 2023)] rodrigo.urrea
Line 49: Line 49:
 **Extienda el lenguaje para soportar estas expresiones, donde tanto clases y objetos son valores.** Usted debe decidir los atributos que tendrán sus respectivos nodos en el AST. Modifique el parser y el intérprete para soportar el lenguaje extendido. **Extienda el lenguaje para soportar estas expresiones, donde tanto clases y objetos son valores.** Usted debe decidir los atributos que tendrán sus respectivos nodos en el AST. Modifique el parser y el intérprete para soportar el lenguaje extendido.
 Además, los errores deben manejarse de la siguiente forma: Además, los errores deben manejarse de la siguiente forma:
-  * El acceso a un campo inexistente de un objeto debe arrojar el error ''field not found''+  * El acceso a un campo inexistente de un objeto debe arrojar el error ''field not found exception''
-  * La invocación de un método inexistente debe lanzar el error ''method not found''+  * La invocación de un método inexistente debe lanzar el error ''method not found exception''
-  * La creación de un objeto con un número invalido de argumentos debe lanzar el error ''constructor not found''.+  * La creación de un objeto con un número invalido de argumentos debe lanzar el error ''constructor not found exception''.
   * Invocar un método sobre ''null'', o realizar una operación (como adición), debe lanzar el error ''null pointer exception''.   * Invocar un método sobre ''null'', o realizar una operación (como adición), debe lanzar el error ''null pointer exception''.
   * Al crear una clase con 2 o más constructores de igual aridad, debe lanzar el error ''same arity constructor exception''   * Al crear una clase con 2 o más constructores de igual aridad, debe lanzar el error ''same arity constructor exception''
Line 119: Line 119:
                      10}                      10}
                    {new A}})                    {new A}})
-"error: same arity constructor error"+"error: same arity constructor exception"
 </code> </code>
  
Line 129: Line 129:
                  {o {new A {x}}}}                  {o {new A {x}}}}
               {-> o m 1}})               {-> o m 1}})
-"error: constructor not found"+"error: constructor not found exception"
 </code> </code>