Exemplo n.º 1
0
    private void motarEstrutura(Bloco est)
    {
        Debug.Log(sent);

        /*
         * VERIFICA QUAL E O TIPO DE BLOCO
         */
        if (est.nomedoBloco().Equals("enquanto"))
        {
            sent += est.nomedoBloco() + "(){";

            Debug.Log(est.meuPainel().GetComponentsInChildren <Bloco>().Length);
            foreach (Bloco obj in (est.meuPainel().GetComponentsInChildren <Bloco>()))
            {
                Debug.Log(obj.nomedoBloco());
                ordenador.Add(obj);
            }

            if (ordenador.Count > 0)
            {
                for (int i = ordenador.Count - 1; 0 <= i; i--)
                {
                    aVerificar.Add((Bloco)ordenador[i]);
                }
                ordenador.Clear();
            }
        }
        else if (est.nomedoBloco().Equals("se"))
        {
            sent += est.nomedoBloco();

            foreach (Bloco obj in (est.meuPainel().GetComponentsInChildren <Bloco>()))
            {
                ordenador.Add(obj);
            }

            if (ordenador.Count > 0)
            {
                for (int i = ordenador.Count - 1; 0 <= i; i--)
                {
                    aVerificar.Add((Bloco)ordenador[i]);
                }
                ordenador.Clear();
            }
            ;
            est.setBlocoVerificado(true);
        }
        else if (est.nomedoBloco().Equals("virgula"))
        {
            sent += "}";
            aVerificar.RemoveAt(aVerificar.Count - 1);
        }



        if (aVerificar.Count > 0)
        {
            bl = (Bloco)aVerificar[aVerificar.Count - 1];

            aVerificar.RemoveAt(aVerificar.Count - 1);
            if (!bl.nomedoBloco().Equals("var") && !bl.nomedoBloco().Equals("virgula"))
            {
                aVerificar.Add(blocoVirgular);//Adicionando um bloco quer dizer fecha virgular do enquanto;
            }
            motarEstrutura(bl);
        }
        else
        {
            Debug.Log("Teste=" + sent);
            aVerificar.Clear();
        }
    }