Syntaxou riadený preklad Flashcards

(40 cards)

1
Q

Čo je syntaxou riadený preklad?

A

prepojenie syntaktickej
analýzy s nasledujúcimi fázami kompilácie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Čo robí syntaxou riadený preklad?

A

K pravidlám gramatiky sú priradené akcie - Generovanie kódu, ukladanie do tabuľky symbolov, chybové hlásenia, …

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Čo je to prekladová schéma?

A

Podobná syntaxou riadenej definícií, ale viac implementačných detailov (menej abstraktná)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ako delíme syntaxou riadený preklad podľa prechodov?

A

Počas parsovania - jeden prechod, bez explicitnej konštrukcie stromu odvodenia
Alebo prechádzaním stromu odvodenia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Čo je Syntaxou riadená definícia (SRD)?

A

Abstraktná špecifikácia syntaxou riadeného prekladu
Vznikne rozšírením CF gramatiky vstupného jazyka o atribúty a sémantické pravidlá

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Čo sú atribúty?

A

Priradené k symbolom gramatiky: X.x = atribút x symbolu X
Nesú d’al’šiu informáciu o danom symbole - hodnota

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Čo sú sémantické pravidlá?

A

Priradené k pravidlám gramatiky: B.b := f(C1.c1,…,Ck.ck)
Slúžia pre výpočet atribútov symbolov v rámci jedného pravidla gramatiky
Môžu obsahovat’ funkcie s bočným efektom (napr. vypísanie hodnoty na výstup)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Ako nazývame SRD bez side effect funkcií?

A

atribútové gramatiky

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Čo je vrchol v strome odvodenia?

A

záznam s poľami, teda symbol + atribúty

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Aké poznáme typy atribútov?

A

Syntetizované a dedičné

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Aké sú to syntetizované atribúty?

A

Hodnoty sa vypocítajú podľa hodnôt atribútov detí
často používané

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Aké sú to dedičné atribúty?

A

Hodnoty sa vypočítajú podl’a hodnôt atribútov rodičov a súrodencov

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Kedy je atribút závislý?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Čo je anotovaný strom odvodenia?

A

Strom odvodenia s vypočítanými hodnotami atribútov

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Opíš prvý príklad - kalkulačka

A

pozri slide

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Ako nazývame SRD iba so syntetizovanými atribútmi?

A

S-atribútová definícia a vždy sa dá vyhodnotit’ na strome odvodenia prechodom zdola-nahor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Opíš druhý príklad - deklarácie

18
Q

Čo je to graf závislostí?

A

Znázorňuje závislosti medzi atribútami
Orientovaný graf D = (V,E)
* V - množina vrcholov, atribúty symbolov gramatiky
* E -množina hrán, X.x →Y.y ∈E ak Y.y je závislý na X.x

19
Q

Opíš algoritmus vytvorenia grafu závislostí

20
Q

Čo je topologické triedenie?

A

Usporiadanie vrcholov m1,…,mk, také, že platí:
Ak existuje hrana mi → mj potom mi je pred mj .

21
Q

Opíš syntaktický strom

22
Q

Aké poznáme funkcie na konštrukciu vrcholov?

A

1 mknode(op, left , right )
2 mkleaf (id, entry ) ⇒ Vrátia smerník na skonštruovaný vrchol
3 mkleaf (num, val )

23
Q

Ako reprezentujeme vrcholy pre operátory, konštanty a identifikátory?

24
Q

Opíš čo sa deje na slide Syntaktický strom pre výrazy - Syntaxou riadená definícia

A

slide cca pred stredom

25
Čo sú to S-atribútové definície?
Obsahujú iba syntetizované atribúty
26
Čo sú to L-atribútové definície?
Obsahujú syntetizované aj dedičné atribúty, ale sú tu určité obmedzenia pre výpočet dedičných atribútov Zahŕnajú všetky SRD, ktoré sa implementujú bez explicitnej konštrukcie stromu odvodenia
27
Aký je vzťah S a L atribútových definícií?
S je vlastná podmnožina L
28
Aké obmedzenia použijeme aj keď sa S aj L dajú implementovať zhora-nadol aj zdola-nahor?
1 Gramatika je LR a SRD je S-atribútová 2 Gramatika je LL a SRD je L-atribútová
29
Definuj L-atribútovú definíciu aj s príkladom
30
Ako vyhodnocujeme atribúty v L-atribútovej definícii?
Napr. DFS
31
Čo sú to prekladové schémy? Aj s príkladom
32
Aké poznáme obmedzenia pre prekladové schémy?
33
Opíš prekladovú schému s kalkulačkou niekde na slide v 2/3
34
Ako implementujeme S-atribútovú definíciu pri LR parsovaní?
35
Opíš príklad -S-atribútová definícia pri LR parsovaní?
36
Opíš čo sa deje na odfotenom slide
37
Ako vieme implementovať L-atribútovú definíciu pri prediktívnom parsovaní?
38
Opíš čo sa deje na nasledujúcom slide
39
Opíš ako sa odstraňuje ľavá rekurzia z prekladovej schémy (na slide)
40
Opíš konštrukciu prediktívneho prekladača