| |
- Definition:
poly ist der Abschluß von vs0 unter der Relation 'erreichbar von' (Programmpunkt (pp0,vs0) ist in poly enthalten.)
|
| |
- Algorithmus
| |
poly := { (pp0,vs0) };
while poly enthält ein nicht markiertes Paar (pp,vs) do
begin
markiere (pp,vs);
generiere Code für den Basisblock, der mit pp beginnt
(unter Benutzung der Werte in vs)
poly := poly È successors (pp,vs)
end
|
|
| |
- Regeln für Nachfolger
|
Kontrollkomponente von pp |
successors (pp, vs) |
Bemerkung |
|
return |
{ } |
|
|
goto pp' |
{ (pp', vs') } |
|
|
if exp goto pp' else pp''
|
{ (pp', vs') }
{ (pp'', vs') }
{ (pp', vs'), (pp'', vs') } |
wenn exp true ist
wenn exp false ist
wenn exp dynamisch ist |
|