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