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; } } }
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); }