Codificación de caracteres

Tema 4.1 Cuestionario de las Funciones del Analizador Léxico

1. ¿Qué es un analizador léxico?
Es la primera fase de un compilador, consistente en un programa que recibe como entrada el código fuente de otro programa y produce una salida compuesta de tokens o símbolos.

2. ¿Cuál es la función principal del analizador léxico? Es leer el flujo de caracteres de entrada y transformarlo como una salida en una secuencia de componentes léxicos que utilizará el analizador sintáctico

3. ¿Cuáles son las otras funciones del analizador léxico? Eliminar comentarios del programa, eliminar espacios en blanco y avisar de errores léxicos.

4. Menciona las funciones secundarias del analizador léxico. ❖ Relacionar los mensajes de error del compilador con el programa fuente. ❖ Localizar el número de caracteres de una nueva línea detectada. ❖ Encargarse de hacer una copia del programa fuente en el que están marcados los mensajes de error

5. Describe el proceso que lleva a cabo un analizador léxico. ❖ El primer paso consiste en crear un escáner, el cual se encarga de verificar que no existan caracteres no presentes en el lenguaje.

❖ La tabla de símbolos va a guardar cada palabra analizada, la va identificar como un lexema y le va asociar un identificador numérico para posteriormente utilizarlo.

❖ Finalmente es un reconocimiento de caracteres de un lenguaje para generar una tabla de símbolos. Tema 4.2

1. ¿Qué es un patrón? Es una regla que genera la secuencia de caracteres que puede representar a un determinado componente léxico (expresión regular)

2. ¿Qué es un lexema? Es una cadena de caracteres que concuerda con un patrón que describe un componente léxico (Valor de la cadena)

3. Menciona 3 tipos de componentes léxicos: Las relaciones, los numero y los identificadores son 3 tipos de componentes léxicos


4. ¿Qué es un componente Léxico? Es la secuencia lógica y coherente de caracteres relativo a una categoría: identificador, palabra reservada, literales, operador o carácter de puntuación.

5. ¿Cuál es la función del analizador léxico dentro de los componentes Léxicos? Tiene la función de leer las entradas y dividíéndolas en componentes Léxicos

Tema 4.3

1. ¿Qué es una tabla de Tokens? Una serie de renglones, de los cuales cada uno tiene una lista de valores

2. ¿Qué información provee una tabla de símbolos? Da un identificador. Que información es asociada con un nombre. Como se asocia la información con el nombre. Como acceder a esta información.

3. ¿Cuáles son las dos funciones que realizan las tablas Tokens?Verificar que la semántica sea correcta. Ayudar en la generación apropiada de código.

4. ¿Qué es una tabla de símbolos? Una componente necesaria de un copilador

5. ¿Cuándo se debe de construir una tabla de Tokens? Durante el paso de un análisis léxico por medio de un índice

Tema 4.4

1. ¿Cuáles son los tipos de errores léxicos? R= Nombres ilegales de identificadores, números incorrectos, errores de ortografía en palabras reservadas y fin de archivo.

2. ¿En qué consiste el método de recuperación de errores? R= se basan en saltarse caracteres en la entrada hasta que un patrón sea reconocido.

3. ¿Cómo Detectar errores léxicos? R= los errores léxicos se detectan cuando el analizador léxico intenta reconocer componentes léxicos.

4. ¿Cuáles son las funciones principales y secundarias del analizador léxico en la interfaz de usuario? R= Su función principal consiste en leer los caracteres de entrada y elaborar como salida sus funciones secundarias son eliminar 


