Leng y Aut.

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Cuadro Comparativo

Nombre Anlisis Lxico Ventajas Se analiza la entrada carcter a carcter y se divide en una serie de unidades Elementales: los componentes lxicos. Desventajas Tablas de gran tamao, se incrementa el espacio Necesario (velocidad algo reducida respecto al mtodo anterior). Este mtodo es el que utiliza Flex (Linux) y Lex (Unix). Coste: O(jxj), es independiente del tamao del autmata. Caractersticas Cada uno de estos componentes se clasifica en una categora y puede recibir uno o mas atributos con informacin relevante para otras fases (por ejemplo un Entero tendra una etiqueta indicando su valor). El criterio que se emplea para clasificar cada Componente es su pertenencia o no a un lenguaje (generalmente regular). Esta fase adems se Encarga de filtrar elementos tales como los blancos y los comentarios. Consiste En ir descubriendo las estructuras presentes en el cdigo de acuerdo con una gramtica incontextual. A partir de las estructuras que ha encontrado, el analizador sintctico construye un rbol sintctico (Que no hay que confundir con el rbol de sintaxis abstracta comentado antes).

Sintctico

Permite expresar como se puede fabricar" (formalmente, derivar) la Entrada a partir de las reglas.

Su principal desventaja es que es demasiado trabajo construir un analizador sintctico LR en forma manual para una gramtica comn de un lenguaje de programacin.

Semntico

Algunos ejemplos de estas restricciones son la necesidad de declarar las variables antes de usarlas, las reglas de tipos o la coincidencia entre los parmetros de las funciones en las definiciones y las llamadas. Como salida de esta fase, se obtiene una representacin semntica, por ejemplo el rbol de sintaxis Abstracta comentado antes. Adems, se ha comprobado que tanto valor como inc estn declaradas y con tipos compatibles

Necesitamos de cambiar todas las funciones lo que incrementa enormemente la probabilidad de error.

Toma como entrada el rbol sintctico y comprueba si, adems de las restricciones sintcticas, se cumplen otras restricciones impuestas por el lenguaje y que no pueden ser comprobadas mediante una gramtica incontextual.

2.- Clasificar una lista de lenguajes, ambientes de desarrollo y utileras en herramientas computacionales. Lenguaje de Mquina Cada diseo de CPU tiene su propio lenguaje de mquina. Este es el juego de instrucciones que usa el chip para s mismo. Est hecho de ceros y unos (nmeros binarios) y resulta muy difcil para el trabajo de la gente. Lenguaje Asembler (Assembly) Son cdigos o abreviaturas para las instrucciones del lenguaje de mquina. En un lenguaje Asembler se le asigna un cdigo a cada instruccin en lenguaje de mquina. De esta manera, en lugar de tener que recordar una cadena de ceros y unos, el programador slo tendr que recordar cdigos cortos como: ADD, MOV, o JLE. FORTRAN El lenguaje FORTRAN fue creado cerca de 1957 para ayudar a los cientficos, ingenieros y matemticos a escribir sus programas y resolver con ellos las ecuaciones matemticas. Todava es un lenguaje vastamente utilizado para ese tipo de programas. Fue el primer lenguaje exitoso de alto nivel. Han aparecido nuevas versiones y el standard actual es el Fortran 90. COBOL El COBOL fue escrito alrededor de 1960, teniendo presente las aplicaciones comerciales. Tiene una estructura muy inglesa, usando sentencias y prrafos, a pesar que aqu son muy diferentes de los utilizados para una novela.Esto ayuda a los hombres de negocios, que no son muy hbiles como programadores para que puedan escribir o editar un programa. Pero tiene la desventaja de su tendencia hacia programas muy largos y con muchas palabras. Es un buen lenguaje para programas simples y directos. BASIC Este lenguaje fue escrito en 1964, (que para los programadores de hoy es la edad de piedra!) para que los estudiantes de la universidad aprendieran los conceptos de la programacin. Originalmente el BASIC era para ser usado solamente en las clases. Pero el lenguaje ha probado ser muy til en el mundo real. Una gran variedad de "dialectos" del BASIC fueron desarrollndose a travs de los aos. Ahora es muy popular el Visual Basic para programar aplicaciones bajo Windows.

Java Java es un nuevo lenguaje popular, utilizado para escribir tanto aplicaciones completas como pequeos para las pginas de Internet (web). Su objetivo es el de crear aplicaciones que corran en cualquier computadora a diferencia de otros lenguajes que no son compatibles con todas las plataformas.

