Entradas

Mostrando las entradas de febrero, 2023

Ejercicios Preorden

Imagen
ejercicio 1: 6,5,3 ejercicio 2: 5,3,4,6,2,7,9 ejercicio 3: 3,6,3,5,1,2,4,1,6,5,7,8 ejercicio 4: F, B, A, D, C, E, G, I, H ejercicio 5: 18,3,2,5,34,20,12,77,40,90 ejercicio en inorden  1: 1,8,7,7,3,6,5 2: 9,22,37,39,44,47,50,66,73,85,88,90,94 

1.7 manejo de errores semánticos

Imagen
 MANEJO DE ERRORES Un compilador es un sistema que en la mayoría de los casos tiene que manejar una entrada incorrecta, sobre todo en las primeras etapas de la creación de un programa, es probable que el compilador se usar para efectuar las características que deberá proporcionar un buen sistema de edición dirigido por la sintaxis, es decir, para determinar si las variables han sido declaradas antes de usarla, o si faltan corchetes o algo as. Por lo tanto, el manejo de errores es parte importante de un compilador y el escritor del compilador siempre debe tener esto presente durante su diseño. Es indispensable que un compilador: Sea capaz de detectar errores en la entrada. El compilador debe recuperarse de los errores sin perder demasiada información. Debe producir un mensaje de error que permita al programador encontrar y corregir fácilmente los elementos incorrectos de su programa. Es una de las misiones ms importantes de un compilador, aunque, al mismo tiempo, es lo que ms dificulta

Pila semántica en un analizador sintáctico

 1.4 Pila semántica en un analizador sintáctico Las pilas y colas son estructuras de datos que se utilizan generalmente para simplificar ciertas operaciones de programación. Estas estructuras pueden implementarse mediante arrays o listas enlazadas. Pila: colección de datos a los cuales se les puede acceder mediante un extremo, que se conoce generalmente como tope. Las pilas tienen dos operaciones  básicas: Push (para introducir un elemento) Pop (para extraer un elemento) Sus características fundamentales es que al extraer se obtiene siempre el último elemento que acabe de insertarse. Por esta razón también se conoce como estructuras de datos LIFO, una posible implementación mediante listas enlazadas seria insertando y extrayendo siempre por el principio de la lista.Las pilas se utilizan en muchas aplicaciones que utilizamos con frecuencia. Las pilas y colas son estructuras de datos que se utilizan generalmente para simplificar ciertas operaciones de programación. Estas estructuras pued

Acciones semánticas del analizador sintético

Imagen
1: (6*7+5*5/3+7*7) + (5*7+3*8)=151.33   2: (6*9+4/5+8) - (9+6-7*7+5*6)=66.8

Ejercico2

Imagen
 1. (7/6×8+9×5/3)-(4/7×8+5×6)

Ejercicios

Imagen
 

Examen

Imagen
Ejercicio 1: 1._ 12/8+4*7/9-6*5/9 = 1.27  Ejercicio 2: 2._ 9*4+6-3/5*8+3 = 40.2 Ejercicio 3: 3._ 3/5*2+4-3*3/6*4 = -0.8

Ejercicios del analizador semantico

Imagen
 

Ejercicios

Imagen
Ejemplo   1.- 164326317742359 2.- 86935732865481353

Recorrido en postorden

Imagen
Post-Orden arboles binarios  izq-der-raiz  El recorrido en postorden, también llamado orden posterior consiste en recorrer en primer lugar cada uno de los hijos y por último la raíz.  El algoritmo de recorrido en postorden puede ser visto como el opuesto al recorrido en preorden, porque este recursivamente recorre los subárboles enraizados en los hijos de la raíz primero, y después visita la raíz.  Al igual que en el recorrido en preorden se emplea el algoritmo para resolver un problema particular especializando una acción asociada con la “visita" de un nodo v. Si el árbol esta ordenado, se hacen llamadas recursivas para los hijos de un nodo v de acuerdo a su orden indicado. El pseudocódigo para el recorrido en postorden del subárbol enraizado en un nodo v es: Algoritmo postorden(T; v): Para cada hijo w de v en T Hacer postorden(T;w) {recursivamente recorrer el subarbol en w} Realizar la acción “visita" para el nodo v

Acciones semánticas de un analizador sintáctico

Imagen
Definición de un analizador sintáctico: es la fase del analizador que se encarga de chequear el texto de entrada en base a una gramática dada. Y en caso de que el programa de entrada sea válido, suministra el árbol sintáctico que lo reconoce. En teoría, se supone que la salida del analizador sintáctico es alguna representación del árbol sintáctico que reconoce la secuencia de Token suministrada por el analizador léxico. En la práctica, el analizador sintáctico también hace: Acceder a la tabla de símbolos (para hacer parte del trabajo del analizador semántico). Chequeo de tipos (del analizador semántico). Generar código intermedio. Generar errores cuando se producen. En definitiva, realiza casi todas las operaciones de la compilación. Este método de trabajo da lugar a los métodos de compilación dirigidos por sintaxis. Manejo de errores sintácticos Los errores sintácticos son dados por una expresión aritmética o paréntesis no equilibrados. El manejo de errores de sintaxis es el más compl

Ejercicios

Imagen
Ejercicio 4  11*6+5/9*6+4*7=47.33 Ejercicio 5 9+6*7/4-7*4/7-5=10.5 Ejercicio 6 15*6-4+3/7*3-4*6/9=84.61 Ejercicio 7 6*4+9-3/2*8+4/7*4=23.28