SlideShare una empresa de Scribd logo
1 de 12
COMPILADORES
Fortran H, C y Pascal
Carlos Marcelo Rivadeneira Velasco
PUCE-SI
FORTRAN
• Es un lenguaje de programación alto nivel de propósito
general, procedimental e imperativo, que está
especialmente adaptado al cálculo numérico y a la
computación científica.
Características
• Es un lenguaje de programación de alto nivel
• Es de propósito general, procedimental e imperativo
• Esta especialmente adaptado al calculo numérico y a la
computación científica especialmente a los cálculos mas
complicados
• Desarrollado en IBM bajo supervisión de John Backus.
FORTRAN I
• Nombres tenian mas de 6 caracteres
• Codigo muy rapido
• Compilacion no separada.
FORTRAN II
• Compilacion independiente
• Arreglaba los errores
FORTRAN IV
• Seleccion logica declaraciones if
• Declaraciones tipo explicitas.
FORTRAN 77
• Declaraciones if, then, else
• Control de repeticion while
FORTRAN 90
• Recursividad
• Apuntadores
Versiones de Fortran
Estilo de programación con Fortran
Portabilidad: Para asegurar la portabilidad del código, se recomienda usar sólo el
estándar de Fortran 77.
Estructura del Programa: La estructura total del programa deberá ser modular.
Cada subprograma deberá resolver una tarea bien definida. Mucha gente prefiere
escribir cada subprograma en un archivo por separado.
Variables: Declarar siempre todas las variables. No se recomienda la declaración
implícita. Intentar compactar a 6 caracteres como máximo para nombres de
variables, o asegurarse que los primeros 6 caracteres son únicos.
Arreglos: En muchos casos es mejor declarar todos los arreglos grandes en el
programa principal y entonces pasarlos como argumentos a las distintas subrutinas.
De esta forma toda la asignación de espacio es hecha en un sólo lugar.
Subprogramas: Nunca se debe permitir que las funciones tengan "efectos
laterales", por ejemplo: no se deben cambiar los valores de los parámetros de
entrada. Usar subrutinas en tales casos. En las declaraciones separar los
parámetros, bloques comunes y variables locales. Minimizar el uso de bloques
comunes.
Compiladores para Fortran H
Compiladores para Fortran H
Características
• Permite al usuario no
elegir
optimización, optimizaci
ón de registros o
completa.
• Escrito por Lowry y
Medlock (1969)
• Se realizan varias
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 última genera código objeto a
partir de cuádruplos y
asignaciones a registros
En el léxico
• Devuelve los pares
operador operando son un
token operando junto con
el token no operando
precedente.
• Utiliza precedencia de
operadores para las
expresiones.
• Optimizaciones
simples, sustituir
multiplicaciones por dos
por desplazamientos.
En la optimización
• Eliminación de
subexpresiones
comunes.
• Traslado de código.
• Propagación de
copias.
• Eliminación de
variables de
inducción.
Estructura de los
Compiladores H
PASCAL
• 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.
Características
• Lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth.
• Fue un lenguaje que facilito el aprendizaje de programación utilizando la
programación estructurada.
• Introdujo la sentencia case.
• Es muy simple y sencillo
• El código está dividido en porciones fácilmente legibles llamadas funciones
o procedimientos
Compiladores para Pascal
• Compilador de una pasada.
• Organizado alrededor del A. Sintáctico.
• Analizador descendente recursivo.
Características
• Código para los procedimientos
• Constantes
• Pila para registros de activación
• Montículo para datos asignados aplicando el operador new
Organización
Memoria
• Fue fácil de implementar
• Generaba poca actividad de entrada/salida
• El código de un procedimiento se compila en memoria y
se escribe como una unidad a la memoria secundaria
Ventajas
• Limitaciones en la calidad del código
generado
• Mucha necesidad de memoria
Inconvenientes
Compiladores para Pascal
C
• Se trata de un lenguaje fuertemente 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.
Características
• Diseñado para programar sistemas en Bell Labs, por Dennis Ritchie.
• Evolucionó de B, y después de ALGOL 68.
• Operadores potentes, pero pobres.
• Verificación de tipos muy extendido a través de UNIX y
disponibilidad de compiladores gratuitos y de alta
calidad, especialmente gcc.
Compiladores para C
CARACTERÍSTICAS
Lenguaje de
propósito general
(Ritchie)
Principal lenguaje
de programación
en UNIX
UNIX está
escrito en C
Compiladores de
dos pasadas PDP-
11 tiene una
tercera opcional
para optimizar el
lenguaje
ensamblador
CompiladorPDP-11
Utiliza descenso
recursivo menos
para expresiones
Expresiones con
precedencia de
operadores
Código intermedio
• Expresiones
notación
postfija
• Ensamblador
para estructuras
de control
COMPILADORPCC
Generado con
YACC
Código intermedio
• Expresiones
notación prefija
• Ensamblador
demás
construcciones
Compiladores para C

