/*--------------------------------------------------------------------
 * FICHERO:  CarEsM.c
 * OBJETIVO: Definir las funciones Car_EsMinus() y Car_EsMayus()
 * AUTOR:    Pedro Reina
 * FECHA:    J.13.7.1995
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Ficheros de cabecera
 *------------------------------------------------------------------*/

#include "Caracter.h"

/*--------------------------------------------------------------------
 * Tabla de informacin para cada carcter
 *   Explicacin de cada bit de los datos de la tabla:
 *   Bit 0 -> Indica si el caracter es una letra minscula
 *   Bit 1 -> Indica si el caracter es una letra mayscula
 *------------------------------------------------------------------*/

#ifdef OLIMPO_PC
caracter Car_Info[256] = {
/*          0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15 */
/*   0 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/*  16 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/*  32 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/*  48 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/*  64 */   0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
/*  80 */   2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,
/*  96 */   0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
/* 112 */   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,
/* 128 */   2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  2,  2,
/* 144 */   2,  1,  2,  1,  1,  1,  1,  1,  1,  2,  2,  0,  0,  0,  0,  0,
/* 160 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/* 176 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/* 192 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/* 208 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/* 224 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/* 240 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0 };
#endif

#ifdef OLIMPO_QL
caracter Car_Info[256] = {
/*          0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15 */
/*   0 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/*  16 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/*  32 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/*  48 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/*  64 */   0,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
/*  80 */   2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  0,  0,  0,  0,  0,
/*  96 */   0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
/* 112 */   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,
/* 128 */   1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,
/* 144 */   1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,
/* 160 */   2,  2,  2,  2,  2,  2,  0,  2,  2,  2,  2,  2,  0,  0,  0,  0,
/* 176 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/* 192 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/* 208 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/* 224 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
/* 240 */   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0 };
#endif

/*--------------------------------------------------------------------
 * Definicin de funciones
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Car_EsMinus()
 * OBJETIVO: Decir si un carcter es una letra minscula
 * ENTRADAS: Un carcter
 * SALIDAS:  Lgica, que indica si el carcter es una
 *           letra minscula
 * EJEMPLO:  Car_EsMinus ('')
 *------------------------------------------------------------------*/
logico Car_EsMinus (c)
caracter c;
  { return ( (Car_Info[c] & 1) > 0 ); }

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Car_EsMayus()
 * OBJETIVO: Decir si un carcter es una letra mayscula
 * ENTRADAS: Un carcter
 * SALIDAS:  Lgica, que indica si el carcter es una
 *           letra mayscula
 * EJEMPLO:  Car_EsMayus ('')
 *------------------------------------------------------------------*/
logico Car_EsMayus (c)
caracter c;
  { return ( (Car_Info[c] & 2) > 0 ); }
