Content deleted Content added
Fixed wiki page link for Cartesian Product. |
|||
(16 intermediate revisions by 14 users not shown) | |||
Line 1:
{{Short description|Compiler technique}}
{{
In [[computer science]], '''control
For many [[imperative programming language]]s, the control flow
<
(lambda (f) (f x))
</syntaxhighlight>
it is unclear to which procedure <code>f</code> may refer. To determine the possible targets, a control-flow analysis must consider where this expression could be invoked, and what argument it may receive.▼
▲it is unclear to which procedure <code>f</code> may refer.
Techniques such as [[abstract interpretation]], [[constraint solving]] and [[type system]]s may be used to compute control-flow analysis{{which|date=July 2014}}.<ref>Flemming Nielson, Hanne Riis Nielson & Chris Hankin (1999). ''Principles of Program Analysis''. Springer.</ref>{{page needed|date=July 2014}}▼
▲Techniques such as [[abstract interpretation]], [[constraint solving]], and [[type system]]s may be used
== See also ==▼
* [[Control-flow diagram]] (CFD)
* [[Data-flow analysis]]
* [[
* [[Pointer analysis]]
Line 18 ⟶ 22:
{{reflist}}
==
{{Commonscat|Control-flow analysis}}
*
*[http://janmidtgaard.dk/papers/Midtgaard-CSur-final.pdf CFA in functional programs (survey)]
*[http://cgi.di.uoa.gr/~smaragd/kcfa-pldi10.pdf for the relationship between CFA analysis in functional languages and points-to analysis in imperative/OOP languages] {{Compiler optimizations}}
[[Category:Control-flow analysis| ]]
|