pitanja i odgovori programski prevodioci 1

19
2007 a) (8) Šta je polj ska translaciona gra matika, zašto je ona važna i kako se nek a translaciona gra mat ika transformiše u poljsku? akcioni simboli su na samom kraju desne strane smene Primeri: <X  a !"# !$# %& <'  !(# %& <  !"# * +-. %& /koliko gramatika nije poljska, možemo je transformisati: 01 <X  2 !*# 3 transformišemo u: <X  <+ 3 <+  2 !*# 4ruga varijanta: 01 <X  2 <5 3 transformišemo u: <5  !*# a) (8) / po jednoj re6enici objasniti semantiku izraza, iskaza i deklaracija1 Terminologija: Izrazi se izračunavaju i daju vrednost  7i mogu ali ne moraju imati bo6ne efekte) Iskazi se izvršavaju i proizvode bočne efekte1 Deklaracije se elaboriraju da roizvedu vezivanja b) (8) +avesti i objasniti vrste akcija kod 89";(.4/. parsera1 ACCEPT - uspešan završetak parsiranja; REJECT - neuspešan završetak parsiranja. SHI T! P"SH#teku$i%u&az' A()A*CE RE("CE#p' P+P , uina esne strane p P"SH#&eva strana p' RET AI* - Stanje se ne /enja. Izraz

Upload: henri-kinaski

Post on 06-Jan-2016

55 views

Category:

Documents


6 download

DESCRIPTION

programski prevodioci 1

TRANSCRIPT

Page 1: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 1/19

2007

a) (8)  Šta je poljska translaciona gramatika, zašto je ona važna i kako se neka translaciona gramatiktransformiše u poljsku?

akcioni simboli su na samom kraju desne strane smene Primeri:

<X → a !"# !$# %&<' → !(# %&< → !"# * +-. %&

/koliko gramatika nije poljska, možemo je transformisati:01 <X → 2 !*# 3

transformišemo u:<X → <+ 3<+ → 2 !*#

4ruga varijanta:01 <X → 2 <5 3

transformišemo u:<5 → !*#

a) (8) / po jednoj re6enici objasniti semantiku izraza, iskaza i deklaracija1

Terminologija:Izrazi se izračunavaju i daju vrednost 7i mogu ali ne moraju imati bo6ne efekte)Iskazi se izvršavaju i proizvode bočne efekte1Deklaracije se elaboriraju da roizvedu vezivanja 

b) (8) +avesti i objasniti vrste akcija kod 89";(.4/. parsera1

ACCEPT - uspešan završetak parsiranja; REJECT - neuspešan završetak parsiranja. SHIT!

P"SH#teku$i%u&az' A()A*CE

RE("CE#p' P+P , uina esne strane p P"SH#&eva strana p'

RETAI* - Stanje se ne /enja.

Izraz

Page 2: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 2/19

a) (8) +abrojati i ukratko objasniti funkcije generatora koda1

ode1load ???

b) (8) +avesti formulu za ra6unanje skupa %==%> nekog neterminala <X1

FOLLOW skupove računamo prema sledećim pravilima:1. Skup FOLLOW startnog neterminala sadrži marker kraja ulaza ─.!. "a odre#ivanje FOLLOW skupa neterminala $%& posmatramo sve gramatičke smene na

čijoj se desnoj strani nalazi $%&. 'eka je $(& → α $%& β jedna od ti) smena. *ada:FOLLOW+$%&, ⊃ F-S*+β,/ ako β nije poni0tivo/ iliFOLLOW+$%&,⊃F-S*+β,∪FOLLOW+$(&,/ako je β poni0tivo.

op0tem slučaju/ na osnovu dati) pravila 2ormira se sistem skupovni) jednakosti koji se re0ava iterativno:1. -ni3ijalno se usvoji da su svi FOLLOW skupovi prazni.!. svojene vrednosti se uvrste u jednakosti čime se do4ijaju nove vrednosti FOLLOW skupova.5. 6orak !. ponavlja se sve dok postoji promena 4ar u jednom skupu. 6rajnje vrednosti predstavljaju konačno

