You are on page 1of 3

CRITERIOS DE LENGUAJE 1.

- DESCRIPCIONES BIEN DEFINIDAS: El lenguaje debe estar descrito claramente, es decir, saber fcil o rpidamente cmo escribir el cdigo de alguna instruccin (sintaxis). Para lograr que las descripciones sean bien definidas, los lenguajes de programacin se ayudan de un tipo de metalenguaje (un lenguaje para describir otro lenguaje). BNF Y EBNF. BNF: (Backus-Naur Form). Consta de metasmbolos y reglas propias, con la cual definen la sintaxis del lenguaje de programacin. De aqu se definen los siguientes conceptos: Terminal o Token: Es una palabra escrita en negritas. Indica un elemento de lenguaje indivisible que no permite reemplazos. Identificador: Puede ser una letra, o un identificador mismo seguido por una letra o un dgito. Los identificadores tambin son tokens. Palabras reservadas: Palabras que no pueden ser redefinidas dentro de un programa. No pueden utilizarse las mismas palabras para definir un identificador (por ejemplo). EBNF: (Forma Extendida Backus-Naur). Contiene otros smbolos aparte de los que tiene BNF. 2.-SEMNTICA: Describe exactamente el significado de una instruccin. Proporcionan una definicin de lenguaje no ambigua, tienen estndares, por lo cual un lenguaje no cambiar de implementacin a otra, y ofrecen una base para pruebas de correccin de compiladores y de programas. Se utilizan dos mtodos para describir la semntica: axiomtico y denotacional. Axiomtico: Se basa en el clculo de predicado. Define declaraciones (condiciones previas y condiciones posteriores a un procedimiento) sobre programas que pueden ser verdaderas o falsas durante varias etapas en la ejecucin de un programa. Denotacional: Se basa en la teora de funciones, es decir, cada programa y procedimiento se asocia con una funcin (recursiva). 3.- COMPROBABILIDAD: Es saber con certeza matemtica que un programa est correcto. Este proceso se hace en 3 pasos: 1.-La comprobacin de que el programa cumple con la intencin del programador. 2.-Probar que el compilador traduce de manera correcta a cdigo mquina la sintaxis y la semntica del lenguaje. 3.-Comprobar que la mquina misma funciona correctamente. 4.- CONFIABILIDAD: Trata de las formas de escritura, mantenimiento y depuracin de programas correctos, as como el manejo de excepciones al ejecutarse un programa. Se dice que es confiable si el software funciona como fue descrito y produce los resultados esperados por el usuario. En

caso contrario, se deber detectar el error y corregido fcilmente. Como ejemplo en la programacin, la instruccin goto puede no cumplir con sta caracterstica. Overflow: sobrecarga aritmtica que ocurre cuando se calcula un entero que es mayor de lo que puede soportar el hardware involucrado. Excepciones: Errores que pueden presentarse durante la entrada de datos, desde la lectura, el final de un archivo hasta un valor introducido no permitido. Manejadores de Excepciones: Son partes del lenguaje que tratan con las excepciones. 5.- TRADUCCIN RPIDA: Es la facilidad con la que un programa escrito en cierto lenguaje de programacin (cdigo fuente) pueda ser traducido (da como resultado un Cdigo Mquina) y despus ejecutado en mquinas diferentes. Anfitrin: Es la mquina donde un programa se ejecuta. Lenguaje anfitrin: Lenguaje en el que un escrito dicho programa. Una mquina puede tener mpas de un Lenguaje Anfitrin. Cdigo Intermedio: Cdigo resultante de traducir un cdigo fuente, antes del cdigo mquina. Traduccin del cdigo fuente: 1.- Anlisis lexicogrfico o rastreo: Identifica los tokens que representan valores, identificadores, operadores, etc. 2.- Anlisis Sintctico: Examina las declaraciones vlidas mientras que rechaza las no vlidas del lenguaje. 3.- Anlisis Semntico: Determina el significado de una declaracin. Traductores generativos: Traductores que generan un cdigo intermedio. Intrprete: Programa que traduce una expresin o declaracin de lenguaje, calcula e imprime y/o utiliza el resultado. Se ejecutan ms lento que un traductor generativo. Su ventaja es que los errores de ejecucin y los de sintaxis son detectados conforme cada declaracin. Cdigo Objeto: Resultado de un compilador al traducir el cdigo objeto a un cdigo intermedio orientado a mquina. 6.- CDIGO OBJETO EFICIENTE: Eficiencia en el uso de memoria y tiempo de ejecucin al momento de compilar. Compiladores de optimizacin: Ejecutan uno o dos pasos ms despus del anlisis semntico para aumentar la eficiencia de un cdigo compilado. - Eliminacin de subexpresiones comunes 7.- ORTOGONALIDAD: Una variable aleatoria se considera ortogonal si es independiente entre s, es decir, los componentes son independientes entre s, de las funciones parmetros. 8.- GENERALIDAD: Existencia de las caractersticas necesarias del lenguaje. Se relaciona con la ortogonalidad.

9.- CONSISTENCIA Y NOTACIONES COMUNES: Las notaciones del lenguaje matemtico debe ser coherente y comnmente usadas en un campo. Es decir, usar un smbolo slo y nicamente para lo que es. 10.- UNIFORMIDAD: Se relaciona con la consistencia. Nociones similares deberan verse y comportarse de la misma manera. 11.- SUBCONJUNTOS: Es la implementacin de slo una parte del mismo lenguaje, sin caractersticas especiales. 12.- EXTENSIBILIDAD: Es lo contrario de los subconjuntos. Por ejemplo, un lenguaje puede tener un ncleo estndar, el cual es invariable en cada implementacin, pero con varias extensiones. LA ventaja de los subconjuntos son mejoras cuando el lenguaje poder ser extendido de formas tiles. 13.- TRANSPORTABILIDAD: Se refiere a cuando un programa puede compilarse y ejecutarse en diferentes mquinas sin reescribir el cdigo fuente. Para lograr esto se han establecido diferentes organizaciones estndares: ANSI: American National Standars Institute BSI: British Standars Institution ISO: International Standard Organization. IEEE: Institute of Electrical and Electronics Engineers.

You might also like