예제 #1
0
        private Expresion ParseMonto()
        {
            Monedas tipoActual = Monedas.obtenerTipoDeMonto(new Hilera(lexer.tokenActual.Valor));

            Hilera unidadMonetaria;
            double cantidad;
            string simbolo = tipoActual.nombre();

            unidadMonetaria = new Hilera(simbolo);
            cantidad        = double.Parse(lexer.tokenActual.Valor.Substring(simbolo.Length));

            Expresion resultado = new LiteralMoneda(ParserValidation.validacionMoneda(unidadMonetaria, cantidad, lexer));

            lexer.Aceptar();
            return(resultado);
        }
예제 #2
0
        public static Moneda validacionMoneda(Hilera unidadMonetaria, double cantidad, Lexer lexer)
        {
            Moneda moneda;
            bool   esUnaMonedaNuestra = Monedas.contieneLaMoneda(unidadMonetaria.Valor);

            if (esUnaMonedaNuestra)
            {
                Monedas tipo = Monedas.valueOf(unidadMonetaria.Valor.ToUpper());
                moneda = new Denominacion(new Decimal(cantidad), tipo);
            }
            else
            {
                throw new LanguageException(string.Format("Se esta tratando de ingresar un monto en {0} economia, la cual el sistema no soporta.", unidadMonetaria));
            }
            return(moneda);
        }
 public ArchivoDelFileServer(Hilera nombreGenerado, Hilera nombreOriginal, Numero longitud)
 {
     base.setAtributoFijo(NOMBREGENERADO, nombreGenerado);
     base.setAtributoFijo(NOMBREORIGINAL, nombreOriginal);
     base.setAtributoFijo(LONGITUD, longitud);
 }