programming A process to discover the dependencies between
different data items manipulated by a program. The order of
execution in a
data driven language is determined solely by
the data dependencies. For example, given the equations
1. X = A + B
2. B = 2 + 2
3. A = 3 + 4
a data-flow analysis would find that 2 and 3 must be evaluated
before 1. Since there are no data dependencies between 2 and
3, they may be evaluated in any order, including in parallel.
This technique is implemented in
hardware in some
allows instructions to be executed as soon as their inputs are
available, independent of the original program order.
(1996-05-13)