Ambientes de desarrollo. -NetBeans -Eclipse -Borland JBuilde -Paqueteria de Sun -Sun Java Studio Creator -Sun Java Studio Enterprise 3.- Obtener un alfabeto a partir de un lenguaje y viceversa. Las principales ideas matemticas necesarias para la compresin a la Teora de Autmatas son conceptos que incluyen grafos, rboles, conjuntos, relaciones, cadenas, lenguajes abstractos e induccin matemtica. Un "smbolo" es una entidad abstracta. Las letras y los dgitos son ejemplos de smbolos usados con frecuencia. Una cadena (o palabra) es una secuencia finita de smbolos yuxtapuestos. Por ejemplo a, b y c son smbolos y casa es una cadena. La longitud de una cadena w que se denota como |w|, es el nmero de smbolos que componen la cadena. Por ejemplo casa tiene una longitud 4. Habitualmente, se emplean las letras minsculas del principio del alfabeto (o dgitos) para designar a los smbolos y las letras minsculas del final del alfabeto, normalmente w, x, y y z, para designar cadenas. La cadena vaca, denotada por E es aquella que presenta cero apariciones de smbolos, es una cadena que puede construirse en cualquier alfabeto. La concatenacin de dos cadenas es la cadena que se forma al escribir la primera seguida de la segunda, sin que haya espacio entre ellas, Por ejemplo la concatenacin de padre y madre es padremadre. La yuxtaposicin se utiliza como el operador de concatenacin.

Esto es si w y x son cadenas, entonces wx es la concatenacin de estas dos cadenas. La cadena vaca es la identidad para el operador de concatenacin, es decir Ew=wE para cada cadena de w. Un lenguaje es un conjunto de cadenas, todas ellas seleccionadas de un S* donde S es un determinado alfabeto El conjunto vaco y el conjunto formado por la cadena vaca { E } son lenguajes. El conjunto de palndromos (cadenas que se leen igual de izquierda a derecha y viceversa) sobre el alfabeto {0,1} es un lenguaje infinito. Algunos elementos de este lenguaje son E,0,1, 00, 01,010, y 1101011. Por consiguiente vemos que el conjunto de todos los palndromos sobre una coleccin finita de smbolos no es, tcnicamente hablando, un lenguaje, porque sus cadenas no se construyen colectivamente a partir de un alfabeto. Otro lenguaje es el conjunto de cadenas sobre un alfabeto fijo S Denotamos a este lenguaje como S* Por ejemplo: Si S = {a}, entonces S* = {E, a, aa, aaa,...}. Si S = {0,1}, entonces S* = {E,0,1,00,01,10,11,000,...} Como comentamos anteriormente el astersco (*) representa cualquier nmero de apariciones de la expresin anterior. En la teora de autmatas, un problemas es la cuestin de decidir si una determinada cadena es un elemento de un determinado lenguaje. Cualquier cosa que coloquialmente denominamos "problema" podemos expresarlo como lenguaje. De manera precisa, si S es un alfabeto y L es un lenguaje de S, entonces el problema de L es: Data una cadena w de S*, decidir si w pertenece o no a L Ejemplo public char[] createArray { char[] s; s=new char[26]; for ( int i=0; i<26; i++) { s[i] = (char) ('A' + i ); } return s; }

Responder el siguiente cuestionario con tus propias palabras. 1.- Define Alfabeto. Un alfabeto es un conjunto de smbolos finito y no vaco. Convencionalmente se utiliza el smbolo para designar un alfabeto. 2.- Qu es una cadena en lenguaje formal? es una secuencia finita de smbolos yuxtapuestos. Por ejemplo a, b y c son smbolos y casa es una cadena. 3.- Enumera 3 tipos de lenguajes 1.-FORTRAN 2-BASIC 3-Java 4.- Que es la estructura de un traductor? Un traductor es un programa que tiene como entrada un texto escrito en un lenguaje (lenguaje fuente) y como salida produce un texto escrito en un lenguaje (lenguaje objeto) que preserva el significado de origen. Ejemplos de traductores son los ensambladores y los compiladores. 5.- Cuales son las fases de un compilador? Anlisis Sntesis 6.- Cual es la diferencia entre un traductor y un compilador? El traductor "traduce" el programa y lo ejecuta. Esto lo hace cada vez que quieres correr el programa. Es ms lento. El compilador traduce y crea un ejecutable (.exe) y lo hace una sola vez. De all en ms solo ejecutas el exe.

También podría gustarte