República Bolivariana de Venezuela<br />Universidad Fermín ToroDecanato de Ingeniería<br />Cabudare-Estado-Lara<br />Alvis CastellanosC.I.: 21.208.051TI-22Prof.: Yelitza Echeverrias<br />Cabudare, Julio 2011<br />Compilador<br />Es un traductor que convierte un texto escrito en un lenguaje fuente de alto nivel en un programa objeto en código máquina. <br />Proceso de traducción de un código fuente (escrito en un lenguaje de programación de alto nivel) a lenguaje máquina (código objeto) para que pueda ser ejecutado por la computadora. Las computadoras sólo entienden el lenguaje máquina. La aplicación o la herramienta encargada de la traducción se llaman compilador.<br />Ejemplo:* El compilador recibe el código fuente.* Se analiza lexicográficamente.* Se analiza semántica y sintácticamente (pareado).* Se genera el código intermedio no optimizado.* Se optimiza el código intermedio.* Se genera el código objeto para una plataforma específica.Finalmente ya puede ejecutarse el código máquina.<br />Interpretador<br />Es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.<br />Ejemplos:<br />Perl<br />PHP<br />Java script<br />Logo<br />ASP (hasta la versión 3)<br />Python<br />Tcl<br />Ruby<br />J#<br />ASP<br />Lenguaje de Alto nivel<br />Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.<br />En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales.<br />Por ejemplo, en C se pueden usar palabras tales como: case, if, for, while, etc. para construir con ellas instrucciones como:   if (numero > 0) printf (“El número es positivo”);que traducido al castellano viene a decir que:   Si numero es mayor que cero, entonces, escribir por pantalla el mensaje: \"
El número es positivo\"
.<br />Ejemplo:1. JAVA-BASIC2. C-VISUAL BASIC3. C++-PASCAL4. COBOL5. FORTRAN6. PROLOG7.LISP8. PL/I9. SMALL TALK10. ADA<br />Lenguaje de Medio Nivel<br />Suelen ser clasificados de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia del lenguaje ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.Una característica distintiva, por ejemplo, que convierte al lenguaje de programación C en un lenguaje de medio nivel y al lenguaje de programación Pascal en un lenguaje de alto nivel, es que en el primero es posible manejar las letras como si fueran números (en Pascal no), por el contrario, en Pascal es posible concatenar las cadenas de caracteres con el operador suma y copiarlas con la asignación (en C es el usuario el responsable de llamar a las funciones correspondientes).<br />Lenguaje de Bajo Nivel<br />Los lenguajes de bajo nivel son más fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en inglés, ADD, SUB, DIV, etc.; en español, SUM, RES, DIV, etc. Una instrucción típica de suma sería:   ADD M, N, P<br />C (lenguaje de programación)<br />Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.<br />Características<br />Propiedades<br />Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.<br />Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado \"
no llevado al extremo\"
 (permitiendo ciertas licencias de ruptura).<br />Un sistema de tipos que impide operaciones sin sentido.<br />Usa un lenguaje de preprocesador, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.<br />Acceso a memoria de bajo nivel mediante el uso de punteros.<br />Interrupciones al procesador con uniones.<br />Un conjunto reducido de palabras clave.<br />Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.<br />Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.<br />Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable \"
empleado\"
).<br />Carencias<br />Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la \"
libgc\"
 desarrollada por Sun Microsystems, o el Recolector de basura de Boehm.<br />Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C.<br />Encapsulación.<br />Funciones anidadas, aunque GCC tiene esta característica como extensión.<br />Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de operadores y sólo dispone de un soporte rudimentario para la programación genérica.<br />Soporte nativo para programación multadillo y redes de computadores.<br />
Compilador
Compilador
Compilador
Compilador

Más contenido relacionado

DOCX
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
PPTX
Compiladores, imterpretadores, lenguaje de alto medio y bajo nivel y lenguaje c
PPTX
Lenguaje de programacion UFT
PPTX
TIPOS DE LENGUAJES DE PROGRAMACION
PPTX
Algoritmos y programas
PPTX
Lenguaje de programacion de alto nivel
PPTX
Lenguajes de programacion
PPT
Lenguaje maquina
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, imterpretadores, lenguaje de alto medio y bajo nivel y lenguaje c
Lenguaje de programacion UFT
TIPOS DE LENGUAJES DE PROGRAMACION
Algoritmos y programas
Lenguaje de programacion de alto nivel
Lenguajes de programacion
Lenguaje maquina

La actualidad más candente (19)

