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.