void vystupComboBoxSelectedIndexChanged(object sender, EventArgs e) { ComboBox cb = (ComboBox)sender; BodkaInfo b = modul.vystupy[cb.SelectedIndex]; IoOperacia io = (IoOperacia)modul.objekty[click]; io.bodky[0].info = b; io.zrusEditovaciePrvky(panel1); io.nastavEditovaciePrvky(panel1); vstupComboBox(); io.pridajOkTlacitko(this); aktualizujPlochu(); }
void vytvorOperaciu(object sender, EventArgs e, String op) { Objekt temp; String id = modul.getOpId(op); if (op == "if") { IfBlok blok = new IfBlok(clickX, clickY, clickX + 100, clickY + 100, id); modul.ifBloky.Add(blok); temp = blok; } else if (op == "in" || op == "out") { temp = new IoOperacia(clickX, clickY, id, op); } else if (op == "const") { temp = new Konst(clickX, clickY, id, op, 1, 32, null); } else if (op == "change") { temp = new ZmenaBitov(clickX, clickY, id, 1, 32); } else if (op == "concat") { temp = new Zretazenie(clickX, clickY, id); } else if (op == "index") { temp = new Index(clickX, clickY, id); } else if (op == "reverse") { temp = new OtocenieBitov(clickX, clickY, id); } else if (op == "mod") { temp = new Modulo(clickX, clickY, id); } else if (op == "inc" || op == "dec") { temp = new IncDecOperacia(clickX, clickY, id, op); } else { temp = new Operacia(clickX, clickY, id, op); } temp.setM(modul); modul.objekty.Add(id, temp); aktualizujPlochu(); }
public void nacitajDWKod() { while (a.token != "") { if (isToken("]")) { return; } if (isToken("def")) { String fMeno = popToken(); getToken("["); objekty = new Dictionary <String, Objekt>(); registre = new List <RegisterInfo>(); vstupy = new List <BodkaInfo>(); vystupy = new List <BodkaInfo>(); nacitajDWKod(); Modul f = new Modul(fMeno, objekty, vstupy, vystupy, registre, poleBodiek, poleIndexov); poleBodiek = null; poleIndexov = null; moduly.Add(f); if (f.meno != "main") { Projekt.DATABAZA[f.meno] = new ObjektInfo(f.meno, f.meno, vstupy, vystupy); } } else if (isToken("input")) { String vstup = popToken(); IntTuple bit = getTagIntTuple(); vstupy.Add(new BodkaInfo(vstup, bit.a, false, bit.b, false)); } else if (isToken("output")) { String vystup = popToken(); IntTuple bit = getTagIntTuple(); vystupy.Add(new BodkaInfo(vystup, bit.a, false, bit.b, false)); } else if (isToken("register")) { String register = popToken(); IntTuple bit = getTagIntTuple(); registre.Add(new RegisterInfo(register, bit.a, bit.b)); } else if (isToken("#")) { nacitajGraf(); } else { getToken("{"); String id = popToken(); getToken("}"); if (isToken("call") || isToken("use")) { String menoModulu = popToken(); IntTuple sur = getTagIntTuple(); volania.Add(new TempPouzitieModulu(moduly.Count, sur, id, menoModulu)); } else if (isToken("const")) { List <String> values = new List <String>(); getToken("("); while (!isToken(")")) { values.Add(popToken()); } IntTuple bit = getTagIntTuple(); IntTuple sur = getTagIntTuple(); objekty[id] = new Konst(sur.a, sur.b, id, "const", bit.a, bit.b, values.ToArray()); } else if (isToken("in")) { String io = popToken(); IntTuple sur = getTagIntTuple(); BodkaInfo b = getVstup(io); objekty[id] = new IoOperacia(sur.a, sur.b, id, "in", b); } else if (isToken("out")) { String io = popToken(); IntTuple sur = getTagIntTuple(); BodkaInfo b = getVystup(io); objekty[id] = new IoOperacia(sur.a, sur.b, id, "out", b); } else if (isToken("regC")) { String register = popToken(); IntTuple sur = getTagIntTuple(); RegisterInfo r = getRegister(register); objekty[id] = new RegisterC(sur.a, sur.b, id, r); } else if (isToken("regZ")) { String register = popToken(); IntTuple sur = getTagIntTuple(); RegisterInfo r = getRegister(register); objekty[id] = new RegisterZ(sur.a, sur.b, id, r); } else if (isToken("regZ_index")) { String register = popToken(); IntTuple sur = getTagIntTuple(); RegisterInfo r = getRegister(register); objekty[id] = new RegisterZIndex(sur.a, sur.b, id, r); } else if (isToken("change")) { IntTuple bit = getTagIntTuple(); IntTuple sur = getTagIntTuple(); objekty[id] = new ZmenaBitov(sur.a, sur.b, id, bit.a, bit.b); } else { objekty[id] = nacitajOp(id); } } } }