SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Compilador de Fortran H, para C y Pascal
JUNIORTROYA
PONTIFICIA UNIVERSIDAD CATÒLICA DEL ECUADOR
SEDE IBARRA
FORTRAN
Fortran (previamente FORTRAN)1 (contracción
del inglés Formula Translating System) 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.
Desarrollado originalmente por IBM en 1957 para el
equipo IBM 704, y usado para aplicaciones científicas y de
ingeniería
En FORTRAN las instrucciones que el usuario
transmite al ordenador se encuentran en un fichero
de texto (en código ASCII), que es necesario
escribir (utilizando un editor de textos
cualquiera).
FORTRAN
 Al contrario que el BASIC, que es un lenguaje interpretado, el FORTRAN es un lenguaje compilado. Ésto
significa que, una vez escrito el programa, éste ha de ser traducido en bloque al lenguaje máquina, o sea, el
lenguaje que entiende el procesador del ordenador, mediante un proceso llamado compilación; por contra, en
un lenguaje interpretado las líneas de programa se van traduciendo según el flujo va pasando por ellas, con lo
que el proceso de ejecución se enlentece.
Escritura del programa
 Las instrucciones del programa se escriben en el fichero dispuestas en líneas. En FORTRAN 77 las columnas
de la 1 a la 5 se reservan para que se puedan incluir etiquetas, en forma de números, que hagan de
señalización con vistas a la posibilidad de que el flujo del programa vuelva a esa línea desde otra parte del
programa. La columna 6 se reserva para incluir un símbolo que le indique al compilador que esa línea es la
continuación de la línea anterior. Por tanto, las instrucciones del programa en sí comienzan a partir de la
columna 6 (es decir, de la 7 a la 80). Un ejemplo de programa sencillo es:
PROGRAMA EJEMPLO
REAL A, B, C
A=1
B=A+1
PRINT *,A,B
C=A+B+1
PRINT *,'C es igual a=',C
END
C
 C es un lenguaje de programación creado
en 1972 por Dennis M. Ritchie en losLaboratorios Bell como
evolución del anterior lenguaje B, a su vez basado en BCPL.
 Uno de los objetivos de diseño del lenguaje C es que sólo
sean necesarias unas pocas instrucciones en lenguaje
máquina para traducir cada elemento del lenguaje, sin que
haga falta un soporte intenso en tiempo de ejecución.
 C se desarrolló originalmente (conjuntamente con el sistema
operativo Unix, con el que ha estado asociado mucho
tiempo) por programadores para programadores.
Compiladores para C
El compilador PDP-11 El compilador PCC
 „Utiliza descenso recursivo
para todo excepto las
expresiones
 Expresiones con
precedencia de
operadores
 „Código intermedio:
 ŠExpresiones notación
postfija
ŠEnsamblador para
 estructuras de control
 „LALR(1) generado con
YACC
 „Código intermedio:
 ŠExpresiones notación
prefija
 ŠEnsamblador de más
construcciones
Estructura de los compiladores H
En el léxico:
 Devuelve: Los pares
operadoroperando 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
BIBLIOGRAFIA
 http://es.wikipedia.org/wiki/Fortran
 http://www.uam.es/departamentos/ciencias/fisicateoricam
ateria/especifica/hojas/kike/FORTRAN/FORTRAN.html

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Traductores
TraductoresTraductores
Traductores
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Ensamblador expo
Ensamblador expoEnsamblador expo
Ensamblador expo
 
Compiladores e intérpretes
Compiladores e intérpretesCompiladores e intérpretes
Compiladores e intérpretes
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De Ensambladores
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Diapositivas de compiladores
Diapositivas de compiladoresDiapositivas de compiladores
Diapositivas de compiladores
 
Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compilador
 
Ensayo
EnsayoEnsayo
Ensayo
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje 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
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Estructura de un interprete
Estructura de un interpreteEstructura de un interprete
Estructura de un interprete
 

Destacado

