예제 #1
0
        public override CILStatement ToCILStatement(CIntermediateLang cil)
        {
            LllCompiler.SymTable.Push();
            var pre    = Pre.Select(p => p.ToCILNode(cil)).ToList();
            var cond   = Condition.ToCILExpression(cil);
            var update = Update.Select(u => u.ToCILExpression(cil)).ToList();
            var body   = Body.Select(b => b.ToCILNode(cil)).ToList();
            var loop   = new CILLoop(SourceInfo, pre, cond, update, body);

            LllCompiler.SymTable.Push();
            return(loop);
        }