lunes, 27 de marzo de 2017

Editores y Compiladores

EDITORES
Un editor de texto es un programa informático que permite crear y modificar archivos digitales compuestos únicamente por textos sin formato, conocidos comúnmente como archivos de texto o “texto plano”. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres que usa el editor. Es comúnmente de 7- u 8-bits en ASCII o UTF-8, rara vez EBCDIC.

Funciones típicas del editor de texto:

Marcar región, Búsqueda y reemplazo, Copiar, cortar y pegar, Formatear, Deshacer y rehacer, Importar, Filtros, Acceso remoto.

Algunas funciones especiales son:
  • Editores diseñados para un lenguaje de programación determinado, con coloreado de sintaxis, macros, completación de palabras, etcétera.
  • Editores con regiones plegables. A veces no todo el texto es relevante para el usuario. Con este tipo de editores ciertas regiones con texto irrelevante pueden ser plegadas, escondidas, mostrando al usuario solo lo importante del texto.
  • Un entorno de desarrollo integrado es un programa que incluye un editor y otras herramientas de trabajo, como compiladores, extractores de diferencias entre dos textos, repositorios, etcétera, incluidos en un solo programa.

Ejemplos

  • Bloc de notas, editor integrado en Microsoft Windows, también conocido como Notepad (en inglés).
  • Emacs, editor muy común en Unix.
  • Gedit, editor libre que se distribuye junto con GNOME para sistemas tipo Unix. También disponible para Windows.
  • jEdit, editor popular multiplataforma.
  • Kate, editor para Unix.
  • Notepad++, editor de código fuente para Windows.
  • Vi, editor muy común en Unix.


COMPILADORES
Un compilador es un programa informático que traduce un programa que ha sido escrito en un lenguaje de programación a un lenguaje diferente, usualmente lenguaje de máquina, aunque también puede ser traducido a un código intermedio (bytecode) o a texto. Este proceso de traducción se conoce como compilación.

La construcción de un compilador involucra la división del proceso en una serie de fases que variará con su complejidad. Generalmente estas fases se agrupan en dos tareas: el análisis del programa fuente y la síntesis del programa objeto.
Análisis: Se trata de la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al Análisis léxico.
Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de generación de código.

TIPOS DE COMPILADORES:
  • Compiladores cruzados: generan código para un sistema distinto del que están funcionando.
  • Compiladores optimizadores: realizan cambios en el código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original.
  • Compiladores de una sola pasada: generan el código máquina a partir de una única lectura del código fuente.
  • Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de poder producir el código máquina.
  • Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partes del código según se necesitan.

Consiste en generar el código objeto equivalente al programa fuente. Solo se genera código objeto cuando el programa fuente está libre de errores de análisis, lo cual no quiere decir que el programa se ejecute correctamente, ya que un programa puede tener errores de concepto o expresiones mal calculadas. Por lo general el código objeto es código de máquina relocalizable o código ensamblador. 

No hay comentarios.:

Publicar un comentario