• 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 »

cenki

Quote from: Jeffa on  11.12.2010, 18:24:25
Co bude pls na predtermine? Test alebo nieco ine? A co sa naozaj treba ucit, staci nieco co bolo k zadaniam ci aj nieco naviac?
Dikes za info
Mno keďže istí užívatelia sú veľmi prívetiví na slovo, tak skúsim napísať aspoň ja, o čom som počul:
1-4 zadanie, v štýle napísať gramatiku, first follow, hodiť check error, KSA, napísať výraz v postfixnom tvare, typová kontrola (niečo asi doplniť podľa prednášok) a pod.
+ dáke tie tranformácie EBNF do BNF a naopak, tie jump falsejump, prepis inštrukcií if, while, switch.

Jeffa

Quote from: cenki on  11.12.2010, 22:18:15
Quote from: Jeffa on  11.12.2010, 18:24:25
Co bude pls na predtermine? Test alebo nieco ine? A co sa naozaj treba ucit, staci nieco co bolo k zadaniam ci aj nieco naviac?
Dikes za info
Mno keďže istí užívatelia sú veľmi prívetiví na slovo, tak skúsim napísať aspoň ja, o čom som počul:
1-4 zadanie, v štýle napísať gramatiku, first follow, hodiť check error, KSA, napísať výraz v postfixnom tvare, typová kontrola (niečo asi doplniť podľa prednášok) a pod.
+ dáke tie tranformácie EBNF do BNF a naopak, tie jump falsejump, prepis inštrukcií if, while, switch.
Dakujem velmi pekne za info  :thumbs-up:

revelc

Spytam sa pre istotu, je to zotavenie dobre?

A -> a (b A | {B})

void A(SymbolSet K){
    if (symbol == a)
        getsymbol();
    else
        error( b | H_B | K);
   
    check(b | H_B | K);
    switch(symbol){
        case b: getsymbol;
                   A(K);
                   break;
        case H_B: check(H_B | K);
                      while(symbol &  H_B){
                          B(K);
                          check(H_B | K);
                      }
                     break;
        default:  error(K);
    }
}
Č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! "

baf62

cenkimu velmi pekne dakujeme... a nenasiel by sa este niekto kto by mal dalsi podobny navrh co sa asi ucit? samozrejme ze najlepsie je naucit sa vsetko ale to pre kratkost casu akosi nie je mozne..  :)

laktibrada

cawte, chyba mi prva prednaska , nemohol by sa niekto podelit o svoje poznamky ? :P dakujem velmi pekne :embarassed: :p: :thumbs-up:

protos

neviete akou formou ma byt ten predtermin? iba pisomne ci aj ustna cast bude? vdaka

baf62

ustna nie je... to by sa nestihalo... maximalne ak budes medzi znamkami tak si ta zavola...

Jeffa

Quote from: baf62 on  12.12.2010, 01:58:43
cenkimu velmi pekne dakujeme... a nenasiel by sa este niekto kto by mal dalsi podobny navrh co sa asi ucit? samozrejme ze najlepsie je naucit sa vsetko ale to pre kratkost casu akosi nie je mozne..  :)
- lexikálna gramatika
- odvodiť konfiguráciu KSA
- def. gramatiku v EBNF pre jazyk zátvorkovaných výrazov
- napísať postfix. a prefix. formu pre vstup
- syntaktický analyzátor so zotavením
- prechodové diagramy
- vzájomná poloha deklarácií volanej a volajúcej procedúry pri zmene zobrazenia
- upraviť pravidlo tak, aby bolo "správne" (parsovateľné LL(1) parserom)
- def. gramatiku pre if, while, repeat, ..., translačné schémy
- pravidlo typ. kontroly pre monomorfné operácie (čo je nad čiarou, pod čiarou), Unit Type, Any Type
- previesť pravidlo BNF do EBNF
- gramatika postupnosti príkazov
- syntax príkazu if a jump, ich preklad, jump, falsejump
- syntax jazyka LL(1) - ľavá faktorizácia, ...
- význam atribútov inštrukcie begin
- syntax deklarácie premenných, analýza
- keď A a B sú typ. premenné typu záznam, k čomu dochádza pri porovnaní typov (substitúcia a unifikácia)
- napísať syntax EBNF v EBNF a BNF v BNF
- strom odvodenia v EBNF
- čo reprezentuje strom odvodenia, syntaktický strom, typové výrazy
- arita
- ako bude vyzerať aktivačný záznam s begin<2, 4>

