• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

Formálne jazyky a preklada?e

Started by mishelka, 16.09.2010, 13:35:34

« predchdzajce - alie »

v_oid

http://hornad.fei.tuke.sk/~plocica/ppj/priorita.html

Na tejto stranke.

Lava znamena zlava-doprava, alebo zprava-dolava??

revelc

lava = zlava = dolava
prava = zprava = doprava
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

v_oid

Quote from: revelc on  13.12.2010, 18:28:37
lava = zlava = dolava
prava = zprava = doprava

to sa kamarat trochu vylucuje. zlava = dolava?

NDK

Quote from: v_oid on  13.12.2010, 18:32:56
Quote from: revelc on  13.12.2010, 18:28:37
lava = zlava = dolava
prava = zprava = doprava

to sa kamarat trochu vylucuje. zlava = dolava?

Treba sa to spytat Kollara na predtermine lebo kzdy tomu rozumie neako inac  :bannana_guitar:

Panci

zlava = dolava  .. vie niekto prepisat if a while pomocou jump a falsejump ??

revelc

#505
Quote from: v_oid on  13.12.2010, 18:32:56
Quote from: revelc on  13.12.2010, 18:28:37
lava = zlava = dolava
prava = zprava = doprava

to sa kamarat trochu vylucuje. zlava = dolava?
vylucuje, nevylucuje... ja to tak budem robit.... pozri niekolko stran dozadu... tam to vysvetlovala eminkaa

Quote from: revelc on  13.12.2010, 01:31:38
Quote- vzájomná poloha deklarácií volanej a volajúcej procedúry pri zmene zobrazenia
WTF?
Quote- syntax jazyka LL(1) - ľavá faktorizácia, ...
WTF?
Quote- syntax deklarácie premenných, analýza
?
Quote- keď A a B sú typ. premenné typu záznam, k čomu dochádza pri porovnaní typov (substitúcia a unifikácia)
?
Quote- čo reprezentuje strom odvodenia, syntaktický strom, typové výrazy
?
Quote- ako bude vyzerať aktivačný záznam s begin<2, 4>
?

Mohol by to niekto strucne objasnit ?  :D
UP
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

totaluser

lava = zlava = dolava je to iste
takto nam to vysvetlil aj nas cviciaci (nie eminka) a povedal, ze to mame takto brat

z toho dovodu on nepouziva spojenie zlava alebo dolava, ale jednoducho lava asociacia

v_oid

Neviete niekto priklad 3 z testu?

3. Napíšte syntaktický analyzátor so zotavením, teda doplňte telá procedúr Error, Check a A pre pravidlo:
A→B{dE}(c|F) za predpokladu, že množiny H(B), H(E), and H(F) sú známe. V programe použite
HB, HE a HF, aktuálny symbol sym a procedúru getsymbol().

Panci

Quote from: v_oid on  13.12.2010, 19:00:09
Neviete niekto priklad 3 z testu?

3. Napíšte syntaktický analyzátor so zotavením, teda doplňte telá procedúr Error, Check a A pre pravidlo:
A→B{dE}(c|F) za predpokladu, že množiny H(B), H(E), and H(F) sú známe. V programe použite
HB, HE a HF, aktuálny symbol sym a procedúru getsymbol().

uz to tu bolo pozri stranu dozadu!

elros

#509
Ja tote veci chapem tak:

Quote- vzájomná poloha deklarácií volanej a volajúcej procedúry pri zmene zobrazenia
Netuším

Quote- syntax jazyka LL(1) - ľavá faktorizácia, ...
Jazyk LL(1): L - čítame z ľava,  L - najľavejšie odvodenie,  1 - na základe 1 symbolu na vstupe vieme sa rozhodnúť čo ďalej,..
jazyk musí byť faktorizovaný z ľava, nesmie mať rekurziu ľavú
asi to je len teoreticka otazka

