Metody realizacji języków programowania/MRJP Wykład 8: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Gorecki (dyskusja | edycje)
Nie podano opisu zmian
Gorecki (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
= Część I =
= Wprowadzenie =
== Uczę się pisać w wiki, ale wkrotce beda tu wlasciwe zmiany ==
= Przekształcenia poprawiające kod =
# To jest tylko test
 
 
== Eliminacja wspólnych podwyrażeń ==
Wyrażenie <math>E</math> postaci <math>X\;op\;Y</math> jest nazywane '''wspólnym podwyrażeniem''' jeśli występuje ono w kilku miejscach oraz
wartości zmiennych <math>X</math> i <math>Y</math> użytych w kolejnych wystąpieniach  <math>E</math> nie zmieniły się po poprzednim obliczeniu <math>E</math>. W takiej sytuacji można zastąpić
kolejne wystąpienia <math>E</math> przez wartość wyliczoną za pierwszym razem.
 
Przykład:
a=4*i
b=4*i
c=a+b
 
Drugie wyliczenie <math>4*i</math> można zastąpić przez <math>b</math>. Przekształcony blok:
a=4*i
b=a
c=a+b
 
Eliminację wspólnych podwyrażeń można stosować
* lokalnie - gdy przeszukujemy jeden blok bazowy,
* globalnie - dla całego grafu przepływu (trudniejsze z powodu pętli).
 
# I jeszcze raz
# I jeszcze raz



Wersja z 15:32, 14 lip 2006

Wprowadzenie

Przekształcenia poprawiające kod

Eliminacja wspólnych podwyrażeń

Wyrażenie E postaci XopY jest nazywane wspólnym podwyrażeniem jeśli występuje ono w kilku miejscach oraz wartości zmiennych X i Y użytych w kolejnych wystąpieniach E nie zmieniły się po poprzednim obliczeniu E. W takiej sytuacji można zastąpić kolejne wystąpienia E przez wartość wyliczoną za pierwszym razem.

Przykład:

a=4*i
b=4*i
c=a+b

Drugie wyliczenie 4*i można zastąpić przez b. Przekształcony blok:

a=4*i
b=a
c=a+b

Eliminację wspólnych podwyrażeń można stosować

  • lokalnie - gdy przeszukujemy jeden blok bazowy,
  • globalnie - dla całego grafu przepływu (trudniejsze z powodu pętli).
  1. I jeszcze raz

asdasd

  1. To jest tylko test
  2. I jeszcze raz


ShowHide

Jak ukryć kawałek tekstu

Uwaga: nie należy umieszczać ===nagłówków=== w tym środowisku, bo się to i owo rozjeżdża (spis treści, linki Edytuj itp).

  • adsdas
  • asda
asdasdasdad