コード例 #1
0
        public void analizaCodigo()
        {
            dgvTokens.Rows.Clear();
            dgvListaDeErrores.Rows.Clear();

            int n = 0, errores = 0;
            int i = 0;
            int j = 0;

            foreach (var tk in csLexer.GetTokens(txtCodigo.Text))
            {
                if (tk.Name == "ERROR")
                {
                    errores++;
                    dgvListaDeErrores.Rows.Insert(j, tk.Name, tk.Lexema, tk.Linea);
                    //  txtCodigo.ForeColor = Color.Red;
                    j++;
                }
                else
                if (tk.Name == "IDENTIFICADOR")
                {
                    txtCodigo.ForeColor = Color.White;
                    if (palabrasReservadas.Contains(tk.Lexema))
                    {
                        tk.Name = "RESERVADO";
                        //  txtCodigo.ForeColor = Color.White;
                    }
                }

                if (!(tk.Name == "ERROR"))
                {
                    dgvTokens.Rows.Insert(i, tk.Name, tk.Lexema, tk.Linea);
                    i++;
                }

                n++;
            }

            tokens.Text   = n.ToString();
            lblerror.Text = errores.ToString();

            bool resultado = Sintactico.analizar(txtCodigo.Text);

            if (resultado)
            {
                if (dgvListaDeErrores.Rows.Count > 0)
                {
                    txtCodigo.ForeColor = Color.White;
                }
                else
                {
                    txtCodigo.ForeColor = Color.Red;
                }
            }
            else
            {
                txtCodigo.ForeColor = Color.Red;
            }
        }
コード例 #2
0
        private void bunifuFlatButton7_Click_1(object sender, EventArgs e)
        {
            ParseTreeNode resultado = Sintactico.analizarArbol(txtCodigo.Text);

            if (resultado != null)
            {
                pictureBox7.Image = Sintactico.getImage(resultado);
            }
        }
コード例 #3
0
        private void ArbolGraficado_Load(object sender, EventArgs e)
        {
            Dashboard     dh        = new Dashboard();
            ParseTreeNode resultado = Sintactico.analizarArbol(dh.txtCodigo.Text);

            if (resultado != null)
            {
                pictureBox1.Image = Sintactico.getImage(resultado);
            }
        }
コード例 #4
0
        public ArbolGraficado()
        {
            InitializeComponent();
            Dashboard     dh        = new Dashboard();
            ParseTreeNode resultado = Sintactico.analizarArbol(dh.txtCodigo.Text);

            if (resultado != null)
            {
                pictureBox1.Image = Sintactico.getImage(resultado);
            }
        }