Quote- syntax deklarácie premenných, analýza
Var_Decl [[ var Var_List_decl {Var_List_Decl)]] = Var_List_Decl{Var_List_Decl}
Var_List_Decl [[Id_List colon Type semicolon]] = idlist Id_List Type defvars
Id_List[[id<ival>{comma id<ival> ]] = id<ival>{id<ival>}

Quote- keď A a B sú typ. premenné typu záznam, k čomu dochádza pri porovnaní typov (substitúcia a unifikácia)
ak A a B su typove premenne, T1 = A T2 = B, potom T1 = T2 = C a vsetky vyskyty A a B sa nahradia C - unifikacia
ak A je typova premenna, T1 = A, T2 = TE (typovy vyraz) kde TE nie je premenna, kazdy vyskyt A sa nahradi TE - substitucia
a ten record, ak  T1 = A, T2 = record, potom T1 = record, lebo doslo k substitucii A = record

Quote- čo reprezentuje strom odvodenia, syntaktický strom, typové výrazy
Typove vyrazy je vhodne reprezentovat synaktickymi stromami,
strom odvodenia je pri analyze zhora-nadol, postupne jak sa nejaky vyraz odvadza z gramatiky,

Quote- ako bude vyzerať aktivačný záznam s begin<2, 4>

to budu to tie registre (obdlzniky) asi tak nejak:
[parametre]
[adresa navratu]
[oblast premennych]
[oblast premennych]
[oblast premennych]
[oblast premennych] - 4 krat, lebo v = 4
[zakladna adresa urovne 0] <- X  (tu ukazuje X|
[zakladna adresa urovne 1]
[zakladna adresa urovne 2] sipka z tade na adresu navratu, uroven 2, lebo l = 2
[predosla hodnota X] sipka z tade ukazuje do priestoru nad obrazok
[                          ]<- tu ukazuje SP po volani begin


Jeffa

- def. gramatiku pre if, while, repeat, ..., translačné schémy?
gramatika postupnosti príkazov?
- syntax príkazu if a jump, ich preklad, jump, falsejump?
- význam atribútov inštrukcie begin?

Viete mi niekto dat odpovede na tieto otazky? Lebo nejako nemam velmi sajnu co tam ma byt
Dakujem  ;)

cenki

Keď sa môžem pridať, čo vlastne chcú v tomto a ako to má byť?
Určte pre zdrojový výraz a + b + c ∗ d/e + f jeho postfixný tvar na výstupe.
Postfix [[ a + b + c ∗ d/e + f ]] =
(Pričom platí: p(+) = p(−) > p(∗) > p(/) a zároveň asociatívnosť: "+"|"-" sprava, "*" bez, "/" zľava)

NDK

Quote from: cenki on  13.12.2010, 20:38:20
Keď sa môžem pridať, čo vlastne chcú v tomto a ako to má byť?
Určte pre zdrojový výraz a + b + c ∗ d/e + f jeho postfixný tvar na výstupe.
Postfix [[ a + b + c ∗ d/e + f ]] =
(Pričom platí: p(+) = p(−) > p(∗) > p(/) a zároveň asociatívnosť: "+"|"-" sprava, "*" bez, "/" zľava)

Napisat gramatiku teda:

Expr -> Mul {</> Mul}
Mul -> Addsub [<*> Addsub]
addsub -> Term [<+>|<-> Addsub]
Term -> <VALUE> | <(>Expr<)>

a postfix: ((a(bc+)+)d*)(ef+)/

Panci

#513
Quote from: NDK on  13.12.2010, 20:52:01


a postfix: ((a(bc+)+)d*)(ef+)/

v postfixe ide presne o to, ze tam tie zatvorky byt nemaju.. abc++d*ef+/

v_oid

Quote from: NDK on  13.12.2010, 20:52:01
a postfix: ((a(bc+)+)d*)(ef+)/

Ked ma asociativnost sprava, tj. dolava, nemalo by byt ab+c+ ?

Panci

Quote from: v_oid on  13.12.2010, 21:12:33
Quote from: NDK on  13.12.2010, 20:52:01
a postfix: ((a(bc+)+)d*)(ef+)/

Ked ma asociativnost sprava, tj. dolava, nemalo by byt ab+c+ ?

sprava = doprava

v_oid


NDK

#517
Quote from: Panci on  13.12.2010, 21:11:22
Quote from: NDK on  13.12.2010, 20:52:01


a postfix: ((a(bc+)+)d*)(ef+)/

v postfixe ide presne o to, ze tam tie zatvorky byt nemaju.. e f + a b c + + d * /


No ale ty citas retazec od zaciatku nie od konca ...

Panci

Quote from: NDK on  13.12.2010, 21:21:16
Quote from: Panci on  13.12.2010, 21:11:22
Quote from: NDK on  13.12.2010, 20:52:01


a postfix: ((a(bc+)+)d*)(ef+)/

v postfixe ide presne o to, ze tam tie zatvorky byt nemaju.. e f + a b c + + d * /


No ale ty citas retazec od zaciatku nie od konca ...

uz som to opravil som sa pomylil.. tak ci tak bez zatvoriek to ma byt, lebo by to nebol postfix potom..

NDK

Quote from: Panci on  13.12.2010, 21:23:47
Quote from: NDK on  13.12.2010, 21:21:16
Quote from: Panci on  13.12.2010, 21:11:22
Quote from: NDK on  13.12.2010, 20:52:01


a postfix: ((a(bc+)+)d*)(ef+)/

v postfixe ide presne o to, ze tam tie zatvorky byt nemaju.. e f + a b c + + d * /


No ale ty citas retazec od zaciatku nie od konca ...

uz som to opravil som sa pomylil.. tak ci tak bez zatvoriek to ma byt, lebo by to nebol postfix potom..

Viem ze to ma byt bez zatvoriek ale pre tych co tomu nechapu to pochopia skor so zatvorkami ako bez nich  :ropebanana:

cenki

#520
Edited: Čekne niekto či srpávne? V prílohe je test i vypracovanie.

ursus

a mne zase vaclavik povedal ze dolava = sprava, anyways najdete len ZLAVA alebo LAVA, dolava to len u daktorych cviciacich
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

v_oid

Quote from: ursus on  13.12.2010, 22:29:15
a mne zase vaclavik povedal ze dolava = sprava, anyways najdete len ZLAVA alebo LAVA, dolava to len u daktorych cviciacich

Mne presne toto Kreutzova povedala!

Ze dolava = zprava, zlava = doprava.

Na tej stranke kde je napisana gramatika pise slova ako 'lava' a 'prava' a na zaklade tej gramatike myslim, ze tam to myslia lava=dolava, prava=doprava.

ursus

tak tam je to dodrbane, dam svoje lave vajco ze v kolarovych prednaskach uvidis iba ZLAVA alebo LAVA kde ZLAVA = LAVA, ziadne dolava
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

ursus

A -> BCa[f](D|zZ)

A(SetType K){
 B(HC |a |f |HD |z |K);
 C(a |f |HD |z |K);
    if symbol == a
       getsymbol();
    else
        error(f | HD | z |K )
    if symbol == f
       getsymbol();

  check(HD | z | K)
  switch(sym){
     case HD: D( K);
                break;
     case z: getsymbol();
                Z ( K);
                break;
      default:
               error(K);
  }
}

co vy nato r-man ? ma byt nazaciatku tam to f ? ked je to v [] ?
So this router walks into the doctor's office...
- Doctor, it hurts when IP.