コード例 #1
0
        public string generarAugus()
        {
            //PRIMITIVOS
            if (this.tipo == TIPO_OPERACION.PRIMITIVO)
            {
                Primitivo primvalor = (Primitivo)this.valor;
                return(primvalor.generarAugus());
            }
            //IDENTIFICADORES
            else if (this.tipo == TIPO_OPERACION.ID)
            {
                Simbolo simbolo = new Simbolo(this.valor.ToString(), this.linea, this.columna);
                return(simbolo.generarAugus());
            }
            //SUMA
            else if (this.tipo == TIPO_OPERACION.SUMA)
            {
                return(this.operadorIzq.generarAugus() + "+" + this.operadorDer.generarAugus());
            }

            //RESTA
            else if (this.tipo == TIPO_OPERACION.RESTA)
            {
                return(this.operadorIzq.generarAugus() + "-" + this.operadorDer.generarAugus());
            }

            //MULTIPLICACION
            else if (this.tipo == TIPO_OPERACION.MULTIPLICACION)
            {
                return(this.operadorIzq.generarAugus() + "*" + this.operadorDer.generarAugus());
            }

            //DIVISION
            else if (this.tipo == TIPO_OPERACION.DIVISION)
            {
                return(this.operadorIzq.generarAugus() + "/" + this.operadorDer.generarAugus());
            }

            //MODULO
            else if (this.tipo == TIPO_OPERACION.MODULO)
            {
                return(this.operadorIzq.generarAugus() + "%" + this.operadorDer.generarAugus());
            }

            //MAYOR QUE
            else if (this.tipo == TIPO_OPERACION.MAYOR_QUE)
            {
                return(this.operadorIzq.generarAugus() + ">" + this.operadorDer.generarAugus());
            }

            //MAYOR IGUAL
            else if (this.tipo == TIPO_OPERACION.MAYOR_IGUA_QUE)
            {
                return(this.operadorIzq.generarAugus() + ">=" + this.operadorDer.generarAugus());
            }

            //MENOR
            else if (this.tipo == TIPO_OPERACION.MENOR_QUE)
            {
                return(this.operadorIzq.generarAugus() + "<" + this.operadorDer.generarAugus());
            }

            //MENOR IGUAL
            else if (this.tipo == TIPO_OPERACION.MENOR_IGUA_QUE)
            {
                return(this.operadorIzq.generarAugus() + "<=" + this.operadorDer.generarAugus());
            }

            //IGUAL
            else if (this.tipo == TIPO_OPERACION.IGUAL_IGUAL)
            {
                return(this.operadorIzq.generarAugus() + "==" + this.operadorDer.generarAugus());
            }

            //DIFERENTE
            else if (this.tipo == TIPO_OPERACION.DIFERENTE_QUE)
            {
                return(this.operadorIzq.generarAugus() + "!=" + this.operadorDer.generarAugus());
            }

            else
            {
                return("");
            }
        }