home *** CD-ROM | disk | FTP | other *** search
/ Solo Programadores 22 / SOLO_22.iso / disk22 / compila / lexico.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-16  |  2.1 KB  |  55 lines

  1. //-------------------------------------------------------------------------//
  2. //      Analizador léxico de LETRA, Solo Programadores (Enero 1996)        //
  3. //-------------------------------------------------------------------------//
  4.  
  5. #define long_linea 1024         // Longitud máxima de las líneas del fuente
  6.  
  7. //-------------------------------------------------------------------------//
  8. //    Prototipos de funciones                           //
  9. //-------------------------------------------------------------------------//
  10.  
  11. void inicializacion_lexica (char*);
  12. void finalizacion_lexica (void);
  13. void obtener_pieza (void);
  14.  
  15. //-------------------------------------------------------------------------//
  16. //      Definición de las piezas sintácticas del lenguaje Letra            //
  17. //-------------------------------------------------------------------------//
  18.  
  19. enum t_piezas {        // Diferentes piezas sintácticas del lenguaje
  20.  
  21.     // Palabras reservadas del lenguaje
  22.  
  23.     p_datos,p_cierto,p_falso,p_si,p_sino,p_fin,p_mientras,
  24.     p_repetir,p_hasta,p_ir,p_hacer,p_volver,p_y,p_o,p_no,
  25.  
  26.     // Nombres de las funciones especiales
  27.  
  28.     p_borrar_pantalla,p_escribir,p_leer_tecla,p_mover_cursor,
  29.     p_color,p_aleatorio,p_esperar,p_leer_caracter,p_poner_caracter,
  30.  
  31.     // Símbolos del lenguaje
  32.  
  33.     p_distinto,p_igual,p_mayor,p_mayor_igual,p_menor,p_menor_igual,
  34.     p_mas,p_menos,p_multiplicar,p_dividir,p_modulo,p_abrir_corchete,
  35.     p_cerrar_corchete,p_abrir_parentesis,p_cerrar_parentesis,
  36.     p_dos_puntos,p_coma,
  37.  
  38.     // Piezas especiales
  39.  
  40.     p_identificador,p_etiqueta,p_entero,p_literal,p_eof,p_error};
  41.  
  42. //-------------------------------------------------------------------------//
  43. //      Variables                                                          //
  44. //-------------------------------------------------------------------------//
  45.  
  46. extern char * piezas[];      // Definiciones de las diferentes piezas
  47.  
  48. extern long linea;           // Número de línea que está siendo analizada
  49.  
  50. extern int pieza_actual;     // Ultima pieza sintáctica analizada
  51.  
  52. extern char nombre[];        // Para el paso de información adicional
  53.  
  54. extern int error_lexico;     // Indica el tipo de error lexico producido
  55.