MC logo

P1 Call Stack


Call Stack Problems

program P1(output);
  var X: integer;
  procedure Q(procedure R);
    var Y: integer;
    procedure S;
      begin
        X := Y;
        R
      end;
    begin
      Y := 0;
      S
    end;
  procedure R;
    var Y: integer;
    procedure S;
      begin
        if X = Y then
          Q(S)
        else
          X := Y
      end;
    begin
      Y := 1;
      S
    end;
  begin
    X := 1;
    R
  end.









<<
>>