01 Formální jazyk
$$
\require{mathtools}
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
\newcommand{\dv}[1]{\frac{\mathrm{d}}{\mathrm{d} #1}}
\newcommand{\dvv}[2]{\frac{\mathrm{d} #1}{\mathrm{d} #2}}
$$
# Formální jazyk
- Množina řetězců nad nějakou abecedou
- Může být prázdná - ${\space}$
- Značíme $\Sigma$ nebo $T$
- Formální jazyk $L$ nad $\Sigma: L \subseteq \Sigma^*$
$L(G)$ = jazyk generovaný gramatikou $G$
- Prázdný jazyk $L(G)={\space} = \emptyset$ lze generovat i [regulární gramatikou](notes/bi-aag/01-klasifikace-gramatik-a-jazyku.md#Regulární gramatiky RG), tedy patří do všech tříd jazyků
# Druhy jazyka
Například abeceda obsahující symboly $a, b, c$ $\Sigma = {a, b, c}$
$\Sigma^+$ - množina všech neprázdných řetězců nad $\Sigma$
$\Sigma^$ - množina všech řetězců nad $\Sigma$, tedy včetně prázdného řetězce $\varepsilon$ $\Sigma^ = \Sigma^+ \cup {\varepsilon}$
# Operace
# Doplněk (komplement) jazyka
# Množinové operace
- Sjednocení
- Průnik
- Rozdíl
# Součin (zřetězení) jazyků
Značíme tečkou $\Large{\cdot}$ $L = L_{1}\cdot L_{2}={xy: x \in L_{1}, y\in L_2}$, $L$ je definován nad abecedou $\Sigma = \Sigma_{1}\cup \Sigma_2$
# Iterace (Kleene star)
Značíme hvězdičkou $\large{^}$ $L^{}= L^{0} \cup L^{1} \cup L^{2} \cup L^{3} \cup\dots$
$L^{0} = {\varepsilon}$ $L^{1}=L$ $L^{2}=L \cdot L$ $L^{3}=L \cdot L \cdot L$
# Pozitivní iterace (Kleene plus)
Značíme plusem $\large{^+}$ $L^{+}= L^{1} \cup L^{2} \cup L^{3} \cup\dots$
Neobsahuje $L^{0}$