PPTX
Clases/Tipos de lenguajes de programación
PPT
Lenguajes de Programación
PPTX
Stephany diapositivas
PPTX
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
PPTX
Tipos de lenguaje de programacion part 1
PPTX
Traducción de un programa: compilación, enlace de un programa, errores en tie...
PPTX
Lenguajes de programación
PPTX
Lenguajes de programación
PPT
Lenguajes De Bajo Nivel
PDF
lenguaje de Programacion
PPTX
4. Conceptos básicos III
PPTX
Lenguaje de programacion
PPTX
Tipos de lenguaje de programacion
PPTX
Lenguaje Ensamblador
PPT
LENGUAJES DE LA PROGRAMACION
PDF
Computación
PPTX
Niveles y tipos de lenguajes de programación
PPTX
Lenguaje de máquina y lenguaje ensamblador
PPT
Especialidad presentacion taller sena
Clases/Tipos de lenguajes de programación
Lenguajes de Programación
Stephany diapositivas
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos de lenguaje de programacion part 1
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Lenguajes de programación
Lenguajes de programación
Lenguajes De Bajo Nivel
lenguaje de Programacion
4. Conceptos básicos III
Lenguaje de programacion
Tipos de lenguaje de programacion
Lenguaje Ensamblador
LENGUAJES DE LA PROGRAMACION
Computación
Niveles y tipos de lenguajes de programación
Lenguaje de máquina y lenguaje ensamblador
Especialidad presentacion taller sena
Publicidad

Destacado (16)

PPTX
Believe it or not!!
PPT
Chapter9.1 slideby s-lide
PPT
Chapter 4 presentation
PPT
Conicsections dpsvk
PPTX
ECS 2010 fall book fair
PPTX
Romans powerpoint reegan
DOC
Artículo Jeftanovic
PPT
Sp1u5g
PPT
Sr Gina March 2014
PPTX
Apostolic period
PPT
Buffalo progenies no ms
PPTX
Project 03 Creating Web Pages with Links, Images, and Formatted Text - Tags a...
PPT
Indices and surds
PPTX
TRIZ competition Part 2
PPTX
Egipto
PPT
Bible Study Books Recommended by Randy Alcorn, from Randy's Message on 2 Timo...
Believe it or not!!
Chapter9.1 slideby s-lide
Chapter 4 presentation
Conicsections dpsvk
ECS 2010 fall book fair
Romans powerpoint reegan
Artículo Jeftanovic
Sp1u5g
Sr Gina March 2014
Apostolic period
Buffalo progenies no ms
Project 03 Creating Web Pages with Links, Images, and Formatted Text - Tags a...
Indices and surds
TRIZ competition Part 2
Egipto
Bible Study Books Recommended by Randy Alcorn, from Randy's Message on 2 Timo...
Publicidad

Similar a Compilador (20)

PPTX
Compilador e interpretador
PPTX
Trabajo de introduc computa
PPTX
Trabajo de introduc computa
PPTX
Trabajo de introduc computa
PPTX
Trabajo de introduc computa
PPTX
Presentación lenguajedeprogramacion
DOCX
LENGUAJE DE PROGRAMACION. INVESTIGACION
DOCX
Universidad de panam1.lenguaje de programación
PPT
Compiladores
PPTX
Lenguaje de programacion
PPTX
Lenguaje de programacion
PDF
Unidad-1.pptx.pdf
PDF
Unidad-1.pptx.pdf
PPTX
Lenguaje de programacion fernando hernandez
PPTX
Evolución de la Programación
PPTX
Powerpoint jimpulgar
PPTX
Presentación "Estructura de un Programa"
PPTX
Clasificacion de los_lenguajes_de_programacion
PPTX
Lenguaje de programacion
PDF
01 - Introducción al lenguaje C
Compilador e interpretador
Trabajo de introduc computa
Trabajo de introduc computa
Trabajo de introduc computa
Trabajo de introduc computa
Presentación lenguajedeprogramacion
LENGUAJE DE PROGRAMACION. INVESTIGACION
Universidad de panam1.lenguaje de programación
Compiladores
Lenguaje de programacion
Lenguaje de programacion
Unidad-1.pptx.pdf
Unidad-1.pptx.pdf
Lenguaje de programacion fernando hernandez
Evolución de la Programación
Powerpoint jimpulgar
Presentación "Estructura de un Programa"
Clasificacion de los_lenguajes_de_programacion
Lenguaje de programacion
01 - Introducción al lenguaje C

Último (20)