Más contenido relacionado

La actualidad más candente

Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensambladorDeisyVilchez
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interpreteperlallamas
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEustakiu Padilla
 
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...Jorge Rodriguez
 
Los compiladores erika y carolina
Los compiladores erika y carolinaLos compiladores erika y carolina
Los compiladores erika y carolinaErika Flores
 
Evolucion de los compiladores1
Evolucion de los compiladores1Evolucion de los compiladores1
Evolucion de los compiladores1udalrico
 
Lenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPULenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPUromo91
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivasjonathangrief
 
Lenguaje Ensamblador00
Lenguaje Ensamblador00Lenguaje Ensamblador00
Lenguaje Ensamblador00Car_00_01
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iRossana Sosa
 
A L G U N O S C O M P I L A D O R E S
A L G U N O S  C O M P I L A D O R E SA L G U N O S  C O M P I L A D O R E S
A L G U N O S C O M P I L A D O R E SNahum Vera
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De EnsambladoresSpiderHal
 

La actualidad más candente (20)

Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interprete
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
INTRODUCCION
INTRODUCCIONINTRODUCCION
INTRODUCCION
 
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...
 
Los compiladores erika y carolina
Los compiladores erika y carolinaLos compiladores erika y carolina
Los compiladores erika y carolina
 
Evolucion de los compiladores1
Evolucion de los compiladores1Evolucion de los compiladores1
Evolucion de los compiladores1
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Lenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPULenguaje ensamblador y Estructura del CPU
Lenguaje ensamblador y Estructura del CPU
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivas
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Lenguaje Ensamblador00
Lenguaje Ensamblador00Lenguaje Ensamblador00
Lenguaje Ensamblador00
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes i
 
A L G U N O S C O M P I L A D O R E S
A L G U N O S  C O M P I L A D O R E SA L G U N O S  C O M P I L A D O R E S
A L G U N O S C O M P I L A D O R E S
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De Ensambladores
 

Destacado

INTRODUCCION A VISUAL BASIC Y CONCEPTOS DE PROGRAMACION
INTRODUCCION A VISUAL BASIC Y CONCEPTOS DE PROGRAMACIONINTRODUCCION A VISUAL BASIC Y CONCEPTOS DE PROGRAMACION
INTRODUCCION A VISUAL BASIC Y CONCEPTOS DE PROGRAMACIONguest00eb5e
 
Lenguajes De ProgramacióN
Lenguajes De ProgramacióNLenguajes De ProgramacióN
Lenguajes De ProgramacióNguesteb89a1
 
Diagrama flujo
Diagrama flujoDiagrama flujo
Diagrama flujoaromero487
 
REPRESENTACION-EJEMPLO ALGORITMOS
REPRESENTACION-EJEMPLO ALGORITMOSREPRESENTACION-EJEMPLO ALGORITMOS
REPRESENTACION-EJEMPLO ALGORITMOSMaría Fula
 
Programación estructurada
Programación  estructuradaProgramación  estructurada
Programación estructuradaPal Almaza
 
Guia programacion estructurada
Guia programacion estructuradaGuia programacion estructurada
Guia programacion estructuradalexar4203
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacionbrayan_2012
 
Historia y conceptos basicos de programación estructurada
Historia y conceptos basicos de programación estructuradaHistoria y conceptos basicos de programación estructurada
Historia y conceptos basicos de programación estructuradaEn La Vereda de Mi Casaa!
 
Anexo 1 Diagramas De Flujo
Anexo 1   Diagramas De FlujoAnexo 1   Diagramas De Flujo
Anexo 1 Diagramas De FlujoFabio Valencia
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoRosbelia Balza
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigoepetekaun
 

Destacado (19)

INTRODUCCION A VISUAL BASIC Y CONCEPTOS DE PROGRAMACION
INTRODUCCION A VISUAL BASIC Y CONCEPTOS DE PROGRAMACIONINTRODUCCION A VISUAL BASIC Y CONCEPTOS DE PROGRAMACION
INTRODUCCION A VISUAL BASIC Y CONCEPTOS DE PROGRAMACION
 
Lenguajes De ProgramacióN
Lenguajes De ProgramacióNLenguajes De ProgramacióN
Lenguajes De ProgramacióN
 
CURSO COBOL MAINFRAME
CURSO COBOL MAINFRAMECURSO COBOL MAINFRAME
CURSO COBOL MAINFRAME
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Cobol
CobolCobol
Cobol
 
Lenguaje de programación
Lenguaje de  programaciónLenguaje de  programación
Lenguaje de programación
 
Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012
 
