Traductor e intérprete del lenguaje CL 1.23
SemanticErrors Class Reference

Lista de los errores semánticos detectados. More...

Collaboration diagram for SemanticErrors:

List of all members.

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< SemanticErrorerrors
 La lista de errores semánticos.

Detailed Description

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

See also:
SemanticError, TypeCheck
Author:
José Miguel Rivero Almeida

Definition at line 253 of file SemanticErrors.java.


Constructor & Destructor Documentation

SemanticErrors.SemanticErrors ( ) [package]

Constructor.

Construye una lista de errores vacía

Definition at line 261 of file SemanticErrors.java.


Member Function Documentation

void SemanticErrors.add_BooleanExpressionRequired ( CL_AST  ast) [package]

Añade el error booleanExpressionRequired.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo del AST del que obtener la localización de la expresión
[in]nnú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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo del AST del que obtener la localización de la expresión
[in]nnú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.

Parameters:
[in]astnodo 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.

Parameters:
[in]astnodo 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.

Returns:
el tamaño de la lista de errores

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

Returns:
el texto con la lista de errores. Si no hay ninguno se devuelve el string vacío

Definition at line 433 of file SemanticErrors.java.

Here is the caller graph for this function:


Member Data Documentation

La lista de errores semánticos.

Definition at line 256 of file SemanticErrors.java.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Enumerations