Aplicación de tecnología de compiladores

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Aplicación de tecnología de compiladores por Mind Map: Aplicación de tecnología de compiladores

1. Traducciones de Programas

1.1. Traducción Binaria

1.1.1. La tecnología de compiladores puede utilizarse para traducir el código binario para una máquina al código binario para otra máquina distinta, con lo cual se permite a una máquina ejecutar los programas que originalmente eran compilados para otro conjunto de instrucciones.

1.2. Síntesis de Hardware

1.2.1. A diferencia de los compiladores para los lenguajes de programación, estas herramientas a menudo requieren horas para optimizar el circuito.

1.3. Intérpretes de consulta de base de datos

1.3.1. Pueden interpretarse o compilarse en comandos para buscar registros en una base de datos que cumplan con ese predicado.

2. Diseño de nuevas arquitecturas del computadoras

2.1. Desde que la programación en lenguajes de alto nivel es la norma, el rendimiento de un sistema computacional se determina no sólo por su velocidad en general, sino también por la forma en que los compiladores pueden explotar sus características.

3. Implementación de lenguajes de programación de alto nivel

3.1. Un lenguaje de programación de alto nivel define una abstracción de programación: el programador expresa un algoritmo usando el lenguaje, y el compilador debe traducir el programa en el lenguaje de destino.

4. Optimizaciones para la arquitectura del compilador

4.1. La rápida evolución de las arquitecturas de computadoras también nos ha llevado a una insaciable demanda de nueva tecnología de compiladores.

4.1.1. Paralelismo: Los programas se escriben como si todas las instrucciones se ejecutaran en secuencia; el hardware verifica en forma dinámica las dependencias en el flujo secuencial de instrucciones y las ejecuta en paralelo siempre que sea posible.

4.1.2. Jerarquías de memoria: Una jerarquía de memoria consiste en varios niveles de almacenamiento con distintas velocidades y tamaños, en donde el nivel más cercano al procesador es el más rápido, pero también el más pequeño.

5. Herramientas de productividad de Software

5.1. Puede diseñarse un análisis de flujos de datos para advertir a los programadores acerca de todas las posibles instrucciones que violan una categoría específica de errores. Pero si la mayoría de estas advertencias son falsas alarmas, los usuarios no utilizarán la herramienta.