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); }