static void Body(StackFrame frame) { Label DSPLabel = new Label(known); int sizeMark = frame.size; CodeGen.OpenStackFrame(0); Expect(lbrace_Sym); while (StartOf(3)) { Statement(frame); } ExpectWeak(rbrace_Sym, 4); CodeGen.FixDSP(DSPLabel.Address(), frame.size - sizeMark); CodeGen.LeaveVoidFunction(); }
static void ReturnStatement() { Expect(return_Sym); CodeGen.LeaveVoidFunction(); ExpectWeak(semicolon_Sym, 6); }