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

Errores semánticos detectables en el TypeCheck. More...

List of all members.

Public Member Functions

int compareTo (SemanticError error)
 Compara dos errores semánticos.
String toString ()
 Describe cómo debe visualizarse un error semántico.

Package Functions

 SemanticError (SemErrorCodes code, CL_AST ast)
 Constructor más habitual.
 SemanticError (SemErrorCodes code, CL_AST ast, int n)
 Un segundo constructor.
boolean equals (SemanticError error)
 Son iguales dos errores semánticos?.

Private Attributes

int line
 Número de línia donde se detectó el error.
int charPositionInLine
 Posición dentro la línia (columna) en la que se detectó el error.
SemErrorCodes errorCode
 Código de error: un valor en el tipo enumerado SemErrorCodes.
String text
 Atributo adicional para describir y localizar mejor los errores.
int num
 Atributo adicional para describir y localizar mejor algunos errores.

Detailed Description

Errores semánticos detectables en el TypeCheck.

Define los atributos de un error semántico, cómo emitir/visualizar un error, y cómo comparar dos errores de cara a ordenar, utlizando Collections.sort, la lista de errores semánticos encontrados por el TypeCheck.

De cara poder comparar dos errores semánticos SemanticError implementa la interficie Comparable<T>, definiendo el método compareTo y obteniendo un orden total para los errores.

See also:
TypeCheck
Author:
José Miguel Rivero Almeida

Definition at line 85 of file SemanticErrors.java.


Constructor & Destructor Documentation

SemanticError.SemanticError ( SemErrorCodes  code,
CL_AST  ast 
) [package]

Constructor más habitual.

Parameters:
[in]codecódigo que identifica el error
[in]astnodo del AST que aporta información del error

Definition at line 120 of file SemanticErrors.java.

SemanticError.SemanticError ( SemErrorCodes  code,
CL_AST  ast,
int  n 
) [package]

Un segundo constructor.

Parameters:
[in]codecódigo que identifica el error
[in]astnodo del AST que aporta información del error
[in]nusado para establecer el atributo num

Definition at line 133 of file SemanticErrors.java.


Member Function Documentation

int SemanticError.compareTo ( SemanticError  error)

Compara dos errores semánticos.

En primer lugar compara las localizaciones (línea y columna) y luego los códigos. De esta forma los errores pueden ser ordenados básicamente en orden de aparición

Parameters:
[in]errorel error con el que es comparado el parámetro implícito
Returns:
-1, 0 o +1 de acuerdo con la comparación

Definition at line 150 of file SemanticErrors.java.

boolean SemanticError.equals ( SemanticError  error) [package]

Son iguales dos errores semánticos?.

Deben ser iguales tanto la localización (línea y columna) como el código de los errres

Parameters:
[in]errorel error con el que es comparado el parámetro implícito
Returns:
cierto ssi los errores son iguales

Definition at line 167 of file SemanticErrors.java.

String SemanticError.toString ( )

Describe cómo debe visualizarse un error semántico.

El string comienza con la localización del error, seguido del texto que lo describe que depende del códgo de error. Algunos errores utilizan los atributos adicionales text y num para describir o localizar mejor el error.

Returns:
el string que localiza y describe al error

Definition at line 182 of file SemanticErrors.java.


Member Data Documentation

Posición dentro la línia (columna) en la que se detectó el error.

Definition at line 94 of file SemanticErrors.java.

Código de error: un valor en el tipo enumerado SemErrorCodes.

See also:
SemErrorCodes

Definition at line 100 of file SemanticErrors.java.

int SemanticError.line [private]

Número de línia donde se detectó el error.

Definition at line 89 of file SemanticErrors.java.

int SemanticError.num [private]

Atributo adicional para describir y localizar mejor algunos errores.

Definition at line 110 of file SemanticErrors.java.

String SemanticError.text [private]

Atributo adicional para describir y localizar mejor los errores.

Definition at line 105 of file SemanticErrors.java.


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