some (very little) work on commenting
This commit is contained in:
@@ -7,7 +7,15 @@ determine what kind of memory is used in evaluating it (for example,
|
|||||||
where dereferences occur and what kind of pointer is dereferenced;
|
where dereferences occur and what kind of pointer is dereferenced;
|
||||||
whether the memory is mutable; etc)
|
whether the memory is mutable; etc)
|
||||||
|
|
||||||
|
Categorization effectively transforms all of our expressions into
|
||||||
|
expressions of the following forms (the actual enum has many more
|
||||||
|
possibilities, naturally, but they are all variants of these base
|
||||||
|
forms):
|
||||||
|
|
||||||
|
E = rvalue // some computed rvalue
|
||||||
|
| x // address of a local variable, arg, or upvar
|
||||||
|
| *E // deref of a ptr
|
||||||
|
| E.comp // access to an interior component
|
||||||
|
|
||||||
Imagine a routine ToAddr(Expr) that evaluates an expression and returns an
|
Imagine a routine ToAddr(Expr) that evaluates an expression and returns an
|
||||||
address where the result is to be found. If Expr is an lvalue, then this
|
address where the result is to be found. If Expr is an lvalue, then this
|
||||||
|
|||||||
Reference in New Issue
Block a user