bool CodeStack::validate(const Code& cf) { TypeFilter tf; // returns r, i, or j switch (tf.Get(cf.name)) { // r requires // rs, rd, rt case 'r': if (cf.rs!="" && cf.rd!="" && cf.rt!="") return true; setErr("rs or rt or rd not set"); return false; // i requires // rs, rt, imd(or lb) case 'i': if (cf.rs!="" && cf.rt!="" && cf.dirt()) return true; setErr("rs or rt or immediate not set"); return false; // j requires // imd case 'j': if (cf.dirt()) return true; setErr("immediate not set"); return false; default: // ÕâÊÇɶ return false; } return true; }