You are on page 1of 7

Leksiki analizator Sintaksni analizator Semantiki analizator Optimizator a. Optimizacija nezavisna hardveru b. Optimizacija zavisna o izvritelju 5.

Generator programa zapisanog jezikom izvritelja 1. 2. 3. 4. f : SLxSG->SS.


SA

fSA=parcijalna funkcija sintaksne analize SL = skup nizova (listi) leksikih jedinki SG skup gramatika jezika SS = skup sintaksnih stabala Parcijalna = ne vraa sintaksno stablo kada programski tekst ima sintaksnu pogreku.

GJ=(V, T, P, S) V = skup nezavrnih znakova T = skup zavrnih znakova P = skup produkcijskih pravila S = element iz skupa V od kojeg zapoinje generiranje teksta jezika J. , nizovi zavrnih i nezavrnih znakova. Velikim slovima A, B, C... oznaavamo nezavrne znakove Alim slovima, a, b, c... oznaavamo zavrne znakove. Grkim slovima ,, ... oznaavamo proizvoljne nizove zavrnih i nezavrnih znakova, npr.

= AbcB =, prazan niz. AbcBCde. R ',' R ',' R R ',' R 'i' R ||>=||, frazno strukturirani jezici ||<||, kontekstno ovisni, | |=1, =A, kontekstno neovisni jezici. A , svaka produkcija kontekstno neovisnih jezika ima ovakav oblik. Generiranje teksta zapisanog jezikom J. V = {Z, E, T} T = { +, idn, (, ), $ } Produkcije iz skupa P

Z E$ ET E E '+' T E '(' E ')' T 'idn' J: x + y + z$

(1) (2) (3) (4) (5)

Poetni znak gramatike G = Z. Z =(1)=>E$=(3)=>E + T$=(3)=> E + T + T$ =(2)=>T + T + T$=(5)=> idn + T + T$ Generativno sintaksno stablo prikazuje generiranje teksta primjenom produkcija gramatike. Poinje se poetnim znakom gramatike (Z), onda se taj znak zamjenjuje desnom stranom jedne

od opcija, zavisno kakvu reenicu elimo generirati, a ta se zamjena prikazuje priirenjem stabla, tako da je znak koji se zamjenjuje roditelj znakovima desne strane. Z -> E$ E -> E + E E -> E * E E -> T T -> 'idn' Gornja gramatika generira sintaksno stablo koje ovisi o primjene lijeve ili desne zamjene nezavrnih znakova desnim stranama. Stoga nije dobra.

Gramatika mora biti tako zapisana, da bez obzira na zamjenu nezavrnog znaka (lijevu ili desnu) sintaksno stablo bude jednoznano. Ispravna gramatika.
Z -> E$ E -> E + T E -> T T -> T * F T -> F F -> ( E ) F -> 'idn' F -> 'konst'. (1) (2) (3) (4) (5) (6) (7) (8)

You might also like