Diagrama flujo
Diagrama flujoDiagrama flujo
Diagrama flujo
 
REPRESENTACION-EJEMPLO ALGORITMOS
REPRESENTACION-EJEMPLO ALGORITMOSREPRESENTACION-EJEMPLO ALGORITMOS
REPRESENTACION-EJEMPLO ALGORITMOS
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
Programación estructurada
Programación  estructuradaProgramación  estructurada
Programación estructurada
 
Guia programacion estructurada
Guia programacion estructuradaGuia programacion estructurada
Guia programacion estructurada
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 
Historia y conceptos basicos de programación estructurada
Historia y conceptos basicos de programación estructuradaHistoria y conceptos basicos de programación estructurada
Historia y conceptos basicos de programación estructurada
 
Anexo 1 Diagramas De Flujo
Anexo 1   Diagramas De FlujoAnexo 1   Diagramas De Flujo
Anexo 1 Diagramas De Flujo
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 

Similar a Compiladores fortran,c y pascal

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ónJavier Camacho
 
Historia de los lenguajes fortran h, pascal, c
Historia de los lenguajes fortran h, pascal, c Historia de los lenguajes fortran h, pascal, c
Historia de los lenguajes fortran h, pascal, c Alvaro Cedeño
 
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelCompiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelEstefhany1
 
Compiladores de fortran h, pacsal c
Compiladores de fortran h, pacsal cCompiladores de fortran h, pacsal c
Compiladores de fortran h, pacsal cJhOnss KrIollo
 
Clase2 clasificacion de interpretes
Clase2 clasificacion de interpretesClase2 clasificacion de interpretes
Clase2 clasificacion de interpretesInfomania pro
 
Informacion sobre los compiladores y sus funciones
Informacion sobre los compiladores y sus funcionesInformacion sobre los compiladores y sus funciones
Informacion sobre los compiladores y sus funcionesFrancescoReinaga1
 
Compiladores para fortran, pascal y c
Compiladores para fortran, pascal y cCompiladores para fortran, pascal y c
Compiladores para fortran, pascal y cLeonardo Lopez
 
Lenguaje de programación C
Lenguaje de programación CLenguaje de programación C
Lenguaje de programación CMolpe Teles
 
Lenguaje de programación C
Lenguaje de programación CLenguaje de programación C
Lenguaje de programación CMolpe Teles
 
compiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladorescompiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladoresBEVERLYIGUARDIA
 
Lenguajes de Programación_Fortran.pptx
Lenguajes de Programación_Fortran.pptxLenguajes de Programación_Fortran.pptx
Lenguajes de Programación_Fortran.pptxAlanCardona10
 
Lenguaje de ensamblador
Lenguaje de ensambladorLenguaje de ensamblador
Lenguaje de ensambladorWilman Diaz
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 

Similar a Compiladores fortran,c y pascal (20)

Compiladores deber 5
Compiladores deber 5Compiladores deber 5
Compiladores deber 5
 
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
 
Historia de los lenguajes fortran h, pascal, c
Historia de los lenguajes fortran h, pascal, c Historia de los lenguajes fortran h, pascal, c
Historia de los lenguajes fortran h, pascal, c
 
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelCompiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
 
Compiladores de fortran h, pacsal c
Compiladores de fortran h, pacsal cCompiladores de fortran h, pacsal c
Compiladores de fortran h, pacsal c
 
Clase2 clasificacion de interpretes
Clase2 clasificacion de interpretesClase2 clasificacion de interpretes
Clase2 clasificacion de interpretes
 
Informacion sobre los compiladores y sus funciones
Informacion sobre los compiladores y sus funcionesInformacion sobre los compiladores y sus funciones
Informacion sobre los compiladores y sus funciones
 
Compiladores para fortran, pascal y c
Compiladores para fortran, pascal y cCompiladores para fortran, pascal y c
Compiladores para fortran, pascal y c
 
Lenguaje de programación C
Lenguaje de programación CLenguaje de programación C
Lenguaje de programación C
 
Lenguaje de programación C
Lenguaje de programación CLenguaje de programación C
Lenguaje de programación C
 
compiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladorescompiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladores
 
TEMA Nº 1
TEMA Nº 1TEMA Nº 1
TEMA Nº 1
 
Lenguajes de Programación_Fortran.pptx
Lenguajes de Programación_Fortran.pptxLenguajes de Programación_Fortran.pptx
Lenguajes de Programación_Fortran.pptx
 
Lenguaje de ensamblador
Lenguaje de ensambladorLenguaje de ensamblador
Lenguaje de ensamblador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
ingenieria de software
ingenieria de softwareingenieria de software
ingenieria de software
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 

