Aalborg den 03.05.2003

Mellemkode vejledende løsninger

Opgave A

L-value er når en variable bliver brugt på venstre side af en tilskrivning (assignment) og r-value er når en variable bruges på højre side af en tilskrivning. Så bogstavet l står for left og bogstavet r står for right. Ligeledes kan man sige at bogstavet l står for location hermed skal forstås en location altså at man skriver til f.eks. en main-memory location. Tilsvarende siges at med r-value læser fra en location (content of a main-memory location).

En simpel variable så som int a og en array variable så som int myArray[10] kan bruges på begge sidder af en tilskrivning i Java altså både som l-value og r-value. En konstant derimod kan kun anvendes som r-value f.eks. er følgende linje tilladt i Java int a = b + 1, mens den næste linje ikke er 8 = a + 1 (man vil ændre værdien af 8). I kan finde eksempler på brug af l-value og r-value i Java i følgende program LValue.java.

 Opgave B

 Når man anvender Tree sproget der er defineret i figur 7.2 i bogen side 138.

B1

B2

B3

B4

 

Venlig hilsen
Kristian Torp
torp (at) cs (dot) auc (dot) dk