Ejercidios practicos

Solo disponible en BuenasTareas
  • Páginas : 5 (1160 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de marzo de 2012
Leer documento completo
Vista previa del texto
COMPILADOR
(compiler). Los compiladores son programas o herramientas encargadas de compilar. Un compilador toma un texto (código fuente) escrito en un lenguaje de alto nivel y lo traduce a un lenguaje comprensible por las computadoras (código objeto).

Básicamente, existen dos grandes formas de ejecutar programas: programas compilados (previamente pasados por un compilador) y programasinterpretados (necesitan pasar por un intérprete para ejecutarse en tiempo real). Características de un compilador

Generalmente un compilador se divide en dos partes:

* Front End: parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Parte que suele ser independiente de la plataforma o sistema operativo para el quefuncionará.

* Back End: parte en donde se genera el código máquina exclusivo para una plataforma a partir de lo analizado en el front end. Por lo general el resultado del back end no puede ser ejecutado directamente, se necesita pasar por un proceso de enlazado (linker).

Existen varios tipos de compiladores: Compiladores cruzados, Compiladores optimizadores, Compiladores de una sola pasada,Compiladores de varias pasadas, Compiladores JIT (Just In Time).

Analizador Lexico

Es la primera fase de un compilador, lee caracteres de entrada para formar componentes e identificarlos o clasificarlos y pasar la información de los componentes al analizador sintáctico.
Realiza además funciones como eliminar espacios en blanco, saltos de línea, tabuladores, ignorar comentarios, detección yrecuperación de errores. Los errores que un analizador léxico reconoce son símbolos no válidos o no reconocidos por el lexico del lenguaje o que no forman parte de ningún componente léxico. Existen diversos métodos para construir una analizador léxico, un método es usar un AFD para describir el patrón decada componente. Para este método se parte de una tabla descriptiva de los componentes léxicos quereconocerá el analizador, en donde se clasifican los diversos tipos de componentes.
Para cada componente se construye un AFD que permita identificar el patrón de simbolos que deberá recibir y donde deberáterminar ese patrón que señale que ahi se encontró un componente. Todoslos AFD´s se integran en un solo diagrama.
Finalmente se determina la matriz de transición de estados, que no es más quetratranscripción del AFD integrado, en donde las columnas son los símbolos que acepta el analizador, incluyendo una columna para \b\t \ny otra columna para “otro” que representa a cualquier caracter o símbolo diferente de los señalados por el analizador. Lo que resta es crear un algoritmo de reconocimiento de cadenas y añadir mediante una selección de casos para tomar la acción correspondientesegún la cadena encontrada.

Lenguaje de programación Un lenguaje de programación es un lenguaje artificial que puede ser usado para controlar el comportamiento de una máquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas.

Debe distinguirse de “lenguaje informático”, que es unadefinición más amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programación en sí misma.

El programador es el encargado de utilizar un lenguaje de programación para crear un conjunto de instrucciones que, al final, constituirá un programa o subprograma informático.

En su uso, un lenguaje de programación puede acercarse a la formahumana de expresarse y, por eso, este tipo de lenguajes es llamado de alto nivel. Esto significa que utilizan palabras y formas en sus estructuras que se asemejan al lenguaje natural (especialmente al inglés). En cambio, aquellos lenguajes que se aproximan más a la forma en la cual la computadora se maneja, son llamados lenguajes de bajo nivel. Esto significa que lo que el programador deba escribir...
tracking img