Tilgjengelige uttrykk

Fra Wikipedia, den frie encyklopedi

Tilgjengelige uttrykk er et begrep innenfor kompilatorteknikk hvor en analysealgoritme bestemmer for hvert punkt i dataprogrammet den mengde av uttrykk som ikke behøves å bli beregnet på nytt. Disse uttrykkene blir sagt å være tilgjengelige på et slikt punkt. For å være tilgjengelige på et punkt i programmet, burde uttrykkets operander ikke modifiseres til noen sti som er annerledes enn uttrykkets tilstedeværelse i programmets punkt.

Analysen er et eksempel på et problem knyttet til dataflytanalyse. Mengden med tilgjengelige uttrykk blir vedlikeholdt. Hver setning analyseres for å se om den forandrer operandene til et eller flere tilgjengelige uttrykk, noe som fører til mengder av tilgjengelige uttrykk på slutten av hver grunnleggende blokk, kjent som «utgangspunktet» (outset). Et uttrykk er tilgjengelig ved starten av en grunnleggende blokk hvis det er tilgjengelig ved slutten av den grunnleggende blokkens forgjengere. Dette gir et sett med ligninger i betydningen tilgjengelige uttrykk, som kan beregnes ved en iterativ algoritme.

Analyser av tilgjengelige uttrykk kan bli brukt for å foreta eliminering av vanlige underuttrykk. Hvis et uttrykk er tilgjengelig på et bestemt punkt, er det ikke behov for å reevaluere det.

Litteratur[rediger | rediger kilde]

  • Aho, Sethi & Ullman: Compilers - Principles, Techniques, and Tools Addison-Wesley Publishing Company 1986.