TPoss tpossGeneratorArg(TPoss tpit) { TPoss tparg; TPossIterator it; tparg = tpossEmpty(); for (tpossITER(it,tpit); tpossMORE(it); tpossSTEP(it)) { TForm t = tpossELT(it); tfFollow(t); if (tfIsGenerator(t)) tparg = tpossAdd1(tparg, tfGeneratorArg(t)); } return tparg; }
void tcMove(TForm ntf, TForm otf) { TConstList tcl; tfFollow(ntf); for (tcl = tfConsts(otf); tcl; tcl = cdr(tcl)) tcOwner(car(tcl)) = ntf; tfConsts(ntf) = listNConcat(TConst)(tfConsts(ntf), tfConsts(otf)); tfConsts(otf) = listNil(TConst); if (tfIsMeaning(ntf)) tfCheckConsts(ntf); }