void Condition() { IfHeader(); while (StartOf((int)TokenEnum.Number)) { Statute(); } if (la.kind == (int)TokenEnum.Else) { Get(); Quadruple.PopJump(1); Quadruple.CreateGotoQuadruple(); Quadruple.PushJump(); while (StartOf((int)TokenEnum.Number)) { Statute(); } } EndIf(); }
void EndLoop() { Expect((int)TokenEnum.EndWhile); Quadruple.CreateGotoQuadruple(); Quadruple.PopTwoJumps(); }