예제 #1
0
        private void txtArchivo_TextChanged(object sender, EventArgs e)
        {
            this.CheckKeyword("TABLA", Color.Purple, 0);
            this.CheckKeyword("INSERTAR", Color.Purple, 0);
            this.CheckKeyword("ELIMINAR", Color.Purple, 0);
            this.CheckKeyword("MODIFICAR", Color.Purple, 0);

            this.CheckKeyword(">", Color.Red, 0);
            this.CheckKeyword("<", Color.Red, 0);
            this.CheckKeyword(">=", Color.Red, 0);
            this.CheckKeyword("<=", Color.Red, 0);
            this.CheckKeyword("=", Color.Red, 0);
            this.CheckKeyword("!=", Color.Red, 0);

            //this.CheckKeyword("0", Color.Blue, 0);


            for (int i = 0; i < Analizadores.Scanner.listaTokens.Count; i++)
            {
                Objeto.Token tok      = (Objeto.Token)Analizadores.Scanner.listaTokens[i];
                String       tipoLex  = tok.getTipo();
                int          numToken = tok.getNumToken();
                switch (numToken)
                {
                case 15:
                    this.CheckKeyword(tok.getLexema(), Color.Orange, 0);
                    break;

                case 12:
                    this.CheckKeyword(tok.getLexema(), Color.Blue, 0);
                    break;

                case 14:
                    this.CheckKeyword(tok.getLexema(), Color.Blue, 0);
                    break;

                case 17:
                    this.CheckKeyword(tok.getLexema(), Color.Green, 0);
                    break;

                case 13:
                    this.CheckKeyword(tok.getLexema(), Color.Gray, 0);
                    break;

                case 16:
                    this.CheckKeyword(tok.getLexema(), Color.Gray, 0);
                    break;

                case 18:
                    this.CheckKeyword(tok.getLexema(), Color.Brown, 0);
                    break;

                default:
                    break;
                }
            }
        }
예제 #2
0
        private void mostrarTokensToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // hacer el html y mostarlo
            StreamWriter ofile;

            ofile = File.CreateText("./Tokens.html");
            ofile.WriteLine("<html>");
            ofile.WriteLine("<head>");
            ofile.WriteLine("<style>");
            ofile.WriteLine("table {");
            ofile.WriteLine("width:50%;");
            ofile.WriteLine("}");
            ofile.WriteLine("table, th, td {");
            ofile.WriteLine("border: 1px solid black;");
            ofile.WriteLine("border-collapse: collapse;");
            ofile.WriteLine("}");
            ofile.WriteLine("th, td {");
            ofile.WriteLine("padding: 5px;");
            ofile.WriteLine("text-align: left;");
            ofile.WriteLine("table#t01 tr:nth-child(even) {");
            ofile.WriteLine(" background-color: #eee;");
            ofile.WriteLine("}");
            ofile.WriteLine("table#t01 tr:nth-child(odd) {");
            ofile.WriteLine("background-color:#fff;");
            ofile.WriteLine("}");
            ofile.WriteLine("table#t01 th {");
            ofile.WriteLine("background-color: black;");
            ofile.WriteLine("color: white;");
            ofile.WriteLine("}");
            ofile.WriteLine("");
            ofile.WriteLine("");
            ofile.WriteLine("");
            ofile.WriteLine("");

            ofile.WriteLine("</style>");
            ofile.WriteLine("</head>");

            ofile.WriteLine("<body bgcolor= '#00CCFF'>");
            ofile.WriteLine("<center>");
            ofile.WriteLine("<h1>Tokens:</h1>");
            ofile.WriteLine("<table>");
            ofile.WriteLine("<tr>");
            ofile.WriteLine("<th>Token</th> ");
            ofile.WriteLine("<th>Tipo</th> ");
            ofile.WriteLine("<th>Lexema</th>");
            ofile.WriteLine("<th>Linea</th>");
            ofile.WriteLine("<th>Columna</th>");
            ofile.WriteLine("</tr>");

            // datos

            for (int i = 0; i < Analizadores.Scanner.listaTokens.Count; i++)
            {
                Objeto.Token t = (Objeto.Token)Analizadores.Scanner.listaTokens[i];

                ofile.WriteLine("<tr>");

                ofile.WriteLine("<td>" + t.getNumToken() + "</td>");
                ofile.WriteLine("<td>" + t.getTipo() + "</td>");
                ofile.WriteLine("<td>" + t.getLexema() + "</td>");
                ofile.WriteLine("<td>" + t.getLinea() + "</td>");
                ofile.WriteLine("<td>" + t.getColumna() + "</td>");

                ofile.WriteLine(" </tr>");
            }


            // fin datos

            ofile.WriteLine("</table>");
            ofile.WriteLine("</center>");
            ofile.WriteLine("<h2 >" + "Cantidad de Tokens: " + Analizadores.Scanner.listaTokens.Count + " </h2>");

            ofile.WriteLine("</body>");
            ofile.WriteLine("</html>");
            ofile.Close();

            //Process.Start(".//Tokens.html");
            String pathTokens = Path.Combine(Application.StartupPath, "Tokens.html");

            Process.Start(pathTokens);
        }