Professional Documents
Culture Documents
• Por generaciones
Los lenguajes de programación se pueden clasificar desde
distintos puntos de vista:
• Por generaciones
§ Primera generación
§ Segunda generación
§ Tercera generación
§ Cuarta generación
§ Quinta generación
§ Generación orientada a objetos
§ Generación visual
§ Generación internet
Procesadores de lenguaje es el nombre genérico que reciben todas las
aplicaciones informáticas en las cuales uno de los datos fundamentales de
entrada es un lenguaje. La definición anterior afecta a una gran variedad de
herramientas software, algunas de ellas son las siguientes (expresando entre
paréntesis el término equivalente en lengua inglesa):
• Traductores (translators)
• Compiladores (compilers)
• Ensambladores (assemblers)
• Montadores de enlaces o enlazadores (linkers)
• Cargadores (loaders)
• Intérpretes (interpreters)
• Desensambladores (dissemblers)
• Decompiladores (decompilers)
• Depuradores (debuggers)
• Analizadores de rendimiento (profilers)
• Optimizadores de código (code optimizers)
• Compresores (compressors)
• Preprocesadores (preprocessors)
• Formateadores (formatters)
• Editores (editors)
Compiladores
Un traductor que transforma textos fuente de lenguajes de alto
nivel a lenguajes de bajo nivel se le denomina compilador (en
inglés compiler).
El tiempo que se necesita para traducir un lenguaje de alto nivel
a lenguaje objeto se denomina tiempo de compilación
(compilation time). El tiempo que tarda en ejecutarse un
programa objeto se denomina tiempo de ejecución (run time).
tiempo de compilación
LÉXI
CO
El léxico de un lenguaje natural está constituido por todas las palabras y
símbolos que lo componen. Para un lenguaje de programación u otro lenguaje
usado en Informática la definición anterior también es válida.
suma := 27 / lado
- lado debe ser compatible con el operador "/" y con el operando 27.
Generación de código
• Tipo: en el caso de variables será el identificador de tipo (real, entero, carácter, cadena de caracteres, o
un tipo definido previamente). En el caso de las funciones puede ser el tipo devuelto por la función. Los
procedimientos se pueden marcar como funciones que no devuelven nada (void).
• Dimensión o tamaño. Puede utilizarse el tamaño total que ocupa una variable en bytes, o las
dimensiones. Así en el caso de variables simples se coloca la dimensión cero, para los arrays la dimensión
del array, en el caso de estructuras (struct) o registros (record) el número de campos o miembros, en el
caso de funciones o procedimientos se puede almacenar el número de parámetros, etc...
• Dirección de comienzo para generar el código objeto. En el código máquina no hay nombre de
identificadores, tan sólo direcciones de memoria para datos (static, stack, y heap) o para código (usadas por
los procedimientos y funciones).
• Listas de información adicional. Contienen información de tamaño variable, por ejemplo: los tipos de los
campos o miembros de las estructuras o registros, los tipos de los parámetros de estructuras o uniones.