<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Antlr on Thy.Abstrakt.Objekt.Weblog</title><link>https://blog.kreig.rocks/tags/antlr/</link><description>Recent content in Antlr on Thy.Abstrakt.Objekt.Weblog</description><generator>Hugo</generator><language>es</language><lastBuildDate>Sat, 11 Apr 2009 17:39:20 -0600</lastBuildDate><atom:link href="https://blog.kreig.rocks/tags/antlr/index.xml" rel="self" type="application/rss+xml"/><item><title>Tutorial ANTLR y Python III. Creando e implementando un intérprete de dos o más pasadas usando árboles de sintaxis abstracta...</title><link>https://blog.kreig.rocks/2009/04/06/tutorial-antlr-y-python-iii-creando-e-implementando-un-interprete-de-dos-o-mas-pasadas-usando-arboles-de-sintaxis-abstracta/</link><pubDate>Mon, 06 Apr 2009 16:29:37 -0600</pubDate><guid>https://blog.kreig.rocks/2009/04/06/tutorial-antlr-y-python-iii-creando-e-implementando-un-interprete-de-dos-o-mas-pasadas-usando-arboles-de-sintaxis-abstracta/</guid><description>&lt;p&gt;&lt;strong&gt;&amp;hellip;viene de &lt;a href="http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/"&gt;http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h3 id="tutorial-antlr-y-python"&gt;Tutorial ANTLR y Python:&lt;/h3&gt;&#10;&lt;h4 id="parte-i-introducción-e-instalación"&gt;&lt;a href="http://objektblog.wordpress.com/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/"&gt;Parte I: Introducción e Instalación.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-ii-creacion-de-una-gramática-sencilla"&gt;&lt;a href="http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/"&gt;Parte II: Creacion de una gramática sencilla.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-iii-creacion-e-implementación-de-un-ast"&gt;Parte III: Creacion e implementación de un AST.&lt;/h4&gt;&#10;&lt;p&gt;&lt;strong&gt;Antes de empezar pueden bajar el código que se estará utilizando del siguiente URL&lt;/strong&gt;&#10;&lt;strong&gt;&lt;a href="http://rapidshare.com/files/218352788/ejemploAST.tar.bz2"&gt;http://rapidshare.com/files/218352788/ejemploAST.tar.bz2&lt;/a&gt;&lt;/strong&gt;&#10;Bueno, anteriormente habiamos visto como Instalar Python y ANTLR, luego colocamos un ejemplo sencillo para un intérprete de una sola pasada usando ANTLR y Python,  esta vez toca ver una de las características que hacen de ANTLR una herramienta poderosa, los AST o Árboles de sintaxis abstractas por sus siglas en inglés.&lt;/p&gt;</description></item><item><title>Tutorial ANTLR y Python II. Creando una gramatica sencilla</title><link>https://blog.kreig.rocks/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/</link><pubDate>Mon, 30 Mar 2009 18:00:26 -0600</pubDate><guid>https://blog.kreig.rocks/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/</guid><description>&lt;h3 id="viene-de"&gt;Viene de &lt;a href="http://objektblog.wordpress.com/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/"&gt;http://objektblog.wordpress.com/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/&lt;/a&gt;&lt;/h3&gt;&#10;&lt;h3 id="tutorial-antlr-y-python"&gt;Tutorial ANTLR y Python:&lt;/h3&gt;&#10;&lt;h4 id="parte-i-introducción-e-instalación"&gt;&lt;a href="http://objektblog.wordpress.com/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/"&gt;Parte I: Introducción e Instalación.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-ii-creacion-de-una-gramática-sencilla"&gt;Parte II: Creacion de una gramática sencilla&lt;a href="http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/"&gt;.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-iii-creacion-e-implementación-de-un-ast"&gt;&lt;a href="http://objektblog.wordpress.com/2009/04/06/tutorial-antlr-y-python-iii-creando-e-implementando-un-interprete-de-dos-o-mas-pasadas-usando-arboles-de-sintaxis-abstracta/"&gt;Parte III: Creacion e implementación de un AST.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;p&gt;&lt;strong&gt;Antes de empezar, el codigo que se usara en los ejemplos esta publicado en el sig. URL:&lt;/strong&gt;&#10;&lt;a href="http://rapidshare.com/files/215758595/ejemplos.tar.bz2"&gt;http://rapidshare.com/files/215758595/ejemplos.tar.bz2&lt;/a&gt;&#10;Ahh las gramaticas, tan odiadas por muchos. Y no es para asombrarse, ya que tantos problemas que dan, más aún si la herramienta no es nada amigable (como la tan odiada combinacion JLex/CUP), &lt;strong&gt;ANTLR&lt;/strong&gt; es lo suficientemente amigable como para que desarrollemos gramáticas de la manera menos dolorosa posible, teniendo como valor agregado el &lt;strong&gt;ANTLRWorks&lt;/strong&gt;, un IDE que de verdad permite aumentar nuestra eficiencia a la hora de hacer gramáticas para ANTLR. Esta parte se enfocará en generar una gramática simple con la cual se aprenderá de manera básica la estructura y sintaxis de ANTLR.&lt;/p&gt;</description></item><item><title>Tutorial ANTLR y Python I. Introducción e Instalación</title><link>https://blog.kreig.rocks/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/</link><pubDate>Sun, 29 Mar 2009 18:00:37 -0600</pubDate><guid>https://blog.kreig.rocks/2009/03/29/tutorial-antlr-y-python-i-introduccion-e-instalacion/</guid><description>&lt;h3 id="tutorial-antlr-y-python"&gt;Tutorial ANTLR y Python:&lt;/h3&gt;&#10;&lt;h4 id="parte-i-introducción-e-instalación"&gt;Parte I: Introducción e Instalación.&lt;/h4&gt;&#10;&lt;h4 id="parte-ii-creacion-de-una-gramática-sencilla"&gt;&lt;a href="http://objektblog.wordpress.com/2009/03/30/tutorial-antlr-y-python-ii-creando-una-gramatica-sencilla/"&gt;Parte II: Creacion de una gramática sencilla.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;h4 id="parte-iii-creacion-e-implementación-de-un-ast"&gt;&lt;a href="http://objektblog.wordpress.com/2009/04/06/tutorial-antlr-y-python-iii-creando-e-implementando-un-interprete-de-dos-o-mas-pasadas-usando-arboles-de-sintaxis-abstracta/"&gt;Parte III: Creacion e implementación de un AST.&lt;/a&gt;&lt;/h4&gt;&#10;&lt;p&gt;Dada la poca información que hay respecto al tema en Internet en español, me imagino que quizás por la poca apreciación que tiene la Teoría de Compiladores no sólo en mi país (Guatemala) sino en quiza toda latinoamérica. he decidido hacer un tutorial para intentar llenar ese vacio, y demostrar que existen herramientas más amistosas para generar analizadores léxico y sintácticos que la monolítica combinación FLEX/Bison, y que además, se pueden hacer en otros lenguajes que no sea el legendario C/C++.&#10;Pero antes de esto, una introducción (rapida para no aburrir) a las herramientas.&lt;/p&gt;</description></item><item><title>Y Compiladores, para que p****?...</title><link>https://blog.kreig.rocks/2008/10/04/y-compiladores-para-que/</link><pubDate>Sat, 04 Oct 2008 19:24:49 -0600</pubDate><guid>https://blog.kreig.rocks/2008/10/04/y-compiladores-para-que/</guid><description>&lt;p&gt;&amp;hellip; Esto es lo que dice mucha gente en informatica, que estudia o estudió Ingeniería en Sistemas o Informática, o Ciencias de la Computacion, o como quiera llamarle, tiene cierto odio/resentimiento/&lt;em&gt;ahuevamiento&lt;/em&gt; con ciertos cursos como Estructuras de Datos, Administracion de Archivos, y en general aquellos que están directamente relacionados con la ciencia computacional.&#10;Sin embargo, de todos estos cursos, los que están a la cabeza son definitavemente los cursos relacionados Teoría de Compiladores, al cual mucha gente califica como  &amp;ldquo;Inaplicables&amp;rdquo;, &amp;ldquo;Inservibles&amp;rdquo;, &amp;ldquo;basura&amp;rdquo;, &amp;ldquo;m**rda&amp;rdquo; y va en descenso&amp;hellip; Sobre todo en países como los nuestros, con sus problemas económicos, que no  invierten casi nada en Investigación y Desarrollo, haciendo que los cursos de Compiladores queden siempre a la cabeza de los listados de las encuestas de &amp;ldquo;cursos que se deberían eliminar de la carrera&amp;rdquo;.&#10;Desafortunadamente, yo soy uno de esos pocos &lt;em&gt;freaks&lt;/em&gt; a los que si les gusta esos temas, mi pasíon por ésta teoria de compiladores nació desde que conocí el curso de Lenguajes Formales y Autómatas (en realidad no le pongo el nombre actual que le dan en mi universidad por que suena muy estúpido), el cual se puede decir que es un curso introductorio a compiladores (Compiladores 0 como le suelo decir), y desde ahí me gusto la idea de transformar algo tan natural como el lenguaje humano a una serie de instrucciones capaces de ser interpretadas por el ordenador.&#10;Me pareció bastante interesante,  que en el lugar donde laboro actualmente, se me asignó un proyecto ya hace algunos meses, en donde, se requiere el manejo de ciertas fórmulas para calcular el precio de energía de ciertas cosas segun cierta condicion.  Lo interesante es que estas fórmulas, obviamente, estarán persistidas en una base de datos de dudosa estabilidad (no digo la marca pero ya se imaginarán cual és, y lamentablemente sobre esa trabajamos), en formato varchar, o sea puro texto.&#10;Ahí es donde viene lo bueno, toca crear algún tipo &amp;ldquo;intérprete&amp;rdquo; para las mismas, ya que, aunque va a tener un conjunto de sentencias y expresiones bastante sencillas, me niego a hacerlas &amp;ldquo;a pie&amp;rdquo; por tres puntos:&lt;/p&gt;</description></item></channel></rss>