next up previous contents
Next: Cache Up: Program Previous: Statica   Cuprins

Dinamica

Ceea ce este interesant la nodurile arborelui structura al programului e ca aceste noduri, blocurile de fapt, implementeaza ele insele anumite proceduri callback (feedback handlere) care sunt apelate in circumstante speciale in timpul executiei, anume atunic cand se intra in bloc, se iese in bloc sau se abandoneaza un bloc. Tipul blocului identifica aceste proceduri. Dupa cum aceastea considera, se ia decizia corespunzatoare; se poate deci modifica comportamentul dinamic al programului prin crearea unor tipuri de blocuri noi si implementarea handlerelor respective. Asa functioneazaa pluginurile gen: ``for'', ``while'', ``loop'', ``foreach''.

Fiecare nod arbore are un anumit tip; tipul respectiv identifica o interfata de proceduri callback, care se apeleaza in momentele cheie ale existentei nodului arbore; fiecare nod arbore poate stoca un pointer generica care va putea fi folosit in aceste functii callback pentru comunicare usoara. Momentele cheie ale unui nod arbore sunt:

faza de parse
momentul imediat urmator crearii, momentul imediat precedent eliberarii, momentul atasarii la parinte, momentul detasarii de parinte, momentul cand i se ataseaza un ``copil'', momentul cand i se detaseaza ``un copil''
faza de run
momentul cand se adauga o variabila intr-o instanta a acestui bloc si cand se cauta o asemenea variabila; aceest ultim caz se intampla dupa cautarea standard: [first=229, last=239]plint/prog/var.c

next up previous contents
Next: Cache Up: Program Previous: Statica   Cuprins
Sebastian Glita 2002-06-19