SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
PONTIFICIA UNIVERSIDAD
CATOLICA DEL ECUADOR
SEDE IBARRA
INVESTIGACIÓN DE COMPILADORES DE FORTRAN H, PARA C Y PASCAL
NOMBRE: ALEXIS VILAÑEZ
*FORmula TRANslator, desarrollado en IBM bajo supervisión de John Backus
*El Fortran tiene la ventaja de ser un lenguaje compacto que sirve muy bien para satisfacer las
necesidades de los científicos y los estadísticos de los negocios. Al servicio de los científicos e
ingenieros hay grandes bibliotecas de programas ingenieriles y científicos escritos en Fortran. El
lenguaje también es ampliamente utilizado para aplicaciones de negocios que no requieren el
manejo de grandes archivos de datos.
*Cambio drásticamente el uso de los ordenadores hasta entonces
*Ha evolucionado después con nuevos conceptos y características:
*Fortran I, Fortran IV, Fortran 66, Fortran 77, Fortran 90
*Siempre entre los compiladores mas eficientes y generando código rápido
Fortran I
Los nombres tenían
mas de 6 caracteres su
código es muy rápido y
su compilación no era
separada
Fortran II
Apareció en 1958. La
mejora principal era
apoyar , al permitir por
escrito subrutinas de
usuario y
las funciones que
volvió valores, con
parámetros pasados
por referencia.
Fortran IV
*Este nos presenta
declaraciones lógicas a
demás del uso del if.
* Declaraciones de tipo
explicitas
Fortran 77
*Sus funciones
avanzan y nos permite
manejar mas
sentencias como el if,
then, else
*Además de controlar
ciclos de repetición
Fortran 90
Una versión mas
avanzadas que ya casi
es orientada a objetos
y nos permite usar
recursividad y
apuntadores
Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth entre los años
1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de
programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin
embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una
herramienta para la creación de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipado. Esto
implica que:
El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta
forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de
programación monolítica.
El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede
habilitado.
COMPILADORES PARA PASCAL
Las primeras versiones del compilador de
Pascal, entre ellas la más distribuida
fue UCSD Pascal, traducían el lenguaje en
código para una máquina virtual llamada
máquina-P. La gran ventaja de este enfoque
es que para tener un compilador de Pascal
en una nueva arquitectura de máquina solo
hacía falta reimplementar la máquina-P.
Como consecuencia de esto, solo una
pequeña parte del intérprete tenía que ser
reescrita hacia muchas arquitecturas
En los años 1980, Anders Hejlsberg escribió el
compilador Blue Label Pascal para la Nascom-2.
Más tarde fue a trabajar para Borland y reescribió
su compilador que se convirtió en Turbo Pascal para
la IBM PC. Este nuevo compilador se vendió por
$49, un precio orientado a la distribución masiva
Con Turbo Pascal versión 5.5, Borland
agregó programación orientada a objetos a
Pascal.
Sin embargo, Borland después decidió mejorar
esa extensión del lenguaje introduciendo su
producto Delphi, diseñado a partir de estándar
Object Pascal, propuesto por Apple como base.
Borland también lo llamó Object Pascal en las
primeras versiones, pero cambió el nombre a
'lenguaje de programación Delphi' en sus
últimas versiones
COMPILADORES PARA PASCAL
La memoria de la maquina se organiza en la
siguientes áreas
*código para los procedimientos constantes
*pila para registro de activación
* Montículos para datos asignados aplicando el
operador new
Organizador del compilador pascal
COMPILADORES PARA C
Lenguaje de propósito general (Ritchie)
Principal lenguaje de programación en Unix
Unix esta escrito en C
Se van a examinar el diseño por Ritchie (1979)
Para PDP-11 y los transportables PCC de Johnson (1979)
Compiladores de dos pasadas
PDP-11 tiene una tercera opcional para optimizar el lenguaje ensamblador
COMPILADORES PARA C
ESTRUCTURA DE LOS COMPILADORES C
COMPILADORES PARA FORTRAN H
Permite al usuario no elegir optimización, optimización de registros o completa
Escrito por Lowry y Medlock (1969)
Se realiza cuatro pasadas:
*Las dos primeras realizan el a.léxico y a.sintáctico
produciendo cuádruplos
*La siguiente optimiza el código y registros
*La ultima genera código objeto a partir de suadruplos y asignaciones a
registros
COMPILADORES PARA FORTRAN H
ESTRUCTURA DE COMPILADORES H

