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.
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