SlideShare ist ein Scribd-Unternehmen logo
1 von 5
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: quot;
El número es positivoquot;
.<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 quot;
no llevado al extremoquot;
 (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 quot;
empleadoquot;
).<br />Carencias<br />Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la quot;
libgcquot;
 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

Weitere ähnliche Inhalte

Was ist angesagt?

Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
Sandra Esposito
 
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Alejandro Perez
 
Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1
Ernes 28
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
guestbf0046
 
lenguaje de Programacion
lenguaje de Programacionlenguaje de Programacion
lenguaje de Programacion
Lauracks
 
4. Conceptos básicos III
4. Conceptos básicos III4. Conceptos básicos III
4. Conceptos básicos III
rcarrerah
 
LENGUAJES DE LA PROGRAMACION
LENGUAJES DE LA PROGRAMACIONLENGUAJES DE LA PROGRAMACION
LENGUAJES DE LA PROGRAMACION
kruskaya salazar
 

Was ist angesagt? (19)

Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
 
Stephany diapositivas
Stephany diapositivasStephany diapositivas
Stephany diapositivas
 
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
 
Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
 
lenguaje de Programacion
lenguaje de Programacionlenguaje de Programacion
lenguaje de Programacion
 
4. Conceptos básicos III
4. Conceptos básicos III4. Conceptos básicos III
4. Conceptos básicos III
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
LENGUAJES DE LA PROGRAMACION
LENGUAJES DE LA PROGRAMACIONLENGUAJES DE LA PROGRAMACION
LENGUAJES DE LA PROGRAMACION
 
Computación
ComputaciónComputación
Computación
 
Niveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programaciónNiveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programación
 
Lenguaje de máquina y lenguaje ensamblador
Lenguaje de máquina y lenguaje ensambladorLenguaje de máquina y lenguaje ensamblador
Lenguaje de máquina y lenguaje ensamblador
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 

Andere mochten auch

Chapter9.1 slideby s-lide
Chapter9.1 slideby s-lideChapter9.1 slideby s-lide
Chapter9.1 slideby s-lide
Dan O'Brien
 
Chapter 4 presentation
Chapter 4 presentationChapter 4 presentation
Chapter 4 presentation
Veronica
 
Conicsections dpsvk
Conicsections dpsvkConicsections dpsvk
Conicsections dpsvk
Himani Asija
 
ECS 2010 fall book fair
ECS 2010 fall book fairECS 2010 fall book fair
ECS 2010 fall book fair
ecslibrary135
 
Romans powerpoint reegan
Romans powerpoint reeganRomans powerpoint reegan
Romans powerpoint reegan
shirleyclubb
 
Artículo Jeftanovic
Artículo  JeftanovicArtículo  Jeftanovic
Artículo Jeftanovic
Inmamelgar
 
Sr Gina March 2014
Sr Gina March 2014Sr Gina March 2014
Sr Gina March 2014
Judy Papeck
 
Apostolic period
Apostolic periodApostolic period
Apostolic period
MrsSevCTK
 
Buffalo progenies no ms
Buffalo  progenies no msBuffalo  progenies no ms
Buffalo progenies no ms
Abs Pecplan
 

Andere mochten auch (16)

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

Ähnlich wie Compilador

Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
Sampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
Sampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
Sampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
Sampdp
 
Compiladores
CompiladoresCompiladores
Compiladores
henry_shd
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
zeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
dejuansi2
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
Karol
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
d3m3nt3
 

Ähnlich wie Compilador (20)

Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.
 
Introducción a lenguajes de programación
Introducción a lenguajes de programaciónIntroducción a lenguajes de programación
Introducción a lenguajes de programación
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Lenguajes basicos para robots
Lenguajes basicos para robotsLenguajes basicos para robots
Lenguajes basicos para robots
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
Universidad fermín toro
Universidad fermín toroUniversidad fermín toro
Universidad fermín toro
 
Plata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativoPlata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativo
 
Plata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativoPlata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativo
 
Lenguaje de programación
Lenguaje de  programaciónLenguaje de  programación
Lenguaje de programación
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

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: quot; El número es positivoquot; .<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 quot; no llevado al extremoquot; (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 quot; empleadoquot; ).<br />Carencias<br />Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la quot; libgcquot; 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 />