#include <CAnaLexico.h>
Public Member Functions | |
| CAnaLexico (char *Archivo) | |
| Constructor y Destructor. | |
| ~CAnaLexico () | |
| void | AddPalabraReservada (string pr) |
| Métodos SET/ADD. | |
| const SToken & | GetSiguienteToken () |
| Métodos Get. | |
Static Public Attributes | |
| static const int | kToken_Error = -1 |
| static const int | kToken_Cadena = -2 |
| static const int | kToken_Entero = -3 |
| static const int | kToken_Double = -4 |
| static const int | kToken_Coma = -5 |
| static const int | kToken_ParentesisAbierto = -6 |
| static const int | kToken_ParentesisCerrado = -7 |
| static const int | kToken_CorcheteAbierto = -8 |
| static const int | kToken_CorcheteCerrado = -9 |
| static const int | kToken_EOF = -10 |
| static const int | kToken_Identificador = -11 |
Private Member Functions | |
| int | GetSiguienteCaracter () |
| void | PutCaracter (int caracter) |
Private Attributes | |
| TTokens | m_vTokens |
| Lista de tokens que el analizador debe reconocer. | |
| SToken | m_Token |
| Último token procesado. | |
| ifstream | m_Archivo |
| Stream del archivo de entrada a analizar. | |
| string | m_sNombreArchivo |
| Nombre del archivo que se está analizando. | |
| int | m_nUltimaColumna |
| Valor que tenía la columna en el caracter anterior, por si hubiera que reponer. | |
| int | m_nColumna |
| Columna por la que actualmente va el analizador. | |
| int | m_nFila |
| Fila por la que va actualmente el analizador. | |
Static Private Attributes | |
| static const int | kMaxParteEntera = 8 |
| static const int | kMaxParteDecimal = 8 |
| static const int | kMaxLongCadena = 200 |
| static const int | kMaxLongIdentificador = 40 |
Clase que aporta los métodos útiles para realizar el análisis léxico de un fichero de
datos de entrada.
Definition at line 51 of file CAnaLexico.h.
|
|
Constructor y Destructor.
Constructor principal del Analizador Léxico.
Se ocupa de inicializar todos los atributos del analizador léxico, así como de abrir
Definition at line 42 of file CAnaLexico.cpp. References Err_NoSeEncuentraFichero, CSucesos::Error(), m_Archivo, m_nColumna, m_nFila, m_nUltimaColumna, m_sNombreArchivo, m_vTokens, and CSucesos::SetCadenaError(). |
|
|
Destructor del analizador léxico.
Debe asegurarse de que todo queda bien limpio y cerradito. Definition at line 69 of file CAnaLexico.cpp. |
|
|
Métodos SET/ADD.
Definition at line 74 of file CAnaLexico.h. References m_vTokens. |
|
|
Obtener siguiente caracter del stream de entrada
Obtiene el siguiente carácter que haya en el stream de entrada y se ocupa de actualizar
Definition at line 88 of file CAnaLexico.cpp. References Const_Globales::Ancho_Tabulador, g_Constantes, m_Archivo, m_nColumna, m_nFila, and m_nUltimaColumna. Referenced by GetSiguienteToken(). |
|
|
Métodos Get.
Obtener siguiente token de la entrada.
Analiza léxicamente el fichero carácter a carácter y devuelve el siguiente token que haya
Definition at line 132 of file CAnaLexico.cpp. References ALFABETICO, ALFANUMERICO, Err_CadenaMuyLarga, Err_CadenaSinCerrar, Err_CaracterInesperado, Err_IdentificadorMuyLargo, Err_NumeroFueraDeRango, CSucesos::Error(), GetSiguienteCaracter(), kMaxLongCadena, kMaxLongIdentificador, kMaxParteDecimal, kMaxParteEntera, kToken_Cadena, kToken_Coma, kToken_CorcheteAbierto, kToken_CorcheteCerrado, kToken_Double, kToken_Entero, kToken_EOF, kToken_Identificador, kToken_ParentesisAbierto, kToken_ParentesisCerrado, m_nColumna, m_nFila, m_sNombreArchivo, m_Token, m_vTokens, SToken::nColumna, SToken::nFila, SToken::nIndex, NUMERICO, PDECIMAL, PutCaracter(), SEPARADOR, CSucesos::SetCadenaError(), and SToken::sValor. |
|
|
Poner un caracter en la entrada.
Vuelve a colocar un caracter en el stream de entrada para que pueda ser leído
Definition at line 112 of file CAnaLexico.cpp. References Const_Globales::Ancho_Tabulador, g_Constantes, m_Archivo, m_nColumna, m_nFila, and m_nUltimaColumna. Referenced by GetSiguienteToken(). |
|
|
Definition at line 30 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 31 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 29 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
CONSTANTES PRIVADAS Constantes de uso común en el algoritmo Definition at line 28 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 14 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 17 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 20 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 21 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 16 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 15 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 22 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
CONSTANTES PUBLICAS Identificadores especiales de token Definition at line 13 of file CAnaLexico.cpp. |
|
|
Definition at line 23 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 18 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Definition at line 19 of file CAnaLexico.cpp. Referenced by GetSiguienteToken(). |
|
|
Stream del archivo de entrada a analizar.
Definition at line 81 of file CAnaLexico.h. Referenced by CAnaLexico(), GetSiguienteCaracter(), PutCaracter(), and ~CAnaLexico(). |
|
|
Columna por la que actualmente va el analizador.
Definition at line 84 of file CAnaLexico.h. Referenced by CAnaLexico(), GetSiguienteCaracter(), GetSiguienteToken(), and PutCaracter(). |
|
|
Fila por la que va actualmente el analizador.
Definition at line 85 of file CAnaLexico.h. Referenced by CAnaLexico(), GetSiguienteCaracter(), GetSiguienteToken(), and PutCaracter(). |
|
|
Valor que tenía la columna en el caracter anterior, por si hubiera que reponer.
Definition at line 83 of file CAnaLexico.h. Referenced by CAnaLexico(), GetSiguienteCaracter(), and PutCaracter(). |
|
|
Nombre del archivo que se está analizando.
Definition at line 82 of file CAnaLexico.h. Referenced by CAnaLexico(), and GetSiguienteToken(). |
|
|
Último token procesado.
Definition at line 80 of file CAnaLexico.h. Referenced by GetSiguienteToken(). |
|
|
Lista de tokens que el analizador debe reconocer.
Definition at line 79 of file CAnaLexico.h. Referenced by AddPalabraReservada(), CAnaLexico(), GetSiguienteToken(), and ~CAnaLexico(). |
1.4.2