In this section, we extend C0 with pointers. This extension only affects the expression language of C0. The statement language stays the same.
| Category | Abstract Syntax | Concrete Syntax | Description | |
| Like defined above | ||||
| Indirection | ||||
| Like defined above | ||||
| Address-Of |
Let us now extend the L- and R-evaluation functions to this extended syntax.
Note that may not be defined if does not yield an address.
This definition also nicely displays the “duality” of both operators. turns an L-value into an R-value and does the opposite.
Consider the state:
Apparently, points to the same container as . points to a container that contains the value 3. Let us consider the R-evaluation of the expression using Definition 6.4.1:
Let us consider the R-evaluation of the last two remaining terms in detail: