Pristine Ack-5.5
[Ack-5.5.git] / doc / ego / ud / ud3
1 .NH 2
2 Pointers and subroutine calls
3 .PP
4 The theory outlined above assumes that variables can
5 only be changed by a direct assignment.
6 This condition does not hold for EM.
7 In case of an assignment through a pointer variable,
8 it is in general impossible to see which variable is affected
9 by the assignment.
10 Similar problems occur in the presence of procedure calls.
11 Therefore we distinguish two kinds of definitions:
12 .IP -
13 an \fIexplicit\fR definition is a direct assignment to one
14 specific variable
15 .IP -
16 an \fIimplicit\fR definition is the potential alteration of
17 a variable as a result of a procedure call or an indirect assignment.
18 .LP
19 An indirect assignment causes implicit definitions to
20 all variables that may be accessed indirectly, i.e. 
21 all local variables for which no register message was generated
22 and all global variables.
23 If a procedure contains an indirect assignment it may change the
24 same set of variables, else it may change some global variables directly.
25 The KILL, GEN, IN and OUT sets contain explicit as well
26 as implicit definitions.