Está en la página 1de 5

GENERACIÓN DE LENGUAJES

PRIMERA SEGUNDA TERCERA CUARTA


GENERACIÓN GENERACIÓN GENERACIÓN GENERACIÓN

lenguaje de inteligencia
Lenguaje maquina Lenguajes de bajo nivel Lenguaje de alto nivel
artificial

el primer lenguaje de Es aquel en el que sus Un lenguaje de Es un lenguaje de


programación se instrucciones ejercen programación de alto programación
inventó en 1843 Ada un control directo nivel se caracteriza por declarativo, es un
Lovelace ideó el primer sobre el hardware y por expresar los algoritmos motor de inferencia
algoritmo para una lo tanto están de una manera semántica para la
máquina de condicionados por la adecuada a la programación lógica en
computación primitiva estructura física de las capacidad cognitiva Inteligencia Artificial y
que escribió en un computadoras que lo humana, en lugar de la Machine Learning, que
trozo de papel porque soportan capacidad con que los se utiliza para la
en aquella época no ejecutan las máquinas. coincidencia de
existían los patrones en árboles de
ejemplo: Lenguaje Pascal.
ordenadores Pascal es un lenguaje de análisis de lenguaje
programación creado por Algunos ejemplos son: natural.
el profesor suizo Niklaus Java, PHP, Python,
ejemplo: Wirth entre los años 1968 Javascript, C#. En los Python: el lenguaje de
El lenguaje ensamblador y 1969, y publicado en primeros lenguajes, la programación de
expresa las instrucciones de 1970. Su objetivo era limitación era que se Inteligencia Artificial
una forma más natural al
crear un lenguaje que orientaban a un área estrella
hombre a la vez que muy
facilitara el aprendizaje Python es quizás el mejor
cercana al microcontrolador, específica y sus
de programación a sus candidato en cuanto a
ya que cada una de esas instrucciones
alumnos, utilizando la lenguajes de
instrucciones se requerían de una
programación programación si
corresponde con otra en
estructurada y sintaxis predefinida
código máquina queremos centrarnos en
estructuración de datos Inteligencia Artificial.
CARACTERÍSTICAS DIFERENCIAS
Un traductor se define como un El objetivo de un traductor es
programa que traduce o convierte traducir el código fuente de un
un texto o programa escrito en un lenguaje de programación a un
Traductores lenguaje fuente a un texto o lenguaje de máquina, mientras que
programa equivalente, escrito en el principal objetivo de un
un lenguaje destino, produciendo, compilador es convertir el código
si cabe, mensajes de error fuente de un lenguaje de
programación a un lenguaje de bajo
nivel.
Estos son utilizados para crear El lenguaje ensamblador es
una secuencia o serie de difícilmente portable, es decir,
instrucciones algorítmicas, las un código escrito para un
cuales serán utilizadas para Microprocesador, suele necesitar
crear un programa que pueda ser modificado, muchas veces en su
Ensambladores controlar el comportamiento tanto totalidad para poder ser usado en
físico como lógico de una otra máquina distinta, aun con el
computadora. Esto es con el
objetivo de obtener un
determinado resultado.
Que analiza el programa fuente y
lo ejecuta directamente, sin
generar ningún código Un intérprete es un programa que
equivalente. Su acción equivale a ejecuta directamente las
la de un intérprete humano, que instrucciones escritas en un
Interprete traduce las frases que oye sobre lenguaje de programación dado
la marcha, sin producir ningún
escrito permanente. Intérpretes y
compiladores tienen diversas
ventajas e inconvenientes que los
hacen complementarios
que analiza el programa fuente y
lo traduce a otro equivalente El principal objetivo de un
escrito en otro lenguaje (por traductor es traducir el código
Compiladores ejemplo, en el lenguaje de la fuente de un lenguaje de
máquina). Su acción equivale a la programación a un lenguaje de
interpretados de un traductor humano, que toma máquina, mientras que el
un libro y produce otro principal objetivo de un
equivalente escrito en otra compilador es convertir el código
lengua. fuente de un lenguaje de
programación a un lenguaje de bajo
nivel.
FASES DE UN COMPILADOR

Preprocesamiento Transformaciones al Archivo Fuente,


previas a la Compilación.

Reconocimiento de los Elementos del


Lenguaje.
se encarga de convertir el código
Análisis Léxico fuente del usuario en un stream de
caracteres que al final se convierten
en un conjunto de lexemas con
significados específicos que
denominamos tokens.

Reconocimiento de la Estructura del


Lenguaje.
se toma el conjunto de tokens producidos
por la fase de análisis léxico y se genera
Análisis Sintáctico un árbol de sintaxis, luego este se revisa
de acuerdo a la gramática formal del
lenguaje definido y se verifica que las
expresiones construidas por el arreglo de
tokens sean sintácticamente correctos.

Reconocimiento de la coherencia de la
Entrada.
En esta fase también es muy necesario
Análisis Semántico mantener un control de los
identificadores con sus respectivos
tipos y expresiones, por ejemplo si una
variable es asignada sin haber sido
declarada, y produce como salida un
árbol de sintaxis anotado.

Transformación de la Entrada en una


representación de código intermedio
Generación de para una máquina abstracta.
Código Intermedio Este código intermedio debe ser
generado de tal manera que es
fácilmente traducido a un lenguaje de
máquina de bajo nivel.
Mejoras a la representación
intermedia que resulten en un código
más rápido de ejecutar.
Optimización de puede asumirse como algo que quita
Código lineas de código innecesarias, y
ordena una secuencia de declaraciones
que aceleran la ejecución del programa
sin desperdiciar recursos de CPU o
memoria RAM.

Transformación del código intermedio


en código objeto.
La generación de código traduce
entonces el código intermedio en una
Generación de secuencia reubicable de código de
Código máquina, mas tarde el enlazador del
sistema operativo tomara estas
instrucciones y les asignara un
espacio en la memoria para así poder
funcionar.

Depuración Reconocimiento de Errores

Reconocimiento de los nombres de los


identificadores utilizados en la
entrada y sus diferentes atributos.
Administración de
No es más que una estructura de datos
la Tabla de
que denominamos matriz ortogonal, que
Símbolos
es una tabla con posiciones de memoria
dinámicas sobre las cuales se puede
realizar búsquedas y editar los
valores de cada una de sus celdas.

También podría gustarte