1234567891011121314151617181920212223242526 |
- .NH 2
- Pointers and subroutine calls
- .PP
- The theory outlined above assumes that variables can
- only be changed by a direct assignment.
- This condition does not hold for EM.
- In case of an assignment through a pointer variable,
- it is in general impossible to see which variable is affected
- by the assignment.
- Similar problems occur in the presence of procedure calls.
- Therefore we distinguish two kinds of definitions:
- .IP -
- an \fIexplicit\fR definition is a direct assignment to one
- specific variable
- .IP -
- an \fIimplicit\fR definition is the potential alteration of
- a variable as a result of a procedure call or an indirect assignment.
- .LP
- An indirect assignment causes implicit definitions to
- all variables that may be accessed indirectly, i.e.
- all local variables for which no register message was generated
- and all global variables.
- If a procedure contains an indirect assignment it may change the
- same set of variables, else it may change some global variables directly.
- The KILL, GEN, IN and OUT sets contain explicit as well
- as implicit definitions.
|