<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.ecured.cu/index.php?action=history&amp;feed=atom&amp;title=Yacc</id>
	<title>Yacc - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.ecured.cu/index.php?action=history&amp;feed=atom&amp;title=Yacc"/>
	<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Yacc&amp;action=history"/>
	<updated>2026-04-06T01:17:58Z</updated>
	<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Yacc&amp;diff=488677&amp;oldid=prev</id>
		<title>Ruslan unhicch: Herramienta Yacc trasladada a Yacc</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Yacc&amp;diff=488677&amp;oldid=prev"/>
		<updated>2011-04-06T19:10:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/Herramienta_Yacc&quot; class=&quot;mw-redirect&quot; title=&quot;Herramienta Yacc&quot;&gt;Herramienta Yacc&lt;/a&gt; trasladada a &lt;a href=&quot;/Yacc&quot; title=&quot;Yacc&quot;&gt;Yacc&lt;/a&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 19:10 6 abr 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;es&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Sin diferencias)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Ruslan unhicch</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Yacc&amp;diff=460967&amp;oldid=prev</id>
		<title>Liudmila13012 jc.hlg en 13:19 29 mar 2011</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Yacc&amp;diff=460967&amp;oldid=prev"/>
		<updated>2011-03-29T13:19:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 13:19 29 mar 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot; &gt;Línea 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|modelo de desarrollo=Software Libre&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|modelo de desarrollo=Software Libre&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|lanzamiento inicial= 1970&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|lanzamiento inicial= 1970&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|versiones= Plan 9, OpenSolaris &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|última versión estable= Flex y Bison (Análogos a lex y yacc respectivamente) &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|última versión estable= Flex y Bison (Análogos a lex y yacc respectivamente) &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|género= Compiladores &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|género= Compiladores &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|sistemas operativos=Unix, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|sistemas operativos=Unix,&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Plan 9, OpenSolaris&amp;#160;  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|idioma=Inglés&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|idioma=Inglés&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|licencia=&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Código abierto &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|licencia= &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;AT&amp;amp;T&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div align = &amp;quot;justify&amp;quot; &amp;gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div align = &amp;quot;justify&amp;quot; &amp;gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Yacc'''. Llamado genéricamente así debido a que sus siglas provienen del inglés [[Yet Another Compiler Compiler ]] un programa que parte del archivo escrito en el lenguaje específico Lenguaje de Descripción de Gramática y genera el código en [[C]], [[C++]] o [[Pascal]]. Permite un lenguaje propio para automatizar tareas repetitivas que, de otra manera, tendrían que hacerse manualmente, dilapidando mucho tiempo y subutilizando las posibilidades de las computadoras actuales&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Yacc'''. Llamado genéricamente así debido a que sus siglas provienen del inglés [[Yet Another Compiler Compiler ]] un programa que parte del archivo escrito en el lenguaje específico Lenguaje de Descripción de Gramática y genera el código en [[C]], [[C++]] o [[Pascal]]. Permite un lenguaje propio para automatizar tareas repetitivas que, de otra manera, tendrían que hacerse manualmente, dilapidando mucho tiempo y subutilizando las posibilidades de las computadoras actuales&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Lenguaje de descripción de gramática==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Lenguaje de descripción de gramática==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l41&quot; &gt;Línea 41:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Los objetos o instancias de dichas clases pudieran considerarse como arreglos de números enteros o reales, pero con propiedades adicionales. Así es posible creas un lenguaje orientado a objetos, de modo que las funciones del programa puedan ejecutarse como métodos de objetos predefinidos. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Los objetos o instancias de dichas clases pudieran considerarse como arreglos de números enteros o reales, pero con propiedades adicionales. Así es posible creas un lenguaje orientado a objetos, de modo que las funciones del programa puedan ejecutarse como métodos de objetos predefinidos. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Creación de nuevos lenguajes==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Creación de nuevos lenguajes==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Liudmila13012 jc.hlg</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Yacc&amp;diff=460480&amp;oldid=prev</id>
		<title>Liudmila13012 jc.hlg en 03:17 29 mar 2011</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Yacc&amp;diff=460480&amp;oldid=prev"/>
		<updated>2011-03-29T03:17:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 03:17 29 mar 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l52&quot; &gt;Línea 52:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 52:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Es necesario ofrecer algunas facilidades para la depuración de programas escritos en esos lenguajes, además, en éste deben incluirse funciones de entrada/salida y de interacción con el usuario, considerando la posibilidad de crear diálogos para recibir información de los usuarios.&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Es necesario ofrecer algunas facilidades para la depuración de programas escritos en esos lenguajes, además, en éste deben incluirse funciones de entrada/salida y de interacción con el usuario, considerando la posibilidad de crear diálogos para recibir información de los usuarios.&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Liudmila13012 jc.hlg</name></author>
		
	</entry>
	<entry>
		<id>https://www.ecured.cu/index.php?title=Yacc&amp;diff=460479&amp;oldid=prev</id>
		<title>Liudmila13012 jc.hlg: Página creada con '{{Ficha Software |nombre=YACC |familia=Compiladores  |imagen=yet_another_compiler_c.jpg |descripción=Programa que parte de un archivo escrito y genera un analizador sintáctico...'</title>
		<link rel="alternate" type="text/html" href="https://www.ecured.cu/index.php?title=Yacc&amp;diff=460479&amp;oldid=prev"/>
		<updated>2011-03-29T03:16:00Z</updated>

		<summary type="html">&lt;p&gt;Página creada con &amp;#039;{{Ficha Software |nombre=YACC |familia=Compiladores  |imagen=yet_another_compiler_c.jpg |descripción=Programa que parte de un archivo escrito y genera un analizador sintáctico...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Ficha Software&lt;br /&gt;
