Anda di halaman 1dari 8

UNIDAD 1

Carrera: Ingeniera de Sistemas Computacionales


Asignatura: Lenguajes & Autmatas

Maestro: Isidro Hernndez Vega


Alumno: Cristian Eduardo Cavazos Torres
N de Control: 13480853

Periodo Escolar: Ene-Jun/2015

TRADUCTORES DEL LENGUAJE DE


PROGRAMACION
Un traductor es un programa que recibe como entrada cdigo escrito en un cierto
lenguaje y produce como salida cdigo en otro lenguaje. Generalmente el lenguaje
de entrada es de ms alto nivel que el de salida. Ejemplos de traductores son los
ensambladores y los compiladores. Un ensamblador es un programa que
traduce de un lenguaje ensamblador a lenguaje mquina, mientras que un
compilador es un programa que traduce de un lenguaje de alto nivel a un
lenguaje de bajo nivel o a lenguaje mquina. Un traductor es un programa que
toma el texto escrito en un lenguaje (el lenguaje fuente) y lo convierte en el texto
equivalente en un segundo lenguaje (el lenguaje destino u objeto). Si la fuente es
un lenguaje abstracto o de alto nivel y si el objetivo es un lenguaje de ensamble de
bajo nivel o de mquina, el traductor es un compilador.

Los programas traductores de lenguajes son:

Compiladores.

Interpretes.

Interprete

Lenguaje

Objetivo

Just. El Tipo

Ruby

Un lenguaje de programacin
dinmico y de cdigo abierto
enfocado en la simplicidad y
productividad.

En Ruby, todo es un objeto.


Se le puede asignar
propiedades y acciones a toda
informacin y cdigo.
La orientacin a objetos pura
de Ruby se suele demostrar
con un simple cdigo que
aplica una accin a un
nmero.

Python

PHP

JavaScript

Lenguaje de programacin de
propsito general, orientado a
objetos, que tambin puede
utilizarse para el desarrollo
web.

Es un lenguaje de cdigo
abierto muy popular,
adecuado para desarrollo web
y que puede ser incrustado en
HTML.

Es un lenguaje de
programacin que se utiliza
principalmente para crear
pginas web dinmicas.

Perl significa Practical


Extraction and Report

