private void btnBorrar_Click(object sender, EventArgs e) { textBoxCalculadora.Clear(); textBox1.Clear(); dataGridView1.Rows.Clear(); dataGridView1.Columns.Clear(); Analizador.LimpiarErrores(); this.Size = new Size(408, 431); }
private void button1_Click(object sender, EventArgs e) { debuggerConsole.Text = ""; debuggerConsole.AppendText("Iniciando Ejecucion!\n"); reporte.limpiarLista(); Analizador analizador = new Analizador(this.debuggerConsole, Consola, reporte); analizador.analizar(Pascal.Text); debuggerConsole.AppendText("Finalizando Ejecucion"); }
public async Task Analizar() { await Task.Yield(); this.Analizando = true; if (this.Documento.TextLength > 0) { var lineas = this.Documento.Lines.Select(x => new Tuple <string, DocumentLine>(this.Documento.GetText(x), x)).ToList(); //Thread th = new Thread(() => //{ this.Errores.Resultados.Clear(); try { this.Analizador = new AnalizadorLexico(this.Documento, this.Errores); this.Analizador.Analizar(lineas); if (this.Analizador.EsValido) { this.Analizador = new AnalizadorSintactico((AnalizadorLexico)this.Analizador, this.Documento, this.Errores); this.Analizador.Analizar(); if (this.Analizador.EsValido) { } } Application.Current?.Dispatcher?.Invoke(() => { TextMarkerService.RemoveAll(m => true); foreach (var ex in this.Errores.Resultados.Where(x => x.Linea != null && !x.Linea.IsDeleted && x.Linea.LineNumber >= 0)) { if (ex.EsAdvertencia) { ResaltarError(ex.Linea, System.Windows.Media.Colors.Olive); } else { ResaltarError(ex.Linea, System.Windows.Media.Colors.Red); } } }); } catch (Exception) { } this.Analizando = false; //}); //th.SetApartmentState(ApartmentState.STA); //th.Priority = ThreadPriority.Lowest; //th.Start(); } else { this.Analizando = false; } }
private void cargarDatos(Usuario user) { rol.Text += user.rolTxt; nombre.Text = user.nombre; carnet.Text = user.carnet.ToString(); //nacimiento.Text = DateTime.Today.ToString("yyyy-MM-dd"); nacimiento.Text = Analizador.getFecha(user.nacimiento).ToString("yyyy-MM-dd"); correo.Text = user.correo; telefono.Text = user.telefono.ToString(); usuario.Text = user.usuario; }
void MostrarErrores() { //consultar los errores y mostrarlos textBox1.Clear(); var errores = Analizador.ObtenerErrores(); if (errores.Count >= 1) { textBox1.Text = errores[0]; } }
public void Awake() { if (single == null) { single = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } }
private void button2_Click(object sender, EventArgs e) { debuggerConsole.Text = ""; Debug.WriteLine("Iniciando Traduccion!"); debuggerConsole.AppendText("Iniciando Traduccion!\n"); reporte.limpiarLista(); Analizador analizador = new Analizador(this.debuggerConsole, Pascal, reporte); analizador.traducir(CompiPascal.Text); debuggerConsole.AppendText("Finalizando Traduccion!\n"); Debug.WriteLine("Finalizando Traduccion!"); }
private void buttonAnalizar_Click(object sender, System.EventArgs e) { SingletonListas s = SingletonListas.GetInstance(); s.LimpiarListas(); richTextBoxRestult.Clear(); string texto = richTextBoxSource.Text; ParseTreeNode raiz = Analizador.AnalisisLexicoSintactico(texto); if (raiz != null) { Analizador.GenerarImagen(raiz); MessageBox.Show("Arbol Sintáctico Abstracto generado"); Analizador.AnalisisSemantico(raiz); richTextBoxRestult.Text += "*==================================================*\n"; richTextBoxRestult.Text += "*==================================================*\n"; richTextBoxRestult.Text += $"* {System.DateTime.Today}\n"; richTextBoxRestult.Text += "*==================================================*\n"; foreach (Ambito a in s.Ambitos) { foreach (Variable v in a.Variables) { richTextBoxRestult.Text += $"* {v}\n"; } } richTextBoxRestult.Text += "*==================================================*\n"; } else { MessageBox.Show("Arbol Sintáctico Abstracto no generado"); } if (s.Errores.Count > 0) { MessageBox.Show("Se detectaron erorres"); richTextBoxRestult.Text += "*==================================================*\n"; richTextBoxRestult.Text += "*==================================================*\n"; richTextBoxRestult.Text += $"* {System.DateTime.Today}\n"; foreach (Error err in s.Errores) { richTextBoxRestult.Text += $"* {err}\n"; } richTextBoxRestult.Text += "*==================================================*\n"; } }
private void BtnAnalizar_Click(object sender, EventArgs e) { if (tabControl.SelectedTab != null) { if (!getTextBox(null).Text.Equals("")) { limpiarCampos(); generador = new GeneradorArchivo(); analizar = new Analizador(); salidaTokens = new List <Token>(); salidaTokens = analizar.analizar(getTextBox(null).Text, getTextBox(null)); if (!Analizador.lexicError) { html_tokensFile = "tokens.html"; generateImg = "graphic" + contador + ".png"; analizar.imprimirTokens(); generador.generateHTMLTokensFile(salidaTokens, html_tokensFile); Process.Start(html_tokensFile); gGraphic = new GenerarGrafica(); grafico = new Grafico(); grafico = gGraphic.generar(salidaTokens); generador.generateDOTArchive(grafico, "Grafico.dot"); btnGenerarPDF.Enabled = true; generador.generateProcess(generateImg, "png"); paisEncontrado = new Pais(); paisEncontrado = encontrar(grafico); generarDescripcion(generateImg, paisEncontrado); contador += 1; } else { getTextBox(null).SelectionStart = 0; getTextBox(null).SelectionLength = getTextBox(null).Text.Length; getTextBox(null).SelectionColor = Color.Black; detailsContainer.Panel1.Controls.Clear(); limpiarCampos(); html_tokensFile = "erroes.html"; generador.generateErrorsHTMLFile(Analizador.listaErrores, html_tokensFile); MessageBox.Show("Ocurrió un error al leer el código", "", MessageBoxButtons.OK, MessageBoxIcon.Error); Analizador.lexicError = false; Process.Start(html_tokensFile); } } } }
static bool Embed(int i) { Analizador analizador = new Analizador(enlace[i]); if (MiembrosEstaticos.AvanzarA(analizador.html, "img", "src", "http://www.peliculon.net/ver-partes.jpg")) { int ch; while ((ch = analizador.html.Read()) != -1) { if (ch == 0) { //si es un salto de linea se acabaron las partes //if (analizador.Tag.Name == "br") //break; //Por cada ancla que se encuentre hasta entonces, una parte if (analizador.html.Tag.Name == "a") { //Console.WriteLine(analizador.html.Tag["href"].ToString()); if (analizador.html.Tag["href"].StartsWith("javascript:veoh")) { ProcesarVeoh(analizador.html.Tag["href"]); } else if (analizador.html.Tag["href"].IndexOf("mvideo") > -1) { ProcesarMegavideo(analizador.html.Tag["href"]); } else if (analizador.html.Tag["href"].StartsWith("javascript:link('http://stagevu.com")) { ProcesarStage(analizador.html.Tag["href"]); } else { analizador.Cerrar(); break; } } } } analizador.Cerrar(); } return(true); }
public static void Obtener() { Analizador analizador = new Analizador("http://www.peliculon.net/"); do { MiembrosEstaticos.AvanzarA(analizador.html, "div", "class", "post"); enlace.Add(Enlace(analizador.html)); titulo.Add(MiembrosEstaticos.tituloAmigable(Titulo(analizador.html).Trim())); Console.WriteLine("Obteniendo película: " + titulo[titulo.Count - 1]); categoria.Add(ProcesarCategoria(Categoria(analizador.html))); imagen.Add(Imagen(analizador.html)); MiembrosEstaticos.DescargarBinario(new Uri(imagen[imagen.Count - 1]), "C:/imagenes/" + titulo[titulo.Count - 1] + ".jpg"); imagen[imagen.Count - 1] = titulo[titulo.Count - 1] + ".jpg"; descripcion.Add(Descripcion(analizador.html)); //Console.ReadLine(); Embed(titulo.Count - 1); }while (enlace[enlace.Count - 1] != ultima); analizador.Cerrar(); }
private void b_correr_Click(object sender, EventArgs e) { //Lenguaje string dato = richTextBox1.Text; fila = dato.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries); identificadores creacionIdentificador = new identificadores(); Analizador analiz = new Analizador(); Lenguaje mensaje = new Lenguaje(); for (var i = 0; i < fila.Length; i++) { creacionIdentificador.recogerAsignacion(fila[i]); creacionIdentificador.identificadoresAsignacion(i); } for (var i = 0; i < fila.Length; i++) { if (i == 0 || i == 1) { mensaje.asignacion(fila[i]); mensaje.reacomodarCadena(); } else { mensaje.asignacion(fila[i], i);//Asignar operador mensaje.reacomodarCadena(); } analiz.Analizador_cadena(dato); analiz.generarLista(); comen.Text = analiz.getRetorno(); lis_toks = new List <Token>(); lis_toks = analiz.getListaTokens(); } }
private void button1_Click(object sender, EventArgs e) { Analizador a = new Analizador(new Gramatica()); //se parsea el texto con el metodo "parse" de la clase Analizador. Object salida = a.parse(textBox1.Text, new AccionesGramatica()); this.richTextBox1.Text = "" + salida.GetType().ToString(); if (salida.GetType().ToString() == "System.String") { this.richTextBox1.Text = "\n" + salida.ToString(); } else if (salida.GetType().ToString() == "OLC1_practica1.Juego.frm_menujuego") { var frmjuego = (frm_menujuego)salida; frmjuego.Show(); } //en este caso se asocia el parseo a un string ya que la salida se muestra en un cuadro de texto pero si //solamente se necesita parsear se hace de la forma //a.parse(textBox1.Text, new AccionesGramatica()); }
private void CapturarInformacion(Analizador an, Hashtable clasesPreanalizadas) { List <ClasePreAnalizada> clases = an.clases; Progreso.Value = 80; System.Threading.Thread.Sleep(200); foreach (ClasePreAnalizada a in clases) { if (!clasesPreanalizadas.Contains(a.id)) { Clase aux = a.obtenerClase(); clasesPreanalizadas.Add(a.id, a);//METO LAS CLASES AL HASHTABLE PARA LUEGO LAS PREANALIZADAS LLEVARLAS A ANALIZARLAS Estatico.clasesDisponibles.addClass(aux); } else { Estatico.errores.Add(new TError("Advertencia", "Se encontro una nueva definicion de la clase: " + a.id + " En el archivo: " + a.archivoOringen + ", Por lo que Se descarto", 0, 0, true)); } } if (Estatico.NumeroErroes() > 0)//SI HAY ERRORES REVISAR { MessageBox.Show("Existen: " + Estatico.NumeroErroes() + " en La cadena! Revisalos en el reporte", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { //EN ESTE PUNTO YA TENGO LAS CLASES CON SU AST..... AHORA DEBERIA DE EMPEZAR LA EJECUCION DEL PROGRAMA Clase inicio = Estatico.clasesDisponibles.getFirstClassWithMain(); if (inicio != null) { Ambito am = new Ambito(null, inicio.idClase.ToLower(), inicio.ArchivoOrigen); am = (Ambito)inicio.Ejecutar(am); inicio.ejecutaMain(am); //am.ImprimeAmbito(); } } }
static void Main(string[] args) { var analizador = new Analizador(); while (true) { List <IInput> inputs = analizador.EmpezarAnalizador(); foreach (var reglasAplicada in inputs) { System.Console.WriteLine(reglasAplicada.TipoDeRegla.ToString()); foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(reglasAplicada)) { string name = "\n" + descriptor.Name + "\n"; object value = descriptor.GetValue(reglasAplicada) + "\n"; System.Console.WriteLine("{0}={1}", name, value); } } System.Console.ReadLine(); } }
static void Obtener() { Ultima(); bool x = false; string codigo = MiembrosEstaticos.DescargarCadena(new Uri("http://www.cinetube.es/subindices/inovedades.html"), null); string imagen = null, enlace = null, titulo, descripcion, embed = null; int i = 1; Analizador analizador = new Analizador("http://www.cinetube.es/subindices/inovedades.html"); MiembrosEstaticos.AvanzarA(analizador.html, "table", "class", "sample"); int ch; while ((ch = analizador.html.Read()) != -1) { if (ch == 0) { if (analizador.html.Tag.Name == "img" && imagen == null) { imagen = analizador.html.Tag["src"]; Console.WriteLine("Imagen: " + imagen); } if (analizador.html.Tag.Name == "a" && enlace == null) { Servidor = "1"; enlace = analizador.html.Tag["href"]; if (enlace != ultima && !x) { string strConexion = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=./Pelis.mdb"; OleDbConnection conexion = new OleDbConnection(strConexion); conexion.Open(); OleDbDataAdapter adaptador = new OleDbDataAdapter("UPDATE CineTube " + "SET ultima = '" + enlace + "' WHERE id = 1", conexion); DataSet conjunto = new DataSet(); adaptador.Fill(conjunto); conexion.Close(); x = true; } if (enlace == ultima) { break; } Console.WriteLine("Enlace: " + enlace); if (enlace.IndexOf("online") > -1) { embed = ObtenerEmbed(enlace); } else if (enlace.IndexOf("indices") > -1) { embed = ObtnerIndice(enlace); } Console.WriteLine("Embed: " + embed); titulo = MiembrosEstaticos.Extraer(codigo, "more_link Estilo17 Estilo16\">", "</a>", i); titulo = titulo[0].ToString().ToUpper() + titulo.Substring(1); titulo = MiembrosEstaticos.tituloAmigable(titulo); Console.WriteLine("Titulo: " + titulo); // No olvidar el i++ descripcion = MiembrosEstaticos.Extraer(codigo, "class=\"cover\" align=\"left\">SINOPSIS: ", "</div>", i++).Replace("á", "a").Replace("é", "e").Replace("í", "i").Replace("ó", "o").Replace("ú", "u").Replace("ñ", "n").Replace("É", "E").Replace("Á", "A").Replace("Í", "Í").Replace("Ó", "O").Replace("Ú", "Ú").Replace("'", "").Replace(",", ""); descripcion = descripcion[0].ToString().ToUpper() + descripcion.Substring(1); MiembrosEstaticos.DescargarBinario(new Uri(imagen), "./imagenes/" + titulo + ".jpg"); if (embed != null) { Clases.Añadir(titulo, "17", titulo + ".jpg", embed, Servidor, descripcion); } imagen = enlace = titulo = descripcion = embed = null; MiembrosEstaticos.Avanzar(analizador.html, "tr", 0); } } } }
private void btnIgual_Click(object sender, EventArgs e) { Analizador.LimpiarErrores(); Analizador.LimpiarValores(); string expresion = textBoxCalculadora.Text; //validaciones if (cantidadDeProposicionesValidas(expresion)) { if (Analizador.ValidarExpresion(expresion)) { //configuracion del dataGridValue dataGridView1.Rows.Clear(); dataGridView1.Columns.Clear(); valorIgual = true; dataGridView1.ReadOnly = true; dataGridView1.DataSource = null; dataGridView1.AllowUserToOrderColumns = false; try { //Analizar expresion expresion = "(" + expresion + ")"; var diccionario = Analizador.AnalizarExpresion(expresion); //recorrer el diccionario e imprimirlo en el datagridview foreach (var item in diccionario) { var nuevaExpresion = ""; var valorById = Analizador.ObtenerValorById(item.Key); if (valorById == null) { nuevaExpresion = item.Key; } else { nuevaExpresion = Analizador.ArmarExpresion(valorById); } dataGridView1.Columns.Add(item.Key, nuevaExpresion); } var cantidad = diccionario.ElementAt(0).Value.Count; int index = 0; var lista = new List <string>(); for (int x = 0; x < cantidad; x++) { for (int i = 0; i < diccionario.Count; i++) { var item = diccionario.ElementAt(i); lista.Add(item.Value[index]); } var vector = lista.ToArray(); dataGridView1.Rows.Add(vector); lista.Clear(); index++; } MostrarErrores(); this.Size = new Size(1328, 431); }catch (Exception err) { MessageBox.Show(err.Message); } } else { MostrarErrores(); } } else { MessageBox.Show("La cantidad de proposiciones están limitadas a 2 como minimo y 6 como maximo\npor favor ingresa una cantidad valida", "Cantidad de proposiciones no valida", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
//PERMITE LA GENERACION DEL FORMULARIO private void toolStripButton2_Click(object sender, EventArgs e) { StatusControl.Text = "Estatus"; Estatico.setUp(Consola); Hashtable clasesPreanalizadas = new Hashtable(); if (Editor.TabCount > 0) { //RichTextBox principal = (RichTextBox)Editor.TabPages[Editor.SelectedIndex].Controls[0].Controls[1]; this.archivo = Editor.TabPages[Editor.SelectedIndex].Name; FastColoredTextBox principal = (FastColoredTextBox)Editor.TabPages[Editor.SelectedIndex].Controls[0].Controls[0]; String cadena = principal.Text;//PARA QUE TODO ESTE EN MINUSCULAS Y NO TENGA CLAVOS CON LA COMPROBACION DE NOMBRES Progreso.Value = 40; StatusControl.Text = "Iniciando Proceso..."; System.Threading.Thread.Sleep(200); Analizador an = new Analizador(cadena, this.ProyectoPath, archivo); if (an.analizar())//SI SE ANALIZA LA CADENA... { // PROCEDE A INTENTAR CAPTURAR LA INFO... if (Estatico.NumeroErroes() > 0) //SO EXISTEN ERRORES ANTES DE CAPTURAR LA INFO... { //REVISAR... Progreso.Value = 0; StatusControl.Text = "Proceso Interrumpido!"; Estatico.consolaSalida.AppendText("\n>> Proceso detenido, Errores detectados..."); MessageBox.Show("Existen: " + Estatico.NumeroErroes() + " en La cadena! Revisalos en el reporte", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else//SINO PROCEDER A CAPTURA LA INFORMACION { CapturarInformacion(an, clasesPreanalizadas); /////////////////////////////////////////////////////// Progreso.Value = 100; StatusControl.Text = "Proceso Terminado!"; System.Threading.Thread.Sleep(200); Progreso.Value = 0; /////////////////////////////////////////////////////// if (Estatico.resps.Count > 0) { String nombre = Microsoft.VisualBasic.Interaction.InputBox("Nombre Del Formulario A Guardar: ", "Nuevo Form", "", 100, 100); if (!nombre.Equals("")) { SavedForm s = new SavedForm(nombre, Estatico.resps); if (s.writeForm()) { MessageBox.Show("Formulario: " + nombre + " Almacenado!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("No se almaceno el formulario!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } //AQUI DEBO DE PREGUNTAR SI EN CASO HAY UN PROBLEMA CON LAS ADVERTENCIAS } } else//SI NO SE PUEDE, ENTONCES EL ERROR ES FATAL... REVISAR { MessageBox.Show("No se logro Analizar la cadena de entrada", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } errorLabel.Text = Convert.ToString(Estatico.NumeroErroes()); warningsLabel.Text = Convert.ToString(Estatico.NumeroAdvertencias()); } }
private void button5_Click(object sender, EventArgs e) { Analizador analizador = new Analizador(this.debuggerConsole, Consola, reporte); analizador.reporteAst(Pascal.Text); }
public static void Obtener() { Win32.AllocConsole(); // Abrir una consola int estado = 0; Ultima(); for (int i = 1; i < 221; i++) { if (estado == 2) { break; } Analizador analizador = new Analizador("http://www.newcineonline.com/page/" + i + "/"); MiembrosEstaticos.AvanzarA(analizador.html, "div", "class", "post-title"); while (true) { try { MiembrosEstaticos.AvanzarA(analizador.html, "div", "class", "post-title"); string enlace, titulo, categoria, imagen, descripcion; string[] emb = new string[2]; enlace = Enlace(analizador.html); if (enlace == ultima) { Console.WriteLine("SE encontro coincidencia"); estado = 2; break; } if (estado == 0) { string strConexion = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=./Pelis.mdb"; OleDbConnection conexion = new OleDbConnection(strConexion); conexion.Open(); OleDbDataAdapter adaptador = new OleDbDataAdapter("UPDATE Peliculon " + "SET ultima = '" + enlace + "' WHERE id = 1", conexion); DataSet conjunto = new DataSet(); adaptador.Fill(conjunto); conexion.Close(); estado = 1; } //Si es una serie nos la saltamos if (enlace.IndexOf("series") > -1) { continue; } //Console.WriteLine(enlace); titulo = MiembrosEstaticos.tituloAmigable(Titulo(analizador.html)); Console.WriteLine("titulo: " + titulo); MiembrosEstaticos.Avanzar(analizador.html, "a", 0); categoria = ProcesarCategoria(Categoria(analizador.html)); imagen = Imagen(analizador.html); MiembrosEstaticos.DescargarBinario(new Uri(imagen), "./imagenes/" + titulo + ".jpg"); imagen = titulo + ".jpg"; MiembrosEstaticos.Avanzar(analizador.html, "/b", 4); descripcion = Descripcion(analizador.html); if (enlace.IndexOf("anime") > -1) { Console.WriteLine("Encontrado un anime"); continue; } emb = Embed(enlace); Console.WriteLine("Embed: " + emb[0]); //Console.WriteLine(emb[1]); //Ahora grabamos todoooo if (emb[0] != "false") { Clases.Añadir(titulo, categoria, imagen, emb[0], emb[1], descripcion); } } catch (Exception e) { Console.WriteLine(e.ToString()); break; } } Console.WriteLine("FIN de pagina " + i); analizador.Cerrar(); } Console.WriteLine("FIN"); Win32.FreeConsole(); // Cerrar consola }
public void codigoaEvaluar(string strCodigoaEvaluar) { //MessageBox.Show("" + codF); Analizadores.Analizador analizar = new Analizador(new Gramatica()); ParseTree arbol = analizar.isValid(strCodigoaEvaluar); if (arbol != null) { ConstructorAst constAst = new ConstructorAst(); AST arbolAux = constAst.Analizar(arbol.Root); Ambito global = new Ambito(null); try { if (arbolAux != null) { foreach (Instruccion inst in arbolAux.Instrucciones) { //if (inst is Funcion) { //} if (inst is Declaracion) { Declaracion declaracion = (Declaracion)inst; declaracion.ejecutar(global, arbolAux); } //toca deficion clase } foreach (Instruccion ins in arbolAux.Instrucciones) { if (ins is Funcion) { Funcion funcion = (Funcion)ins; global.agregar(funcion.Id, funcion); foreach (NodoAST instruccion in funcion.LLInstrucciones) { //if (instruccion is DefinicionStruct) //{ // DefinicionStruct crear = (DefinicionStruct)instruccion; // crear.ejecutar(global, auxArbol); //} } } if (ins is Declaracion) { Declaracion declaracion = (Declaracion)ins; declaracion.ejecutar(global, arbolAux); } //if (ins is DefinicionStruct) //{ // DefinicionStruct crear = (DefinicionStruct)ins; // crear.ejecutar(global, auxArbol); //} } foreach (Instruccion ins in arbolAux.Instrucciones) { if (ins is Principal) { Principal main = (Principal)ins; Ambito local = new Ambito(global); main.ejecutar(local, arbolAux); } } } else { MessageBox.Show("Cadena invalida"); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } //analizar.parse(arbol, new PrimeraPasada()); MessageBox.Show("Cadena Valida"); } else { MessageBox.Show("No Valida"); } }
private void button1_Click(object sender, EventArgs e) { log.Text = ""; Console.WriteLine("Iniciando"); String entrada = txtEntrada.Text; Analizador lexico = new Analizador(); LinkedList <Token> tokens = lexico.cadenaEntrante(entrada); Console.WriteLine("conteo: " + tokens.Count); lexico.printList(tokens); //(List<String> alfabeto, List<string> lstProducciones) List <string> alfabeto = new List <string>(); Dictionary <String, int> producciones = new Dictionary <String, int>(); //entero decimal caracter cadena booleano id ; , = numero texto booleano /* * producciones.Add( "DEF_VAR",0); * producciones.Add("KW_TIPO",1); * producciones.Add("ID_VALUE",2); * producciones.Add("ID_FACTOR",3); * producciones.Add("ID_FACT_IGUAL",4); * producciones.Add("VALOR",5); */ producciones.Add("INICIO", 0); producciones.Add("BLOQUE", 1); producciones.Add("SENTENCIA", 2); producciones.Add("SEN", 3); producciones.Add("SEN_FACT", 4); producciones.Add("DEF_VAR", 5); producciones.Add("KW_TIPO", 6); producciones.Add("ID_VALUE", 7); producciones.Add("ID_FACT", 8); producciones.Add("ID_FACT_IGUAL", 9); producciones.Add("VALOR", 10); producciones.Add("CONDICIONAL", 11); producciones.Add("WHILE", 12); producciones.Add("DO", 13); producciones.Add("FOR", 14); producciones.Add("IF", 15); producciones.Add("SI_CONTINUA", 16); producciones.Add("CONDICION_TIPO", 17); producciones.Add("OPERADOR", 18); producciones.Add("CONDICION_LOGICA", 19); producciones.Add("SUMA_RESTA", 20); producciones.Add("SR", 21); producciones.Add("MD", 22); producciones.Add("MDP", 23); producciones.Add("P", 24); producciones.Add("PP", 25); producciones.Add("U", 26); producciones.Add("E", 27); producciones.Add("LEER", 28); producciones.Add("IMPRIMIR", 29); producciones.Add("IM_TIPOS", 30); producciones.Add("IM_TIPOS_ID", 31); producciones.Add("IM_TIPOS_TEXTO", 32); alfabeto.Add("principal"); alfabeto.Add("par_abierto"); alfabeto.Add("par_cerrado"); alfabeto.Add("llave_abierta"); alfabeto.Add("llave_cerrada"); alfabeto.Add("punto_coma"); alfabeto.Add("coma"); alfabeto.Add("entero"); alfabeto.Add("decimal"); alfabeto.Add("caracter"); alfabeto.Add("cadena"); alfabeto.Add("kw_booleano"); alfabeto.Add("id"); alfabeto.Add("igual"); alfabeto.Add("texto"); alfabeto.Add("booleano"); alfabeto.Add("numero"); alfabeto.Add("while"); alfabeto.Add("hacer"); alfabeto.Add("desde"); alfabeto.Add("op_relacional"); alfabeto.Add("incremento"); alfabeto.Add("si"); alfabeto.Add("sino_si"); alfabeto.Add("sino"); alfabeto.Add("op_logico"); alfabeto.Add("mas"); alfabeto.Add("menos"); alfabeto.Add("division"); alfabeto.Add("por"); alfabeto.Add("potencia"); alfabeto.Add("leer"); alfabeto.Add("imprimir"); alfabeto.Add("$"); Matriz matriz = new Matriz(alfabeto, producciones, log); Queue <Token> oldList = new Queue <Token>(tokens); for (int i = 0; i < tokens.Count; i++) { Console.WriteLine("Token 1: TypeToken: " + " clasificacion: " + tokens.ElementAt <Token>(i).GetClasificacion()); } matriz.IntroducirErroes(); matriz.setProduccionesDentro(); matriz.ImprimirMatriz(); matriz.imprimirPila(); matriz.cola(tokens); }