Más contenido relacionado

La actualidad más candente

Compilador de fortran h para c y pascal
Compilador de fortran h para c y pascalCompilador de fortran h para c y pascal
Compilador de fortran h para c y pascalGrace Laguna
 
Compiladores fortran c_pascal
Compiladores fortran c_pascalCompiladores fortran c_pascal
Compiladores fortran c_pascalHenry Cordova
 
Historia de los compiladores--Fortran pascal c
Historia de los compiladores--Fortran pascal cHistoria de los compiladores--Fortran pascal c
Historia de los compiladores--Fortran pascal cCarlos Yepez
 
Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42Hildemaro Sequera
 
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++DarioManzano
 
Historia de los_lenguajes_de_la_programacion
Historia de los_lenguajes_de_la_programacionHistoria de los_lenguajes_de_la_programacion
Historia de los_lenguajes_de_la_programacionCarolinaDiaz248
 
Lenguaje C y los Sistemas Operativos Actuales
Lenguaje C y los Sistemas Operativos ActualesLenguaje C y los Sistemas Operativos Actuales
Lenguaje C y los Sistemas Operativos Actualesjuan_briceo
 
El Lenguaje C y Sistemas Operativos Actuales
El Lenguaje C y Sistemas Operativos ActualesEl Lenguaje C y Sistemas Operativos Actuales
El Lenguaje C y Sistemas Operativos Actualesgabirevillag
 
Linea del tiempo
Linea del tiempoLinea del tiempo
Linea del tiempoharryojeda
 
historia de de lenguaje de programacion
historia de de lenguaje de programacionhistoria de de lenguaje de programacion
historia de de lenguaje de programacionreychivas_07
 

La actualidad más candente (17)

Ansi c
Ansi cAnsi c
Ansi c
 
Compilador de fortran h para c y pascal
Compilador de fortran h para c y pascalCompilador de fortran h para c y pascal
Compilador de fortran h para c y pascal
 
Compiladores fortran c_pascal
Compiladores fortran c_pascalCompiladores fortran c_pascal
Compiladores fortran c_pascal
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Historia de los compiladores--Fortran pascal c
Historia de los compiladores--Fortran pascal cHistoria de los compiladores--Fortran pascal c
Historia de los compiladores--Fortran pascal c
 
Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42Programa en lenguaje C, Hildemaro Sequera, MI-42
Programa en lenguaje C, Hildemaro Sequera, MI-42
 
Linea del tiempo POO
Linea del tiempo POOLinea del tiempo POO
Linea del tiempo POO
 
Jag
JagJag
Jag
 
Bootstrapping
BootstrappingBootstrapping
Bootstrapping
 
Programacion 1 feli
Programacion 1 feliProgramacion 1 feli
Programacion 1 feli
 
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
HISTORIA DEL LENGUAJE DE PROGRAMACIÓN C++
 
Lenguaje c y linux++
Lenguaje c y linux++Lenguaje c y linux++
Lenguaje c y linux++
 
Historia de los_lenguajes_de_la_programacion
Historia de los_lenguajes_de_la_programacionHistoria de los_lenguajes_de_la_programacion
Historia de los_lenguajes_de_la_programacion
 
Lenguaje C y los Sistemas Operativos Actuales
Lenguaje C y los Sistemas Operativos ActualesLenguaje C y los Sistemas Operativos Actuales
Lenguaje C y los Sistemas Operativos Actuales
 
El Lenguaje C y Sistemas Operativos Actuales
El Lenguaje C y Sistemas Operativos ActualesEl Lenguaje C y Sistemas Operativos Actuales
El Lenguaje C y Sistemas Operativos Actuales
 
Linea del tiempo
Linea del tiempoLinea del tiempo
Linea del tiempo
 
historia de de lenguaje de programacion
historia de de lenguaje de programacionhistoria de de lenguaje de programacion
historia de de lenguaje de programacion
 

Destacado

Beijing China Olimpiadas
Beijing   China   OlimpiadasBeijing   China   Olimpiadas
Beijing China OlimpiadasJulio Mendoza
 
Boletin empresas altex
Boletin empresas altexBoletin empresas altex
Boletin empresas altexholyday inn
 
REA: Rentabilidad de la Escucha Activa
REA: Rentabilidad de la Escucha ActivaREA: Rentabilidad de la Escucha Activa
REA: Rentabilidad de la Escucha Activaamdia
 
