Author Topic: FJAP  (Read 121235 times)

esperian

  • Hero Member
  • *****
  • Posts: 873
    • View Profile
Re: FJAP
« Reply #375 on: 01.11.2011, 13:44:33 »
1.spustis computron
2.LOAD
3.najdes si ten bin subor v PC
4.kliknes nanho a das open
5. RUN
 ;D

ultimate

  • Sr. Member
  • ****
  • Posts: 337
    • View Profile
Re: FJAP
« Reply #376 on: 01.11.2011, 16:58:05 »
aku syntakticku chybu by malo vypisat toto?

1&&(1

ze ocakava pravu zatvorku ? Alebo ze ocakava podvyraz ?

Mitwoc

  • Jr. Member
  • **
  • Posts: 64
    • View Profile
Re: FJAP
« Reply #377 on: 01.11.2011, 17:52:29 »
Pravu zatvorku... aspon mne tak robi, tak dufam, ze to je dobre  ;D

ultimate

  • Sr. Member
  • ****
  • Posts: 337
    • View Profile
Re: FJAP
« Reply #378 on: 01.11.2011, 18:46:28 »
co je podvyraz ? napr 2*3 alebo aj so znamienkom vpredu  *2*3 ?

SteLa

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: FJAP
« Reply #379 on: 01.11.2011, 19:45:28 »
Mam problem, je vyraz, ktory ked zadam tak mi v computrone vyjde zly vysledok.

- zotavenie mi spravi v poriadku aj v computrone aj v interpretatore
- v interpretatore dobre vyhodnoti vyraz
- kod vygenerovany pre computron je tiez v poriadku(kontrolovali sme to dvaja), ked si ho prejdem tak vsetko je tak ako ma byt O.o

Stalo sa to uz niekomu?? Kde moze byt chyba?? Lebo nezda sa mi ze by sa Kollar mohol v computrone pomylit:D 
 
« Last Edit: 01.11.2011, 19:53:25 by SteLa »

Painkiller03

  • Full Member
  • ***
  • Posts: 166
    • View Profile
Re: FJAP
« Reply #380 on: 01.11.2011, 19:49:59 »
kupim zadanie , ak niekto robi / predava sm dikes

SteLa

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: FJAP
« Reply #381 on: 01.11.2011, 19:54:54 »
co je podvyraz ? napr 2*3 alebo aj so znamienkom vpredu  *2*3 ?

ked mas 1*(2/(3*4))   3*4 je podvyraz a sucasne 2/(3*4) je podvyraz... podvyraz *2*3 by bol zvlastny

ultimate

  • Sr. Member
  • ****
  • Posts: 337
    • View Profile
Re: FJAP
« Reply #382 on: 01.11.2011, 20:04:48 »
potom aky ma zmysel chybova hlaska, ze ocakava sa /,* alebo podvyraz ? .... ked das napr. 2*3y*3  ... tam napise ze ocakava * / podvyraz ... ale tam mi velmi nesedi miesto toho y-ka podvyraz typu (2*3)

SteLa

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: FJAP
« Reply #383 on: 01.11.2011, 20:27:29 »
tak si tam daj nu hlasku^^ podvyraz vby som skor cakala medzi   2*3*y*3  alebo tak neak, ocakava podvyraz alebo hodnotu

Hessesian

  • Newbie
  • *
  • Posts: 49
    • View Profile
Re: FJAP
« Reply #384 on: 01.11.2011, 20:42:33 »
Taka otazka

Code: [Select]
void expr(SetType keys)
{
// Pomocna premenna na pamatanie operatora
SymType symbol2 = PLUS;
SetType loopkeys, allkeys;
loopkeys = E PLUS | E MINUS | HTerm;
allkeys = loopkeys | keys;
// Generujem kod pre prvy podvyraz
term(allkeys);
check(1, allkeys);
while( E symbol & loopkeys ) {
// Odpamatanie operatora a jeho vypis
if( E symbol & (E PLUS | E MINUS)) {
symbol2 = symbol;
putWord(LDAM);
putWord((symbol2==PLUS)?'+':'-');
putWord(OUTC);
getsymbol();
}
....

Naco pouzivame vsade to Ecko, viem ze posuva bity ale preco to robime, dalej co robi ta podmienka vo while ? a preco je vsade to E ? :D

SteLa

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: FJAP
« Reply #385 on: 01.11.2011, 21:36:42 »
Taka otazka

Code: [Select]
void expr(SetType keys)
{
// Pomocna premenna na pamatanie operatora
SymType symbol2 = PLUS;
SetType loopkeys, allkeys;
loopkeys = E PLUS | E MINUS | HTerm;
allkeys = loopkeys | keys;
// Generujem kod pre prvy podvyraz
term(allkeys);
check(1, allkeys);
while( E symbol & loopkeys ) {
// Odpamatanie operatora a jeho vypis
if( E symbol & (E PLUS | E MINUS)) {
symbol2 = symbol;
putWord(LDAM);
putWord((symbol2==PLUS)?'+':'-');
putWord(OUTC);
getsymbol();
}
....

Naco pouzivame vsade to Ecko, viem ze posuva bity ale preco to robime, dalej co robi ta podmienka vo while ? a preco je vsade to E ? :D

keby si nedal E pred symbol tak ti tam da cislo symbolu napriklad 4 a porovnava ho s cislom aktualnych loopkeys, ktore je binarne.  Takze aj ked je symbol obsiahnuty v zozname loopkeys tak ti vypise chybu lebo 4 s tym nebude vediet porovnat. Bez E sa pytas naprikald ci  4 patri do 11101, s E sa pytas ci 10000 patri do 11101 .. tak neako by to malo byt.. respektive mne to tak funguje.

SteLa

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: FJAP
« Reply #386 on: 01.11.2011, 21:39:14 »
Inak ked dam ako vstupny vyraz,resp. hodnotu 1, tak je v poriadku ked mi to vyhodnoti ako 1 bez syntaktickych chyb? Lebo vpodstate tam nic nie je zleO.o

mino

  • Full Member
  • ***
  • Posts: 181
    • View Profile
Re: FJAP
« Reply #387 on: 01.11.2011, 21:41:30 »
Code: [Select]
// Mul -> Term [ <*> Term ]
int Mul(SetType keys) {
int leftOp, rightOp;
SetType allkeys;

allkeys=(E SMUL) | HTerm | keys;
leftOp=Term(allkeys);
check(3,allkeys);
if((E symbol) & ((E SMUL) | HTerm)) {
if(symbol==SMUL) getsymbol(); else error(4,HTerm | keys);
rightOp = Term(keys);
leftOp = leftOp * rightOp;
}

return leftOp;
}

Vie mi niekto povedat, ci mam dobre tuto funkciu pre horeuvedenu gramatiku?
Mam pocit, ze tu niekde bude nejaka chyba, lebo zvysne funkcie si myslim, ze su OK, ale vyraz 5*4*3 mi vyhodnoti ako 6.  bu

//Edit: Podla zvratenej inf. logiky to asi bude dobre: 5*4=20. Kedze * je neasoc. , program ocakava /. Sice ho nenajde, ale "zotavi sa z toho" a predpoklada, ze tam / je => 20/3 = 6. :D :D
« Last Edit: 01.11.2011, 22:34:11 by mino »

mino

  • Full Member
  • ***
  • Posts: 181
    • View Profile
Re: FJAP
« Reply #388 on: 01.11.2011, 22:01:40 »
Inak ked dam ako vstupny vyraz,resp. hodnotu 1, tak je v poriadku ked mi to vyhodnoti ako 1 bez syntaktickych chyb? Lebo vpodstate tam nic nie je zleO.o
Aj ja to tak mam.

xxx3

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: FJAP
« Reply #389 on: 01.11.2011, 22:46:37 »
ten Computron ako funguje ? najskor spravi to co ma vyssiu prioritu, vypise cely priklad na obrazovku a potom spravi postupne operacie s nizsou prioritou , da = a napise vysledok ?

Hessesian

  • Newbie
  • *
  • Posts: 49
    • View Profile
Re: FJAP
« Reply #390 on: 01.11.2011, 23:15:07 »
Dalsia vec co mi nejde do hlavy je ako mozeme mixovat asociativitu v kode ? Mam napriklad && pravo a || lavo, ako sa to prejavi v preklade a ako to mam implementovat a ako to ovplivni vysledok ?

bEnd3r

  • Full Member
  • ***
  • Posts: 143
    • View Profile
Re: FJAP
« Reply #391 on: 01.11.2011, 23:15:14 »
vyraz 1a4*2 ma vyhodnotit ako 14*2, ňe? ci to uz netreba osetrovat?

Tren

  • Moderator
  • Hero Member
  • *****
  • Posts: 1060
  • Fortes fortuna adiuvat
    • View Profile
Re: FJAP
« Reply #392 on: 01.11.2011, 23:28:11 »
ludia co ste pri Bacikovej, zotavenie ste robili podla prezentacie vsetko?

bEnd3r

  • Full Member
  • ***
  • Posts: 143
    • View Profile
Re: FJAP
« Reply #393 on: 01.11.2011, 23:53:59 »
tren: no snazil som sa.. len to este neni stopercentne

xxx3

  • Hero Member
  • *****
  • Posts: 1010
    • View Profile
Re: FJAP
« Reply #394 on: 01.11.2011, 23:55:49 »
LDAM 01  ... nacita do akumulatora ... ale co ? Hodnotu z adresy 01 z pamäte alebo odkial ? Co je to 01 ?

SteLa

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: FJAP
« Reply #395 on: 02.11.2011, 00:15:33 »
Ti co mate s Halupkom ako robite ten referat?? On hovoril nieco o postupe, ale tie instrukcie od Bacikovej co su na fore o postupe nic nehovoria, tak neviem ci sa mi to zmesti na A4 ak tam budem pisat slohy o tom co som robilaO.o Vela veci som robilaO.o
« Last Edit: 02.11.2011, 00:18:44 by SteLa »

veteran

  • Hero Member
  • *****
  • Posts: 956
    • View Profile
Re: FJAP
« Reply #396 on: 02.11.2011, 00:18:53 »
Ti co mate s Halupkom ako robite ten referat?? On hovoril nieco o postupe, ale tie instrkcie od Bacikovej co su na fore o postupe nic nehovori, tak neviem ci sa mi to zmesti na A4 ak tam budem pisat slohy o tom co som robilaO.o Vela veci som robilaO.o
Myslíš, že cvičiaci bude pri odovzdávaní čítať celý referát? To by sme zadania odovzdávali na 3 cvičeniach  :D Referát je len pre vedúceho, ten si ho vraj zvykne brávať na skúšku  :) Takže ja to stavím na slohovú prácu, nech je tam toho veľa  :D Ako som počul, Kollár obľubuje husto zaplnený papier  :D ;)

SteLa

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: FJAP
« Reply #397 on: 02.11.2011, 00:21:50 »
Ved preto sa pytam:P Tazee bude sloh:D Na skusku sa viac viac bojim ako na odovzdanie zadania co som si mala dva tyzdne doma kodit..

SteLa

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: FJAP
« Reply #398 on: 02.11.2011, 00:22:46 »
A este daco:D  Zeee nevie niekto neake pekne znenie zadania okrem toho ze Vytvorte intepretator jazyka s dvoma operatrmi. To zahrna aj preklad do computronu ?
« Last Edit: 02.11.2011, 00:28:17 by SteLa »

veteran

  • Hero Member
  • *****
  • Posts: 956
    • View Profile
Re: FJAP
« Reply #399 on: 02.11.2011, 00:30:40 »
A este daco:D  Zeee nevie niekto neake pekne znenie sadania okrem toho ze Vytvorte intepretator jazyka s dvoma operatrmi. To zahrna ajpreklad do computronu ?
Mne napadlo niečo takéto:

Quote
Vytvoriť interpretátor a prekladač zátvorkovaných výrazov do kódu programu Computron VM pre zadané operácie s určenou prioritou a asociativitou. Výpočet v prekladači je potrebné realizovať v postfixnom tvare a použiť zásobník. Do programu je potrebné implementovať funkciu putword() pre zápis inštrukcií do binárneho tvaru. Vygenerovaný súbor *.bin má byť spustiteľný v Computrone VM. V zadaní je podobné realizovať zotavenie z chýb.

A už mám 5 riadkov z referátu  ;D