ABT.IfElseStmt.CGenStmt C# (CSharp) Метод

CGenStmt() публичный Метод

public CGenStmt ( Env env, CGenState state ) : void
env Env
state CodeGeneration.CGenState
Результат void
        public override void CGenStmt(Env env, CGenState state) {
            Reg ret = CGenExprStmt(env, this.Cond, state);

            CGenTest(ret, state);

            Int32 false_label = state.RequestLabel();
            Int32 finish_label = state.RequestLabel();

            state.JZ(false_label);

            this.TrueStmt.CGenStmt(env, state);

            state.JMP(finish_label);

            state.CGenLabel(false_label);

            this.FalseStmt.CGenStmt(env, state);

            state.CGenLabel(finish_label);
        }
    }