Dostupný výraz

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 20. července 2019; kontroly vyžadují 5 úprav .

Dostupný výraz ( angl.  Available expression ) v teorii konstruování kompilátorů  - nějaký výraz v bodě , pokud nějaká cesta od vstupního uzlu k výpočtům a po posledním výpočtu před dosažením nedochází k následným přiřazením k proměnným a [1] .

Hlavním využitím informací o dostupných výrazech je hledání globálních společných podvýrazů [1] .

Můžete vyhodnotit sadu vygenerovaných výrazů pro každý bod bloku od začátku do konce bloku. V bodě před blokem nejsou žádné vygenerované výrazy. Pokud je v bodě k dispozici množina výrazů a a je bod za s instrukcí mezi nimi, vytvoříme množinu výrazů dostupných v následujícím způsobem: [1]

  1. Přidáme k výrazu .
  2. Odstraňujeme ze všech výrazů, které obsahují proměnnou .

Popsané kroky musí být provedeny v určeném pořadí, protože může být stejné jako nebo . Po dosažení konce bloku bude množina vygenerovaných výrazů bloku. Množina zničených výrazů je množina všech výrazů, například takových, které jsou v bloku definovány nebo a blok se nevygeneruje [2] .

Poznámky

  1. 1 2 3 Kompilátory: principy, technologie a nástroje, 2008 , str. 735.
  2. Kompilátory: principy, technologie a nástroje, 2008 , str. 736.

Literatura