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

revelc

Quote from: neucilasom on  09.11.2010, 00:34:52
Quote from: sulo on  09.11.2010, 00:31:00
(5/6)*8
Potom ta asociativita je naco dobra ??
Napr. ak by bolo 100/10/2*8 tak (100/(10/2))*8
Č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! "

fail

#251
mam otazku... ma zmysel riesit pri || asociaciu doprava (x ||(x||x)) ? kedze jedina false hodnota je pri "false || false || false" (resp iba ked je vsetko false)... ak sa tam vyskytne hoci len jedno true tak uz to bude cele true...

baf62

Quote from: fail on  09.11.2010, 01:26:41
mam otazku... ma zmysel riesit pri || asociaciu doprava (x ||(x||x)) ? kedze jedina false hodnota je pri "false || false || false" (resp iba ked je vsetko false)... ak sa tam vyskytne hoci len jedno true tak uz to bude cele true...
nema.. a ani pri && .. jedine ked je bez asociativity.. vtedy sa to prejavi.. ale pri doprava a dolava nie

mishelka

Quote from: ursus on  09.11.2010, 00:05:36
omg btw, terminalne su napr + - ( ) value a neterminalne su expr, term, add ci naopak? ;D
Terminalne po slovensky znamena "ukoncujuce" a neterminalne "neukoncujuce"
Cize terminalne su tie, pri ktorych skoncis ("terminujes") prechod gramatikou. Cize +, -, zatvorky, value (realne hodnoty, ktore uz nemozes zmenit na nic ine). V AST su to vsetky listove uzly.
Neterminalne su vsetky lave strany pravidiel - ak sa niekde vyskytuje, musis vojst do pravidla pre tento neterminal, aby si urcil jeho hodnotu.
  

#define TRUE FALSE //Happy debugging suckers :D

Eriik

mám v zadaní :
&& - bez asociativity, priorita 1
|| - as. sprava do ľava, priorita 2

je toto dobre ?

expr -> and [ "&&" and ]
and -> term { "||" and}
term -> <value> | "(" expr ")"

Makaveli

kto mi vysvetli zadanie c. 2 staci vysvetlit ako to implementujem ... znie to blbo ale no co neviem to co uz
Máte pravdu. Jsem blázen. Ale víte co ještě? Je mi to u prdele:P KED NIECO NEVIES TUKE FORUM VYRIESI :)))

Makaveli

Quote from: Eriik on  09.11.2010, 18:56:32
mám v zadaní :
&& - bez asociativity, priorita 1
|| - as. sprava do ľava, priorita 2

je toto dobre ?

expr -> and [ "&&" and ]
and -> term { "||" and}
term -> <value> | "(" expr ")"

podla mna je to dobre ja som to robil tak isto len nezabudni to pisat s velkymi zaciatocnými pismenami a plus Value ma asi byt BoolValue kedze to moze byt len tru ale false ale mozem sa myliť a tym padom to mam zle aj ja ale ...(
Máte pravdu. Jsem blázen. Ale víte co ještě? Je mi to u prdele:P KED NIECO NEVIES TUKE FORUM VYRIESI :)))

Safyia

Quote from: Makaveli on  09.11.2010, 21:53:02
Quote from: Eriik on  09.11.2010, 18:56:32
mám v zadaní :
&& - bez asociativity, priorita 1
|| - as. sprava do ľava, priorita 2

je toto dobre ?

expr -> and [ "&&" and ]
and -> term { "||" and}
term -> <value> | "(" expr ")"

podla mna je to dobre ja som to robil tak isto len nezabudni to pisat s velkymi zaciatocnými pismenami a plus Value ma asi byt BoolValue kedze to moze byt len tru ale false ale mozem sa myliť a tym padom to mam zle aj ja ale ...(
myslim, ze nemylis, je to tak... my mame pri zneni zadani, ze priorita 2 je vyssia ako 1... taze mas pravdu tusim

Eriik

no, ale práve som sa dočítal, že pri pravej asociativite sú iné zátvorky, takže asi by to malo byť takto :

expr -> and [ "&&" and ]
and -> term [ "||" and ]
term -> <value> | "(" expr ")"

Safyia

Quote from: Eriik on  09.11.2010, 23:12:33
no, ale práve som sa dočítal, že pri pravej asociativite sú iné zátvorky, takže asi by to malo byť takto :

expr -> and [ "&&" and ]
and -> term [ "||" and ]
term -> <value> | "(" expr ")"
aha hej zatvorky som si nevsimala :D
http://hornad.fei.tuke.sk/~plocica/ppj/priorita.html tu to mas aj so zatvorkami aj kde ma byt aky lavy a pravy operator

Eriik

ešte mám jednú otázku ... po upravení interpretera má program počítať aj sčítanie odčítanie ? alebo stačí aby fungovalo "&&" a "||" ?

Eriik


dotko

ak mam zadanie * ma prioritu 1 a asociativitu dolava a / ma prioritu 2 a je bezasiciativne tak gramatika je takto: (?)

Expr -> A {<*> Expr }
A->Term [</> Term]
Term -> <value> | <(> Expr <)>

velmi tomu nechapem tak neviem ci to je ok, lebo neviem nakodit to delenie bez asociativnosti, dik

ursus

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

Makaveli

#264
ako spravit napr toto false||true&&false aby mi najskor bralo && kedze to ma vysiu prioritu lebo mne to vobec neberie tie vysie priority inac mi to ide co som spravil zle??? alebo najde sa niekto kto mi skontroluje ci je to dobre ???
Máte pravdu. Jsem blázen. Ale víte co ještě? Je mi to u prdele:P KED NIECO NEVIES TUKE FORUM VYRIESI :)))

