|
Traductor e intérprete del lenguaje CL 1.23
|
Lista de los errores semánticos detectados. More...

Public Member Functions | |
| String | toString () |
| Describe cómo debe aparecer como texto la lista de errores semánticos. | |
Package Functions | |
| SemanticErrors () | |
| Constructor. | |
| void | add_IdentAlreadyDeclared (CL_AST ast) |
Añade el error identAlreadyDeclared. | |
| void | add_IdentIsNotDeclared (CL_AST ast) |
Añade el error identIsNotDeclared. | |
| void | add_IncompatibleAssignment (CL_AST ast) |
Añade el error incompatibleAssignment. | |
| void | add_NonReferenceableLeftAssigment (CL_AST ast) |
Añade el error nonReferenceableLeftAssigment. | |
| void | add_IncompatibleOperation (CL_AST ast) |
Añade el error incompatibleOperation. | |
| void | add_FieldAlreadyDefined (CL_AST ast) |
Añade el error fieldAlreadyDefined. | |
| void | add_FieldIsNotDefined (CL_AST ast) |
Añade el error fieldIsNotDefined. | |
| void | add_BooleanExpressionRequired (CL_AST ast) |
Añade el error booleanExpressionRequired. | |
| void | add_ReadWriteRequireBasic (CL_AST ast) |
Añade el error readWriteRequireBasic. | |
| void | add_ReferenciableExpressionRequired (CL_AST ast) |
Añade el error referenciableExpressionRequired. | |
| void | add_IntegerIndexRequired (CL_AST ast) |
Añade el error integerIndexRequired. | |
| void | add_IdentIsNotProcedure (CL_AST ast) |
Añade el error identIsNotProcedure. | |
| void | add_IdentIsNotFunction (CL_AST ast) |
Añade el error identIsNotFunction. | |
| void | add_IncompatibleParameter (CL_AST ast, int n) |
Añade el error incompatibleParameter. | |
| void | add_NonReferenceableParameter (CL_AST ast, int n) |
Añade el error nonReferenceableParameter. | |
| void | add_IncorrectNumberOfParameters (CL_AST ast) |
Añade el error incorrectNumberOfParameters. | |
| void | add_IncompatibleReturnExpression (CL_AST ast) |
Añade el error incompatibleReturnExpression. | |
| int | getNumberOfSemanticErrors () |
| Obtiene el número de errores semánticos. | |
Private Attributes | |
| List< SemanticError > | errors |
| La lista de errores semánticos. | |
Lista de los errores semánticos detectados.
Esta clase define un conjunto de métodos públicos para añadir errores a la lista. Define un método para cada uno de los 17 diferentes errores semánticos (17 códigos de error) que puede detectar el TypeCheck
Definition at line 253 of file SemanticErrors.java.
| SemanticErrors.SemanticErrors | ( | ) | [package] |
Constructor.
Construye una lista de errores vacía
Definition at line 261 of file SemanticErrors.java.
| void SemanticErrors.add_BooleanExpressionRequired | ( | CL_AST | ast | ) | [package] |
Añade el error booleanExpressionRequired.
| [in] | ast | nodo del AST del que obtener la localización y el texto de la instrucción |
Definition at line 331 of file SemanticErrors.java.
| void SemanticErrors.add_FieldAlreadyDefined | ( | CL_AST | ast | ) | [package] |
Añade el error fieldAlreadyDefined.
| [in] | ast | nodo del AST del que obtener la localización y el nombre del campo |
Definition at line 313 of file SemanticErrors.java.
| void SemanticErrors.add_FieldIsNotDefined | ( | CL_AST | ast | ) | [package] |
Añade el error fieldIsNotDefined.
| [in] | ast | nodo del AST del que obtener la localización del acceso a struct y el nombre del campo |
Definition at line 322 of file SemanticErrors.java.
| void SemanticErrors.add_IdentAlreadyDeclared | ( | CL_AST | ast | ) | [package] |
Añade el error identAlreadyDeclared.
| [in] | ast | nodo del AST del que obtener la localización y el nombre del identificador |
Definition at line 270 of file SemanticErrors.java.
| void SemanticErrors.add_IdentIsNotDeclared | ( | CL_AST | ast | ) | [package] |
Añade el error identIsNotDeclared.
| [in] | ast | nodo del AST del que obtener la localización y el nombre del identificador |
Definition at line 279 of file SemanticErrors.java.
| void SemanticErrors.add_IdentIsNotFunction | ( | CL_AST | ast | ) | [package] |
Añade el error identIsNotFunction.
| [in] | ast | nodo del AST del que obtener la localización y el nombre del identificador |
Definition at line 375 of file SemanticErrors.java.
| void SemanticErrors.add_IdentIsNotProcedure | ( | CL_AST | ast | ) | [package] |
Añade el error identIsNotProcedure.
| [in] | ast | nodo del AST del que obtener la localización y el nombre del identificador |
Definition at line 366 of file SemanticErrors.java.
| void SemanticErrors.add_IncompatibleAssignment | ( | CL_AST | ast | ) | [package] |
Añade el error incompatibleAssignment.
| [in] | ast | nodo del AST del que obtener la localización de la asignación (operador := ) |
Definition at line 288 of file SemanticErrors.java.
| void SemanticErrors.add_IncompatibleOperation | ( | CL_AST | ast | ) | [package] |
Añade el error incompatibleOperation.
| [in] | ast | nodo del AST del que obtener la localización y el texto del operador |
Definition at line 305 of file SemanticErrors.java.
| void SemanticErrors.add_IncompatibleParameter | ( | CL_AST | ast, |
| int | n | ||
| ) | [package] |
Añade el error incompatibleParameter.
| [in] | ast | nodo del AST del que obtener la localización de la expresión |
| [in] | n | número del parámetro incorrecto |
Definition at line 384 of file SemanticErrors.java.
| void SemanticErrors.add_IncompatibleReturnExpression | ( | CL_AST | ast | ) | [package] |
Añade el error incompatibleReturnExpression.
| [in] | ast | nodo del AST del que obtener la localización de la expresión de retorno |
Definition at line 413 of file SemanticErrors.java.
| void SemanticErrors.add_IncorrectNumberOfParameters | ( | CL_AST | ast | ) | [package] |
Añade el error incorrectNumberOfParameters.
La llamada se localiza en la posición del token paréntesis izquierdo dentro del texto del programa.
| [in] | ast | nodo del AST del que obtener la localización de la llamada. Debe ser el nodo ProcCall o FuncCall |
Definition at line 404 of file SemanticErrors.java.
| void SemanticErrors.add_IntegerIndexRequired | ( | CL_AST | ast | ) | [package] |
Añade el error integerIndexRequired.
| [in] | ast | nodo del AST del que obtener la localización de la expresión |
Definition at line 357 of file SemanticErrors.java.
| void SemanticErrors.add_NonReferenceableLeftAssigment | ( | CL_AST | ast | ) | [package] |
Añade el error nonReferenceableLeftAssigment.
| [in] | ast | nodo del AST del que obtener la localización de la expresión lhs |
Definition at line 297 of file SemanticErrors.java.
| void SemanticErrors.add_NonReferenceableParameter | ( | CL_AST | ast, |
| int | n | ||
| ) | [package] |
Añade el error nonReferenceableParameter.
| [in] | ast | nodo del AST del que obtener la localización de la expresión |
| [in] | n | número del parámetro incorrecto |
Definition at line 393 of file SemanticErrors.java.
| void SemanticErrors.add_ReadWriteRequireBasic | ( | CL_AST | ast | ) | [package] |
Añade el error readWriteRequireBasic.
| [in] | ast | nodo del AST del que obtener la localización y el texto de la instrucción |
Definition at line 340 of file SemanticErrors.java.
| void SemanticErrors.add_ReferenciableExpressionRequired | ( | CL_AST | ast | ) | [package] |
Añade el error referenciableExpressionRequired.
| [in] | ast | nodo del AST del que obtener la localización y el texto de la instrucción |
Definition at line 349 of file SemanticErrors.java.
| int SemanticErrors.getNumberOfSemanticErrors | ( | ) | [package] |
Obtiene el número de errores semánticos.
Definition at line 420 of file SemanticErrors.java.
| String SemanticErrors.toString | ( | ) |
Describe cómo debe aparecer como texto la lista de errores semánticos.
En primer lugar la lista se ordena con Collections.sort, que utiliza el método SemanticError.comparesTo, y luego cada error es convertido en string y escrito en una línea separada
Definition at line 433 of file SemanticErrors.java.

List<SemanticError> SemanticErrors.errors [private] |
La lista de errores semánticos.
Definition at line 256 of file SemanticErrors.java.