Como mencionamos anteriormente el Lenguaje Natural(LN) es el medio que utilizamos de manera
cotidiana para establecer nuestra comunicacin con las dems personas Este tipo de lenguaje es el que nos permite el designar las cosas actuales y razonar a cerca de ellas, fue desarrollado y organizado a partir de la experiencia humana y puede ser utilizado para analizar situaciones altamente complejas y razonar muy sutilmente. La riqueza de sus componentes semnticos da a los lenguajes naturales su gran poder expresivo y su valor como una herramienta para razonamiento sutil. Por otro lado la sintaxis de un LN puede ser modelada fcilmente por un lenguaje formal, similar a los utilizados en las matemticas y la lgica. Otra propiedad de los lenguajes naturales es la polisemantica, es decir la posibilidad de que una palabra en una oracin tenga diversos significados. En un primer resumen, los lenguajes naturales se caracterizan por las siguientes propiedades: 1. Desarrollados por enriquecimiento progresivo antes de cualquier intento de formacin de una teora. 2. La importancia de su carcter expresivo debido grandemente a la riqueza del componente semntico(polisemantica). 3. Dificultad o imposibilidad de una formalizacin completa. 2. Que es el Lenguaje Formal? El lenguaje formal es aquel que el hombre ha desarrollado para expresar las situaciones que se dan en especifico en cada rea del conocimiento cientfico. Las palabras y oraciones de un lenguaje formal son perfectamente definidas(una palabra mantiene su el mismo significado prescindiendo de su contexto o uso. Los lenguajes formales son exentos de cualquier componente semntico fuera de sus operadores y relaciones. Los lenguajes formales pueden ser utilizados para modelar una teora de la mecnica, fisica, matemtica, ingeniera elctrica, o de otra naturaleza, con la ventaja de que en estos toda ambigedad es eliminada. En resumen las caractersticas de los lenguajes formales son las siguientes: 1. Se desarrollan de una teora preestablecida. 2. Componente semntico mnimo. 3. Posibilidad de incrementar el componente semntico de acuerdo con la teora a formalizar. 4. La sintaxis produce oraciones no ambiguas. 5. La importancia del rol de los nmeros. 6. Completa formalizacin y por esto, el potencial de la construccin computacional.
LENGUAJES DE PROGRAMACIN
Los lenguajes de programacin se clasifican de forma amplia en tres niveles: lenguaje mquina, lenguaje ensamblador y lenguajes de alto nivel.
Un lenguaje mquina es el nico lenguaje de programacin que entiende el CPU. Las instrucciones del lenguaje mquina estn codificadas en binario y son de muy bajo nivel.
En un nivel por encima est el lenguaje ensamblador, que permite la programacin simblica. Pero no es amigable con las personas y se escribe demasiado cdigo para cada tarea.
Los lenguajes de alto nivel se desarrollan para permitir a los programadores escribir los programas ms rpidos que cuando se una el ensamblador.
Compilador Es un programa que lee un programa escrito en un lenguaje: lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje: lenguaje objeto.
Programa fuente Programa objeto
Mensajes de error
Intrpretes En lugar de producir un programa objeto como resultado de una traduccin, un intrprete realiza las operaciones que implica el programa fuente.
LAS FASES DE UN COMPILADOR
Analizador Lxico (lineal o de exploracin) Lee el programa fuente de izquierda a derecha, carcter a carcter y los agrupa en componentes lxicos, que son secuencias de caracteres que tienen un significado colectivo.
Analizador Sintctico (jerrquico) Es donde se agrupan los caracteres o componentes lxicos de forma jerrquica en colecciones anidadas con un significado colectivo.
Analizador Semntico Se realizan ciertas revisiones para asegurar que los componentes de un programa se ajustan de un modo significativo.
Componente lxico (token): es una secuencia de caracteres que tienen un significado colectivo. Hay un conjunto de cadenas en la entrada para la cual se devuelve el mismo token, este conjunto de cadenas se describe mediante una regla llamada Patrn asociado al componente lxico. Un Lexema es una secuencia de caracteres en el programa fuente con la que concuerda el patrn para un componente lxico. COMPILADOR Un patrn es una regla que describe el conjunto de lexemas que pueden representar a un determinado componente lxico en los programas fuentes.
Por ejemplo: una operacin de asignacin. precio=costo+2.55
Componente lxico (token) Lexema de ejemplo Descripcin informal del patrn Identificador Precio, Costo Letra seguida de letras o dgitos Signo_asignacin = = Operador + + o o * o / Nmero_real 2.55 Cualquier nmero decimal.
Anlisis Lxico: reconoce cada token. Identificador Signo_asignacin Identificador Operador Numero_real Anlisis Sintctico: Revisa el orden en el cual deben venir cada token. Con base a la estructura jerrquica (sintaxis) revisa el orden.
Anlisis Semntico: revisa que los token se ajusten de modo significativo. Por ejemplo: que precio sea una variable tipo real.
Token Programa Fuente ObtenerToken
Palabras Claves o palabras reservadas: palabras predefinidas que utiliza el programa.