Tomyas

Chlapci need help s mojim zadanim, som z toho troska vygumovany...

fail

Quote from: Makaveli on  10.11.2010, 22:30:05
ako spravit napr toto false||true&&false aby mi najskor bralo && kedze to ma vysiu prioritu lebo mne to vobec neberie tie vysie priority inac mi to ide co som spravil zle??? alebo najde sa niekto kto mi skontroluje ci je to dobre ???
ved ked mas napisanu gramatiku... tak od dola smerom hore priorita klesa (v kode su tie funkcie naopak)... a podla toho si do funckii daj && alebo ||

Makaveli

#267
Quote from: fail on  10.11.2010, 23:38:19
Quote from: Makaveli on  10.11.2010, 22:30:05
ako spravit napr toto false||true&&false aby mi najskor bralo && kedze to ma vysiu prioritu lebo mne to vobec neberie tie vysie priority inac mi to ide co som spravil zle??? alebo najde sa niekto kto mi skontroluje ci je to dobre ???
ved ked mas napisanu gramatiku... tak od dola smerom hore priorita klesa (v kode su tie funkcie naopak)... a podla toho si do funckii daj && alebo ||
tak mam zadanie ze && ma prioritu 2 a z prava a potom || ma prioritu 1 a bez asoxiativi a plus tie zatvorky
ma byt takto ta gramatika ?? Expr -> And [ <||> And]
                                       And -> Term [<&&> And]
                                       Term -> <value> | <(> Expr <)>
Máte pravdu. Jsem blázen. Ale víte co ještě? Je mi to u prdele:P KED NIECO NEVIES TUKE FORUM VYRIESI :)))

luky

Quote from: Makaveli on  10.11.2010, 23:45:46
Quote from: fail on  10.11.2010, 23:38:19
Quote from: Makaveli on  10.11.2010, 22:30:05
ako spravit napr toto false||true&&false aby mi najskor bralo && kedze to ma vysiu prioritu lebo mne to vobec neberie tie vysie priority inac mi to ide co som spravil zle??? alebo najde sa niekto kto mi skontroluje ci je to dobre ???
ved ked mas napisanu gramatiku... tak od dola smerom hore priorita klesa (v kode su tie funkcie naopak)... a podla toho si do funckii daj && alebo ||
tak mam zadanie ze && ma prioritu 2 a z prava a potom || ma prioritu 1 a bez asoxiativi a plus tie zatvorky
ma byt takto ta gramatika ?? Expr -> And [ <||> And]
                                       And -> Term [<&&> And]
                                       Term -> <value> | <(> Expr <)>

no ja som mal úplne rovnakú chybu išlo to normálne len to ignorovalo priority skontroruj getsymbol() či ich máš všade kde majú byť

neucilasom

ten priklad vcera na cviku o 16:50 na pisomke sa mal chapat ako jeden alebo ako dva lebo polka ho chapala tak a polka hentak ja si myslim ze to boli priklady 2

fail

ja som ho pochopil ako dva... ale to je v podstate jedno si myslim, lebo mali rovnaku gramatiku...

Makaveli

Quote from: luky on  11.11.2010, 00:56:37
Quote from: Makaveli on  10.11.2010, 23:45:46
Quote from: fail on  10.11.2010, 23:38:19
Quote from: Makaveli on  10.11.2010, 22:30:05
ako spravit napr toto false||true&&false aby mi najskor bralo && kedze to ma vysiu prioritu lebo mne to vobec neberie tie vysie priority inac mi to ide co som spravil zle??? alebo najde sa niekto kto mi skontroluje ci je to dobre ???
ved ked mas napisanu gramatiku... tak od dola smerom hore priorita klesa (v kode su tie funkcie naopak)... a podla toho si do funckii daj && alebo ||
tak mam zadanie ze && ma prioritu 2 a z prava a potom || ma prioritu 1 a bez asoxiativi a plus tie zatvorky
ma byt takto ta gramatika ?? Expr -> And [ <||> And]
                                       And -> Term [<&&> And]
                                       Term -> <value> | <(> Expr <)>

hladam som nenasiel ak som nasiel ine mi zase nejde kaslem to :DD

no ja som mal úplne rovnakú chybu išlo to normálne len to ignorovalo priority skontroruj getsymbol() či ich máš všade kde majú byť
Máte pravdu. Jsem blázen. Ale víte co ještě? Je mi to u prdele:P KED NIECO NEVIES TUKE FORUM VYRIESI :)))

dotko

Quote from: dotko on  10.11.2010, 20:50:31
ak mam zadanie * ma prioritu 1 a asociativitu dolava a / ma prioritu 2 a je bezasiciativne tak gramatika je takto: (?)

Expr -> A {<*> Expr }
A->Term [</> Term]
Term -> <value> | <(> Expr <)>

kde mam chybu ak to robim podla toho? :/

int del()
{
    int leftOp, rightOp;
    leftOp = term();
   
    while ((E symbol) & (E DIV ))
   {
     getsymbol(); rightOp = term();
      
        leftOp = leftOp / rightOp;
          term();
          printf("%d ",leftOp);
   }
   return leftOp;
}

int expr()
{ int leftOp, rightOp;
   leftOp = del();
   while ((E symbol) & (E MUL ))
   {
          if(symbol != DIV){
                  getsymbol();
                  }
      getsymbol();
       rightOp = expr();
   
         
       leftOp = leftOp * rightOp ;
         
   }
   return leftOp;
}

cenki

while ((E symbol) & (E DIV ))
daj IF

Pjotr

musí to zadanie podporovať aj zátvorkované výrazy - teda zátvorky vôbec? alebo len tie dva operátory kt. mam zadané?  :D bv :D