Explorando los Lenguajes de Programación: Tipos, Traductores y Fases de Compilación
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 3,97 KB
Un lenguaje de programación consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.
Tipos de Lenguajes
Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel, y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.
Lenguaje de Máquina
Este lenguaje interactúa directamente con el hardware y constituye el nivel más bajo de programación.
Traductores: Compiladores e Intérpretes
Cualquier programa que toma como entrada un texto escrito en un lenguaje llamado fuente y da como salida un programa equivalente en otro lenguaje (el lenguaje objeto) se le llama Traductor.
Dicho en forma simple, un compilador es un programa que puede leer un programa en un lenguaje (el lenguaje fuente) y traducirlo en un programa equivalente en otro lenguaje (el lenguaje destino).
Un compilador traduce todo el código fuente de un proyecto de software a código máquina antes de ejecutarlo.
Un intérprete es un programa informático que procesa el código fuente de un proyecto de software durante su tiempo de ejecución, es decir, mientras el software se está ejecutando, y actúa como una interfaz entre ese proyecto y el procesador.
Un intérprete siempre procesa el código línea por línea, de modo que lee, analiza y prepara cada secuencia de forma consecutiva para el procesador.
Otros Traductores
Preprocesador, ensamblador, enlazador.
Tipos de Compiladores
Compiladores de una pasada, Compiladores de múltiples pasadas y Compiladores JIT (Just-In-Time).
Analizador Léxico
Su principal función consiste en leer los caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que utiliza el analizador sintáctico para hacer el análisis.
Comparación entre Intérpretes y Compiladores
Descripción | Intérprete | Compilador |
Momento en que se traduce el código fuente | Durante el tiempo de ejecución del software | Antes de ejecutar el software |
Procedimiento de traducción | Línea por línea | Siempre todo el código |
Presentación de errores de código | Después de cada línea | En conjunto, después de toda la compilación |
Velocidad de traducción | Alta | Baja |
Eficiencia de traducción | Baja | Alta |
Coste de desarrollo | Bajo | Alto |
Lenguajes típicos | PHP, Perl, Python, Ruby, BASIC | C, C#, C++, Pascal |
Fases de Compilación
- Análisis léxico
- Análisis sintáctico
- Análisis semántico
- Generación de código intermedio
- Optimización de código
- Generación de código
Conceptos Clave
- Token: Categorías sintácticas más simples del lenguaje fuente que permiten clasificar las palabras que conforman el léxico del programa fuente.
- Lexema: Cadena de caracteres que concuerda con un patrón que describe un componente léxico (token).
- Patrón: Regla que describe el conjunto de lexemas que pueden representar a un determinado componente léxico (token) en los programas fuente.