#Cardiotuit. Aplicaciones profesionales de Twiiter en cardiología
#Cardiotuit. Aplicaciones profesionales de Twiiter en cardiología#Cardiotuit. Aplicaciones profesionales de Twiiter en cardiología
#Cardiotuit. Aplicaciones profesionales de Twiiter en cardiologíaElena Plaza Moreno
 
Clausura Juegos deportivos 2014
Clausura Juegos deportivos  2014Clausura Juegos deportivos  2014
Clausura Juegos deportivos 2014ampamaestrorodrigo
 
Haize Errota Sistema de Innovación de Ihobe
Haize Errota Sistema de Innovación de IhobeHaize Errota Sistema de Innovación de Ihobe
Haize Errota Sistema de Innovación de IhobeAlex Boto
 
Apresentação oficial CSN - Ciao Social Network
Apresentação oficial CSN - Ciao Social NetworkApresentação oficial CSN - Ciao Social Network
Apresentação oficial CSN - Ciao Social NetworkAlexander Maia
 
Manual denuncia-ciudadana-2013
Manual denuncia-ciudadana-2013Manual denuncia-ciudadana-2013
Manual denuncia-ciudadana-2013Elvis Frank
 
Solidarios para el Desarrollo - Las TIC en Solidarios
Solidarios para el Desarrollo - Las TIC en SolidariosSolidarios para el Desarrollo - Las TIC en Solidarios
Solidarios para el Desarrollo - Las TIC en SolidariosJaume Albaigès
 
Cómo conseguir tu eSPin de eSportics
Cómo conseguir tu eSPin de eSporticsCómo conseguir tu eSPin de eSportics
Cómo conseguir tu eSPin de eSporticseSportics
 
Registro de las guias yaz
Registro de las guias yazRegistro de las guias yaz
Registro de las guias yazdckyam
 
Presupuesto de un Servidor de una empresa
Presupuesto de un Servidor de una empresaPresupuesto de un Servidor de una empresa
Presupuesto de un Servidor de una empresaAlfredito Aguayo
 
Edital2011a
Edital2011aEdital2011a
Edital2011arbsapple
 
Unidad i el rol del psicomotricista y su técnicas
Unidad i el rol del psicomotricista y su técnicasUnidad i el rol del psicomotricista y su técnicas
Unidad i el rol del psicomotricista y su técnicasCinthia Riveros
 
Каталог LR. Германия, 2014
Каталог LR. Германия, 2014Каталог LR. Германия, 2014
Каталог LR. Германия, 2014Julia julia
 
The British Psychological Society
The British Psychological SocietyThe British Psychological Society
The British Psychological SocietyChris Fagan
 
Performing a power audit
Performing a power auditPerforming a power audit
Performing a power auditSyAM Software
 
ULTRAglaze Specification guide 2016
ULTRAglaze Specification guide 2016ULTRAglaze Specification guide 2016
ULTRAglaze Specification guide 2016Simon Gaunt
 

Destacado (20)

#Cardiotuit. Aplicaciones profesionales de Twiiter en cardiología
#Cardiotuit. Aplicaciones profesionales de Twiiter en cardiología#Cardiotuit. Aplicaciones profesionales de Twiiter en cardiología
#Cardiotuit. Aplicaciones profesionales de Twiiter en cardiología
 
Clausura Juegos deportivos 2014
Clausura Juegos deportivos  2014Clausura Juegos deportivos  2014
Clausura Juegos deportivos 2014
 
Haize Errota Sistema de Innovación de Ihobe
Haize Errota Sistema de Innovación de IhobeHaize Errota Sistema de Innovación de Ihobe
Haize Errota Sistema de Innovación de Ihobe
 
Apresentação oficial CSN - Ciao Social Network
Apresentação oficial CSN - Ciao Social NetworkApresentação oficial CSN - Ciao Social Network
Apresentação oficial CSN - Ciao Social Network
 
La Indexacion es Vital
La Indexacion es Vital La Indexacion es Vital
La Indexacion es Vital
 
Manual denuncia-ciudadana-2013
Manual denuncia-ciudadana-2013Manual denuncia-ciudadana-2013
Manual denuncia-ciudadana-2013
 
Solidos apuntestexto&imagenes
Solidos apuntestexto&imagenesSolidos apuntestexto&imagenes
Solidos apuntestexto&imagenes
 
Solidarios para el Desarrollo - Las TIC en Solidarios
Solidarios para el Desarrollo - Las TIC en SolidariosSolidarios para el Desarrollo - Las TIC en Solidarios
Solidarios para el Desarrollo - Las TIC en Solidarios
 
Microtech Sistemas Catalog (2016-EN)
Microtech Sistemas Catalog (2016-EN)Microtech Sistemas Catalog (2016-EN)
Microtech Sistemas Catalog (2016-EN)
 
Cómo conseguir tu eSPin de eSportics
Cómo conseguir tu eSPin de eSporticsCómo conseguir tu eSPin de eSportics
Cómo conseguir tu eSPin de eSportics
 
Registro de las guias yaz
Registro de las guias yazRegistro de las guias yaz
Registro de las guias yaz
 
Tecnologia3 d
Tecnologia3 dTecnologia3 d
Tecnologia3 d
 
Presupuesto de un Servidor de una empresa
Presupuesto de un Servidor de una empresaPresupuesto de un Servidor de una empresa
Presupuesto de un Servidor de una empresa
 
Edital2011a
Edital2011aEdital2011a
Edital2011a
 
Unidad i el rol del psicomotricista y su técnicas
Unidad i el rol del psicomotricista y su técnicasUnidad i el rol del psicomotricista y su técnicas
Unidad i el rol del psicomotricista y su técnicas
 
Каталог LR. Германия, 2014
Каталог LR. Германия, 2014Каталог LR. Германия, 2014
Каталог LR. Германия, 2014
 
The British Psychological Society
The British Psychological SocietyThe British Psychological Society
The British Psychological Society
 
Performing a power audit
Performing a power auditPerforming a power audit
Performing a power audit
 
ULTRAglaze Specification guide 2016
ULTRAglaze Specification guide 2016ULTRAglaze Specification guide 2016
ULTRAglaze Specification guide 2016
 
Libro examen radioaficionado
Libro examen radioaficionadoLibro examen radioaficionado
Libro examen radioaficionado
 

Similar a compilador de Fortran H, para C y Pascal

Historia de los compiladores
Historia de los compiladoresHistoria de los compiladores
Historia de los compiladoresAndresDvila
 
Conceptos de compilador
Conceptos de compiladorConceptos de compilador
Conceptos de compiladorJoel Soto
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOadark
 
Resolucion de problemas y algoritmos
Resolucion de problemas y algoritmosResolucion de problemas y algoritmos
Resolucion de problemas y algoritmosmiguelskillet
 
lenguaje de programacion
lenguaje de programacionlenguaje de programacion
lenguaje de programacionpefrayo5
 
tipos de lenguaje de programación
tipos de lenguaje de programacióntipos de lenguaje de programación
tipos de lenguaje de programaciónpefrayo5
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compiladorDLACGP
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libreDanielita Lopez
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladorespaulina8
 
lenguaje de Programacion
lenguaje de Programacionlenguaje de Programacion
lenguaje de ProgramacionLauracks
 
Historia de los compiladores
Historia de los compiladoresHistoria de los compiladores
Historia de los compiladoresAlex Toapanta
 
Tema 01 introducción a compiladores
Tema 01   introducción a compiladoresTema 01   introducción a compiladores
Tema 01 introducción a compiladoresikky2345
 
Taller #6
Taller #6 Taller #6
Taller #6 chomba01
 

Similar a compilador de Fortran H, para C y Pascal (20)

Presentación1
Presentación1Presentación1
Presentación1
 
Historia de los compiladores
Historia de los compiladoresHistoria de los compiladores
Historia de los compiladores
 
Conceptos de compilador
Conceptos de compiladorConceptos de compilador
Conceptos de compilador
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
Resolucion de problemas y algoritmos
Resolucion de problemas y algoritmosResolucion de problemas y algoritmos
Resolucion de problemas y algoritmos
 
lenguaje de programacion
lenguaje de programacionlenguaje de programacion
lenguaje de programacion
 
tipos de lenguaje de programación
tipos de lenguaje de programacióntipos de lenguaje de programación
tipos de lenguaje de programación
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
lenguaje de Programacion
lenguaje de Programacionlenguaje de Programacion
lenguaje de Programacion
 
PROGRAMACION EN C
PROGRAMACION EN CPROGRAMACION EN C
PROGRAMACION EN C
 
Roderish informe
Roderish informeRoderish informe
Roderish informe
 
Historia de los compiladores
Historia de los compiladoresHistoria de los compiladores
Historia de los compiladores
 
Tema 01 introducción a compiladores
Tema 01   introducción a compiladoresTema 01   introducción a compiladores
Tema 01 introducción a compiladores
 
Taller #6
Taller #6 Taller #6
Taller #6
 

compilador de Fortran H, para C y Pascal

  • 1. Compilador de Fortran H, para C y Pascal JUNIORTROYA PONTIFICIA UNIVERSIDAD CATÒLICA DEL ECUADOR SEDE IBARRA
  • 2. FORTRAN Fortran (previamente FORTRAN)1 (contracción del inglés Formula Translating System) 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. Desarrollado originalmente por IBM en 1957 para el equipo IBM 704, y usado para aplicaciones científicas y de ingeniería En FORTRAN las instrucciones que el usuario transmite al ordenador se encuentran en un fichero de texto (en código ASCII), que es necesario escribir (utilizando un editor de textos cualquiera).
  • 3. FORTRAN  Al contrario que el BASIC, que es un lenguaje interpretado, el FORTRAN es un lenguaje compilado. Ésto significa que, una vez escrito el programa, éste ha de ser traducido en bloque al lenguaje máquina, o sea, el lenguaje que entiende el procesador del ordenador, mediante un proceso llamado compilación; por contra, en un lenguaje interpretado las líneas de programa se van traduciendo según el flujo va pasando por ellas, con lo que el proceso de ejecución se enlentece. Escritura del programa  Las instrucciones del programa se escriben en el fichero dispuestas en líneas. En FORTRAN 77 las columnas de la 1 a la 5 se reservan para que se puedan incluir etiquetas, en forma de números, que hagan de señalización con vistas a la posibilidad de que el flujo del programa vuelva a esa línea desde otra parte del programa. La columna 6 se reserva para incluir un símbolo que le indique al compilador que esa línea es la continuación de la línea anterior. Por tanto, las instrucciones del programa en sí comienzan a partir de la columna 6 (es decir, de la 7 a la 80). Un ejemplo de programa sencillo es: PROGRAMA EJEMPLO REAL A, B, C A=1 B=A+1 PRINT *,A,B C=A+B+1 PRINT *,'C es igual a=',C END
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. C  C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en losLaboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL.  Uno de los objetivos de diseño del lenguaje C es que sólo sean necesarias unas pocas instrucciones en lenguaje máquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecución.  C se desarrolló originalmente (conjuntamente con el sistema operativo Unix, con el que ha estado asociado mucho tiempo) por programadores para programadores.
  • 10.
  • 11.
  • 12. Compiladores para C El compilador PDP-11 El compilador PCC  „Utiliza descenso recursivo para todo excepto las expresiones  Expresiones con precedencia de operadores  „Código intermedio:  ŠExpresiones notación postfija ŠEnsamblador para  estructuras de control  „LALR(1) generado con YACC  „Código intermedio:  ŠExpresiones notación prefija  ŠEnsamblador de más construcciones
  • 13.
  • 14. Estructura de los compiladores H En el léxico:  Devuelve: Los pares operadoroperando 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