Acórdão – Tribunal Pleno -Processo n°: 862943
Acórdão – Tribunal Pleno -Processo n°: 862943Acórdão – Tribunal Pleno -Processo n°: 862943
Acórdão – Tribunal Pleno -Processo n°: 862943Tiago de Andrade
 
Aula 3 - Primeira lei de newton - Física - PVSJ - Prof Elvis
Aula 3 - Primeira lei de newton - Física - PVSJ - Prof ElvisAula 3 - Primeira lei de newton - Física - PVSJ - Prof Elvis
Aula 3 - Primeira lei de newton - Física - PVSJ - Prof ElvisElvis Soares
 
Что нового в ASP.NET 4
Что нового в ASP.NET 4Что нового в ASP.NET 4
Что нового в ASP.NET 4akrakovetsky
 
Tequieromucho
TequieromuchoTequieromucho
Tequieromuchocab3032
 
Clase de clima y tiempo
Clase de clima y tiempoClase de clima y tiempo
Clase de clima y tiempojorge vargas
 
Night Trip
Night TripNight Trip
Night Tripcab3032
 
Dibujos enternecedores blog.agirregabiria.net mikel agirregabiria
Dibujos enternecedores blog.agirregabiria.net mikel agirregabiria Dibujos enternecedores blog.agirregabiria.net mikel agirregabiria
Dibujos enternecedores blog.agirregabiria.net mikel agirregabiria Mikel Agirregabiria
 
Bd eq5 t1_act_escenarios_unidad3
Bd eq5 t1_act_escenarios_unidad3Bd eq5 t1_act_escenarios_unidad3
Bd eq5 t1_act_escenarios_unidad3sesshomaru25
 
Servicio social comunitario
Servicio social comunitarioServicio social comunitario
Servicio social comunitarioMarbella Pulido
 
[Challenge:Future] Arxitektor
[Challenge:Future] Arxitektor[Challenge:Future] Arxitektor
[Challenge:Future] ArxitektorChallenge:Future
 
La creatividad 2010
La creatividad 2010La creatividad 2010
La creatividad 2010dora rocio
 
IEUARQ Gestión r moris 05 cuánto estado 20100903 def
IEUARQ Gestión r moris 05 cuánto estado 20100903 defIEUARQ Gestión r moris 05 cuánto estado 20100903 def
IEUARQ Gestión r moris 05 cuánto estado 20100903 defRoberto Moris
 
ESTEBAN ECHEVERRIA
ESTEBAN ECHEVERRIAESTEBAN ECHEVERRIA
ESTEBAN ECHEVERRIAguest5185f57
 
[Challenge:Future] "Chicken eye", chicken's green state of mind
[Challenge:Future] "Chicken eye", chicken's green state of mind[Challenge:Future] "Chicken eye", chicken's green state of mind
[Challenge:Future] "Chicken eye", chicken's green state of mindChallenge:Future
 

Destacado (20)

Beijing China Olimpiadas
Beijing   China   OlimpiadasBeijing   China   Olimpiadas
Beijing China Olimpiadas
 
Boletin empresas altex
Boletin empresas altexBoletin empresas altex
Boletin empresas altex
 
REA: Rentabilidad de la Escucha Activa
REA: Rentabilidad de la Escucha ActivaREA: Rentabilidad de la Escucha Activa
REA: Rentabilidad de la Escucha Activa
 
Acórdão – Tribunal Pleno -Processo n°: 862943
Acórdão – Tribunal Pleno -Processo n°: 862943Acórdão – Tribunal Pleno -Processo n°: 862943
Acórdão – Tribunal Pleno -Processo n°: 862943
 
Aula 3 - Primeira lei de newton - Física - PVSJ - Prof Elvis
Aula 3 - Primeira lei de newton - Física - PVSJ - Prof ElvisAula 3 - Primeira lei de newton - Física - PVSJ - Prof Elvis
Aula 3 - Primeira lei de newton - Física - PVSJ - Prof Elvis
 
21 PROVISIONES Y CONTINGENCIAS
21 PROVISIONES  Y CONTINGENCIAS21 PROVISIONES  Y CONTINGENCIAS
21 PROVISIONES Y CONTINGENCIAS
 
Что нового в ASP.NET 4
Что нового в ASP.NET 4Что нового в ASP.NET 4
Что нового в ASP.NET 4
 
