public void crearTablaLexemas() { char cActual; indice = 0; f = ""; TabTokens.Clear(); codigo = richTextBox1.Text; codigo += "#"; bool error=false; while (indice < codigo.Length) { cActual = GetCaracter(); //DESCARGARTAMOS SALTOS DE LINEA if (cActual == (Convert.ToChar("\n")) | cActual == (Convert.ToChar("\t"))) { f = ""; } else { if ( cActual != (Convert.ToChar(" ")) & cActual != (Convert.ToChar("\r")) & cActual != (Convert.ToChar("\n")) & cActual != (Convert.ToChar("\t"))) { //el caracter es numero if (digito.Contains(cActual)) { while (indice < codigo.Length & cActual != ' ' & cActual != ')' & cActual != ';' & cActual != ':' & cActual != (Convert.ToChar("\r")) & cActual != (Convert.ToChar("\n")) & cActual != (Convert.ToChar("\t"))) { if (digito.Contains(cActual)) { //no hay error :) f = f + cActual; cActual = GetCaracter(); } else { Token t = new Token(f, "ENTERO"); TabTokens.Add(t); f = ""; break; } } } //El caracter es alfabeto if (caracter.Contains(cActual)) { while (indice < codigo.Length & cActual != ' ' & cActual != ')' & cActual != ';' & cActual != ':' & cActual != (Convert.ToChar("\r")) & cActual != (Convert.ToChar("\n")) & cActual != (Convert.ToChar("\t"))) { if (caracter.Contains(cActual) | digito.Contains(cActual)) { //no hay error :) f = f + cActual; cActual = GetCaracter(); } } if (f == "comienza") { //listBox1.Items.Add(f + "\t INIT" + "\t" + indice); Token t = new Token(f, "INIT"); TabTokens.Add(t); f = ""; } else if (f == "termina") { //listBox1.Items.Add(f + "\t END" + "\t" + indice); Token t = new Token(f, "END"); TabTokens.Add(t); f = ""; } else if (f == "mod") { //listBox1.Items.Add(f + "\t OPMULT" + "\t" + indice); Token t = new Token(f, "OPMULT"); TabTokens.Add(t); f = ""; } else if (f == "rem") { //listBox1.Items.Add(f + "\t OPMULT" + "\t" + indice); Token t = new Token(f, "OPMULT"); TabTokens.Add(t); f = ""; } else { Token t = new Token(f, "IDENTIFICADOR"); TabTokens.Add(t); f = ""; } } if (cActual == '+') { //listBox1.Items.Add(cActual + "\t OPSUMA" + "\t" + indice); Token t = new Token(Convert.ToString(cActual), "OPSUMA"); TabTokens.Add(t); f = ""; } else if (cActual == '-') { //listBox1.Items.Add(cActual + "\t OPSUMA" + "\t" + indice); Token t = new Token(Convert.ToString(cActual), "OPSUMA"); TabTokens.Add(t); f = ""; } else if (cActual == '*') { //listBox1.Items.Add(cActual + "\t OPMULT" + "\t" + indice); Token t = new Token(Convert.ToString(cActual), "OPMULT"); TabTokens.Add(t); f = ""; } else if (cActual == '/') { //listBox1.Items.Add(cActual + "\t OPMULT" + indice); Token t = new Token(Convert.ToString(cActual), "OPMULT"); TabTokens.Add(t); f = ""; } else if (cActual == '(') { //listBox1.Items.Add(cActual + "\t PAREIZQ" + "\t" + indice); Token t = new Token(Convert.ToString(cActual), "PAREIZQ"); TabTokens.Add(t); f = ""; } else if (cActual == ')') { //listBox1.Items.Add(cActual + "\t PAREDER" + "\t" + indice); Token t = new Token(Convert.ToString(cActual), "PAREDER"); TabTokens.Add(t); f = ""; } else if (cActual == ';') { //listBox1.Items.Add(cActual + "\t FINLINEA" + "\t" + indice); Token t = new Token(Convert.ToString(cActual), "FINLINEA"); TabTokens.Add(t); f = ""; } else if (cActual == ':' & f == "") { f = Convert.ToString(cActual); cActual = GetCaracter(); if (cActual == '=') { //listBox1.Items.Add(f + cActual + "\t ASIGNACION" + "\t" + indice); f = " "; Token t = new Token(":" + cActual, "ASIGNACION"); TabTokens.Add(t); f = ""; } } //SINO ES PALABRA VALIDAR CUAL DE LOS SIMBOLOS PUEDE SER }/// } } }
public ArrayList populationControl(Juklas j, Mood møg, Tegneserie k, Token q, Movement t) { møg.affectMood(4, j); møg.affectMood(4, j); return(new ArrayList()); }