context-free grammars
Formal grammar of the form A -> α
.
Where A
is a single nonterminal symbol, α
is a string of terminals / nonterminals / empty.
Note: Do not confuse symbol with tokens. Symbols are groupings of tokens.
Set of recursive rules used to generate pattern of strings.
It is “context-free” because replacement of a non-terminal does not depend on surrounding symbols i.e. context.
Examples:
stmt -> id = Expr
stmt -> {stmtList}
stmtlist -> stmt
stmtlist -> stmtlist stmt
...