<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Grupo #2 - Actividad 4: Creación de Tablero Online - Teoría de Autómatas y compiladores by Emil Moquete</title>
      <link>https://padlet.com/emilmr0309/txw76prkl9h3r2sk</link>
      <description>Gramáticas de contexto libre, Árboles de derivación, Formas de representación de GCL, Forma Normal de Chomsky, Proceso de construcción de un autómata a partir de una gramática.</description>
      <language>en-us</language>
      <pubDate>2024-09-17 21:39:08 UTC</pubDate>
      <lastBuildDate>2024-09-23 02:18:39 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet.net/icons/8.0/png/1f5a5.png</url>
      </image>
      <item>
         <title>Árboles de derivación (Emil Moquete 22-0969)</title>
         <author>emilmr0309</author>
         <link>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3124390310</link>
         <description><![CDATA[<p>Un árbol de derivación permite mostrar gráficamente cómo se puede derivar cualquier cadena de un lenguaje a partir del símbolo distinguido de una gramática que genera ese lenguaje.</p><p><br></p><p>Un árbol es un conjunto de puntos, llamados nodos, unidos por líneas, llamadas arcos. Un arco conecta dos nodos distintos. Para ser un árbol un conjunto de nodos y arcos debe satisfacer ciertas propiedades:</p><ul><li><p>Hay un único nodo distinguido, llamado raíz (se dibuja en la parte superior) que no tiene arcos incidentes.</p></li><li><p>Todo nodo <em>c</em> excepto el nodo raíz está conectado con un arco a otro nodo <em>k</em>, llamado el padre de <em>c</em> (<em>c es el hijo de k</em>). El padre de un nodo, se dibuja por encima del nodo.</p></li><li><p>Todos los nodos están conectados al nodo raíz mediante un único camino.</p></li><li><p>Los nodos que no tienen hijos se denominan hojas, el resto de los nodos se denominan nodos interiores.</p></li></ul><p><br></p><p><strong>Propiedades de un árbol de derivación.</strong></p><p><br></p><p>Sea G = (N,T,S,P) una gramática libre de contexto, sea A  <strong>∈</strong> N una variable. Diremos que un árbol T<sub>A</sub> = (N,E) etiquetado es un árbol de derivación asociado a G si verifica las propiedades siguientes:</p><p><br></p><ul><li><p>La raíz del árbol es un símbolo no terminal.</p></li><li><p>Cada hoja corresponde a un símbolo terminal o λ.</p></li><li><p>Cada nodo interior corresponde a un símbolo no terminal.</p></li></ul><p><br></p><p>Para cada cadena del lenguaje generado por una gramática es posible construir (al menos) un árbol de derivación, en el cual cada hoja tiene como rótulo uno de los símbolos de la cadena.</p><p><br></p><p><br></p><p><strong>Referencias:</strong></p><p>Alejandra, M. (s.&nbsp;f.). <em>Arboles de derivaciòn</em>. <a rel="noopener noreferrer nofollow" href="https://teodelacomp.blogspot.com/2011/03/arboles-de-derivacion.html">https://teodelacomp.blogspot.com/2011/03/arboles-de-derivacion.html</a></p><p><br></p><p><em>Traductores e Intérpretes UCAB : Arboles de Derivacion</em>. (s.&nbsp;f.). <a rel="noopener noreferrer nofollow" href="http://www.suigeneris.org/UCABTI/Arboles%20de%20Derivacion.html">http://www.suigeneris.org/UCABTI/Arboles%20de%20Derivacion.html</a></p>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1579464090/b867e99f00115fbe7f01cc61b29a8bd2/image.png" />
         <pubDate>2024-09-17 21:55:09 UTC</pubDate>
         <guid>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3124390310</guid>
      </item>
      <item>
         <title>Gramáticas de Contexto Libre (GCL)</title>
         <author>javierjarpuni</author>
         <link>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3127693921</link>
         <description><![CDATA[<p>Las Gramáticas de Contexto Libre (GCL) son un tipo de gramática formal que se utiliza para definir la estructura de lenguajes formales, como los lenguajes de programación y los lenguajes naturales. En una GCL, las reglas de producción se aplican independientemente del contexto en el que aparezcan, lo que facilita su uso en el análisis sintáctico.</p><p><br/></p><p>Componentes Principales</p><p><br/></p><ul><li><p>Símbolos Terminales: Son los elementos básicos del lenguaje, es decir, los caracteres o tokens finales que no se pueden descomponer más. Ejemplos incluyen palabras clave o caracteres individuales en lenguajes de programación.</p></li><li><p>Símbolos No Terminales: Son los elementos abstractos que se pueden descomponer o reemplazar mediante reglas de producción. Representan estructuras como expresiones o sentencias.</p></li><li><p>Símbolo Inicial: Es el punto de partida de la derivación de una cadena en el lenguaje. Normalmente se denota por un símbolo no terminal, desde el cual se empiezan a aplicar las reglas de la gramática.</p></li><li><p>Reglas de Producción: Son las reglas que permiten transformar un símbolo no terminal en una secuencia de símbolos terminales y no terminales. Se expresan en la forma A → α, donde A es un símbolo no terminal y α es una cadena de símbolos que puede incluir terminales y no terminales.</p></li></ul><p><br/></p><p>Ejemplo:</p><p><br/></p><p>Considera la siguiente gramática que genera cadenas de paréntesis balanceados:</p><p>Símbolos Terminales: (, )</p><p>Símbolos No Terminales: S</p><p>Símbolo Inicial: S</p><p>Reglas de Producción:</p><p>S → (S)S</p><p>S → ε (ε representa la cadena vacía)</p><p><br/></p><p>Referencias:</p><ul><li><p>Aho, A. V., Lam, M. S., Sethi, R., &amp; Ullman, J. D. (2006). <em>Compilers: Principles, techniques, and tools</em> (2nd ed.). Addison-Wesley.</p></li><li><p>Massachusetts Institute of Technology (MIT). (n.d.). <em>Theory of computation</em> [Lecture notes]. MIT OpenCourseWare. <a rel="noopener noreferrer nofollow" href="https://ocw.mit.edu">https://ocw.mit.edu</a></p></li></ul>]]></description>
         <enclosure url="https://www.youtube.com/watch?v=S7CIUL-4b-k" />
         <pubDate>2024-09-19 12:03:22 UTC</pubDate>
         <guid>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3127693921</guid>
      </item>
      <item>
         <title>Árboles de derivación - Parte 2 (Emil Moquete 22-0969) </title>
         <author>emilmr0309</author>
         <link>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3130412500</link>
         <description><![CDATA[<p>Para cada cadena del lenguaje generado por una gramática es posible construir (al menos) un árbol de derivación, en el cual cada hoja tiene como rótulo uno de los símbolos de la cadena.</p><p><br></p><p>Si un nodo está etiquetado con una variable X y sus descendientes (leídos de izquierda a derecha) en el árbol son X1,…,Xk , entonces hay una producción X → X1…Xk en G.</p><p><br></p><p>Sea G=(N,T,S,P) una GLC. Un árbol es un árbol de derivación para G si:</p><p><br></p><p>1. Todo vértice tiene una etiqueta tomada de <strong>T ∪ N ∪ (λ).</strong></p><p><br></p><p>2. La etiqueta de la raíz es el símbolo inicial <em>S.</em></p><p><br></p><p>3. Los vértices interiores tienen etiquetas de <em>N.</em></p><p><br></p><p>4. Si un nodo n tiene etiqueta <em>A </em>y <em>n<sub>1</sub>n<sub>2</sub>...n<sub>k</sub> </em>respectivamente son hijos del vértice <em>n</em>, ordenados de izquierda a derecha, con etiquetas <em>x<sub>1</sub>,x<sub>2</sub>..x<sub>k</sub> </em>respectivamente, entonces: <em>A</em>→ <em>x<sub>1</sub>x<sub>2</sub>...x<sub>k </sub></em>debe ser una producción en <em>P.</em></p><p><br></p><p>5. Si el vértice <em>n </em>tiene etiqueta λ, entonces <em>n </em>es una hoja y es el único hijo de su padre.</p><p><br></p>]]></description>
         <enclosure url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2F-5L1d7OsLcvF_SdX80xnGUvDOh2Otqxp8aZVUG3oXh6laoQJFobbbh2b0yuRXLYbKDrfe5bjGH3ErTetaudoNKYWBwDCE5ZtQSs-SpB9V12NxLJ_Frj7GaTCopBcRH-L66vUEb0XJQ/s1600/image003.gif" />
         <pubDate>2024-09-20 22:03:14 UTC</pubDate>
         <guid>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3130412500</guid>
      </item>
      <item>
         <title>Forma Normal de Chomsky (Jean Roque 23-0812)</title>
         <author>jeanroque130304</author>
         <link>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3130425401</link>
         <description><![CDATA[<p>Una gramática libre de contexto se dice que está en <strong>forma Normal Chomsky</strong> si sigue las siguientes reglas de producción:</p><ul><li><p><strong><em>A</em> → <em>BC</em></strong></p></li><li><p><strong><em>A</em> → <em>a</em></strong></p></li><li><p><strong><em>S</em> → ε</strong></p></li></ul><p><br></p><p>Aquí, A, B y C son símbolos no terminales, la letra "a" es un símbolo terminal y S es la cadena inicial, la cuál deriva a la cadena vacía ε. En este contexto, B y C no pueden ser los símbolos iniciales y la tercera regla solo puede aparecer si ε pertenece al lenguaje producido por esta gramática. Para transformar una GLC para que esté en forma normal Chomsky, se siguen una serie de transformaciones simples en un determinado orden:</p><p><br></p><p><strong>1) Inicio: Eliminar el símbolo de inicio de los lados derechos</strong></p><p>Se introduce un nuevo símbolo de inicio S<sub>0</sub>, y la regla<strong> S<sub>0</sub> → S<sub>1</sub></strong>, donde S<sub>1</sub> es el símbolo de inicio anterior. El lenguaje no cambia y S<sub>0</sub> no aparecerá en el lado derecho de ninguna otra regla.</p><p><br></p><p><strong>2) Término: Eliminar reglas con terminales no solitarios</strong></p><p>Para eliminar cada regla con terminales no solitarios (<em>A</em> → <em>X</em><sub>1</sub>... <em>a</em>... <em>X<sub>n</sub>),</em> se crea un símbolo terminal N<sub>a</sub>, y la nueva regla <strong>N<sub>a </sub>→ a</strong>, y se cambia la regla a <em>A</em> → <em>X</em><sub>1</sub>... <em>N<sub>a</sub></em>... <em>X<sub>n</sub></em>. Si aparecen varios símbolos terminales en el lado derecho, se reemplaza al mismo tiempo todos ellos por su símbolo no terminal asociado.</p><p><br></p><p><strong>3) BIN: Elimina los lados derechos con más de 2 no terminales</strong></p><p>Se reemplaza con más de 2 no terminales por reglas <strong><em>A</em> → <em>X</em><sub>1</sub><em>X</em><sub>2</sub>... <em>X<sub>n</sub></em></strong><em><sub> </sub></em>con más de 2 no terminales <strong><em>X</em><sub>1</sub>, <em>X</em><sub>2, </sub>...,<em>X<sub>n</sub></em></strong> por reglas:</p><p><em>A</em> → <em>X</em><sub>1</sub> <em>A</em><sub>1</sub>,</p><p><em>A</em><sub>1</sub> → <em>X</em><sub>2</sub> <em>A</em><sub>2</sub>,</p><p>...</p><p><em>A<sub>n</sub></em><sub>-2</sub> → <em>X<sub>n</sub></em><sub>-1</sub> <em>X<sub>n</sub></em>,</p><p>, donde Ai son nuevos símbolos no terminales.</p><p><br></p><p><strong>4) DEL: eliminar las reglas ε</strong></p><p>Para eliminar esta regla A → ε, donde A no es S<sub>0</sub>, se debe de primero de encontrar el conjunto de todos los no terminales que derivan de ε. Estos tipos de símbolos se les llama <strong>anulables </strong>y se calculan de la siguiente manera:</p><ul><li><p>Si existe la regla A → ε, entonces A es nulo</p></li><li><p>Si la regla <em>A</em> → <em>X</em><sub>1</sub>... <em>X<sub>n </sub></em>existe, y cada <em>X<sub>i</sub></em> es nula, entonces A también es nulo</p></li></ul><p><br></p><p>Se reemplaza cada regla por todas las versiones con alguna X<sub>i</sub> anulable omitida. Cuando se eliminan cada regla ε, a menos que su lado izquierdo sea S<sub>0 </sub>se obtiene la gramática transformada.</p><p><br></p><p><strong>5) UNIDAD: Eliminar reglas de unidad</strong></p><p>Esta regla es de la forma <strong>A → B</strong>, donde A y B son no terminales. Para eliminarse, para cada regla <em>B</em> → <em>X</em><sub>1</sub>... <em>X<sub>n</sub></em> donde <em>X</em><sub>1</sub>... <em>X<sub>n</sub></em> es una cadena de no terminales y terminales, añadir regla <em>A</em> → <em>X</em><sub>1</sub>... <em>X<sub>n</sub></em>, al menos que sea una regla de unidad que ya estaba eliminado. </p><p><br></p><p>Referencias:</p><ul><li><p>Academia Lab. (2024). Forma normal de Chomsky. <em>Enciclopedia</em>. Revisado el 20 de septiembre del 2024. <a rel="noopener noreferrer nofollow" href="https://academia-lab.com/enciclopedia/forma-normal-de-chomsky/">https://academia-lab.com/enciclopedia/forma-normal-de-chomsky/</a></p></li><li><p>Academy, E. (2023, 2 agosto). <em>¿Qué es la forma normal de Chomsky y cuáles son las restricciones específicas que impone a las gramáticas independientes del contexto? - Academia EITCA</em>. EITCA Academy. <a rel="noopener noreferrer nofollow" href="https://es.eitca.org/cybersecurity/eitc-is-cctf-computational-complexity-theory-fundamentals/context-sensitive-languages/chomsky-normal-form/examination-review-chomsky-normal-form/what-is-chomsky-normal-form-and-what-are-the-specific-constraints-it-imposes-on-context-free-grammars/">https://es.eitca.org/cybersecurity/eitc-is-cctf-computational-complexity-theory-fundamentals/context-sensitive-languages/chomsky-normal-form/examination-review-chomsky-normal-form/what-is-chomsky-normal-form-and-what-are-the-specific-constraints-it-imposes-on-context-free-grammars/</a></p></li></ul>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/2756072305/7e5618029fca8c0b0d75769d6fbddcbc/image.png" />
         <pubDate>2024-09-20 22:37:44 UTC</pubDate>
         <guid>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3130425401</guid>
      </item>
      <item>
         <title>Proceso de construcción de un autómata a partir de una gramática (Angel Garcia 23-0599)</title>
         <author>angelgarciah5</author>
         <link>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3131862087</link>
         <description><![CDATA[<p>Para construir un autómata a partir de una gramática, el proceso varía según el tipo de gramática que estés trabajando. Los dos procesos mas comunes son gramáticas regulares y gramáticas libres de contexto.</p><p><br></p><p><strong>1. Gramática Regular a Autómata Finito</strong></p><p><br></p><p>Las gramáticas formales definen un lenguaje describiendo cómo se pueden generar las cadenas del lenguaje. El autómata finito correspondiente será un autómata finito determinista (AFD) o no determinista (AFN).</p><p><br></p><p>Pasos:</p><p><br></p><p>Identificación de símbolos terminales y no terminales:</p><ul><li><p>Los símbolos terminales (alfabeto) representan las transiciones del autómata.</p></li><li><p>Los símbolos no terminales (variables) se convierten en estados del autómata.</p></li></ul><p><br></p><p>Creación de transiciones:</p><ul><li><p>Para cada regla de producción de la forma <mark>A → aB</mark> (donde <mark>A</mark> y <mark>B</mark> son no terminales, y <mark>a</mark> es un terminal), dibujas una transición desde el estado <mark>A</mark> al estado <mark>B</mark> con la etiqueta <mark>a</mark>.</p></li><li><p>Si tienes una regla<mark> A → a</mark> (sin un no terminal), dibujas una transición desde el estado <mark>A</mark> a un estado de aceptación (estado final) con la etiqueta <mark>a</mark>.</p></li></ul><p><br></p><p>Define el estado inicial y los estados de aceptación:</p><ul><li><p>El estado inicial del autómata es el símbolo inicial de la gramática.</p></li><li><p>Los estados de aceptación son aquellos donde las producciones no tienen más no terminales (es decir, derivan solo en terminales).</p></li></ul><p><br></p><p>Ejemplos:</p><ul><li><p>S → aA</p></li><li><p>A → a</p></li><li><p>A → bS</p></li></ul><p><br></p><p>Referencias:</p><ul><li><p>Juancar Molinero. (2014, 16 febrero). <em>Definición formal de un autómata finito determinista (AFD)</em> [Vídeo]. YouTube. <a rel="noopener noreferrer nofollow" href="https://www.youtube.com/watch?v=P0AxQvJcN2Q">https://www.youtube.com/watch?v=P0AxQvJcN2Q</a></p></li><li><p><a rel="noopener noreferrer nofollow" href="https://users.exa.unicen.edu.ar/catedras/ccomp1/ApunteGRyER.pdf">https://users.exa.unicen.edu.ar/catedras/ccomp1/ApunteGRyER.pdf</a></p></li></ul>]]></description>
         <enclosure url="https://youtu.be/P0AxQvJcN2Q?si=sY_LjhFmFSQuOgAm" />
         <pubDate>2024-09-22 19:27:11 UTC</pubDate>
         <guid>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3131862087</guid>
      </item>
      <item>
         <title>Proceso de construcción de un autómata a partir de una gramática - parte 2 (Angel Garcia 23-0599)</title>
         <author>angelgarciah5</author>
         <link>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3131863568</link>
         <description><![CDATA[<p><strong>2.</strong> <strong>Construcción de un Autómata de Pila a partir de una Gramática Libre de Contexto</strong></p><p><br/></p><p>Una gramática libre de contexto es más compleja que una regular y genera lenguajes libres de contexto. El autómata que representa estas gramáticas es un <strong>autómata de pila</strong>. Este tipo de autómata usa una pila para manejar las derivaciones, que pueden involucrar múltiples símbolos.</p><p><br/></p><p>Pasos:</p><p><br/></p><p>Identifica las reglas de la gramática:</p><ul><li><p>Cada producción de la forma <mark>A → a</mark> (donde <mark>A</mark> es un no terminal y <mark>a</mark> es una combinación de terminales y no terminales) servirá como base para las transiciones en el autómata.</p></li></ul><p><br/></p><p>Configura la pila:</p><ul><li><p>Los no terminales se apilan en la pila y son reemplazados por sus producciones según las reglas de la gramática.</p></li><li><p>A medida que el autómata procesa los terminales, se asegura de que las entradas coincidan con lo que está en la pila.</p></li></ul><p><br/></p><p>Definir estados y transiciones:</p><ul><li><p>El autómata tiene un estado inicial y un estado de aceptación.</p></li><li><p>Las transiciones implican manipular la pila (apilar y desapilar) para aplicar las producciones de la gramática.</p></li></ul><p><br/></p><p>Ejemplo:</p><ul><li><p>S → aSb</p></li><li><p>S → s</p></li></ul><p><br/></p><p>Referencias:</p><ul><li><p>Juancar Molinero. (2012, 14 mayo). <em>De Gramática Independiente del Contexto a Autómata a Pila</em> [Vídeo]. YouTube. <a rel="noopener noreferrer nofollow" href="https://www.youtube.com/watch?v=Q_b4c5kmV1Q">https://www.youtube.com/watch?v=Q_b4c5kmV1Q</a></p></li><li><p><a rel="noopener noreferrer nofollow" href="https://ocw.unican.es/pluginfile.php/2451/course/section/2492/3-8_CFL.pdf">https://ocw.unican.es/pluginfile.php/2451/course/section/2492/3-8_CFL.pdf</a></p></li></ul>]]></description>
         <enclosure url="https://youtu.be/Q_b4c5kmV1Q?si=nLl9EH9PI_wO2etc" />
         <pubDate>2024-09-22 19:29:57 UTC</pubDate>
         <guid>https://padlet.com/emilmr0309/txw76prkl9h3r2sk/wish/3131863568</guid>
      </item>
   </channel>
</rss>
