A partir de los años 50 es necesario un compilador derivado de los lenguajes de alto nivel. Desde entonces, gracias al descubrimiento de técnicas sistemáticas para el manejo de muchas tareas, al desarrollo de buenos lenguajes de implantación, entornos de programación y herramientas de software, el diseño y desarrollo de un compilador se ha simplificado enormemente.
Palabras clave: Compilador, herramientas.
From the 50s is necessary a compiler derived from high level languages. Since then, thanks to the discovery of systematic techniques for handling many tasks, the development of good implementation languages, programming environments and software tools, the design and development of a compiler has been significantly simplified.
Keywords: Compiler, tools.
La totalidad del software que se ejecuta en las computadoras ha sido escrito en algún lenguaje de programación. Antes de que un programa sea ejecutado en determinada arquitectura hardware, primero es necesario hacer la traducción de este a un programa ejecutable, por lo cual es necesario un compilador. Al día de hoy, son ya distintos los lenguajes de programación utilizados para el desarrollo de software o programas, con la evolución de estos lenguajes ha sido necesaria la implementación de diversos compiladores. Para las diversas fases del proceso de compilación es necesaria una herramienta para lograr la creación del programa objeto o ejecutable. En el presente trabajo se presentan algunas de las herramientas alternativas para el desarrollo de compiladores. Posterior a esta sección se presenta un breve resumen, a continuación se fija el objetivo particular de este trabajo, posteriormente se hace una definición del compilador, y para finalizar se presentan algunas herramientas para el desarrollo de compiladores de acuerdo a las fases de este.
Conocer herramientas utilizadas para la construcción de compiladores.
Un compilador, es un programa que recibe como entrada un programa o archivo fuente, lo traduce y obtiene como salida un programa objeto, dentro del proceso de compilación se le dan a conocer al usuario los errores del programa fuente si la sintaxis del mismo no es la correcta de acuerdo al lenguaje de programación.
Figura 1. Proceso de compilación.
En la actualidad existen diversas herramientas para el desarrollo de compiladores, en el presente trabajo se mencionan sólo algunos de los existentes. Dentro de estas herramientas se encuentran las tradicionales y las de nueva generación.
Las herramientas tradicionales:
Las herramientas de nueva generación:
A continuación se mencionan herramientas definiendo algunas de sus características y mencionando en que fase se utiliza.
En este trabajo se conocieron brevemente algunas de las diferentes herramientas que existen para desarrollar compiladores, así como algunas de sus características, ventajas y desventajas de las mismas.
En un trabajo futuro se profundizará sobre la herramienta Yacc, sus características y la aplicación de esta herramienta en el desarrollo de un compilador básico
1. Compiladores, principios, técnicas y herramientas; segunda edición; Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman. Ed. Pearson
2. Yacc: Yet Another Cso Compressor; http://yacc.pspgen.com/
3. Gold Parsing System;http://goldparser.org/
4. CUP;http://www.cs.princeton.edu/~appel/modern/java/CUP/manual.html
5. ANTLR: ANother Tool for Language Recognition;http://www.antlr.org/
6. JAVACC: Java Compiler Compiler; http://javacc.java.net/
[a] Profesor Investigador, Escuela Superior de Huejutla de la Universidad Autónoma del Estado de Hidalgo. <<
[b] Alumno, Escuela Superior de Huejutla de la Universidad Autónoma del Estado de Hidalgo. <<