| line # |
|
|
comments |
| 8 |
|
|
first line out of a subroutine |
| 9 |
abc |
|
subroutine ``abc'' stores the line # to return to |
| |
return line # |
|
|
| |
10 |
|
|
| 2 |
|
|
the first line in the subroutine to execute |
| 3 |
|
def |
we invoke ``def'' from ``abc'' |
| |
|
return line # |
this is the return line # that belongs to
``def'', it is independent to the return
line # of ``abc'' |
| |
|
4 |
this is the line immediately following the
invocation |
| 6 |
|
|
this is the only line to execute in ``def'' |
| 7 |
|
return |
now we return from ``def'' to ``abc'',
note which column we use for the return line
#, this ``return line #'' column is
destroyed after this row in the trace |
| 4 |
return |
|
we are ready to return from
``abc'', use the stored return
line #. Note, again, which column
we use to return |
| 10 |
|
|
now we are back to the ``main program'' |