/// <summary> /// Called when an <see cref="IfBlock"/> block is read. /// Verifies the structure of the IF condition and calls the corresponding /// functions that handle the code generation for the condition. /// Called by <see cref="INSTRUCTION"/>. /// </summary> void IFF() { Expect(31); // "if" Expect(10); // '(' SUPER_EXP(); Expect(12); // ')' try { QuadrupleManager.IfAfterCondition(); } catch (Exception e) { SemErr(e.Message); } Expect(7); // '{' while (StartOf(1)) { INSTRUCTION(); } Expect(8); // '}' try { QuadrupleManager.IfEnd(); } catch (Exception e) { SemErr(e.Message); } }