Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Herramientas computacionales ligadas con lenguajes

No description

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Herramientas computacionales ligadas con lenguajes


INTERPRETE DE COMANDOS
Traduce sentencias simples a invocaciones a
programas de una biblioteca. Se utilizan especialmente en los sistemas operativos (la
shell de Unix es un intérprete de comandos).Los programas invocados pueden residir
en el kernel (núcleo) del sistema o estar almacenados en algún dispositivo externo
PROCESADORES
Un traductor divide su labor en dos etapas: una que analiza la entrada y genera estructuras intermedias y otra que sintetiza la salida a partir de dichas estructuras.
Básicamente los objetivos de la etapa de análisis son:

a) controlar la corrección del programa fuente.

b) generar las estructuras necesarias para comenzar la etapa de síntesis.

Es como un compilador, solo que la salida es una ejecución. El programa de
entrada se reconoce y ejecuta a la vez. No se produce un resultado físico (código
máquina) sino lógico (una ejecución).
¿QUE ES UN TRADUCTOR?
Un traductor se define como un programa que traduce o convierte desde un texto o programa escrito en un lenguaje fuente hasta un texto o programa equivalente escrito en un lenguaje destino produciendo, si cabe, mensajes de error.
HERRAMIENTAS COMPUTACIONALES LIGADAS CON LENGUAJES
tipos de traductores

Desde los orígenes de la computación, ha existido un abismo entre la forma en que las personas expresan sus necesidades y la forma en que un ordenador es capaz de interpretar instrucciones.

1.- Traductores del idioma
Traducen de un idioma dado a otro, como por ejemplo del inglés al español. Este tipo de traductores posee multitud de problemas, a saber:

VENTAJA
*Flexibilidad: permite realizar acciones complejas, imposibles o muy difíciles con un compilador.

*Facilidad de depuración de programas: la interpretación puede interrumpirse en cualquier momento para examinar o modificar los valores de las variables o la situación en la ejecución.

*Rapidez en el desarrollo.

INTERPRETES
DESVENTAJAS
Velocidad: usualmente un orden de magnitud menor que la de un programa compilado.

Tamaño del programa objeto, que exige añadir el intérprete al programa propiamente dicho.
EJEMPLO
Si bajo MS-DOS se teclea el comando copy se ejecutará la
función de copia de ficheros del sistema operativo, que se encuentra residente en memoria.

Permiten modificar el programa fuente antes de la verdadera compilación.
Hacen uso de macroinstrucciones y directivas de compilación.
Los preprocesadores suelen actuar de manera transparente para el programador,
pudiendo incluso considerarse que son una fase preliminar del compilador.
Algunas otras directivas de preprocesamiento permiten compilar
trozos de códigos opcionales (lenguajes C y Clipper): #fi, #ifdef, #define, #ifndef, etc.
2.- Compiladores
Es aquel traductor que
tiene como entrada una sentencia en lenguaje formal y como salida tiene un fichero ejecutable, es decir, realiza una traducción de un código de alto nivel a código máquina (también se entiende por compilador aquel programa que proporciona un fichero objeto en lugar del ejecutable final).

Funciones de un Analizador Léxico
El analizador léxico es la primera fase de un compilador. Su principal función consiste en leer los caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que utiliza el analizador sintáctico para hacer el análisis.

Estos componentes léxicos representan:

palabras reservadas
identificadores
operadores
símbolos especiales:
constantes numéricas:
constantes de caracteres
¿QUE ES UN ANALIZADOR LÉXICO?
Se encarga de buscar los componentes léxicos (tokens) o palabras que componen el programa fuente, según unas reglas o patrones.
La entrada del analizador léxico podemos definirla como una secuencia de caracteres.
INTRODUCCIÓN
Muchas herramientas computacionales que manipulan programas fuente realizan primero algún tipo de análisis, según sean las características del lenguaje que se estudia. De esas herramientas trataremos en esta presentación, aclarando que existe una gran diversidad de éstas.
REFERENCIAS
Alfred V. A., Ravi S., Jeffrey D. U. (1998).
Compiladores: principios, técnicas y herramientas.
Addison Wesley.

Sergio, G. R. (2005).
Compiladores: traductores y compiladores.
Dpto. de Lenguajes y Ciencias de la Computación.
Universidad de Málaga
EDITOR DE ESTRUCTURAS
El editor de estructuras no sólo realiza
las funciones de creación y modificación
de textos de un editor de textos ordinario,
sino que también analiza el texto del programa,
imponiendo al programa fuente una estructura jerárquica apropiada.
De esa manera, el editor de estructuras puede realizar
tareas adicionales útiles para la preparación de programas
Impresoras estéticas
Una impresora estética analiza un programa
y lo imprime de forma que la estructura del
programa resulte claramente visible.
Ensambladores y macroensambladores
Un ensamblador es un compilador sencillo, en el que el lenguaje fuente tiene una estructura tan sencilla que permite la traducción de cada sentencia fuente a una única instrucción en código máquina.
Conversores fuente-fuente
Permiten traducir desde un lenguaje de alto nivel a otro lenguaje de alto nivel, con lo que se consigue una mayor portabilidad en los programas de alto nivel.
Es un compilador que genera código para ser ejecutado en otra máquina.
Se utilizan en la fase de desarrollo de nuevos ordenadores.
Compilador cruzado
Full transcript