示例#1
0
 private void button1_Click(object sender, EventArgs e)
 {
     rtxterrores.Text = " ";
     rtxterrores.Text = Sintactico.analizar(tbxCode.Text) + "";
     IngresarVariables();
     ErroresVariables();
     ValidarValores();
     ImprimirValor();
 }
示例#2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Introduzca la direccion del archivo: ");
            String     x   = Console.ReadLine();
            Lexico     lex = new Lexico(x);
            Sintactico sin = new Sintactico(lex);

            sin.imprimir();
            Console.ReadLine();
        } //Main
示例#3
0
        private void Arbol_Load(object sender, EventArgs e)
        {
            ParseTreeNode resultado = Sintactico.AnalizarDecimal(cadenaExpresion);

            if (resultado != null)
            {
                label1.Text       = "correcta";
                pictureBox1.Image = Sintactico.getImage(resultado);
                Recorrido.resolverOperacionDecimal(resultado);
            }
            else
            {
                label1.Text = "incorrecta";
            }
        }
示例#4
0
        public void ValidarValores()
        {
            erroresSemantica = new List <string>();
            ParseTreeNode resultado;

            if (rtxterrores.Text == "Análisis exitoso!!")
            {
                foreach (Dato d in listaDatos)
                {
                    if (d.Tipo.Equals("int"))
                    {
                        resultado = Sintactico.AnalizarEnteros(d.Valor);
                        if (resultado != null)
                        {
                            d.Valor = Recorrido.resolverOperacionEntero(resultado).ToString();
                        }
                        else
                        {
                            erroresSemantica.Add(d.Identificador);
                        }
                    }

                    if (d.Tipo.Equals("float") || d.Tipo.Equals("double"))
                    {
                        resultado = Sintactico.AnalizarDecimal(d.Valor);
                        if (resultado != null)
                        {
                            d.Valor = Recorrido.resolverOperacionDecimal(resultado).ToString();
                        }
                        else
                        {
                            erroresSemantica.Add(d.Identificador);
                        }
                    }
                }
            }
        }