. Cuáles son las correcciones de la corrección ¨INTELIGENTE¨ R= borrar los caracteres extraños insertar un carácter que pudiera faltar reemplazar un carácter incorrecto por uno correcto conmutar las posiciones de dos caracteres adyacentes.
Tema 5.1
1. ¿Qué es un alfabeto y cuál es el símbolo por que cuál está representado? R= Un alfabeto es un conjunto finito no vacío cuyos elementos se les denomina símbolos y está representado por el símbolo Σ.
2. ¿Qué es una longitud de cadena y con cómo está conformada? R= Una longitud de cadena está dada por el número de símbolos que se encuentran en ella y está conformada por dos líneas paralelas “| |“.
3. Describe que es la Cadena vacía y universo del discurso (agrega su representación) R= Cadena vacía: que no tiene símbolos y se denota con , por lo que su longitud es : |  | → 0. Universo del discurso V: conjunto de todas las cadenas que se pueden formar con los símbolos de un alfabeto, representa por W(V).
4. ¿Cuál es la cardinalidad del conjunto vacío y Cadena vacía? Cardinalidad del conjunto vacío = 0 Cardinalidad de Cadena vacía = 1
5. Menciona algunos conceptos que nos ayuden a formular el concepto de gramática y una definición Gramática: conjunto finito de reglas que describen toda la secuencia de símbolos pertenecientes a un lenguaje específico L. Autómata: Máquina automática programable capaz de realizar determinadas operaciones de manera autónoma y sustituir a los seres humanos en algunas tareas, en especial las pesadas o peligrosas. Lenguaje: aquel cuyas cadenas está formadas por la concatenación de símbolos, en las cuales no hay relación entre una parte de la cadena y otra parte de la cadena. Lenguaje vacío: conjunto vacío y que se denota por {Ø}. No debe confundirse con un lenguaje que contenga una sola cadena, y que ésta sea la cadena vacía Palíndromos: Cadenas que se leen igual hacia delante, que hacia atrás.


Tema 5.2
1. ¿Como se definen las gramáticas libres de contexto? Como toda gramática se definen mediante una cuádrupla G = (N, T, P, S), siendo – N es un conjunto finito de símbolos no terminales
❖ T es un conjunto finito de símbolos terminales N ∩ T = ∅ ❖ P es un conjunto finito de producciones ❖ S es el símbolo distinguido o axioma S ∉ (N ∪ T) En una gramática libre del contexto, cada producción de P tiene la forma
A ∈ N ∪ {S} A→ω

2. ¿qué función tiene la gramática libre de contexto? Permiten describir la mayoría de los lenguajes de programación, de hecho, la sintaxis de la mayoría de lenguajes de programación está definida mediante gramáticas libres de contexto. Por otro lado, estas gramáticas son suficientemente simples como para permitir el diseño de eficientes algoritmos de análisis sintáctico que, para una cadena de caracteres dada, determinen cómo puede ser generada desde la gramática. Los analizadores LL y LR tratan restringidos subconjuntos de gramáticas libres de contexto.
3. ¿Qué pasa si Una gramática no genera la cadena vacía? Puede ser transformada en una equivalente (que genera el mismo lenguaje) en forma normal de Chomsky o en forma normal de Greibach.
4. ¿Cuál sería la forma más simple de describir cómo en una cierta gramática una cadena puede ser derivada desde el símbolo inicial? La forma más simple es listar las cadenas de símbolos consecutivas, comenzando por el símbolo inicial y finalizando con la cadena y las reglas que han sido aplicadas. Si introducimos estrategias como reemplazar siempre el no terminal de más a la izquierda primero, entonces la lista de reglas aplicadas es suficiente. A esto se le llama derivación por la izquierda.
5. ¿De qué otra forma se le conoce alas gramáticas libres de contexto? Este tipo de gramáticas son también conocidas como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.


