Static vs. Dynamic: in general
Static - attributes known before execution
Dynamic - attributes known / determined during execution
Implicit vs. Explicit:
var x;
explicit declaration, implicit binding
Implicit vs. Explicit:
x = []
Implicit declaration, explicit binding
Attribute vs. Keyword:
int x;
keyword is int, attribute is integer
name x is also an attribute
Static vs. Dynamic:
int n = 2;
Static attributes: integer, name (n)
Dynamic attributes: value (2)
Name binding should bind 3 things:
location
attributes
value
Symbol Table
names and attributes
Environment
names and locations
Memory
locations and values