private void Sintactico() { int turn = 0; Tokens.FindAll(token => { switch (token) { case "identificador": if (turn == 0 || turn == 2) { Analizadorxd.AppendText(token + " "); turn++; } else { Analizadorxd.AppendText("Error "); } break; case "asignar": if (turn == 1) { Analizadorxd.AppendText(token + " "); turn++; } else { Analizadorxd.AppendText("Error "); } break; case "Num": if (turn == 2) { Analizadorxd.AppendText(token + " "); turn++; } else { Analizadorxd.AppendText("Error "); } break; case "Cierre": Analizadorxd.AppendText(token + "\n"); turn = 0; break; } return(true); }); }
public void PaintText(List <string> err, List <Memory> mem) { compilderdat.Rows.Clear(); Analizadorxd.Text = null; mem.FindAll(i => { if (string.IsNullOrEmpty(i.ID) && string.IsNullOrEmpty(i.TOKEN) && string.IsNullOrEmpty(i.VALUE)) { mem.Remove(i); } return(true); }); foreach (var dat in mem) { compilderdat.Rows.Add(dat.TOKEN, dat.ID, dat.VALUE); } foreach (var e in err) { Analizadorxd.AppendText(e + "\n"); } lblComp.Text = $"Tiempo de compilación: {_Time}"; }
private void validator() { // Variables para declarar. string asd = "", asd1 = "", asd2 = ""; bool valid = false, dec = true, sent = false; // Variables para asignar. string jkl = "", jkl1 = "", jkl2 = "", jkl3 = ""; bool fin = false, fin2 = false, fin3 = false, fin4 = false; Tokens.FindAll(i => { Analizadorxd.AppendText(i + " "); if (jkl == "" && sent == true && i == "identificador") { dec = false; } if (sent) { if (jkl2 != "") { fin = sentencia(jkl, jkl1, jkl2) && i == "Cierre" ? true : false; fin2 = Si(jkl, jkl1, jkl2) && i == "cerrarLlave" ? true : false; fin3 = tonsq(jkl) && i == "cerrarLlave" ? true : false; fin4 = Imp(jkl) && i == "comilla" ? true : false; jkl = ""; jkl1 = ""; jkl2 = ""; Analizadorxd.AppendText(fin + "\n\n"); } jkl2 = jkl2 == "" && jkl1 != "" ? i : jkl2; jkl1 = jkl1 == "" && jkl != "" ? i : jkl1; if (i == "identificador" && jkl == "") { jkl = i; } } if (dec) { asd2 = asd2 == "" && asd1 != "" ? i : asd2; asd1 = asd1 == "" && asd != "" ? i : asd1; if (i == "int" || i == "string") { asd = i; asd1 = ""; asd2 = ""; } else if (asd == "") { Analizadorxd.AppendText(" Error en la linea" + "\n"); } if (asd2 != "") { valid = declaraciones(asd, asd1, asd2); asd = ""; asd1 = ""; asd2 = ""; Analizadorxd.AppendText("\n"); if (valid == false) { Analizadorxd.AppendText(" Error en la linea" + "\n"); } else { sent = true; } } } return(true); }); if (valid == false) { Analizadorxd.AppendText(" Error en la linea" + "\n"); } bool declaraciones(string tipo, string ident, string cierre) { bool _tipo, _ident, _cierre; _tipo = tipo == "int" || tipo == "string" ? true : false; _ident = ident == "identificador" && _tipo ? true : false; _cierre = cierre == "Cierre" && _ident == true ? true : false; return(_cierre); } bool sentencia(string ide, string asig, string var) { bool _ide, _asig, _var; _ide = ide == "identificador" ? true : false; _asig = asig == "asignar" && _ide ? true : false; _var = ide == "identificador" && _asig ? true : false; return(_var == true ? true : false); } bool Imp(string bodi) { bool _bodi; _bodi = bodi == "identificador" ? true : false; if (_bodi) { inputMessage.AppendText("bodi"); } return(_bodi); } bool Si(string ide, string asig, string var) { bool _ide, _asig, _var; _ide = ide == "identificador" ? true : false; _asig = asig == "igualacion" && _ide ? true : false; _var = ide == "identificador" && _asig ? true : false; return(_var == true ? true : false); } bool tonsq(string tipo) { bool _tipo; _tipo = tipo == "int" ? true : false; return(_tipo); } }