### lexemes

a sequence of characters that form tokens.

### context-free grammar

a context-free grammar can be expressed by BNF production.

{A^n}: {A, AA, AAA, AAAA ... } is a regular expression

{A^nB^n}: {AB, AABB, AAABBB ...} is a context-free grammar, but not a regular expression

{A^n B^n C^n}, {ABC AABBCC AAABBBCC,...} is non-context-free grammar, not a regular expression

### Kleene closure

[ab]* is the Kleense closure of the set {a, b}.

{"", "a", "b", "ab", "ba", "aaa", "aab", "aba", "abb", "baa", "bab", "bba", "bbb", ....}