Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoFausto Turco Modificato 9 anni fa
1
Grammatica ad Attributi: Formalizzazione Alberi (e relazioni binarie): T = T = U> -- etichettati su U Dove:R insieme dei nodi E insieme degli archi (orientati) L funzione delle etichette su U root: T --> Rarity: R --> Nson: T x N --> T abbreviazioni: sons: T x N --> T N L: T N --> U N + FE’ E F + F
2
Alberi. Applicazioni: Alberi di Derivazione Sintattica Alberi di derivazione sintattica Definizione. Immagine I della chiusura transitiva, =>*, della relazione binaria su T(G), “=>”, definita dalle produzioni di una grammatica. Dove: G T(G) ∑ V> s.t.: |R| ≥ |∑ V| E {(l,r) | L(l)=s i & L(r)=x i,j per j≤ji & s i ::=x i,1 …x i,ji P} => {(t,u) | arity(root(t))=0&L(root(t))=s i =L(root(u))&L(sons(u))=x i,1 …x i,ji per qualche s i ::=x i,1 …x i,ji P, oppure son(t,j)=son(u,j) ( j 1..k\i)& son(t,i)=>son(u,i) per qualche 1≤i≤k] I {t s =>* t | arity(root(t s ))=0 & L(root(t s ))=s} E::= F E’ E’::= + F E’ E’::= + FE’ E F
3
Alberi. Applicazioni: Alberi di Sintassi Astratta Alberi di Sintassi Astratta Definizione. Relazione binaria, antisimmetrica, “>” su Termini s.t: f k (t 1,…,t k )>t i ( 1≤i≤k & f k (t 1,…,t k )>t i Termini) Equivalentemente: > {(f k (t 1,…,t k ),t i ) | 1≤i≤k, f k (t 1,…,t k ),t i T ∑ } Dove: T ∑ {f k (t 1,…,t k ) | f k ∑ & t 1,…,t k T ∑ } --- Termini su ∑ Equivalentemente: > T ∑ > s.t.: |R| ≥ |T ∑ | Dove:E {(l,r) | L(l)=f k (t 1,…,t k ) T ∑ & L(r)=t i T ∑ } ∑ = {F 0, + 2 } T ∑ ::= {F} {+(u,t) | u,t T ∑ } FF +(F,F) FF + oppure con una differente L
4
Grammatica ad Attributi: Formalizzazione - esempio E::= F E’ {E’.d=E.d+1} E’ 1 ::= + F E’ 2 {E’ 2.d=E’ 1.d+1} E’::= { .d=E’.d} 1 2 3 0 T={R={0,1,2,3}, E, L={(0,E),(1,F),(2,E’),(3, )}, L d ={(0,Sem Meta ( )), (2,Sem Meta ((E.d+1)[L d (0)/E.d])), (3,Sem Meta ((E’.d)[L d (2)/E’.d])), F E’ E parse tree Il vero albero T
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.