示例#1
0
        /// <summary>
        /// Especifica la función a realizar al 'Analizar'
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnStart_Click(object sender, System.EventArgs e)
        {
            this.txtbox.Enabled = false;
            //Instancia un Scanner
            Scanner scanner = new Scanner();
            //Aloja una referencia a la cola retornada
            Queue <Token> temp = scanner.Analizar(this.txtbox.Text);
            //Procede a realizar el análisis sintáctico
            Parser parser = new Parser(temp, this.txtbox);
            bool   temp01 = parser.Run();

            this.errorsintactico = parser.err;
            this.token           = new Queue <Token>();
            this.errorlexico     = new Queue <Token>();
            ///Procede a generar el grafo de carpeta
            Files.Files file = new Files.Files();
            file.DepurarTokens(temp, this.errorlexico, this.token);
            if (temp01)
            {
                file.HacerArbol(parser.Graph);
            }
            //Guarda la tabla de tokens y de errores si hubiere
            this.txtbox.Enabled = true;
        }