1. ¿QUÉ ES UN ÁRBOL DE DERIVACIÓN? Es un conjunto de puntos, llamados nodos, unidos por líneas, llamadas arcos. Un arco conecta dos nodos distintos.
2. ¿CÓMO SE REPRESENTA UN SÍMBOLO NO TERMINAL Y UN SÍMBOLO TERMINAL? Se representa con una letra mayúscula el no terminal y con minúscula el terminal.
3. MENCIONA AL MENOS UNA DE LAS PROPIEDADES QUE SE NECESITA PARA HACER UN ÁRBOL UN CONJUNTO DE NODOS ❖ Hay un único nodo distinguido, llamado raíz (se dibuja en la parte superior) que no tiene arcos incidentes. ❖ Todo nodo excepto el nodo raíz está conectado con un arco a otro nodo, llamado el padre. El padre de un nodo, se dibuja por encima del nodo.
❖ Todos los nodos están conectados al nodo raíz mediante un único camino. ❖ Los nodos que no tienen hijos se denominan hojas, el resto de los nodos se denominan nodos interiores. 4. ¿POR QUÉ ESTA CONFORMADO UN ÁRBOL DE DERIVACIÓN? Nodo raíz, Nodos interiores y hojas 5. ¿CÓMO ESTÁ COMPUESTO UN ÁRBOL DE DERIVACIÓN? ❖ El nodo raíz está rotulado con el símbolo distinguido de la gramática. ❖ Cada hoja corresponde a un símbolo terminal o un símbolo no terminal. Un símbolo terminal se representa con letra minúscula y un No terminal con letra mayúscula. ❖ Cada nodo interior corresponde a un símbolo no terminalTema 5.4
1. MENCIONE LAS REGLAS QUE NECESITA UNA GLC PARA QUE SE ENCUENTRE EN UNA FORMA NORMAL DE CHOMSKY (FNC) ❖ No tiene variables inútiles. ❖ No tiene producciones λ (excepto posiblemente S → λ). ❖ Todas las producciones son de la forma: A→ a (producciones simples) o A → BC (producciones binarias).
2. MENCIONA CUAL ES EL PROCESO DE TRANSFORMACIÓN DE UNA GLC A UNA FORMA NORMAL DE CHOMSKY
❖ Agregar un nuevo símbolo inicial ❖ Quitar las transiciones Є ❖ Quitar las transiciones largas ❖ Quitar los términos binarios


3. ¿CUÁL ES UNA PROPIEDAD IMPORTANTE AL REALIZAR EL ÁRBOL DE DIVERACIÓN CON LA GRAMÁTICA FNC? Una propiedad importante de la FNC es que cada rama del árbol sólo tiene dos hijos posibles, por ende, es un árbol de derivación binario
4. ¿A QUE TIPO DE GRAMÁTICA PERTENECE LA FORMA NORMAL DE CHOMSKY? Pertenece a una gramática libre de contexto
5. ¿EN QUÉ CONSISTE UNA FORMA NORMAL DE CHOMSKY? La Jerarquía de Chomsky explora, de menor a mayor complejidad, las diferentes reglas a partir de las cuales es posible generar expresiones de un lenguaje. 
Tema 5.5 1. ¿Qué es un diagrama de sintaxis? Respuesta: Un diagrama de es un grafo dirigido con elementos terminales y no terminales.
2. ¿De qué forma se representan los elementos terminales y no terminales dentro del grafo de un diagrama de sintaxis? Respuesta: Terminales: Con círculos y elipses No terminales: Con rectángulos
3. ¿Qué es un símbolo no terminal? Respuesta: Un símbolo es no terminal cuando requiere una explicación mediante una regla o producción
4. ¿Que compone a un diagrama de sintaxis? Respuesta: Constan de una serie de cajas o símbolos geométricos conectados por arcos dirigidos
5. ¿Qué significa BNF y EBNF? Respuesta: BNF: Forma de Backus-Naur EBNF: Forma Extendida de Backus-Naur
Tema 5.7 1. ¿Qué es un analizador sintáctico? Es un programa informático que analiza una cadena de símbolos.
2. ¿Cuál es el recorrido que hace el análisis descendente? Es un recorrido de árbol desde la raíz hasta las hojas.
3. ¿Cuál es el problema que presenta el análisis sintáctico por descenso recursivo? De que es un proceso no muy eficiente.
4. ¿Para qué se utiliza un analizador sintáctico? Para encontrar las estructuras presentes en su entrada.
5. ¿Dónde es la aplicación más común de los analizadores sintácticos? En los compiladores

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.