Esempio n. 1
0
        //Función que agrega constantes a la tabla de constantes
        public Variable addConstant(Variable constante)
        {
            try {
                //Se agrega la constante al diccionario de constantes
                constantsDiccionary.Add(constante.getName(), constante);

                //Se asigna al objeto que es una constante
                constante.setConstant();

                //Se le asigna una dirección constante
                assignGlobalAddress(constante);

                //Se le asigna el valor de la constante
                constante.setValue(constante.getName());

                //Genera un cu{adruplo de asignación para que guarde el valor de la constante en memoria
                codeGenerator.createConstant(constante);
            }
            catch (ArgumentException) {
                //Si hubo un error (la constante ya estaba ahí) se regresa el objeto de constante
                return(constantsDiccionary[constante.getName()]);
            }
            //Se regresa la constante ya con sus campos llenos
            return(constante);
        }