• Nonterminals: names (= strings)
• Example: prog, stat, expr, …
• Terminals: Characters in quotes or declared tokens
• Example: ‘+’, ‘*’, ‘(’, ‘)’, ID, INTEGER
• Rules: Set of A-rules { A ® x1, A ® x2, … A ® xn}
is written as A : x1
| x2
…
| xn
• Example: expr : expr ‘+’ expr
| ID
• Start Nonterminal: A left side of the first rule.