Syntaxou riadený preklad Flashcards

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

A

pozri slide

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í

A
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

A
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?

A
24
Q

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

A

slide cca pred stredom

25
Q

Čo sú to S-atribútové definície?

A

Obsahujú iba syntetizované atribúty

26
Q

Čo sú to L-atribútové definície?

A

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
Q

Aký je vzťah S a L atribútových definícií?

A

S je vlastná podmnožina L

28
Q

Aké obmedzenia použijeme aj keď sa S aj L dajú implementovať zhora-nadol aj zdola-nahor?

A

1 Gramatika je LR a SRD je S-atribútová
2 Gramatika je LL a SRD je L-atribútová

29
Q

Definuj L-atribútovú definíciu aj s príkladom

A
30
Q

Ako vyhodnocujeme atribúty v L-atribútovej definícii?

A

Napr. DFS

31
Q

Čo sú to prekladové schémy? Aj s príkladom

A
32
Q

Aké poznáme obmedzenia pre prekladové schémy?

A
33
Q

Opíš prekladovú schému s kalkulačkou niekde na slide v 2/3

A
34
Q

Ako implementujeme S-atribútovú definíciu pri LR parsovaní?

A
35
Q

Opíš príklad -S-atribútová definícia pri LR parsovaní?

A
36
Q

Opíš čo sa deje na odfotenom slide

A
37
Q

Ako vieme implementovať L-atribútovú definíciu pri prediktívnom parsovaní?

A
38
Q

Opíš čo sa deje na nasledujúcom slide

A
39
Q

Opíš ako sa odstraňuje ľavá rekurzia z prekladovej schémy (na slide)

A
40
Q

Opíš konštrukciu prediktívneho prekladača

A