5.times { print "Nos *encanta*


Ruby -- es fuera de serie!" }
Es imposible hablar de Python
y no hablar sobre la
orientacin a objetos porque
en Python prcticamente todo
es un objeto. Por ejemplo un
nmero complejo es un
ejemplo especialmente
simple.

>>> c = 2+3j
>>> print c,type(c)
(2+3j) <type 'complex'>
>>> c.real
2.0
>>> c.imag
3.0
>>> print c*(1j)+3
2j
Cdigo abierto significa que
es de uso libre y gratuito para
todos los programadores que
quieran usarlo. Veamos un
ejemplo del contenido de una
pgina web php, que
habremos de almacenar en un
archivo que termina con la
extensin .php y que contiene
texto:
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<?php
echo "Bienvenidos a
aprenderaprogramar.com";
?>
</body>
</html>
Una pgina web dinmica es
aquella que incorpora efectos
como texto que aparece y
desaparece, animaciones,
acciones que se activan al
pulsar botones y ventanas con
mensajes de aviso al usuario.
Perl est inspirado a partir de
lenguajes como C, sh, awk y

Compiladores
Lenguaje

C++

C#

Objetivo

Just. El Tipo

La intencin de su creacin
fue el extender al exitoso
lenguaje de programacin C
con mecanismos que permitan
la manipulacin de objetos.

Estrictamente hablando, C no
es un subconjunto de C++; de
hecho es posible escribir
cdigo C que es ilegal en C+
+. Pero a efectos prcticos,
dado el esfuerzo de
compatibilidad desplegado en
su diseo, puede considerarse
que C++ es una extensin del
C clsico. La definicin
"oficial" del lenguaje nos dice
que C++ es un lenguaje de
propsito general basado en
el C, al que se han aadido
nuevos tipos de datos, clases,
plantillas, mecanismo de
excepciones, sistema de
espacios de nombres,
funciones inline, sobrecarga
de operadores, referencias,
operadores para manejo de
memoria persistente, y
algunas utilidades adicionales
de librera (en realidad la
librera Estndar C es un
subconjunto de la librera C+
+).
Puede utilizar C# para crear
aplicaciones cliente de
Windows, servicios Web XML,
componentes distribuidos,
aplicaciones cliente-servidor,

Es un lenguaje orientado a
objetos elegante y con
seguridad de tipos que
permite a los desarrolladores
compilar diversas aplicaciones

slidas y seguras que se


ejecutan en .NET Framework.

Fortran

Objective C

Es un lenguaje orientado al
clculo numrico, diseado en
sus inicios para las
computadoras IBM y usado en
aplicaciones cientficas y de
ingeniera y es el ms antiguo
de los Lenguajes de alto nivel.

Es, cmo C++, un lenguaje


orientado a objetos que
desciende de C. Esta
descendencia hace que
Objective-C sea compatible
hacia atrs, haciendo esto que
mucha de la sintaxis y
caractersticas de C estn
presentes en Objective-C:

Es una manera rpida y


sencilla de crear programas
para Microsoft Windows.

Visual Basic

Pascal

Es un Lenguaje de
programacin desarrollado por
el profesor suizo Niklaus Wirth
a finales de los aos 60. Su
objetivo era crear un lenguaje
que facilitara el aprendizaje de
la Programacin a sus
alumnos. Sin embargo con el

aplicaciones de base de
datos, y mucho, mucho ms.
Visual C# proporciona un
editor de cdigo avanzado,
cmodos diseadores de
interfaz de usuario, depurador
integrado y numerosas
herramientas ms para
facilitar el desarrollo de
aplicaciones basadas el
lenguaje C# y .NET
Framework.
El FORTRAN fue bien acogido
en la comunidad cientfica por
su excelente rendimiento en
todo este tipo de aplicaciones.
Por ello lo utilizaron para el
desarrollo de programas de
cmputo intensivo.
Posteriormente se le incluyo la
aritmtica de nmeros
complejos lo mejoro
notablemente.
Y entonces en qu se
diferencian C++ y ObjectiveC?
Pues en muchsimas cosas,
empezando por lo obvio: las
influencias procedentes de las
ideas de Smalltalk, lo cual
hace de Objective-C un
lenguaje muy limpio, pequeo
y por ende, mucho ms rpido
y fcil de aprender que C++.
Aun as, Objective-C es
mucho menos usado que C++
Tras su lanzamiento adquiri
gran popularidad porque
Microsoft facilit un entorno de
programacin amigable, que
era de fcil uso para los
programadores y permita
crear aplicaciones para
Windows con aspecto
profesional y con rapidez.
El cdigo est dividido en
porciones fcilmente legibles
llamadas funciones o
procedimientos. De esta forma
Pascal facilita la utilizacin de
la programacin estructurada
en oposicin al antiguo estilo
de programacin monoltica.

tiempo su utilizacin excedi


el mbito acadmico para
convertirse en una
herramienta para la creacin
de aplicaciones de todo tipo.

El tipo de dato de todas las


variables debe ser declarado
previamente para que su uso
quede habilitado.
El nombre de Pascal fue
escogido en honor al
matemtico Blaise Pascal.

Anlisis Lxico
La primera fase de escner funciona como un texto escner. Esta fase busca en
el cdigo fuente como una secuencia de caracteres y la convierte en un lexema

resultante-. Analizador Lxico representa este lexema resultante- en forma de


fichas:
<token-name, attribute-value>
Sintaxis Anlisis
La siguiente fase se denomina la sintaxis anlisis o anlisis. Toma el token de
anlisis lxico como entrada y genera un rbol analizar (o rbol de sintaxis). En
esta fase, token arreglos se contrastan con el cdigo fuente gramtica, es decir,
el analizador comprueba si la expresin de los tokens es sintcticamente
correcto.

Anlisis semntico
Anlisis semntico comprueba si el anlisis rbol construido sigue las reglas del
idioma. Por ejemplo, la asignacin de valores es entre tipos de datos compatibles,
y aadiendo cadena en un nmero entero. Adems, el analizador semntico
realiza un seguimiento de los identificadores, sus tipos y expresiones; si los
identificadores se declaran antes de su uso, o no, etc. El analizador semntico
produce un rbol de sintaxis anotado como una salida.
Generacin de cdigo intermedio
Tras anlisis semntico el compilador genera un cdigo intermedio del cdigo
fuente para el equipo de destino. Es un programa para algunos la mquina
abstracta. , Est entre el lenguaje de alto nivel y el lenguaje de mquina. Este
cdigo intermedio debe ser generado de tal manera que hace que sea ms fcil
de traducir en la mquina de destino.
Optimizacin de cdigo
La siguiente fase de optimizacin de cdigo es el cdigo intermedio. La
optimizacin puede ser asumida como algo que elimina cdigo innecesario, y

organiza la secuencia de declaraciones con el fin de acelerar la ejecucin del


programa sin desperdicio de recursos (CPU, memoria).
Generacin de cdigo
En esta fase, el generador de cdigo optimizado la representacin del cdigo
intermedio y la asigna a la mquina de destino. El generador de cdigo se
traduce el cdigo intermedio en una secuencia de (generalmente) reubicables
cdigo mquina. Secuencia de instrucciones de cdigo mquina realiza la tarea
como el cdigo intermedio.
Tabla de smbolos
Es una estructura de datos mantendr en todas las fases de un compilador.
Todos los nombres de identificador junto con sus tipos se almacenan aqu. La
tabla de smbolos hace que sea ms fcil para que el compilador pueda buscar
con rapidez el registro de cdigo y recuperarla. La tabla de smbolos se utiliza
tambin para el campo.

Anda mungkin juga menyukai