730 likes | 882 Views
InfijaAPosfijaColaToken. Concepto. NOMBRE=Pedro. Pila Token. ColaToken. =Pedro. Pila Token. ColaToken. Pedro. Pila Token. ColaToken. Pila Token. ColaToken. Pila Token. ColaToken. Terminado.
E N D
InfijaAPosfijaColaToken Concepto.
NOMBRE=Pedro Pila Token ColaToken
=Pedro Pila Token ColaToken
Pedro Pila Token ColaToken
Pila Token ColaToken
Pila Token ColaToken Terminado
A partir de ahora tanto “TRUE”, “FALSE” como cualquier condición simple que sea [Campo] [Operador] [Texto] dado que todas tienen la misma forma que el ejemplo anterior.. Para optimizar espacio y trabajo se van a llamar Con”n”
( Cond 1) Pila Token ColaToken
Cond 1) Pila Token ColaToken
) Pila Token ColaToken
) Pila Token Cuando tengo “)” Encolo todos los Token de la pila hasta encontrar un “(“ que luego elimino. ColaToken
Pila Token Cuando tengo “)” Encolo todos los Token hasta encontrar un “(“ que luego elimino. ColaToken
Pila Token Cuando tengo “)” Encolo todos los Token hasta encontrar un “(“ que luego elimino. ColaToken Terminado.
NOT Cond1 Pila Token ColaToken
Cond1 Pila Token ColaToken
Pila Token ColaToken
Pila Token Cuando no tengo mas nada, desencolo los elementos de la pila si hay. ColaToken
Pila Token Cuando no tengo mas nada, desencolo los elementos de la pila si hay. ColaToken
Pila Token Cuando no tengo mas nada, desencolo los elementos de la pila si hay. ColaToken Terminado.
Cond 1 AND Cond2 Pila Token ColaToken
AND Cond2 Pila Token ColaToken
Cond2 Pila Token ColaToken
Pila Token ColaToken
Pila Token ColaToken
Pila Token ColaToken Terminado
NOT Cond1 AND Cond2 Pila Token ColaToken
Cond1 AND Cond2 Pila Token ColaToken
AND Cond2 Pila Token ColaToken
AND Cond2 Antes de insertar un “AND” debo revisar que anteriormente no haya ningún elemento que tenga mayor precedencia es decir: 5*2+3 es en posfija 52*3+ Es decir va primero el *.. En este caso esto es (NOT Cond1) AND (Cond2) Entonces primero debe ir el NOT que es el que mayor procedencia tiene, luego apilo el “AND”: Pila Token ColaToken
AND Cond2 Antes de insertar un “AND” debo revisar que anteriormente no haya ningún elemento que tenga mayor precedencia es decir: 5*2+3 es en posfija 52*3+ Es decir va primero el *.. En este caso esto es (NOT Cond1) AND (Cond2) Entonces primero debe ir el NOT que es el que mayor procedencia tiene, luego apilo el “AND”: Pila Token ColaToken
Cond2 Antes de insertar un “AND” debo revisar que anteriormente no haya ningún elemento que tenga mayor precedencia es decir: 5*2+3 es en posfija 52*3+ Es decir va primero el *.. En este caso esto es (NOT Cond1) AND (Cond2) Entonces primero debe ir el NOT que es el que mayor procedencia tiene, luego apilo el “AND”: Pila Token ColaToken
Pila Token ColaToken
Pila Token ColaToken
Pila Token ColaToken Terminado
Procedencia “AND” • Si no desapilo el NOT antes del AND voy a tener la siguiente ColaToken
Procedencia “AND” • Si desapilo el NOT antes del AND voy a tener la siguiente ColaToken
Cond 1 AND Cond 2 OR Cond3 Pila Token ColaToken
AND Cond 2 OR Cond3 Pila Token ColaToken
Cond 2 OR Cond3 Pila Token ColaToken
OR Cond3 Pila Token ColaToken
OR Cond3 Antes de insertar el OR tengo que revisar que no haya ningún elemento que tenga mayor procedencia: “AND” , “NOT” Pila Token ColaToken
OR Cond3 Antes de insertar el OR tengo que revisar que no haya ningún elemento que tenga mayor procedencia: “AND” , “NOT” Pila Token ColaToken
Cond3 Antes de insertar el OR tengo que revisar que no haya ningún elemento que tenga mayor procedencia: “AND” , “NOT” Pila Token ColaToken
Pila Token ColaToken
Pila Token ColaToken
Pila Token ColaToken Terminado
Cond 1 OR Cond2 OR Cond3 Pila Token ColaToken
OR Cond2 OR Cond3 Pila Token ColaToken