You are on page 1of 2

SINTAXIS DE LENGUAJES DE PROGRAMACIN 1- Criterios Generales de sintaxis: Legibilidad Facilidad de Escritura 2- Elementos Sintcticos: Conjunto de caracteres Identificadores Smbolos

bolos de operadores Palabras claves y reservadas Palabras pregonadas Comentarios Facilidad de Verificacin Facilidad de Traduccin Espacios en blanco Delimitadores y corchetes Formatos de campo libres y fijos Expresiones Enunciados

3- Estructura del conjunto de programas y subprogramas Definiciones individuales de subprogramas Definiciones individuales de datos Definiciones de subprogramas anidadas Definiciones de subprogramas no separadas Definiciones individuales de interfaz Descripciones de datos separadas de enunciados ejecutables ETAPAS DE TRADUCCIN A) Anlisis del programa fuente 1- Anlisis Lxico: Lee el archivo fuente carcter por carcter, y los agrupa en sus constituyentes elementales: identificadores, delimitadores, palabras clave, etc. Las unidades bsicas de programa que resultan del A. Lxico se llaman elementos (o componentes) lxicos. Adems, suele hacer la conversin de nmero a su correspondiente binario, y la conversin identificadores a direcciones de memoria. Dada identificador se almacena en una tabla de smbolos. 2- Anlisis Sintctico (parsing): Se identifican estructuras como enunciados, declaraciones, expresiones, etc., usando los componentes lxicos. Luego de que se identifica una estructura, se la enva al Anlisis Semntico, que la procesa y vuelve el control al Anlisis Sintctico. 3- Anlisis Semntico: Procesa las estructuras sintcticas producidas por el A. Sintctico. Sus funciones bsicas son: Mantenimiento de la tabla de Smbolos Insercin de informacin implcita Deteccin de errores Procesamiento de macros y directivas de compilacin

B) Sntesis del programa objeto 4- Optimizacin (Opcional): Hace ms eficiente el cdigo intermedio 5- Generacin de Cdigo: Se transforman los enunciados en cdigo objeto (mquina o ensamblador). El cdigo de salida puede ser directamente ejecutable si no requiere vinculacin 6- Vinculacin y Carga: Las libreras, mdulos de programa, etc., se funden en el programa final ejecutable.

Objetos de datos: Agrupamiento en tiempo de ejecucin de uno o ms datos en una computadora virtual. Tienen atributos, tipo de dato que contiene, enlaces y valor de datos. Un objeto de datos participa en varios enlaces durante su tiempo de vida. Los enlaces pueden variar dinmicamente Variable: Es un objeto de datos que el programador define y nombre explcitamente Constante: Es un objeto de datos con nombre que est enlazado permanentemente a un valor durante su tiempo de vida. Las constantes pueden ser literales, es decir, cuando su nombre es la representacin de su valor. Ej: x + 2 < y Aqu 2 es una constante literal Tipos de Datos Un tipo de datos es una clase de objetos ligadas a un conjunto de operaciones para crearlos y manipularlos. Al especificar un tipo de dato, estamos definiendo sus atributos, valores y operaciones posibles Al implementar un tipo de dato, estamos definiendo su representacin de almacenamiento y algoritmos Con los tipos de datos, debemos tener en cuenta su representacin sintctica y la verificacin de tipos. Esta ltima introduce una clasificacin: Verificacin esttica de tipos (Durante la compilacin): Da lugar a lenguajes fuertemente tipados, que obligan a declarar variables. Un lenguaje fuertemente tipado o de tipos fuertes es aquel en el cual se pueden detectar estticamente todos los errores de tipo en un programa. Verificacin dinmica de tipos (Durante la ejecucin)

Algunas expresiones requieren convertir un tipo de dato a otro para poder ser resueltas. Existen 2 tipos de conversiones: Conversin propiamente dicha: efectuada explcitamente por el programador (casting) Coercin: Es implcita. La realiza el compilador/intrprete automticamente. Hay 2 casos: Promocin o ensanchamiento. Ej: short int Estrechamiento: Puede haber prdida de informacin. Ej: real int

Asignacin: Es la operacin bsica para cambiar el enlace de un valor a un objeto de datos Inicializacin: Es el proceso por el cual se asigna un valor a un objeto de datos

You might also like