public static IEnumerable<iterassgn> Initializers(iterexpr e, Symtab stab) { foreach (iterassgn ia in assign_filter.Apply(e.initializer)) { yield return ia; } }
public static IEnumerable<iterassgn> InitialChars(iterexpr e, Symtab stab) { foreach (iterassgn ia in assign_filter.Apply(e.initializer)) { if (stab.Get(ia.lhs).type == BekTypes.CHAR) yield return ia; } }
internal BekTypes HandleIter(iterexpr cur) { topexpr_visitor.Visit(this, cur.source); PushIter(cur.binder, cur.initializer); var identfilter = new Filter<ident>(); foreach (var id in identfilter.Apply(cur.body)) { AddElt(id, GetElt(id)); } PopBlock(); return BekTypes.STR; }