PDF
Estrategia de apoyo valentina lopez/ 10-3
PPTX
Usuarios en la arquitectura de la información
PDF
Taller tecnológico Michelle lobo Velasquez
PPTX
CLASE PRACTICA-- SESION 6 -- FPW -- 04 11 23.pptx
PPTX
Reconocimiento-Automatico-de-Placas-Vehiculares-con-IA.pptx
PPTX
Navegación en neurocirugías y su implicación ética.pptx
PDF
Inteligencia_Artificial,_Informática_Básica,_22_06_2025_SO_2.pdf
DOCX
Guía 5. Test de orientación Vocacional 2[1] (Recuperado automáticamente).docx
PPTX
Circuito de LED en paralelo mediante Switch
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
libro proyecto con scratch jr pdf en la e
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
DOCX
orientacion nicol juliana portela jimenez
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
PDF
Presentación_u.01_digitalización_CFGS.pdf
PPT
Protocolos de seguridad y mecanismos encriptación
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
PPTX
Uso responsable de la tecnología - EEST N°1
Estrategia de apoyo valentina lopez/ 10-3
Usuarios en la arquitectura de la información
Taller tecnológico Michelle lobo Velasquez
CLASE PRACTICA-- SESION 6 -- FPW -- 04 11 23.pptx
Reconocimiento-Automatico-de-Placas-Vehiculares-con-IA.pptx
Navegación en neurocirugías y su implicación ética.pptx
Inteligencia_Artificial,_Informática_Básica,_22_06_2025_SO_2.pdf
Guía 5. Test de orientación Vocacional 2[1] (Recuperado automáticamente).docx
Circuito de LED en paralelo mediante Switch
Mecanismos-de-Propagacion de ondas electromagneticas
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
libro proyecto con scratch jr pdf en la e
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
orientacion nicol juliana portela jimenez
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
Presentación_u.01_digitalización_CFGS.pdf
Protocolos de seguridad y mecanismos encriptación
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
Uso responsable de la tecnología - EEST N°1

Compilador

  • 1. República Bolivariana de Venezuela<br />Universidad Fermín ToroDecanato de Ingeniería<br />Cabudare-Estado-Lara<br />Alvis CastellanosC.I.: 21.208.051TI-22Prof.: Yelitza Echeverrias<br />Cabudare, Julio 2011<br />Compilador<br />Es un traductor que convierte un texto escrito en un lenguaje fuente de alto nivel en un programa objeto en código máquina. <br />Proceso de traducción de un código fuente (escrito en un lenguaje de programación de alto nivel) a lenguaje máquina (código objeto) para que pueda ser ejecutado por la computadora. Las computadoras sólo entienden el lenguaje máquina. La aplicación o la herramienta encargada de la traducción se llaman compilador.<br />Ejemplo:* El compilador recibe el código fuente.* Se analiza lexicográficamente.* Se analiza semántica y sintácticamente (pareado).* Se genera el código intermedio no optimizado.* Se optimiza el código intermedio.* Se genera el código objeto para una plataforma específica.Finalmente ya puede ejecutarse el código máquina.<br />Interpretador<br />Es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.<br />Ejemplos:<br />Perl<br />PHP<br />Java script<br />Logo<br />ASP (hasta la versión 3)<br />Python<br />Tcl<br />Ruby<br />J#<br />ASP<br />Lenguaje de Alto nivel<br />Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.<br />En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales.<br />Por ejemplo, en C se pueden usar palabras tales como: case, if, for, while, etc. para construir con ellas instrucciones como:   if (numero > 0) printf (“El número es positivo”);que traducido al castellano viene a decir que:   Si numero es mayor que cero, entonces, escribir por pantalla el mensaje: \" El número es positivo\" .<br />Ejemplo:1. JAVA-BASIC2. C-VISUAL BASIC3. C++-PASCAL4. COBOL5. FORTRAN6. PROLOG7.LISP8. PL/I9. SMALL TALK10. ADA<br />Lenguaje de Medio Nivel<br />Suelen ser clasificados de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia del lenguaje ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.Una característica distintiva, por ejemplo, que convierte al lenguaje de programación C en un lenguaje de medio nivel y al lenguaje de programación Pascal en un lenguaje de alto nivel, es que en el primero es posible manejar las letras como si fueran números (en Pascal no), por el contrario, en Pascal es posible concatenar las cadenas de caracteres con el operador suma y copiarlas con la asignación (en C es el usuario el responsable de llamar a las funciones correspondientes).<br />Lenguaje de Bajo Nivel<br />Los lenguajes de bajo nivel son más fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en inglés, ADD, SUB, DIV, etc.; en español, SUM, RES, DIV, etc. Una instrucción típica de suma sería: ADD M, N, P<br />C (lenguaje de programación)<br />Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.<br />Características<br />Propiedades<br />Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.<br />Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado \" no llevado al extremo\" (permitiendo ciertas licencias de ruptura).<br />Un sistema de tipos que impide operaciones sin sentido.<br />Usa un lenguaje de preprocesador, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.<br />Acceso a memoria de bajo nivel mediante el uso de punteros.<br />Interrupciones al procesador con uniones.<br />Un conjunto reducido de palabras clave.<br />Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.<br />Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.<br />Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable \" empleado\" ).<br />Carencias<br />Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la \" libgc\" desarrollada por Sun Microsystems, o el Recolector de basura de Boehm.<br />Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C.<br />Encapsulación.<br />Funciones anidadas, aunque GCC tiene esta característica como extensión.<br />Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de operadores y sólo dispone de un soporte rudimentario para la programación genérica.<br />Soporte nativo para programación multadillo y redes de computadores.<br />