next up previous contents
Siguiente: Abreviación de Backus Subir: Gramáticas generativas Anterior: Gramáticas generativas   Índice General

Ejemplos

¿Es posible derivar lenguajes infinitos con sistemas de producciones finitos?

Si, por ejemplo es posible generar el lenguaje $L(G)=\Sigma_T^*$ con un sistema de producciones finitos:


\begin{displaymath}G=(\{\$\},\{a,b\},\{\$\longrightarrow \epsilon,\$\longrightarrow a\$,\$\longrightarrow b\$\},\$) \end{displaymath}

\begin{eqnarray*}
L_1 &=& \{\epsilon,a,b\} \\
G_1 &=& (\{\$\},\{a,b\},\{\$\longrightarrow \epsilon,\$\longrightarrow a,\$\longrightarrow b\},\$)
\end{eqnarray*}

Una gramática recursiva sobre la palabra $v\in\mbox{$\Sigma^*$}$ es una gramática donde se puede derivar desde $v$ una palabra que contiene $v$ de nuevo, es decir, existe la posibilidad de una derivación: $v\longrightarrow ^*uvw$ (con $\vert v\vert<\vert uvw\vert$).

El lenguaje generado por una gramática es infinito, si la gramática es recursiva sobre una palabra $v$ y que a su vez es derivable desde el símbolo inicial.

\begin{eqnarray*}
L_{ab} &=& \{a^nb^n\;\vert\;n\in\bbbn\} \\
G_{ab} &=& (\{a,b\},\{\$\},\{\$\longrightarrow a\$b,\$\longrightarrow \epsilon\},\$)
\end{eqnarray*}

\begin{eqnarray*}
L_{abc} &=& \{a^nb^nc^n\;\vert\;n\in\bbbn\} \\
& & \epsilon,...
...c,\dots\in L_{abc} \\
G_{abc} &=& (\{\$,\dots\},\{a,b,c\},P,\$)
\end{eqnarray*}


next up previous contents
Siguiente: Abreviación de Backus Subir: Gramáticas generativas Anterior: Gramáticas generativas   Índice General
© 2006, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática