15
CS269: HW/SW Engineering of Embedded Systems, Winter02
Declarations
•
Each node that declares a new name is
annotated with a unique object, the
declaration.
•
Each reference to a name is annotated with
the unique declaration of that name.
public update void write(
int val
) {
buffer[current++]
= val
;
}
IntTypeNode
ParameterNode
Type
Name
NameNode
val
Qualifier
Params
NO_MODS
ParameterDecl
category = CG_FORMAL;
name = “val”;
modifiers = NO_MODS;
source =
AssignNode
Expr2
Expr1
getProperty(DECL_KEY)
ObjectNode
Name
NameNode
val
Qualifier
Params
...