Tillgängligt uttryck

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 20 juli 2019; kontroller kräver 5 redigeringar .

Tillgängligt uttryck ( eng.  Tillgängligt uttryck ) i teorin om att konstruera kompilatorer  - något uttryck vid punkten , om någon väg från ingångsnoden till kalkylerar och efter den sista beräkningen innan den når det finns inga efterföljande tilldelningar till variabler och [1] .

Den huvudsakliga användningen av information om tillgängliga uttryck är sökningen efter globala vanliga underuttryck [1] .

Du kan utvärdera en uppsättning genererade uttryck för varje blockpunkt, från början till slutet av blocket. Det finns inga genererade uttryck vid punkten före blocket. Om en uppsättning uttryck är tillgänglig vid en punkt och a är en punkt efter med en instruktion mellan dem, bildar vi uppsättningen av uttryck som är tillgängliga på följande sätt: [1]

  1. Vi lägger till uttrycket .
  2. Vi tar bort från alla uttryck som innehåller variabeln .

De beskrivna stegen måste utföras i angiven ordning, eftersom det kan vara samma som eller . När slutet av blocket har nåtts, kommer uppsättningen genererade blockuttryck att vara. Uppsättningen av förstörda uttryck är uppsättningen av alla uttryck, till exempel så att eller är definierade i blocket, och blocket genereras inte [2] .

Anteckningar

  1. 1 2 3 Kompilatorer: principer, teknologier och verktyg, 2008 , sid. 735.
  2. Kompilatorer: principer, teknologier och verktyg, 2008 , sid. 736.

Litteratur