コード例 #1
0
ファイル: IterInfo.cs プロジェクト: AutomataDotNet/Automata
 public static IEnumerable<iterassgn> Initializers(iterexpr e, Symtab stab)
 {
     foreach (iterassgn ia in assign_filter.Apply(e.initializer))
     {
         yield return ia;
     }
 }
コード例 #2
0
ファイル: IterInfo.cs プロジェクト: AutomataDotNet/Automata
 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;
     }
 }
コード例 #3
0
ファイル: Symtab.cs プロジェクト: AutomataDotNet/Automata
        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;
        }