Tequieromucho
TequieromuchoTequieromucho
Tequieromucho
 
Clase de clima y tiempo
Clase de clima y tiempoClase de clima y tiempo
Clase de clima y tiempo
 
Night Trip
Night TripNight Trip
Night Trip
 
Dibujos enternecedores blog.agirregabiria.net mikel agirregabiria
Dibujos enternecedores blog.agirregabiria.net mikel agirregabiria Dibujos enternecedores blog.agirregabiria.net mikel agirregabiria
Dibujos enternecedores blog.agirregabiria.net mikel agirregabiria
 
Bd eq5 t1_act_escenarios_unidad3
Bd eq5 t1_act_escenarios_unidad3Bd eq5 t1_act_escenarios_unidad3
Bd eq5 t1_act_escenarios_unidad3
 
Servicio social comunitario
Servicio social comunitarioServicio social comunitario
Servicio social comunitario
 
spiro
spirospiro
spiro
 
[Challenge:Future] Arxitektor
[Challenge:Future] Arxitektor[Challenge:Future] Arxitektor
[Challenge:Future] Arxitektor
 
La creatividad 2010
La creatividad 2010La creatividad 2010
La creatividad 2010
 
IEUARQ Gestión r moris 05 cuánto estado 20100903 def
IEUARQ Gestión r moris 05 cuánto estado 20100903 defIEUARQ Gestión r moris 05 cuánto estado 20100903 def
IEUARQ Gestión r moris 05 cuánto estado 20100903 def
 
Revoluciones rusas
Revoluciones rusasRevoluciones rusas
Revoluciones rusas
 
ESTEBAN ECHEVERRIA
ESTEBAN ECHEVERRIAESTEBAN ECHEVERRIA
ESTEBAN ECHEVERRIA
 
[Challenge:Future] "Chicken eye", chicken's green state of mind
[Challenge:Future] "Chicken eye", chicken's green state of mind[Challenge:Future] "Chicken eye", chicken's green state of mind
[Challenge:Future] "Chicken eye", chicken's green state of mind
 

Similar a Compiladores

Fortran y Pascal
 Fortran y Pascal Fortran y Pascal
Fortran y PascalShirlid .n
 
Lógica De La Programación Y Lenguaje de Pascal
Lógica De La Programación Y Lenguaje de PascalLógica De La Programación Y Lenguaje de Pascal
Lógica De La Programación Y Lenguaje de PascalFernando Galvez
 
Taller #6
Taller #6 Taller #6
Taller #6 chomba01
 
Programacion
ProgramacionProgramacion
ProgramacionMirian
 
EVOLUCIOIN DE LA PROGRAMAMCION.docx
EVOLUCIOIN DE LA PROGRAMAMCION.docxEVOLUCIOIN DE LA PROGRAMAMCION.docx
EVOLUCIOIN DE LA PROGRAMAMCION.docxJuanLuisHuloPoma2
 
Evolución lenguajes de programacón
Evolución lenguajes de programacónEvolución lenguajes de programacón
Evolución lenguajes de programacónAngel Alonso
 
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
 
Resolución de problemas de algoritmo.
Resolución de problemas de algoritmo.Resolución de problemas de algoritmo.
Resolución de problemas de algoritmo.francisco dixon
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De ProgramacionROSA859
 
Historia de los_lenguajes
Historia de los_lenguajesHistoria de los_lenguajes
Historia de los_lenguajesAquino1912
 
Evolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónEvolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónfercho-nava
 
Lenguaje de programación Pascal
Lenguaje de programación PascalLenguaje de programación Pascal
Lenguaje de programación PascalJuan Vladimir
 
Capítulo 0 Qbasic generalidades
Capítulo 0 Qbasic generalidadesCapítulo 0 Qbasic generalidades
Capítulo 0 Qbasic generalidadesJulio Ayala Rolón
 

Similar a Compiladores (20)

Fortran y Pascal
 Fortran y Pascal Fortran y Pascal
Fortran y Pascal
 
Lógica De La Programación Y Lenguaje de Pascal
Lógica De La Programación Y Lenguaje de PascalLógica De La Programación Y Lenguaje de Pascal
Lógica De La Programación Y Lenguaje de Pascal
 
Taller #6
Taller #6 Taller #6
Taller #6
 
Programacion
ProgramacionProgramacion
Programacion
 
