Edición de «Definiciones y teoremas (Teoría de Lenguajes)»

De Cuba-Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 41: Línea 41:
SD(N \to \beta) =
SD(N \to \beta) =
\begin{cases}
\begin{cases}
\textrm{PRIMEROS}(\beta) & si\ \beta\ \textrm{no es anulable} \\
\textrm{PRIMEROS}(\beta) & si\ \beta\ \textrm{no\ es\ anulable} \\
\textrm{PRIMEROS}(\beta) \cup \textrm{SIGUIENTES}(N) & \textrm{si no}
\textrm{PRIMEROS}(\beta) \cup \textrm{SIGUIENTES}(N) & \textrm{sino}
\end{cases}
\end{cases}
</math>
</math>
Línea 107: Línea 107:
Pasa a ser:
Pasa a ser:
<br>A --> β1 <font color=blue>A'</font> | ... | βK <font color=blue>A'</font>
<br>A --> β1 <font color=blue>A'</font> | ... | βK <font color=blue>A'</font>
<br><font color=blue>A'</font> --> <font color=red>α1</font> A' | ... | <font color=red>αN</font> A' | λ
<br><font color=blue>A'</font> --> <font color=red>α1</font> <font color=blue>A'</font> | ... | <font color=red>αN</font> <font color=blue>A'</font> | lambda


= Gramáticas y parsers LR =
= Gramáticas y parsers LR =
Línea 132: Línea 132:
=== Los distintos algoritmos LR ===
=== Los distintos algoritmos LR ===


Construir el AFND ideal o necesario una gramática cualquiera no es fácil y puede llegar a tener miles de estados, ya que cada estado del AFND representa un momento determinado en el parsing de una cadena de entrada cualquiera, y tiene que tener implícita la información de todo lo se leyó hasta el momento.  
Construir el AFND ideal o necesario una una gramática cualquiera no es fácil y puede llegar a tener miles de estados, ya que cada estado del AFND representa un momento determinado en el parsing de una cadena de entrada cualquiera, y tiene que tener implícita la información de todo lo se leyó hasta el momento.  


Hay entonces formas de construir AFND más simples y que sirven en muchas situaciones (aunque no todas).  
Hay entonces formas de construir AFND más simples y que sirven en muchas situaciones (aunque no todas).  
Línea 155: Línea 155:
Para los detalles de estas funciones en cada parser recomiendo altamente leer este ppt:  
Para los detalles de estas funciones en cada parser recomiendo altamente leer este ppt:  


[http://oscarbonilla.com/courses/compilers/materials/09_Parser_Engines.ppt Algoritmos LR0, SLR, LR1 y LALR] [[Media:TLeng_Parser_Engines_Oscar_Bonilla.pdf|(mismas diapos pero en pdf)]]
[http://oscarbonilla.com/courses/compilers/materials/09_Parser_Engines.ppt Algoritmos LR0, SLR, LR1 y LALR]


Es didáctico, con ejemplos paso a paso y si bien parece largo por tener cientos de slides, la mayoría son por los ejemplos paso a paso. Recomiendo en serio leerlo si quieren ver como construir los AFND en detalle.
Es didáctico, con ejemplos paso a paso y si bien parece largo por tener cientos de slides, la mayoría son por los ejemplos paso a paso. Recomiendo en serio leerlo si quieren ver como construir los AFND en detalle.


= Gramaticas de Atributos =
= Gramaticas de Atributos =
Ten en cuenta que todas las contribuciones a Cuba-Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Cuba-Wiki:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)

Plantilla usada en esta página: