Este documento describe los diferentes tipos de lenguajes de programación y el proceso de compilación. Explica que los lenguajes se pueden clasificar por su nivel de independencia de la máquina, forma de instrucciones o generaciones. También detalla las partes clave de un compilador como el análisis sintáctico y la generación de código. El objetivo final es desarrollar un compilador propio y entender mejor cómo funcionan estos conceptos fundamentales de la programación.
Presentación guía sencilla en Microsoft Excel.pptx
Introduccion
1. INTRODUCCIÓN
El objetivo es desarrollar una serie de diversos lenguajes. Entendemos como la
traducción de un lenguaje de alto nivel a uno intermedio. Para pode hacer una
traducción de un lenguaje intermedio a un lenguaje de bajo nivel, por ejemplo a un
lenguaje ensamblador en Linux. Por otro lado, también se desarrollará un entorno IDE,
es decir, un editor gráfico que permite manejar ficheros y compilarlos con las
herramientas anteriores.
En algunos programas de computadoras se realizan los llamados lenguajes de
programación, éstos facilitan la comunicación entre el programador y la computadora,
a través de un conjunto de instrucciones u órdenes especificadas por el lenguaje.
Para estos lenguajes de programación pueden definirse como Notaciones
formales para describir algoritmos o funciones que serán ejecutados por una
computadora o bien, un lenguaje para comunicar instrucciones al computador.
Diferentes puntos de vista para clasificar los lenguajes de programación:
a) Su grado de independencia con la máquina.
b) La forma de sus instrucciones.
c) Por generaciones.
Los lenguajes de programación según su grado de independencia de la
máquina pueden ser:
• Lenguaje máquina (representación binaria o hexadecimal.).
• Lenguaje ensamblador o de bajo nivel (versión simbólica de un lenguaje máquina).
• Lenguaje de medio nivel (lenguaje C).
2. CONCLUSION
Este trabajo nos servirá mucho en el momento de la creación de un compilador,
ya que en él se detallan todas y cada una de las partes que involucran a este.
Primeramente investiguemos que existen distintos tipos de compiladores, nos gustaria
crear un compilador de optimación, ya que pienso que es muy útil a la hora de crear un
algoritmo o programa.
La función de un compiladores es leer un programa escrito es un lenguaje, en
este caso el lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje,
el lenguaje objeto. Me parece fascinante que nosotros podamos crear un compilador.
Por otro lado, comprendimos que un compilador, requiere de una sintaxis y
lenguajes específicos, ya que, al igual que el lenguaje humano, si no lo escribimos
correctamente el compilador no hará lo que deseamos. Y que en la compilación hay
dos partes: Análisis y Síntesis. La parte del análisis divide al programa fuente en sus
elementos componentes y crea una representación intermedia.
Aprendimos que las herramientas que mostramos de tipos de análisis de
programas fuente, son muy útiles al momento de crear un programa al codificar un
algoritmo, ya que estas herramientas nos ayudan al formateo del texto, corrigiendo
errores, dando tips; para que nosotros como programadores seamos más eficientes al
momento de crear alguna aplicación.
También hemos visto como todas nuestras materias se va complementando y
enlazando, por ejemplo, en matemáticas discretas vimos la representación de árboles,
los cuales usamos aquí. Vimos métodos de ordenamiento que las gramáticas de los
compiladores usan. Por lo tanto, no parece tan complicado crear un compilador, sólo
se necesitan los conocimientos adecuados y dedicarle su tiempo para tener éxito.
Tenemos varias instrucciones en estos códigos de ensambladores en la cual
veremos cuales son los más utilizados.
Instrucciones de transferencia Son utilizadas para mover los contenidos de los
operadores. Cada instrucción se puede usar con diferentes modos de
direccionamiento.
Instrucciones de carga las cuales son especificadas en los registros. Son
usadas para cargar en algún registro bytes o cadenas de bytes
Instrucciones de la pila Estas instrucciones permiten el uso de la pila para
almacenar y extraer datos.