EVOLUCIOIN DE LA PROGRAMAMCION.docx
EVOLUCIOIN DE LA PROGRAMAMCION.docxEVOLUCIOIN DE LA PROGRAMAMCION.docx
EVOLUCIOIN DE LA PROGRAMAMCION.docx
 
Evolución lenguajes de programacón
Evolución lenguajes de programacónEvolución lenguajes de programacón
Evolución lenguajes de programacón
 
Caracteristicas lenguajes
Caracteristicas lenguajesCaracteristicas lenguajes
Caracteristicas lenguajes
 
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).
 
Resolución de problemas de algoritmo.
Resolución de problemas de algoritmo.Resolución de problemas de algoritmo.
Resolución de problemas de algoritmo.
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Historia de los_lenguajes
Historia de los_lenguajesHistoria de los_lenguajes
Historia de los_lenguajes
 
Evolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónEvolucion de los lenguajes de programación
Evolucion de los lenguajes de programación
 
Cap1 intro
Cap1 introCap1 intro
Cap1 intro
 
Historia Lenguajes y sus Tipos
Historia Lenguajes y sus TiposHistoria Lenguajes y sus Tipos
Historia Lenguajes y sus Tipos
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje de programación Pascal
Lenguaje de programación PascalLenguaje de programación Pascal
Lenguaje de programación Pascal
 
Compiladores deber 5
Compiladores deber 5Compiladores deber 5
Compiladores deber 5
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Capítulo 0 Qbasic generalidades
Capítulo 0 Qbasic generalidadesCapítulo 0 Qbasic generalidades
Capítulo 0 Qbasic generalidades
 
Turbo Pascal
Turbo PascalTurbo Pascal
Turbo Pascal
 

Más de alexisdario

Presentacion cobit po6 po7
Presentacion cobit po6 po7Presentacion cobit po6 po7
Presentacion cobit po6 po7alexisdario
 
Analizis presupuestario
Analizis presupuestarioAnalizis presupuestario
Analizis presupuestarioalexisdario
 
Proyeccion presupuestaria
Proyeccion presupuestariaProyeccion presupuestaria
Proyeccion presupuestariaalexisdario
 
modelo de Colaboracion
modelo de Colaboracionmodelo de Colaboracion
modelo de Colaboracionalexisdario
 
Herramientas flex y bison
Herramientas flex y bisonHerramientas flex y bison
Herramientas flex y bisonalexisdario
 
Compiladores ejercicios en python
Compiladores ejercicios en pythonCompiladores ejercicios en python
Compiladores ejercicios en pythonalexisdario
 
Analizador sintactico
Analizador sintacticoAnalizador sintactico
Analizador sintacticoalexisdario
 
Manual compilacion de java en dos
Manual compilacion de java en dosManual compilacion de java en dos
Manual compilacion de java en dosalexisdario
 
Manual compilacion de java en dos
Manual compilacion de java en dosManual compilacion de java en dos
Manual compilacion de java en dosalexisdario
 
Manual vb decompiler
Manual vb decompilerManual vb decompiler
Manual vb decompileralexisdario
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionalexisdario
 

Más de alexisdario (16)

Mapa 2
Mapa 2Mapa 2
Mapa 2
 
Mapa1
Mapa1Mapa1
Mapa1
 
Presentacion cobit po6 po7
Presentacion cobit po6 po7Presentacion cobit po6 po7
Presentacion cobit po6 po7
 
Analizis presupuestario
Analizis presupuestarioAnalizis presupuestario
Analizis presupuestario
 
Proyeccion presupuestaria
Proyeccion presupuestariaProyeccion presupuestaria
Proyeccion presupuestaria
 
modelo de Colaboracion
modelo de Colaboracionmodelo de Colaboracion
modelo de Colaboracion
 
Taller
TallerTaller
Taller
 
Herramientas flex y bison
Herramientas flex y bisonHerramientas flex y bison
Herramientas flex y bison
 
Compiladores ejercicios en python
Compiladores ejercicios en pythonCompiladores ejercicios en python
Compiladores ejercicios en python
 
Comp1z
Comp1zComp1z
Comp1z
 
Analizis lexico
Analizis lexicoAnalizis lexico
Analizis lexico
 
Analizador sintactico
Analizador sintacticoAnalizador sintactico
Analizador sintactico
 
Manual compilacion de java en dos
Manual compilacion de java en dosManual compilacion de java en dos
Manual compilacion de java en dos
 