Som pocula, ze take nieco ma byt

ursus

So this router walks into the doctor's office...
- Doctor, it hurts when IP.


revelc

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
Č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! "

ursus

So this router walks into the doctor's office...
- Doctor, it hurts when IP.

totaluser

- lexikálna gramatika

to co sa tym mysli?
vedel by niekto v skratke povedat, vdaka

ursus

ja som v tej ulohe dal ze
cislica : A = (0|1)
cislo: {A}A

bullshit? ci treba ten ebnf crap ?
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

ursus

#489
A -> B {d E} (c|F)

A(){
 B();
 while (sym == d){
    getsymbol();
    E();
  }
  switch(sym){
     case c: getsymbol();
                break;
     case HF: F();
                  break;
  }
}


A(){
 B(d |c |HF);
 check(d | K)
 while (sym == d){
    if symbol == d
       getsymbol();
    else
        error(d | K)
    E(d | K);
    check(d | K);
  }
  check(c | HF | K );
  switch(sym){
     case c: getsymbol();
                break;
     case HF: F(K);
                  break;
      default:
               error(K);
  }
}


no vobec si nie som isty :/, anyone?
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

revelc

#490
A -> B {d E} (c|F)
A(K){
 B(d | H(E) | c | H(F) | K);
 check(d | H(E) | c | H(F) | K)
 while ( sym & d |H(E) ){
    if symbol == d
       getsymbol();
    else
        error(d | H(E) | c | H(F)| K )
    E(d | H(E) | c | H(F) | K);
    check(d | H(E) | c | H(F) | K);
  }
  check(c | H(F) | K );
  switch(sym){
     case c: getsymbol();
                break;
     case H(F): F(K);
                  break;
      default:
               error(K);
  }
}
Č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! "

ursus

#491
hmmm, takze vsetko tam tlacis akokeby?

co takto potom
Stat -> "input""id"  |   "print" Expr   | "id""=" Expr

skus, plz

do toho prveho checku pred switch by som podla tej logiky dal tympadom (input | id | print | H_Expr | id | rovnasa | H_Expr | K)
ale v prednaskach su iba firsty ako keby, cize (input | pirint | id)
..
.
.
?
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

revelc

#492
Stat -> "input" "id"  |   "print" Expr   | "id" "=" Expr

Stat(K){
  check(input | print | id | K )
  switch(symbol){
     case input: getsymbol()
                     if (symbol == id)
                         getsymbol()
                     else
                         error(K)
     case print:getsymbol()  
                    Expr(K)
     case id: getsymbol()
                 if (symbol=="=")
                    getsymbol()
                 else
                    error(H(Expr) | K)
                 Expr(K)  
     default: error(K)
                   
  }

}

Inak odkial mas tie pravidla ?  :)
Č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! "

ursus

So this router walks into the doctor's office...
- Doctor, it hurts when IP.

totaluser

ved napis aj sem pls
nebud taky sukromnik ;)

ursus

So this router walks into the doctor's office...
- Doctor, it hurts when IP.

viki

nevie mi niekto spravit zadania a vysvetlit to lebo som z toho debil..samozrejme nebude to zadarmo..dakujem pekne


majkyy

co su to tie jump, falsejump a prepis while, if atd pomocou nich do postfixu?  bu bu bu

NDK

Quote from: majkyy on  13.12.2010, 16:31:53
co su to tie jump, falsejump a prepis while, if atd pomocou nich do postfixu?  bu bu bu

Co tu moces hlavy Majky 19?? :D