Difference from DFA:
Defined like DFAs, except for transition function. Consists of:
Nondeterministic means that it can accept a word in more than one way.
For an L, you cannot form $\overline{L}$ by flipping final and nonfinal states.
A language L is accepted by NFA iff L is regular.
Start with the λ-closure of the initial states – i.e. the initial state plus any states you can reach with a λ transition. Then, see what states you can go to from there, and every time compute the λ-closure.
Grammar defines a language. With grammar rules you can construct a sentence.
Consists of:
If x → y is production rule, then we have derivation step uxv ⇒ uyv for every u,v ∈ (V ∪ T)*.
Find grammar G such that L(G) = {a,b}* {c} {b,c}*
S → AcB
A → aA B → bB
A → bA B → cB
A → λ B → λ
Non-terminals are indicated by < and >, and you can abbreviate multiple rules with an or.
So like:
S → a
| b
| λ
Right linear if all production rules are of form A → uB or A → u, where A,B are variables and u is a terminal.
It’s strictly right linear if $|u| \leq 1$ (so $u \in (T \cup \lambda)$)