Último

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
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.pptxAlan779941
 
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 JUNITMaricarmen Sánchez Ruiz
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
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 estossgonzalezp1
 
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.pptxMiguelAtencio10
 
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.pdfvladimiroflores1
 
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 eyvanamcerpam
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 

Último (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
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
 
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
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
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
 
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
 
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
 
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
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 

Compiladores fortran,c y pascal

  • 1. COMPILADORES Fortran H, C y Pascal Carlos Marcelo Rivadeneira Velasco PUCE-SI
  • 2. FORTRAN • Es un lenguaje de programación alto nivel de propósito general, procedimental e imperativo, que está especialmente adaptado al cálculo numérico y a la computación científica. Características • Es un lenguaje de programación de alto nivel • Es de propósito general, procedimental e imperativo • Esta especialmente adaptado al calculo numérico y a la computación científica especialmente a los cálculos mas complicados • Desarrollado en IBM bajo supervisión de John Backus.
  • 3. FORTRAN I • Nombres tenian mas de 6 caracteres • Codigo muy rapido • Compilacion no separada. FORTRAN II • Compilacion independiente • Arreglaba los errores FORTRAN IV • Seleccion logica declaraciones if • Declaraciones tipo explicitas. FORTRAN 77 • Declaraciones if, then, else • Control de repeticion while FORTRAN 90 • Recursividad • Apuntadores Versiones de Fortran
  • 4. Estilo de programación con Fortran Portabilidad: Para asegurar la portabilidad del código, se recomienda usar sólo el estándar de Fortran 77. Estructura del Programa: La estructura total del programa deberá ser modular. Cada subprograma deberá resolver una tarea bien definida. Mucha gente prefiere escribir cada subprograma en un archivo por separado. Variables: Declarar siempre todas las variables. No se recomienda la declaración implícita. Intentar compactar a 6 caracteres como máximo para nombres de variables, o asegurarse que los primeros 6 caracteres son únicos. Arreglos: En muchos casos es mejor declarar todos los arreglos grandes en el programa principal y entonces pasarlos como argumentos a las distintas subrutinas. De esta forma toda la asignación de espacio es hecha en un sólo lugar. Subprogramas: Nunca se debe permitir que las funciones tengan "efectos laterales", por ejemplo: no se deben cambiar los valores de los parámetros de entrada. Usar subrutinas en tales casos. En las declaraciones separar los parámetros, bloques comunes y variables locales. Minimizar el uso de bloques comunes.
  • 6. Compiladores para Fortran H Características • Permite al usuario no elegir optimización, optimizaci ón de registros o completa. • Escrito por Lowry y Medlock (1969) • Se realizan varias 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 última genera código objeto a partir de cuádruplos y asignaciones a registros En el léxico • Devuelve los pares operador operando son un token operando junto con el token no operando precedente. • Utiliza precedencia de operadores para las expresiones. • Optimizaciones simples, sustituir multiplicaciones por dos por desplazamientos. En la optimización • Eliminación de subexpresiones comunes. • Traslado de código. • Propagación de copias. • Eliminación de variables de inducción. Estructura de los Compiladores H
  • 7. PASCAL • 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. Características • Lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth. • Fue un lenguaje que facilito el aprendizaje de programación utilizando la programación estructurada. • Introdujo la sentencia case. • Es muy simple y sencillo • El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos
  • 8. Compiladores para Pascal • Compilador de una pasada. • Organizado alrededor del A. Sintáctico. • Analizador descendente recursivo. Características • Código para los procedimientos • Constantes • Pila para registros de activación • Montículo para datos asignados aplicando el operador new Organización Memoria • Fue fácil de implementar • Generaba poca actividad de entrada/salida • El código de un procedimiento se compila en memoria y se escribe como una unidad a la memoria secundaria Ventajas • Limitaciones en la calidad del código generado • Mucha necesidad de memoria Inconvenientes
  • 10. C • Se trata de un lenguaje fuertemente 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. Características • Diseñado para programar sistemas en Bell Labs, por Dennis Ritchie. • Evolucionó de B, y después de ALGOL 68. • Operadores potentes, pero pobres. • Verificación de tipos muy extendido a través de UNIX y disponibilidad de compiladores gratuitos y de alta calidad, especialmente gcc.
  • 11. Compiladores para C CARACTERÍSTICAS Lenguaje de propósito general (Ritchie) Principal lenguaje de programación en UNIX UNIX está escrito en C Compiladores de dos pasadas PDP- 11 tiene una tercera opcional para optimizar el lenguaje ensamblador CompiladorPDP-11 Utiliza descenso recursivo menos para expresiones Expresiones con precedencia de operadores Código intermedio • Expresiones notación postfija • Ensamblador para estructuras de control COMPILADORPCC Generado con YACC Código intermedio • Expresiones notación prefija • Ensamblador demás construcciones