re0enje.

a) (8) +acrtati dijagram klasa objektno orijentisane implementacije kona6nog automata sa dva stanja 2 i 3 premprojektnom uzorku 8tate1

Page 3: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 3/19

200

1. 3 +4jasniti p5e&u aktivn5sti k5 v5pr5&azni6 prev5i&aa. *a4r5jatipren5sti i /anev5pr5&azni6 prev5i&aa u 5n5su na jen5pr5&azne.

2. 3 (e8niija pravi&ne 9R#1' k5n8:uraije. " k5/ 5n5su sa 9A9R#1'parser5/ jep5/enuta k5n8:uraija

2. P<= strana 123. 9R#1' k5n8:uraiju >?@ = t naziva/5 pravi&n5/9R#1'k5n8:uraij5/ ak5 i sa/5 ak5 je!1. t +99+#>?@'= i&i2. reB 5 s/eni 0 i t." 5kviru stek si/45&a 9A9R#1' parsera /5:u se p5javiti isk&juBiv5 pravi&nek5n8:uraije.

1. 3 D&asi8kaija :ra/atika p5 5/sk5/.

Page 4: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 4/19

klasa 3Regularne gramatike +α 7 '*/ β 7 ε 8 * '*,npr: $ 2 → ε  b <31

9repoznaju se konačnim automatima

2. 3 *artati iz:&e run ti/e steka i navesti sekvenu k5a za F5r/iranjepristupne vezepr5eure (. Pr5eure C i ( su u:neene u pr5euru G= k5ja je u:neenaupr5euru A. Iz A se p5ziva G= iz G se p5ziva C= iz C se p5ziva (.

1. 3 *avesti pravi&a transF5r/aije esn5-&inearne :ra/atike ure:u&arnu.

Page 5: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 5/19

2. 3 +pšti a&:5rita/ raa p5tisn5: aut5/ata.

teku$e%stanje ! St;teku$i%u&az ! prvi si/45& u&azne sekvene;teku$i%stek ! s;&55p  iF δ# teku$i%u&az= teku$i%stek= teku$e%stanje ' ACCEPT

  t6en kraj raa uz pri6vatanje u&azne sekvene;  e&se iF δ# teku$i%u&az= teku$i%stek= teku$e%stanje ' REJECT  t6en kraj raa uz 54ijanje u&azne sekvene

  e&se  δ#teku$i%u&az= teku$i%stek= teku$e%stanje' je 54&ika #=s=u';  pri/eniti na teku$i%stek 5peraiju ;  teku$e%stanje ! s;

  pri/eniti na teku$i%u&az 5peraiju u;  en iF en &55p;

1. 3 (ija:ra/ski prikazati statiBku strukturu prev5i5a sa t5k5/ k5ntr5&e ip5ataka.

<2 → >G@$& → α1 $;& → α1

$& → α2  zameniti sa $;& → α2 ... ...$& → αn $;& → αn

 pret)odno ukloniti smenu $& → $& ako eventualno postoji.

Page 6: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 6/19

2. 3 *avesti raz&5:e z45: k5ji6 se skener ne rea&izuje ka5 sastavni e5 parsera.-5v5 nije 5:5v5r ,(Leksički analizator ima ulogu pripreme ulaza za sintaksno<semantičku analizu i prevo#enje. lazu leksički analizator je program u o4liku niza znakova. "adatak leksičkog analizatora je da unizu znakova identi2ikuje pojavu logički povezani) grupa znakova +leksički) jedini3a/ odnosnoleksema, i na izlazu izda za svaku prepoznatu leksemu njoj odgovarajući interni leksički kod.6lasni deo internog koda služi da označi tip leksičke jedini3e/ a vrednosni deo daje eventualnedodatne in2orma3ije.

tok podataka

Page 7: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 7/19

1. 3 *apisati #ak5 p5st5ji' :ra/atiku k5ja je 99#1' a&i nije 9R#0'.

a) LL(1) ali nije LR(0)

 4, L+=, ali nije LL+1,

3, LL+1, ali nije SL+1,. Rešenje

a, e0enje predstavlja 4ilo koja LL+1, gramatika sa praznom smenom/ s o4zirom da L+=, gramatike ne poseduju prazne smene/ na primer:

1. $S&→ a S>L>?*+1, 7 @aA

!. $S&→ ε S>L>?*+!, 7 @─A

 4, e0enje predstavlja 4ilo koja L+=, gramatika sa levom rekurzijom/ na primer +L+=, B proveriti konstruk3ijom parsera,

1. $S&→ $S& a S>L>?*+1, 7 @aA

!. $S&→ a S>L>?*+!, 7 @aA3, Svaka LL+1, gramatika nije nužno i SL+1, gramatika. Cok se kod L+1, gramatika pri svo#enju ručke na neki

neterminal $;& gleda tačan kontekst u kome se neterminal $;& javlja/ kod SL+1, gramatika stvar seupro0ćava kori0ćenjem skupa FOLLOW+$;&,. Sledi primer LL+1, gramatike u kome se $;& javlja dva puta urazličitom kontekstu B prvo de0avanje je praćeno terminalom a/ a drugo terminalom 4.

1. $S&→ $;& a $;& 4 S>L>?*+1, 7 F-S*+$;&, ∪ @aA 7 ∅ ∪ @aA 7 @aA

!. $S&→ 4 S>L>?*+!, 7 @4A

5. $;&→ ε S>L>?*+5, 7 FOLLOW+$;&, 7 @a/ 4A

2. 3 +sn5vna pravi&a k5nzistenije atri4utivne :ra/atike. atri4uti u&azni6 si/45&a tretiraju se ")ED ka5 sintetiz5vani

nji65ve vren5sti 54ez4eKuje &eksiBki ana&izat5r kr5z vren5sni e5u&azn5: t5kena.

Svak5j s/eni priruuju se pravi&a izraBunavanja vren5sti za atri4utesi/45&a k5ji se p5jav&juju u t5j s/eni #ne /5:u se k5ristiti niti raBunatiatri4uti si/45&a iz ru:i6 s/ena'

#ak5 se naruše= :ra/atika ne/a s/is&a'1. Atri4uti se /5raju s&a:ati p5 4r5ju i tipu za sve p5jave ist5: si/45&a ? #ne

/5raju i p5 i/enu'.2. La svaki sintetiz5vani atri4ut k5ji se p5jav&juje na &ev5j strani s/ene /5ra

p5st5jati pravi&5 za izraBunavanje /5e zavisiti 5 nas&eKeni6 atri4uta sa &eve strane i 5 4i&5 k5: saesne strane.

. La svaki nas&eKeni atri4ut k5ji se p5jav&juje na esn5j strani s/ene /5rap5st5jati pravi&5 za izraBunavanje

/5e zavisiti 5 nas&eKeni6 sa &eve strane i 5 4i&5 k5: sa esnestrane.

M. )ren5st nas&eKeni6 atri4uta startn5: neter/ina&a #na &ev5j strani' /5ra4iti unapre zaata.

Page 8: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 8/19

N. )ren5sti atri4uta u&azni6 si/45&a se ne raBunaju= ne:5 /5raju 4itiunapre zaate

1. 3 *avesti 5sn5vna pravi&a k5nzistenije atri4utivne :ra/atike-5:5v5ren5

2. 3 *avesti F5r/u&u za aresiranje e&e/enta Ai1= i23 v5i/enzi5na&ne/atrie As/eštene u /e/5riju p5 vrsta/a= :e je w /e/5rijska ve&iBina jen5:e&e/enta/atrie u aresi4i&ni/ jeinia/a= lowi je naj/anji ineks p5 it5j i/enziji= a6i:6inajve$i= 5k je base p5Betna aresa /atrie A.

- a

1. 3 +4jasniti jean naBin Buvanja i pristupanja p5&ji/a zapisa u ta4e&isi/45&a.

 TS u viu jen5struk5 u&anBane &iste!

2. 3 Dak5 :&asi a&:5rita/ za p5stav&janje isp&eja

Algoritam za postavljanje displeja 9ri svakom pozivu i povratku ažuriraju se registri displeja da odgovaraju trenutno

aktivnoj pro3eduri +onoj čiji je ;" na vr)u steka,.

9ro3edura na nivou ugneždavanja ' koristi ' registara displeja. svakoj situa3iji dovoljno je ažurirati jedan registar displeja +to je onaj koji odgovara

nivou ugeždavanja ' na kome se nalazi pozvana pro3edura 9,:o  pri pozivu/ stari sadržaj displej registra ' čuva se u akt. zapisu pro3edure 9o u displej registar ' stavlja se pokazivač na upravo 2ormirani ;"+9,o  pri povratku iz 9/ sačuvana vrednost displej registra ' restaurira se.

Pri/er ek&araija/ikr5Jave!

8na& int n10;&ass T OQint a= 4= ;v5i /#'OQ

Pren5sti! jen5stavn5st=zapa/$en re5s&eek&arisanja

*e5statak! s 5r5st

Page 9: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 9/19

1. 3 a' *avesti i ukratk5 pr5k5/entarisati /et5e k5je se p5jav&juju u interFejsu ta4e&esi/45&a.

Pri&ik5/ svak5: k5riš$enja nek5: si/45&a p5ziva se 8n54j ta4.8n#na/e';

Pretra:a p5Binje u &isti t5pS5pe Ak5 se ne naKe ta/5= pretra:a se nastav&ja u s&ee$e/ 5kruuju$e/ 5pse:u

#s&ee$i na steku isp5' La svaku ek&araiju p5ziva/5 insert!

54j Ta4.insert#kin= na/e= tp'; - Aktivn5sti unutar insert#'! Pr5verava a &i ve$ p5st5ji 54jekat ist5: i/ena #sa/5' u t5pS5pe= ak5

i/a @ :reška " supr5tn5/= kreira n5vi +4jet#kin= na/e= tpe' (5e&juje /u aresu #prvu s&545nu' (5e&juje niv5 ek&araije #:&54a&0= &5a&1' (5aje 54jekat na kraj &iste t5pS5pe

La 5tvaranje 5pse:a!stati v5i openScope#' O

S5pe s ne S5pe#';s.5uter t5pS5pe; t5pS5pe s;Q P5ziva se kaa parser naiKe na p5Betak 5pse:a #p5Betak pr5:ra/a= iza i/ena

k&ase= i&i /et5a' *a vr6 steka 5pse:a stav&ja n5vi 5pse:

La zatvaranje 5pse:a!stati v5i closeScope#' O

t5pS5pe t5pS5pe.5uter;Q P5ziva se kaa parser naiKe na kraj 5pse:a #kraj pr5:ra/a= Q 5 k&ase i&i /et5a'

Sa vr6a steka 5pse:a skia teku$i 5pse:

4' e/u s&ui k&asa S5pe i k5je inF5r/aije 5na sari

La prestav&janje 5pse:a uv5i/5 zapis S5pe!&ass Scope O

S5pe outer; t5 5uter s5pe+4j locals; t5 t6e 54jets 5F t6is s5peint nVars; nu/4er 5F varia4&es in t6is s5pe #F5r ar.

a&&5ati5n'Q

S5pe topScope; t6is is an attri4ute 5F &ass Ta4 D5&ekija tipa steka pa/ti trenutn5 aktivne 5pse:e u pr5:ra/u

2. 3 )rste k5nikata u 9R#0' parsiranju. +4jasniti kak5 se pre:&e5/ karakteristiBn5:aut5/ata /5:u u 5pšte/ s&uBaju u5Biti k5nikti.

pri k5nstrukiji ta4e&e /5:u se p5javiti k5nikti!

 i/a /n5:5 i/ena #u nastavku

preavanja 5 TS 4i$eusv5jena 5va

rea&izaija'

Page 10: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 10/19

SHITRE("CE= na pri/er= ak5 stanje sari>?@ → a •

>@→ a • 4 RE("CERE("CE= na pri/er= ak5 stanje sari

>?@ →  •

>@→  •  prazne s/ene uvek izazivaju k5nikt @ 9R#0' ne 5zv5&java prazne

s/ene >SU@ → • >S@ VW >S@ → • a

>S@ → •

koliko gornja pravila na jednoznačan način odre#uju ak3iju za svaki ulaz kontrolne ta4ele/gramatika pripada klasi L;L+1,. suprotnom/ može doći do kon2likata tipa potisniBsvedi isvediBsvedi.

Page 11: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 11/19

1. 3 "k&anjanje inirektne &eve rekurzije.

"k&anjanje irektne &eve rekurzije!>?@ → >?@ α >?@ → β 

Ieja transF5r/aije! >?@ 5pisuje sekvenu k5ja p5Binje jeni/ 5 β si/45&a=a nastav&ja se niz5/ α si/45&a. +vaj niz α si/45&a p5s&e p5Betn5: β= /5e/5 5pisati uv5Kenje/ n5v5:

neter/ina&a >@ i k5riš$enje/ esn5 rekurzivni6 s/ena >?@ → >?@ α1 >?@ → β1 >@ .... .... >?@ → >?@ αn  transF5r/iše se u! >?@ → βn >@ >?@ → β1 >@ → α1 >@ ..... .... >?@ → βn >@ → αn >@ >@ → ε 

"k&anjanje inirektne &eve rekurzije! Pri/er inirektne &eve rekurzije!

>?@ → >@ a>@→ >?@ 4>@→ 

A&:5rita/!P5reKati neter/ina&e u nek5/ re5s&eu A1= A2= = AnF5r i ¬  1 t5 n

  F5r j ¬  1 t5 i X 1za/eniti svaku s/enu 54&ika>A@i → >A@ jγ  

sa>A@i → δ1γ  Y δ2γ  YY δkγ =

:e su >A@j → δ1Y δ2YY δk sve aktue&ne s/ene za >A@ j

en%F5r  e&i/inisati irektn5 &ev5 rekurzivne s/ene za >A@i

  n5v554ijene neter/ina&e 5ati na krajen%F5r

pretp5stavka a&:5rit/a je a iniija&na :ra/atika ne sari ik&use #>A@i ⇒Z >A@i '

9eva Fakt5rizaija ! Pravi&5 &eve Fakt5rizaije :&asi #uv5i se n5vi neter/ina& >S[@'!

<S> → α β1   <S> → α <S′> .... →  <S′> → β1

<S> → α βn ....<S′> → βn

Page 12: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 12/19

2. 3 Prikazati iz:&e aktivai5n5: zapisa u C-u i Pasa&-u.

C!

kontrolna veza

stvarni parametri

 povratna adresa

lokalne promenljive

kontrolna veza:9

S9

niže

memorijske

adrese

viže

memorijske

adrese

aktiva3ioni zapis pozivao3a

aktiva3ioni zapis pozvane pro3edure

Pasa&!

stvarni parametri

 povratna adresa

lokalne promenljive

kontrolna veza:9

S9

niže

memorijske

adrese

viže

memorijske

adrese

aktiva3ioni zapis pozivao3a

aktiva3ioni zapis pozvane pro3edure

. . .

 pristupna veza

aktiva3ioni zapis pro3edure u kojoj je deklarisana pozvana pro3edura

Page 13: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 13/19

S0 S1ε S3 S4ε

*DA F5ra\

ε

200]

1. 3 Se/antiBka ana&izaa' ^ta je t5 siste/ tip5va4' ^ta je pr5vera tipa i kakve vrste pr5vere p5st5je

' Daa se jezik naziva str5:5 tipizirani/- 5:5v5ren5

- unkije :enerat5ra k5a.\

- 5r/u&a za raBunanje se&eki5n5: skupa s/ene.\

- *a4r5jati /e/5rijske k&ase pr5/en&jivi6. La svaku 5 nji6 navesti u k5/e&u5perativne /e/5rije se pr5/en&jiva s/ešta i k5ji naBin aresiranja se k5ristiza pristuppr5/en&jiv5j.\

1. 3 *apisati Fra:/ent rekurzivn5: parsera za prep5znavanje s/ene!>A@,==z1 a_ OvQ >A@,1=z=u1 >A@u=t=1

v , - _ ,1 , 1 z1 z u *ap5/ena! /ini/iz5vati 4r5j nare4i 5e&e vren5sti u k5u.

1. 3 `bcdf ghlgb #gmlgl cgfhg g dfo go'.La zaati re:. izraz 5reKuje neeter/inistiBki k5naBni aut5/at !

2. 3 gfodl dfg cgfhg qdlomo gllfo gbglqo.

-5:5v5ren5

Page 14: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 14/19

2. 3 +4jasniti nare4e E*TER i 9EA)E k5 ,< pr5es5ra #za k5riš$enje u Cu=4ezpristupa ne&5ka&ni/ pr5/en&jivi/'.

stvarni parametri

 povratna adresa

lokalne promenljive

kontrolna veza:9

S9

iže

emorijske

adrese

vi0e

memorijske

adrese

aktiva3ioni zapis

 pozivao3a

aktiva3ioni zapis pozvane pro3edure

displej

Naredba ENTER ize! Level

 'ared4a ENTER  realizuje deo sekven3e pozivanja koji izvr0ava pozvana pro3edura.

Ova nared4a ima dva operanda.o ize  +1D<4itna veličina, de2ini0e koliko memorije tre4a alo3irati u aktiva3ionom

zapisu za lokalne promenljive.o Level +E<4itna veličina, predstavlja leksički nivo pozvane pro3edure.

Ova nared4a izvr0ava se kao prva nared4a pozvane pro3edure na sledeći način:1. Sadržaj registra 9 ide na stek +čime se de2ini0e polje kontrolne veze,

!. registar 9 upisuje se sadržaj registra S9 +čime je 9 postavljen da ukazuje na poljekontrolne veze,.5. ;ko je Level 7 = preskače se sledeći korak +Level 7 = važi za pro3edure u ?<u kod koga sene javlja pro4lem pristupa nelokalnim promenljivim,.. Označimo vrednost Level <1 sa '/ a sadržaj polja kontrolne veze sa ;. 'a stek se sme0ta 'reči koje se kopiraju redom počev od loka3ije ;<! ka nižim memorijskim loka3ijama. 9otomse na stek sme0ta adresa polja kontrolne veze. Ovime je uspostavljen displej pozvane pro3edure.G. egistar S9 umanjuje se za vrednost operanda Size čime se alo3ira prostor za lokalne

 promenljive pozvane pro3edure.Naredba LEA"E

 'ared4a LEA"E realizuje deo sekven3e povratka koji izvr0ava pozvana pro3edura.

Ova nared4a neposredno pret)odi nared4i >* i izvr0ava se na sledeći način:1. Sadržaj registra 9 kopira se u registar S9. Ovime se dealo3ira sa steka deoaktiva3ionog zapisa pozivao3a ispod kontrolne veze.

Page 15: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 15/19

!. Sa steka se skida sadržaj polja kontrolne veze i sme0ta u registar 9. *ime je 9name0ten za pozivao3a/ a polje kontrolne veze pozvane pro3edure je uklonjeno sa steka.

1. 3 *avesti i 54jasniti us&5ve k5je atri4utivn5 trans&ai5na :ra/atika /5raa za5v5&ji za parsiranje 5 na ka vr6u.-(a ne/a k5nikta

2. 3 +4jasniti p5vratnu transF5r/aiju iz SSA u 54iBni tr5aresni /eKuk5.

#"ra$anje# iz A %orme nazad u obi&an me'ukod

najjednostavnijoj varijanti/ φ-2unk3iju sa ' argumenata u 4loku tre4a zameniti sa ' o4ični)dodela/ po jednom na kraju svakog 4loka pret)odnika 4loku % u gra2u. Ovim se nekada do4ijanee2ikasan kod sa suvi0nim dodelama/ ali se on može po4olj0ati dodatnim optimiza3ijama kojenisu predmet na0eg razmatranja.

2010

1.HGI 'avesti op0ti algoritam rada potisnog automata u pseudojeziku.< odgovoreno ranije

!.HGI 'avesti algoritam dekompozi3ije koda na osnovne 4lokove.!. Cekompozi3ija programa na osnovne 4lokove:• Odrediti vo#e +prve iskaze, osnovni) 4lokova: prvi iskaz u programu/ iskazi koji predstavalju

odredi0ta uslovni) ili 4ezuslovni) skokova i iskazi koji neposredno slede 4ezuslovne iliuslovne skokove.

Svakom vo#i pridružiti iskaze koji ga slede do prvog sledećeg vo#e +isključujući taj iskaz, ili dokraja programa.

2011

1, (! oena)

a, Jta je to sistem tipovaK 4, Jta je provera tipa i kakve vrste provere postojeK3, 6ada se jezik naziva strogo tipiziranimKdgovor1. a, Sistem tipova je skup pravila kako se dodeljuju tipovi različitim delovima programa+deklara3ijama/ izrazima/ iskazima,. 4, 9roverom tipa implementira se odre#eni sistem tipova. 9rovera moe 4iti:

< statička/ ako je vr0i kompajler/ ili< dinamička/ ako se izvodi u vreme izvr0avanja programa3, Mezik se naziva strogo tipiziranim ako uspe0na statička provera tipova garantuje da uizvr0avanju programa neće doći do gre0ke tipa.

Page 16: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 16/19

!, (" oena)

9osmatra se sledeća situa3ija +radi se o poslednjoj nared4i u 4azičnom 4loku,:Ne#ukod ivot i sledeće kori0ć. Ceskriptori registara ;dresni deskriptoria 7 t < u a+/<, t+m/<, u+m/<, >;%:t >%:u a:mem t:>;% u:+mem/ >%,a, O4jasniti po kora3ima primenu jednostavnog algoritma generisanja koda za dati primer.

 4, 9rikazati generisani ma0inski kod i sadraj svi) deskriptora posle toga.Re*enje

6orak 1. 9oziva se getreg+t,/ koji vraća >;% i uklanja >;% iz deskriptora za t.6orak !. Peneri0e se S >;%/ >%6orak 5. ;uriraju se deskriptori: >;%:a >%:u a:>;% t:< u:+mem/ >%,+orak ,- .o*to je kraj bloka! a je /ivo i nalazi se u registru! generi*e se " a! EA2

E.+T

1. 'avesti uslove L<atri4utivnosti gramatike.

L-atributivna: - Sintaksn5-uprav&jan5 prev5Kenje 5 vr6a ka nu

D5ji/ re5/ rekurz. parser pri prep5znavanju s/ene >A@ → >G@>C@5reKuje atri4ute nasleđeni atributi X su ulazni parametri za PROCX 

sintetizovani  atr. X su izlazni  parametri za PROCX 

1. nas&eKeni atri4uti 5 >A@ su ve$ p5znati #pr5s&eKuje p5ziva&a'.2. nas&eKeni atri4uti 5 >G@ zavise 5 nas&eKeni6 5 >A@ i 5ni se

izraBunavaju. p5s&e uparivanja >G@ sa u&az5/ sazna$e/5 sintetiz5vane atri4ute

>G@M. nas&eKeni atri4uti 5 >C@ zavise 5 nas&eKeni6 5 >A@ i 4i&5 k5:

atri4uta >G@ D5ji/ re5/ rekurz. parser pri prep5znavanju s/ene >A@ → >G@>C@

5reKuje atri4uteN. p5s&e uparivanja sa u&az5/ >C@ saznaje/5 sintetiz5vane atri4ute 5

>C@<. ka upari/5 e&u esnu stranu izraBunava/5 sintetiz5vane atri4ute 5

>A@7. vra$anje k5ntr5&e p5ziva5u sa sint. atr. >A@ /5raju se uvesti 5:raniBenja u pravi&a izraBunavanja atri4uta= a 4i

parser para&e&n5 sa k5nstrukij5/ sta4&a izv5Kenja #5 vr6a ka nu'raBuna5 vren5sti svi6 atri4uta'.

ra/atike k5je za5v5&javaju 5va pravi&a nazivaju se L-atributivne

gramatike

Nasleđeni atributi simbola sa desne strane s/ene /5:u azavise 5 nas&eKen5: atri4uta si/45&a sa &eve strane i 4i&5 k5: atri4uta4i&5 k5: si/45&a k5ji je na esn5j strani ispre p5s/atran5: si/45&a.

Page 17: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 17/19

Sintetizovani atribut simbola sa leve strane s/ene /5e azavisi 5 nas&eKeni6 atri4uta t5: si/45&a i 5 4i&5 k5: atri4uta 4i&5 k5:si/45&a sa esne strane.

Sintetizovani atribut akcionog simbola s/e a zavisi isk&juBiv5 5nas&eKen5: atri4uta ist5: aki5n5: si/45&a.

Page 18: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 18/19

2. Sta je transliterator i 3emu sluzi.K• leks. analizator konačni automatQ nera3ionalno za svako pose4no slovo pose4na kolona ako

se sva slova tretiraju na isti način

• zato samo jedan ulazni sim4ol leks. analizatora Rslovo. 9ripremu vr0i transliterator 

internileksički kod

*ransliterator   Leksički

analizator 

izvorni program

+niz znakova,

ulaznaaz4uka

+klasa/ vrednost, 

*ransliterator se e2ikasno realizuje u vidu vektoraE T D DG DD 1!!

?i2ra ?i2ra U Spe3. Slovo

Slovo

... ... Slovo

;S?--+R=

,

;S?--+R1

,

;S?--+RV,

;S?--+R;

,

;S?--+R

,

;S?--+Rz

,

<<< okto4ru je 4ilo nesto u vezi pre2iksa.vojstvo pre%iksa

 

imbol povrede  predstavlja onaj sim4ol ulaznog niza na kome je otkrivena gre0ka.  pre2iks

1lazna - - - - - - - - - - - - - - - - - - - -

sekven3a

sim4ol povrede

9arser ima svojstvo ispravnog pre%iksa ako za sve neispravne ulazne sekven3e nizsim4ola pre sim4ola povrede predstavlja pre2iks nekog pri)vatljivog ulaznog niza.6od takvi) parsera možemo modi2ika3ijom preostalog ulaza učiniti 3eo ulani niz pri)vatljivim

  9arseri konstruisani metodima koje proučavamo na kursu imaju ovo svojstvo

 

9oruka o gre03i najče0će se 2ormuli0e na osnovu vr0nog sim4ola steka i tekućeg ulaznogsim4ola/ uz navo#enje linije i pozi3ije na liniji koda na kojoj je nastupila gre0ka.

  9otom se vr0i oporavak parsera od gre0ke/ koji poten3ijalno može da prouzrokuje novenepostojeće gre0ke. 6valitet oporavka 3eni se po tome koliko malo nepostojeći) gre0akase prijavljuje.

Ostalo:S-atributivna

ra/atika je S - atri4utivna= ak5! Svi atri4uti neter/ina&ni6 si/45&a su sintetiz5vani. *ijean sintetiz5vani atri4ut ne /5e a zavisi 5 ru:5:

sintetiz5van5: atri4uta iste p5jave si/45&a u :ra/atii.

Page 19: Pitanja i Odgovori Programski Prevodioci 1

7/17/2019 Pitanja i Odgovori Programski Prevodioci 1

http://slidepdf.com/reader/full/pitanja-i-odgovori-programski-prevodioci-1 19/19

*as&eKeni atri4uti aki5ni6 si/45&a s/eju a zavise sa/5 5atri4uta 5ni6 si/45&a pr5ukije k5ji su &ev5 5 t5: aki5n5:si/45&a.