Traductores
MATERIAL DE APOYO
Ing. Elda Quiroga,M.C. Dra. Norma F.Roffe,PhD
DEPARTAMENTO DE CIENCIAS COMPUTACIONALES AGOSTO - DICIEMBRE DE 2007
LENGUAJES
Introducción
El diseño y la programación de un compilador se ha convertido, de una tarea artística, a un conjunto de metodologías sencillas para realizar las diferentes fases de un compilador. En los libros de textos existentes queabarcan el tema de diseño de compiladores se mencionan técnicas específicas sobre análisis lexicográfico, análisis sintáctico, optimización de código etc. Pero, generalmente, lo que no se ha logrado estructurar de una manera clara es la fase de generación de código, tanto intermedio como objeto. El principal propósito de la presente guía, es mostrar una técnica sencilla de generación de código,utilizando diagramas de sintaxis, de tal manera que el diseño de un traductor sea una labor completamente sencilla.
Lenguaje
Es un conjunto de vocablos, con los cuales se pueden estructurar ideas, de acuerdo a un patrón sintáctico.
TIPOS DE LENGUAJES
Lenguaje Natural
Lenguaje natural es el conjunto de vocablos por medio de los cuales el hombre elabora, expresa y comunica sus ideas. Unacaracterística fundamental del lenguaje natural es que el significado de una palabra puede depender del contexto en el que se ubique. Por ejemplo, analicemos las siguientes oraciones: El niño toma leche El niño toma el camión El niño toma la mano El niño toma el ejemplo A pesar de que la secuencia sintáctica de las oraciones anteriores es la misma, el significado de la palabra toma depende de laspalabras que le sucedan.
Lenguajes Artificiales
Un lenguaje artificial toma elementos propios y de otros lenguajes para formar su estructura. Por ejemplo, el Esperanto es un lenguaje artificial. Los lenguajes computacionales pertenecen a esta rama de lenguajes.
Lenguajes Artificiales Abstractos
Se le llama lenguaje abstracto a aquél que se define con el único propósito de experimentarnuevas estructuras o reglas de construcción.
Lenguajes Artificiales Computacionales
Se han llamado lenguajes artificiales computacionales a aquéllos que se emplean para expresar un algoritmo. Las estructuras que se forman son llamadas instrucciones y se emplean para programar una computadora. Un lenguaje artificial está formado por un léxico y está regido por una estructura sintáctica menosflexible, es decir, con menos alternativas, que la estructura sintáctica de un lenguaje natural. Una característica de un lenguaje artificial es que el sinificado de una palabra siempre es el mismo, no depende del contexto en el que se encuentre.
En esta guía, concentraremos nuestra atención en el estudio de lenguajes artificiales y su procesamiento. Los lenguajes artificiales computacionales,también conocidos como lenguajes de programación, están clasificados por niveles.
El lenguaje de más bajo nivel es el lenguaje maquinal. El hardware de la computadora sólo puede ejecutar las instrucciones expresadas en este lenguaje. El lenguaje ensamblador permite el uso de mnemónicos para expresar instrucciones que pertenecen al lenguaje maquinal. Los lenguajes de alto nivel, permiten el uso depalabras y de estructuras que hacen posible la conversión casi directa de un algoritmo en un programa.
Ing. Elda G. Quiroga
TRADUCTORES
2
Ing. Elda G. Quiroga
TRADUCTORES
3
Un lenguaje es de mayor nivel que otro, cuando su estructura sintáctica permite formar instrucciones que expresan un mayor número de instrucciones primitivas en lenguaje maquinal. Dado que una computadorasólo puede procesar instrucciones expresadas en lenguaje maquinal, se requiere de traductores para tener la posibilidad de ejecutar programas escritos en lenguajes de mayor nivel.
Diseño de un Lenguaje de Programación
Estructura de un lenguaje
Anteriormente definimos lenguaje como un conjunto de vocablos con los cuales se pueden estructurar ideas. Ahora vamos a ampliar esta definición, de...
Regístrate para leer el documento completo.