Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

parsero.h

Ir a la documentación de este archivo.
00001 //===========================================================================
00002 //= parsero.h                                                 Julio de 1998 =
00003 //=-------------------------------------------------------------------------=
00004 //= Analizador sintactico de proposito general en el alcance del proyecto   =
00005 //=-------------------------------------------------------------------------=
00006 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO   =
00007 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN   =
00008 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES,     = 
00009 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO,        =
00010 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO,  =
00011 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA   =
00012 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES       =
00013 //= ("ACTIVIDADES DE ALGO RIESGO").                                         =
00014 //=-------------------------------------------------------------------------=
00015 //= Autor original: Oscar J. Chavarro G.  A.K.A. JEDILINK. Copyright (c),   =
00016 //= 1997 - 2003, oscarchavarro@hotmail.com                                  =
00017 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia   =
00018 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la  =
00019 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. =
00020 //===========================================================================
00021 
00022 #ifndef __PARSERO__
00023 #define __PARSERO__
00024 
00025 #include "jed_defs.h"  // Incluir antes que nada, en ese modulo se definen 
00026                        // aspectos importantes para la portabilidad del sistema
00027 
00028 #include <stdio.h>
00029 #include "lista.h"
00030 
00031 class PARSERO {
00032   private:
00033     int index_fd;
00034     LISTA<FILE *> fds;
00035     int nivel_comentario;
00036     int nivel_bloque;
00037     BOOLEAN primer_pasada;
00038     char *Remanente;
00039 
00040     BOOLEAN preprocese_linea(char *linea);
00041     char * procese_linea(char *linea);
00042     void colapse_espacios(char *linea);
00043     BOOLEAN leer_linea(void);
00044   public:
00045     PARSERO();
00046     ~PARSERO();
00047     BOOLEAN init(char *nombre_archivo);
00048     int siguiente_segmento(LISTA<char*> **LIneas);
00049 };
00050 
00051 enum ENUM_TIPOS_DE_TOKEN {
00052   TK_DESCONOCIDO = 0,
00053   TK_IDENTIFICADOR,
00054   TK_CADENA,
00055   TK_NUMERO,
00056   TK_VECTOR_INICIO,
00057   TK_VECTOR_FIN,
00058   TK_ABRIR,
00059   TK_CERRAR,
00060   TK_ERROR_SINTACTICO,
00061   TK_FIN
00062 };
00063 
00064 class TOKENIZADOR
00065 {
00066   private:
00067     char separadores[10];
00068     LISTA<char *> *Lineas;
00069     BOOLEAN empiezo_con_cadena(char *cad);
00070   public:
00071     TOKENIZADOR();
00072     void cambiar_lista(LISTA<char *> *lst);
00073     int siguiente_token(char *cad);
00074 };
00075 
00076 extern void des_comille(char *cad);
00077 extern void simplifique_real(char *cad);
00078 
00079 #endif // __PARSERO__
00080 
00081 //===========================================================================
00082 //= EOF                                                                     =
00083 //===========================================================================
00084 

Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.