G = (VN, VT, P, S)
V: vocabulary
N: non-terminals
T: terminals
P: productions
S: the starting symbol
u X v => u Y v
X : single non-terminal
Y : non-empty string
u, v : arbitrary string
Example:
S => aSBC
S => aBC
CB => BC S : Starting symbol
aB => ab A, B, C : non-terminals
bB => bb a, b, c : terminals
bC => bc
cC => cc
ISA : is an instance of
AKO : is a subclass of
HAS-A