Expocicion de Acciones Semanticas de Un Analizador Semantico

Post on 01-Feb-2016

222 views 0 download

description

Expocicion de Acciones Semanticas de Un Analizador Semantico

Transcript of Expocicion de Acciones Semanticas de Un Analizador Semantico

Martin Cruz Valenzuela

Acciones Semánticas de un Acciones Semánticas de un Analizador Semántico Analizador Semántico

GramáticaGramática La gramática que se ha utiliza para este

ejemplo es la siguiente:

A ::= L ; A J ::= ( L ) | L ; | true

| falseL ::= L and J | not ( L )

| L or J | C | L nand J | L nor C ::= numero ==numero

| L xor J | numero != numero | L xnor J | numero < numero

| J | numero > numero

| numero <= numero

| numero >= numero

2

Caso de PruebaCaso de Prueba

El caso que se muestra a continuación se trata del siguiente caso de prueba:

( false and true ) xor 45 > 78 ;( false and true ) xor 45 > 78 ;

4

5

ÁrbolÁrbol

6

A

L ;

L xor J

J C

45 > 78( )L

and

L J

J

false

true

( false

and true

) xor 45

78

> ;

Se aplicó la reducción:J ::= falseJ ::= trueL ::= JL ::= L and JJ ::= ( L )L ::= JC ::= numero > numeroJ ::= CL ::= L xor JA ::= L ;

Árbol + Acciones Árbol + Acciones SemánticasSemánticas

7

A

L ;

L xor J

J C

45 > 78( )L

and

L J

J

false

true

( false

and true

) xor 45

78

> ;J.val = false

J.val = true

L.s = false

L.s = false and true = false

J.s = false

L.s = false

J.s = false

L.s = false xor false = false

C.val = 45>78= false

A.s = false

ExplicaciónExplicaciónEn la diapositiva 6 podemos ver como se

genera el árbol.

La diapositiva siguiente muestra ese mismo árbol pero con las acciones semánticas, lo que provoca que ese árbol tome sentido.

Las acciones semánticas sirven para evaluar una expresión. En este caso se está evaluando una expresión booleana. En el árbol se puede ver como las acciones semánticas van de abajo hacia arriba.

8

ExplicaciónExplicaciónEl árbol que contiene las acciones

semánticas tiene diferentes atributos que son:

◦ *.s: significan que son atributos sintetizados.◦ *.val: significan el valor que toma ese atributo

cuando sube dicho valor de un nodo hoja.

Las flechas indican el sentido en el que se van evaluando los datos y resolviendo el cálculo booleano de la expresión, hasta que el resultado llega a la raíz que es cuando se muestra por pantalla el valor final obtenido.

9

FinFin

Gracias

10