Documentos de Académico
Documentos de Profesional
Documentos de Cultura
“Lisandro Alvarado”
Decanato de Ciencias y Tecnología
Integrante:
Lenguaje de programación.
En esta breve investigación profundizaremos un poco acerca del
compilador, específicamente en los procesos y fases que este realiza durante la
traducción de un lenguaje de alto nivel a código ejecutable.
Por otra parte también mencionaremos otro tema similar visto que algunos
lenguajes modernos aceptan lo denominado Sobrecarga de operadores y en los
lenguajes orientados a objeto existe lo denominado polimorfismo analizaremos y
explicaremos en que fases de la traducción estas características son procesadas y
como afectan, si es que ocurre, los procesos del compilador.
Los elementos de entrada de esta fase son texto de entrada en otras estructuras
(comúnmente árboles), que son más útiles para el posterior análisis y capturan la
jerarquía implícita de la entrada. Un analizador léxico crea tokens de una
secuencia de caracteres de entrada y son estos tokens los que son procesados
por el analizador sintáctico para construir la estructura de datos, por ejemplo un
árbol de análisis o árboles de sintaxis abstracta.
Como objetivo principal se puede mencionar que este sirve como un código más
corto, o un código de destino que consuma menos poder.
La entrada de esta fase es que toma en el código intermedio y transforma(salida)
una parte del código que no implique un registros de la CPU y/o ubicaciones de
memoria absoluta.
El primero debemos recalcar que ocurre en la tercera fase (Análisis semántico) del
proceso de traducción del compilador y se define como aquellos operadores
que son de tipo tokens que indican al compilador la realización de determinadas
operaciones sobre variables u otros. La sobrecarga de operadores permite
redefinir ciertos operadores, como '+' y '-', para usarlos con las clases que hemos
definido. Se llama sobrecarga de operadores cuando reutilizando el mismo
operador con un número de usos diferentes, y el compilador decide cómo usar ese
operador dependiendo sobre qué opera.
Los operadores aceptan uno o varios operandos de tipo específico (alguno de los
tipos básicos preconstruidos en el lenguaje), produciendo y/o modificando un valor
de acuerdo con ciertas reglas. Sin embargo, C++ permite redefinir la mayor parte
de ellos. Es decir, permite que puedan aceptar otro tipo de operando (distintos de
los tipos básicos) y seguir otro comportamiento, al tiempo que conservan el
sentido y comportamiento originales cuando se usan con los operandos normales.
Esta posibilidad recibe el nombre de sobrecarga del operador.