コード例 #1
0
        public void parseVariable(Variable variable)
        {
            if (variable == null || variable.isParsed())
            {
                return;
            }
            //Se obtiene la posición del tipo de dato equivalente del cubo semántico que le dió a la variable el Parser
            int posSemCube = cuboSemantico.getCubePosition(variable.getType());

            variable.setType(posSemCube);   //Se guarda el nuevo valor de su tipo de dato
            variable.setParsed();           //Se indica que ya fue parseada esta variable
        }
コード例 #2
0
        public Variable getTempVar(int type, bool isParsed)
        {
            //Se crea el nombre de la siguente variable temporal
            string tempVarName = "tempVar" + tempCont;



            //Se crea un objeto tipo Variable de la variable temporal
            Variable tempVar = new Variable(tempVarName, type);

            if (!isParsed)
            {
                codeGenerator.parseVariable(tempVar);
            }
            else
            {
                tempVar.setParsed();
            }
            //Se le asigna una dirección de memoria a la variable temporal
            assignlocalAddress(tempVar);

            tempCont++;
            return(tempVar);
        }