|nombre=YACC&lt;br /&gt;
|familia=Compiladores &lt;br /&gt;
|imagen=yet_another_compiler_c.jpg&lt;br /&gt;
|descripción=Programa que parte de un archivo escrito y genera un analizador sintáctico basado en una gramática analítica escrita en una notación &lt;br /&gt;
|creador= Stephen Curtis Johnson&lt;br /&gt;
|modelo de desarrollo=Software Libre&lt;br /&gt;
|lanzamiento inicial= 1970&lt;br /&gt;
|versiones= Plan 9, OpenSolaris &lt;br /&gt;
|última versión estable= Flex y Bison (Análogos a lex y yacc respectivamente) &lt;br /&gt;
|género= Compiladores &lt;br /&gt;
|sistemas operativos=Unix,  &lt;br /&gt;
|idioma=Inglés&lt;br /&gt;
|licencia=Código abierto &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div align = &amp;quot;justify&amp;quot; &amp;gt;  &lt;br /&gt;
&lt;br /&gt;
'''Yacc'''. Llamado genéricamente así debido a que sus siglas provienen del inglés [[Yet Another Compiler Compiler ]] un programa que parte del archivo escrito en el lenguaje específico Lenguaje de Descripción de Gramática y genera el código en [[C]], [[C++]] o [[Pascal]]. Permite un lenguaje propio para automatizar tareas repetitivas que, de otra manera, tendrían que hacerse manualmente, dilapidando mucho tiempo y subutilizando las posibilidades de las computadoras actuales    &lt;br /&gt;
&lt;br /&gt;
==Lenguaje de descripción de gramática==&lt;br /&gt;
&lt;br /&gt;
El archivo que se le da al Yacc par que éste lo procese y genere en el lenguaje fuente deseado está escrito con un diseño para tal fin, y es bastante sencillo, pues no posee un propósito general. Pero mantiene la potencia del lenguaje de salida que se utilice, pues todas las construcciones válidas aquí pueden escribirse si se utiliza una serie de convenios rigurosamente especificados. Este archivo se denomina de entrada, mientras que al generado por el Yacc es el de salida al de la fuente en que es escrito. &lt;br /&gt;
&lt;br /&gt;
El archivo de entrada al Yacc consta de 2 partes fundamentales. La primera es un encabezamiento donde se definen los tipos de datos con los que se va a trabajar y se declaran los [[tokens]], o palabras del lenguaje que se define.&lt;br /&gt;
En la segunda se especifican todas las reglas que definen de forma rigurosa y unívoca la gramática del lenguaje que se desea interpretar. Además se precisa qué es lo que se realiza a cada uno de los casos posibles.&lt;br /&gt;
&lt;br /&gt;
===Adaptar el Yacc===&lt;br /&gt;
&lt;br /&gt;
EL Yacc utiliza como tipo de dato implícito el [[entero]]. Quiere decir que las expresiones $$ y $n son valores enteros. En la mayoría de las aplicaciones nos interesa trabajar con datos más complejos. &lt;br /&gt;
&lt;br /&gt;
El Yacc posibilita redefinir el tipo de dato implícito utilizado. Usualmente ello se hace si se redefine la [[macro]] (YYSTYPE) como una estructura en (C/C++ o un record en Pascal) o una unión en (C/C++). Una vez redefinida la macro YYSTYPE, es necesario referirse a cada uno de los campos de esa estructura, por medio de la sintaxis del lenguaje de salida utilizado. En el caso de C/C++, el acceso a dichos campos se realiza por el operador “.” para los objetos y “- &amp;gt;” en los punteros.&lt;br /&gt;
Para el Pascal el acceso se obtiene por medio del operador “.” para los objetos, pero con el operador “^” para los punteros.&lt;br /&gt;
&lt;br /&gt;
Otra adaptación es utilizar el intérprete de nuestro lenguaje para ilustrar, no un fichero leído desde el disco u otro periférico, sino una expresión que está en memoria.&lt;br /&gt;
En ese caso es necesario redefinir la macro (YYREAD).       &lt;br /&gt;
&lt;br /&gt;
===Aplicaciones prácticas===&lt;br /&gt;
&lt;br /&gt;
Si tenemos un programa de imágenes. Es posible asociar cada una de las acciones que puede ejecutar el usuario a un procedimiento escrito en lenguaje fuente del programa (ya sea C/C++, Pascal, [[Delphi]], [[Visual Basic]]) u otro cualquiera. Se puede crear un lenguaje de macros para el programa e incluir todas las funciones que el nuestro es capaz de realizar. &lt;br /&gt;
Funciones como AjustarBrillo (entero n) o AjustaContraste (entero n). Es factible crear nuestros propios tipos de datos o clases de objeto, en este caso serían: Histograma o Paleta.&lt;br /&gt;
&lt;br /&gt;
Los objetos o instancias de dichas clases pudieran considerarse como arreglos de números enteros o reales, pero con propiedades adicionales. Así es posible creas un lenguaje orientado a objetos, de modo que las funciones del programa puedan ejecutarse como métodos de objetos predefinidos. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creación de nuevos lenguajes==&lt;br /&gt;
&lt;br /&gt;
Los lenguajes actuales no soportan [[metaclases]] con la extensión y profundidad deseada. El Yacc permite definir nuestro propio lenguaje. No es crear un compilador para competir, sino de crear un lenguaje adecuado para la programación con metaclases. &lt;br /&gt;
Una vez que se tenga una implementación que trabaje, extensiva a todo el mundo, pronto aparecerán ambientes de desarrollo para este lenguaje.&lt;br /&gt;
Esto si las metaclases facilitan el trabajo y resultan, al menos, bastante eficientes.&lt;br /&gt;
&lt;br /&gt;
Una característica que no puede faltar en este tipo de lenguajes es la posibilidad de llamar directamente a funciones del sistema. En Windows, significa poder cargar cualquier biblioteca dinámica [[DLL]] y llamar a cualquier función presente en dicha biblioteca. Siempre que se declaren dichas funciones como se hace, por ejemplo, en Visual Basic.&lt;br /&gt;
&lt;br /&gt;
Es necesario ofrecer algunas facilidades para la depuración de programas escritos en esos lenguajes, además, en éste deben incluirse funciones de entrada/salida y de interacción con el usuario, considerando la posibilidad de crear diálogos para recibir información de los usuarios.    &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Fuente ==&lt;br /&gt;
* Díaz, Antonio: ¿Qué es el YACC?, en GIGA Número 3, 1998.&lt;br /&gt;
&lt;br /&gt;
[[Category: Ciencias_informáticas_y_Telecomunicaciones]]&lt;/div&gt;</summary>
		<author><name>Liudmila13012 jc.hlg</name></author>
		
	</entry>
</feed>