Manual compilacion de java en dos
Manual compilacion de java en dosManual compilacion de java en dos
Manual compilacion de java en dos
 
Manual vb decompiler
Manual vb decompilerManual vb decompiler
Manual vb decompiler
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacion
 

Compiladores

  • 1. PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE IBARRA INVESTIGACIÓN DE COMPILADORES DE FORTRAN H, PARA C Y PASCAL NOMBRE: ALEXIS VILAÑEZ
  • 2. *FORmula TRANslator, desarrollado en IBM bajo supervisión de John Backus *El Fortran tiene la ventaja de ser un lenguaje compacto que sirve muy bien para satisfacer las necesidades de los científicos y los estadísticos de los negocios. Al servicio de los científicos e ingenieros hay grandes bibliotecas de programas ingenieriles y científicos escritos en Fortran. El lenguaje también es ampliamente utilizado para aplicaciones de negocios que no requieren el manejo de grandes archivos de datos. *Cambio drásticamente el uso de los ordenadores hasta entonces *Ha evolucionado después con nuevos conceptos y características: *Fortran I, Fortran IV, Fortran 66, Fortran 77, Fortran 90 *Siempre entre los compiladores mas eficientes y generando código rápido
  • 3. Fortran I Los nombres tenían mas de 6 caracteres su código es muy rápido y su compilación no era separada Fortran II Apareció en 1958. La mejora principal era apoyar , al permitir por escrito subrutinas de usuario y las funciones que volvió valores, con parámetros pasados por referencia. Fortran IV *Este nos presenta declaraciones lógicas a demás del uso del if. * Declaraciones de tipo explicitas Fortran 77 *Sus funciones avanzan y nos permite manejar mas sentencias como el if, then, else *Además de controlar ciclos de repetición Fortran 90 Una versión mas avanzadas que ya casi es orientada a objetos y nos permite usar recursividad y apuntadores
  • 4. Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth entre los años 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo. Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipado. Esto implica que: El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica. El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
  • 5. COMPILADORES PARA PASCAL Las primeras versiones del compilador de Pascal, entre ellas la más distribuida fue UCSD Pascal, traducían el lenguaje en código para una máquina virtual llamada máquina-P. La gran ventaja de este enfoque es que para tener un compilador de Pascal en una nueva arquitectura de máquina solo hacía falta reimplementar la máquina-P. Como consecuencia de esto, solo una pequeña parte del intérprete tenía que ser reescrita hacia muchas arquitecturas En los años 1980, Anders Hejlsberg escribió el compilador Blue Label Pascal para la Nascom-2. Más tarde fue a trabajar para Borland y reescribió su compilador que se convirtió en Turbo Pascal para la IBM PC. Este nuevo compilador se vendió por $49, un precio orientado a la distribución masiva Con Turbo Pascal versión 5.5, Borland agregó programación orientada a objetos a Pascal. Sin embargo, Borland después decidió mejorar esa extensión del lenguaje introduciendo su producto Delphi, diseñado a partir de estándar Object Pascal, propuesto por Apple como base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambió el nombre a 'lenguaje de programación Delphi' en sus últimas versiones
  • 6. COMPILADORES PARA PASCAL La memoria de la maquina se organiza en la siguientes áreas *código para los procedimientos constantes *pila para registro de activación * Montículos para datos asignados aplicando el operador new Organizador del compilador pascal
  • 7. COMPILADORES PARA C Lenguaje de propósito general (Ritchie) Principal lenguaje de programación en Unix Unix esta escrito en C Se van a examinar el diseño por Ritchie (1979) Para PDP-11 y los transportables PCC de Johnson (1979) Compiladores de dos pasadas PDP-11 tiene una tercera opcional para optimizar el lenguaje ensamblador
  • 8. COMPILADORES PARA C ESTRUCTURA DE LOS COMPILADORES C
  • 9. COMPILADORES PARA FORTRAN H Permite al usuario no elegir optimización, optimización de registros o completa Escrito por Lowry y Medlock (1969) Se realiza cuatro pasadas: *Las dos primeras realizan el a.léxico y a.sintáctico produciendo cuádruplos *La siguiente optimiza el código y registros *La ultima genera código objeto a partir de suadruplos y asignaciones a registros
  • 10. COMPILADORES PARA FORTRAN H ESTRUCTURA DE COMPILADORES H