Tak len toto, niekoho možno poteší :)
http://kpi.fei.tuke.sk/?q=node/34 (http://kpi.fei.tuke.sk/?q=node/34)
Nepoteší :/ lebo v pondelok mi FJP vypĺňa medzeru. A ja nechcem náhradný termín :). Len aby nedošlo k omylu, platí to pre všetkých cvičiacich z FJP?
áno, všetci sa zúčastňujú služobky pokiaľ viem :)
prednasky asi ano :)
edit: :h_lipsrsealed:
Quote
http://kpi.fei.tuke.sk/?q=node/34 (http://kpi.fei.tuke.sk/?q=node/34)
Len cvičenia s ním alebo aj s inímy s cvičiacimi?
Quote from: luky on 21.09.2010, 19:12:09
Len cvičenia s ním alebo aj s inímy s cvičiacimi?
všetky cvičenia, máš tam predsa napísané, že "z dôvodu služobnej cesty
vyučujúcich prednášky ..."
teda aspoň myslím, lebo ja som včera na cviko nešiel, tak dúfam, že nebolo :D
nebolo
INFORMACIA PRE OPAKUJUCICH Z PREDMETU TEORETICKE ZAKLADY INFORMATIKY:
Predmet sa zmenil na Formalne jazyky a prekladace
Externisti chodte k Ing. Vaclavikovi na cvika
Ostatni 8mi chodte z dovodu velkeho poctu studentov ku mne na niektore z cvik. Odporucam vam vsetkym prist na cvicenie v druhom tyzdni, inak nedostanete zadania.
Za pochopenie dakujem. :banana_guitar:
a bude to aj na moodli? Lebo kao pozeram je tam furt tzi a fp...
Quote from: Safyia on 24.09.2010, 17:53:37
a bude to aj na moodli? Lebo kao pozeram je tam furt tzi a fp...
neviem povedat, nemam to bohuzial na starosti.. Ale moodle vam aj tak treba nebude na tento predmet.... :) A ty nebodaj opakujes TZI?
Quote from: mishelka on 24.09.2010, 19:06:08
neviem povedat, nemam to bohuzial na starosti.. Ale moodle vam aj tak treba nebude na tento predmet.... :) A ty nebodaj opakujes TZI?
Ne, nee, neopakujem ja nic, mam premieru :D Len sa tak pytam, lebo novy predmet, tak ze na co sa to bude asi skor podobat... Ake veci stahovat z ftp a tak :D Ale tak nic, uvidime casom :D
myslim ze co sa vam fakt zide su Kollarove skripta (Prekladace, 2009) ale tie na moodli nebudu :)
nemáte to niekto tie skriptá v PC?
http://www.ulozisko.sk/327563/FJaP.pdf
uploadol som ich aj na FTP
na prezentácie z prednášok som sa ho spýtal, povedal že ich nikde nezverejní, lebo je to porušenie autorských práv
Quote from: eminkaa on 25.09.2010, 02:32:08
nemaj boja, my mame tiez premieru :D
Snad to bude ok lebo po tej prednaske neviem co si mam mysliet ze vobec o com to cele je.
A bolo aj celkom zaujimave vidiet vas tam :D fakt ma to potesilo :D :D :D
Mne sa posledne cviko celkom pacilo... Vaclavik aj rozprava zaujimavo aj totie zabavky logicke boli haluz :D A ak som dobre rozumela, bude sa na tych cvikach povacsine programovat, co ma tiez potesilo!! ;D
kedy mate cvicenie z tohto predmetu? lebo ja mam v stredu ako jedinu hodinu a rad by som sa supol k niekomu inemu napr. rano v pondelok
http://www.facebook.com/pages/Lubime-Kollarove-skusky/212156335985?ref=ts (http://www.facebook.com/pages/Lubime-Kollarove-skusky/212156335985?ref=ts)
Quote from: neucilasom on 28.09.2010, 19:46:23
Quote from: eminkaa on 25.09.2010, 02:32:08
nemaj boja, my mame tiez premieru :D
Snad to bude ok lebo po tej prednaske neviem co si mam mysliet ze vobec o com to cele je.
A bolo aj celkom zaujimave vidiet vas tam :D fakt ma to potesilo :D :D :D
:thumbs-up:
ja som to zvykla robit tak, ze som si nosila skripta na prednasky a pozerala som si co bolo a co vysvetloval naviac, to som si pisala.. niektore veci v nich nenajdete :)
len treba v podstate najviac davat pozor na to co vam bude hovorit k programu alebo pisat na tabulu, lebo to sa vam zide na tie zadania :)
sorry vsetkym za zle zadanu adresu na zdroje, ta spravna je tu:
http://hornad.fei.tuke.sk/~kreutzova/FJaP (http://hornad.fei.tuke.sk/~kreutzova/FJaP)
:)
Neviete niekto jak je ta zeusovska stranka?
co bolo dnes na prednaske ? bol vobec Kollar ?
ne
Quote from: neucilasom on 05.10.2010, 18:44:52
Quote from: eminkaa on 05.10.2010, 17:36:02
ne
Chcela som sa na to pozriet ale ked ne ta ne no. neurazam sa v pohode :D
http://zeus.fei.tuke.sk/~ema/fjap/ (http://zeus.fei.tuke.sk/~ema/fjap/)
;)
predavam zadania, piste PM
kedze v C++ som v zivote nerobil potrebujem poradit
mam zadanie a mam ho naprogramovane v cisctom C a funguje a chcem aby takto fungovalo aj v C++
do premennej c typu char nacitavam znak zo vstupu
v jazyku C pouzivam na nacitanie funkciu getch(), konkretne v tejto forme c = getch();
funguje to tak, ze zedavam symboly a hned ako zadam symbol, ktory na danom mieste nemoze byt, vyhodi to hlasku (skace to na ine navestie) pripadne po zadani ukoncovacieho znaku bez nutnosti enteru vyhodi hlasku
takto nejako by som to rad urobil aj v C++ (kedze zadanie musi byt v C++, aj ked ako povedal pan prednasajuci, v neobjektovej podobe by sa to dalo urobit aj v C)
v C++ som pouzil toto c = getc(stdin) no nefunguje to tak ako v C
nejake rady, aku funkciu by som mal v C++ pouzit?
kedy sa ma odovzdat 1. zadanie ?
Quote from: totaluser on 05.10.2010, 23:15:46
kedze v C++ som v zivote nerobil potrebujem poradit
mam zadanie a mam ho naprogramovane v cisctom C a funguje a chcem aby takto fungovalo aj v C++
do premennej c typu char nacitavam znak zo vstupu
v jazyku C pouzivam na nacitanie funkciu getch(), konkretne v tejto forme c = getch();
funguje to tak, ze zedavam symboly a hned ako zadam symbol, ktory na danom mieste nemoze byt, vyhodi to hlasku (skace to na ine navestie) pripadne po zadani ukoncovacieho znaku bez nutnosti enteru vyhodi hlasku
takto nejako by som to rad urobil aj v C++ (kedze zadanie musi byt v C++, aj ked ako povedal pan prednasajuci, v neobjektovej podobe by sa to dalo urobit aj v C)
v C++ som pouzil toto c = getc(stdin) no nefunguje to tak ako v C
nejake rady, aku funkciu by som mal v C++ pouzit?
Skús cin.get();
Quote from: totaluser on 05.10.2010, 23:15:46
(kedze zadanie musi byt v C++, aj ked ako povedal pan prednasajuci, v neobjektovej podobe by sa to dalo urobit aj v C)
Kto to vravel?? Kedy?? Sak to na prednaske aj Vaclavik kodil v C, tak preco by som ja mala v C++? :D
ved hej, aj ja som to urobil najprv v plain C
http://people.tuke.sk/jan.kollar/FJaP/Organizacia%20predmetu.pdf (http://people.tuke.sk/jan.kollar/FJaP/Organizacia%20predmetu.pdf)
Používaný jazyk
C++
To hej, ale zas neverim, ze si budu zakladat na tom ci je to C alebo C++. Predsa len, implementacia je uz len zaver, za desat minut hotove, pointa je mat dobry navrh. A ked to kodil v C, a nikto ani nijak neprizvukoval, ze my to mame robit v C++... Hlavne aby to slo! ;D
kodi sa v C++ ale nie objektovo ale proceduralne
Quote from: pooler on 28.09.2010, 18:58:16
http://www.ulozisko.sk/327563/FJaP.pdf
uploadol som ich aj na FTP
na prezentácie z prednášok som sa ho spýtal, povedal že ich nikde nezverejní, lebo je to porušenie autorských práv
to su stare skripta, treba "Prekladace" z 2009 od Kollara...
Quote from: dEVIANT on 05.10.2010, 23:27:10
Quote from: totaluser on 05.10.2010, 23:15:46
kedze v C++ som v zivote nerobil potrebujem poradit
mam zadanie a mam ho naprogramovane v cisctom C a funguje a chcem aby takto fungovalo aj v C++
do premennej c typu char nacitavam znak zo vstupu
v jazyku C pouzivam na nacitanie funkciu getch(), konkretne v tejto forme c = getch();
funguje to tak, ze zedavam symboly a hned ako zadam symbol, ktory na danom mieste nemoze byt, vyhodi to hlasku (skace to na ine navestie) pripadne po zadani ukoncovacieho znaku bez nutnosti enteru vyhodi hlasku
takto nejako by som to rad urobil aj v C++ (kedze zadanie musi byt v C++, aj ked ako povedal pan prednasajuci, v neobjektovej podobe by sa to dalo urobit aj v C)
v C++ som pouzil toto c = getc(stdin) no nefunguje to tak ako v C
nejake rady, aku funkciu by som mal v C++ pouzit?
Skús cin.get();
Na solarisoch vam pojde
getc(stdin) a getchar()
na ostatnych (netbeans & visual studio & snad aj devc++) je mozne stale pouzit
getch() a getchar()
ale na NB si stiahnite balik compilerov
mingw (nie cygwin), bez toho vam getch() nezhltne...
mate niekto napisany ten program co pisal Vaclavik na prednaske???
Mal by fungovať.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char c_in;
s0: c_in = getch(); //nacita sa znak
printf("%c", c_in); //vypise
switch(c_in) {
case 'a' : goto s1;
default : goto reject;
}
s1: c_in = getch(); //nacita sa znak
printf("%c", c_in); //vypise
switch(c_in) {
case 'a' : goto s2;
case '#' : goto accept;
default : goto reject;
}
s2: c_in = getch(); //nacita sa znak
printf("%c", c_in); //vypise
switch(c_in) {
case 'b' : goto s1;
default : goto reject;
}
accept: printf("/nvstup je spravny");
getch();
return 0;
reject: printf("/nvstup nie je spravny");
getch();
return 0;
system("PAUSE");
return 0;
}
Mam otazku k veci? Ked robim prechodovy graf a mam napr ({a}|{b}) [a] a na zaciatku ci dostanem "a" ci "b" som stale na tom istom mieste neviem sa pohnut lebo stale este mozem dostavat "a" alebo "b" do nekonecna ne?
Quote from: eminkaa on 06.10.2010, 20:44:23
ee ee, ty mozes byt aj na druhom 'a' aj na konci
A nie je potom ten prechodovy diagram prilis kratky ? Zacne sa a hned sa aj skonci? :D
A este jedna moja otravna otazka :D aky je rozdiel medzi {a} a {aa}
ty si podla potreby na tom 'a', ktore ti vyhovuje :)
{aa} su opakujuce sa pary 'aa'... kym {a} je opakujuce 'a'... retazec aaa ti do prveho ({aa}) nesedi, do druheho ({a}) uz ano
Quote from: Agamemnon on 06.10.2010, 20:56:36
ty si podla potreby na tom 'a', ktore ti vyhovuje :)
{aa} su opakujuce sa pary 'aa'... kym {a} je opakujuce 'a'... retazec aaa ti do prveho ({aa}) nesedi, do druheho ({a}) uz ano
Cize v prechodovom diagrame mozem mat v jednom kruzku napisane aa?
normalne dve gulky za sebou s "a"
Quote from: neucilasom on 06.10.2010, 20:59:47
Quote from: Agamemnon on 06.10.2010, 20:56:36
ty si podla potreby na tom 'a', ktore ti vyhovuje :)
{aa} su opakujuce sa pary 'aa'... kym {a} je opakujuce 'a'... retazec aaa ti do prveho ({aa}) nesedi, do druheho ({a}) uz ano
Cize v prechodovom diagrame mozem mat v jednom kruzku napisane aa?
preco by si nemohla? :) budes mat jednu gulku, kde budes mat 'aa' a pre {aa} budes mat sipku z tej gulky znovu do nej...
Quote from: ursus on 06.10.2010, 21:13:49
normalne dve gulky za sebou s "a"
okej, ide to aj takto... budes mat 2 gulky, v kazdej 'a' a pre {aa} pojde sipka z druhej gulky do prvej - tj. dostanes cyklus
ked sa uz o tom tak veselo bavite, tak by som potreboval jednu radu. akurat studujem tie prech. grafy a ked mam na zaciatku napr. aab tak v tom pripade mi token moze skocit aj na b alebo len a ? cize token zakreslim nejak takto ? napr. ●aa●b. ide mi o to ci sa to ma vetvit aj na b alebo sa to bere ako celok aab.
ak mas cisto aab, tak musis zadat aab a ziadny iny vstup nevyhovuje. Ak mas kadejak {a}{a}{b}, tak vtedy mozes zacat ktorymkolvek pismenom
Quote from: Safyia on 06.10.2010, 21:55:23
ak mas cisto aab, tak musis zadat aab a ziadny iny vstup nevyhovuje. Ak mas kadejak {a}{a}{b}, tak vtedy mozes zacat ktorymkolvek pismenom
aj skoncit ktorymkolvek pismenom... plus to {a} je tam zbytocne 2x
Quote from: Safyia on 06.10.2010, 21:55:23
ak mas cisto aab, tak musis zadat aab a ziadny iny vstup nevyhovuje. Ak mas kadejak {a}{a}{b}, tak vtedy mozes zacat ktorymkolvek pismenom
takze to dam ako sipka --aab--> alebo ako ---a---> ---a---> --b---> ? lebo som myslel ze to uz chapem no po tomto... :o
lebo keby som mal napr. aab {ab} [bb] tak vravis ze vstup bude aab a potom co s tymy nasledujucimi ?
//nevermind uz to zacinam chapat :D
Streda - 14:15 - 15:45:
FJaP - DKA:
http://www.uloz.to/6104369/fjap-dka-zip
-To čo som posielal aj na maily...komu nedošlo tak cucajte...
Quote from: Agamemnon on 06.10.2010, 21:58:38
Quote from: Safyia on 06.10.2010, 21:55:23
ak mas cisto aab, tak musis zadat aab a ziadny iny vstup nevyhovuje. Ak mas kadejak {a}{a}{b}, tak vtedy mozes zacat ktorymkolvek pismenom
aj skoncit ktorymkolvek pismenom... plus to {a} je tam zbytocne 2x
:D joj ja viem to bola nazorna ukazka, s tymi istymi pismenkami netreba na za slovicka chytat :P
mno tie nasledujuce mas predsa podla zatvoriek
{} - nachadza sa 0-nkrat
[] - moze ale nemusi sa nachadzat 1x
teda aab musi byt, potom nemusi ale moze byt n-krat ab (ale ked je tam a musi byt aj b, prosto obe), a potom tam je 1x alebo ani raz bb (ale zas plati, ze tam musi byt bb a ne len b)
nemohli by ste mi niekto objasnit odovzdavania zadani a ziskanie zapoctu? som z toho kus mimo..
ako odovzdam zadanie? na papieri - program v c++ a tu schemu? alebo staci prist s usbckom na ktorom to je v digitalnej forme alebo staci len program alebo aj aj alebo ako to vlastne je? a co za kolko bodov? ako je rozdeleny zapocet a skuska?
dikes
Quote from: Safyia on 06.10.2010, 23:13:19
Quote from: Agamemnon on 06.10.2010, 21:58:38
Quote from: Safyia on 06.10.2010, 21:55:23
ak mas cisto aab, tak musis zadat aab a ziadny iny vstup nevyhovuje. Ak mas kadejak {a}{a}{b}, tak vtedy mozes zacat ktorymkolvek pismenom
aj skoncit ktorymkolvek pismenom... plus to {a} je tam zbytocne 2x
:D joj ja viem to bola nazorna ukazka, s tymi istymi pismenkami netreba na za slovicka chytat :P
mno tie nasledujuce mas predsa podla zatvoriek
{} - nachadza sa 0-nkrat
[] - moze ale nemusi sa nachadzat 1x
teda aab musi byt, potom nemusi ale moze byt n-krat ab (ale ked je tam a musi byt aj b, prosto obe), a potom tam je 1x alebo ani raz bb (ale zas plati, ze tam musi byt bb a ne len b)
ja som to nie kvôli tebe napísal... ale niektorí sa tu pýtali vážne divné veci už, tak som to len dokončil... aby sa nezačali pýtať aj na toto...
chcem sa spytat ked mam [bb] tak token co je prednimi patri obom b [.bb]a skoci ten token za obe b alebo skoci token len za to prve b dik
Len za prvé b.
Poprosím, zadanie č. 1 s Václavíkom o 13:30 v pondelok.
Má byť:
[a|b]a{a}{b}a
alebo:
[a|b]a{a}[b]a
?
Quote from: Shwollo on 07.10.2010, 16:15:03
Quote from: cenki on 07.10.2010, 05:55:42
Má byť:
[a|b]a{a}{b}a
Thanks a lot...
PS: Safyia ! Daj si facku ! A nabudúce opisuj poriadne :D
viete mi niekto poslat stranku co kreutzova v piatok na cviku davala? :trestac:
Quote from: cenki on 07.10.2010, 16:31:21
Quote from: Shwollo on 07.10.2010, 16:15:03
Quote from: cenki on 07.10.2010, 05:55:42
Má byť:
[a|b]a{a}{b}a
Thanks a lot...
PS: Safyia ! Daj si facku ! A nabudúce opisuj poriadne :D
hops, sry :D
vie niekto dat zadanie c.2 sme? Pre istotu ;D
A majky niekde stranu dve dozadu je link
Quote from: majkyy on 07.10.2010, 18:44:09
viete mi niekto poslat stranku co kreutzova v piatok na cviku davala? :trestac:
http://hornad.fei.tuke.sk/~kreutzova/ (http://hornad.fei.tuke.sk/~kreutzova/)
tu máte zadania od Václavíka
Vaclavik to ako chce mat odovzdane? staci tlacena forma ci aj email?
U mna mate na hornade co si mate doniest na zadanie v 4-tom tyzdni... Celkovo za test aj zadanie dokopy bude 8 bodov, rozdelenie urcujeme my.
nazdar kto ma 3. a{a}(aa|bb) zadanie od Václavíka ????
ako spravil som funkci program ale newem ako ma byt spravny navrh programu .
Vlastne mam navrh ale v nom mam 2 konecne stavy , moze to tak byt ?? alebo nie .
program je podla toho navrhu funkcni
Quote from: ecko90 on 08.10.2010, 21:20:51
nazdar kto ma 3. a{a}(aa|bb) zadanie od Václavíka ????
ako spravil som funkci program ale newem ako ma byt spravny navrh programu .
Vlastne mam navrh ale v nom mam 2 konecne stavy , moze to tak byt ?? alebo nie .
program je podla toho navrhu funkcni
Dost tazko sa to cita :D Pridavne mena podla vzoru pekny, ako napr. funkcny sa pisu v singulari s ypsilonom :D
A mozu byt aj dva konecne stavy, inac by sa to podla mna nedalo ani, ak to ma byt DKA.
Zdravim, co vsetko musi obsahovat kompletne zadanie u Pietrikovej? Dakujem
Quote from: maacher222 on 09.10.2010, 03:40:22
Zdravim, co vsetko musi obsahovat kompletne zadanie u Pietrikovej? Dakujem
citaj
http://zeus.fei.tuke.sk/~ema/fjap/Zadanie1.pdf (http://zeus.fei.tuke.sk/~ema/fjap/Zadanie1.pdf)
Quote from: jozzzo on 09.10.2010, 05:37:33
Quote from: maacher222 on 09.10.2010, 03:40:22
Zdravim, co vsetko musi obsahovat kompletne zadanie u Pietrikovej? Dakujem
citaj
http://zeus.fei.tuke.sk/~ema/fjap/Zadanie1.pdf (http://zeus.fei.tuke.sk/~ema/fjap/Zadanie1.pdf)
DIK
ake mozne prikladu su na toto (ab|ba)b[a]{b} ?? poradte ak:
Quote from: tahej on 09.10.2010, 18:22:20
ake mozne prikladu su na toto (ab|ba)b[a]{b} ?? poradte ak:
analyza riesenia:
priklady akceptovanych retazcov "su ake????"
abbbbbbbbbbbb
babab
babbbbbbbbbbbbbbbbbbbbbbbbb
...
...
Quote from: ursus on 09.10.2010, 19:42:46
mam pocit ze sme par sekund od threadu "Predam zadania z FJaP" ;D
BTW... Predam zadania z FjP :D
Poterbujem surne odpoved lebo ma porazi :'( :'( :'(
ak mam "[.bb] .a" a potom ak pride b tak mam "[b.b].a" a potom ak mi pride a tak to potom je "[bb] a."tak ten token pred b mi zmizne? alebo to bude "[.bb] a"
a ak mam " a" a ak mi pride a tak už žiadny token pred b nedavam? takže pokracujem bez token pred b ak mi pride a dik
tokeny si nepamätám... ale je nevalidné, ak ti príde prv "b" a potom "a", ak si na začiatku reťazca... musí ti dôjsť alebo hneď "a", alebo potom 2x "b"... (takže odhadom... už po prvom "b" by ti mal zmiznúť token pred a ostať len token medzi b)
Quote from: sb290up on 09.10.2010, 23:37:10
ak mam "[.bb] .a" a potom ak pride b tak mam "[b.b].a"
ak mas "[.bb] .a" pride ti b, tak sa ti token presunie pred druhe b, ale ten pred a-ckom zmizne a bude "[b.b]a" ak sa nemylim, pretoze ty tam bud mas bb alebo nemas bb, nielen b. Teda ak pride jedno b musi prist aj druhe, nemozes skocit hned na a. V pripade "[bb] a" ti vstup "ba" nevyhovuje, len "bba" alebo "a"
a este ohladom cviciaceho Vaclavika treba mi odovzad cely postup alebo staci mi uz len ten koniec?diky bp
dalsia otazocka :D "{.a}(.aa|.bb) tak ked mi pride b tak tokeny budem mat "{.a}(.a.a|.b.b)" alebo "{a}(aa|b.b) lebo kazdy mi inak vravi ta neviem ... >:(
Quote from: sb290up on 10.10.2010, 02:27:34
dalsia otazocka :D "{.a}(.aa|.bb) tak ked mi pride b tak tokeny budem mat "{.a}(.a.a|.b.b)" alebo "{a}(aa|b.b) lebo kazdy mi inak vravi ta neviem ... >:(
{a}(aa|b.b)
ako má vyzerať dokumentácia u Václavíka?
Quote from: Shwollo on 10.10.2010, 03:07:19
ako má vyzerať dokumentácia u Václavíka?
Ako ju urobis, nic konkretne nepovedal :D Len ze tam ma byt navrh a program. A ak je navrh zly, tak dalej ani nepozera :D
Quote from: sulo on 10.10.2010, 03:17:22
Quote from: sb290up on 10.10.2010, 02:27:34
dalsia otazocka :D "{.a}(.aa|.bb) tak ked mi pride b tak tokeny budem mat "{.a}(.a.a|.b.b)" alebo "{a}(aa|b.b) lebo kazdy mi inak vravi ta neviem ... >:(
Síce nemám toto zadanie, ale zaujímalo by ma, či je toto vôbec možný stav:
{.a}(.aa|.bb)
Máme 3 tokeny, pričom dva z nich sú pred a-čkom. Čo sa stane, keď príde a-čko?
{.a}(aa|.bb) alebo {a}(.aa|.bb) ?
Možno trepem, ale nie je to nedeterministický automat? Keď pri tom istom vstupe môže prejsť do 2 rôznych stavov?
Alebo je to "aa" zbytočné a token sa tam nikdy nedostane?
('
Ked pride a, tak by som skor povedala ze z "{.a}(.aa|.bb)" sa to pri dalsom acku presunie a bude z toho "{.a}(.a.a/.bb)"
ak mam (ab|ba)b[a]{b} tak token na zaciatku bude takto ? (.a.b|.b.a) ?? alebo ako mam to dat .. ???
Quote from: tahej on 10.10.2010, 18:16:04
ak mam (ab|ba)b[a]{b} tak token na zaciatku bude takto ? (.a.b|.b.a) ?? alebo ako mam to dat .. ???
nie, lebo na začiatku musíš zadať to vyznačené. (ab|ba) nemôžeš začať s (ab|ba). takže na začiatku by to malo byť (.ab|.ba). Ak sa nemýlim
Quote from: Shwollo on 10.10.2010, 19:01:28
Quote from: tahej on 10.10.2010, 18:16:04
ak mam (ab|ba)b[a]{b} tak token na zaciatku bude takto ? (.a.b|.b.a) ?? alebo ako mam to dat .. ???
nie, lebo na začiatku musíš zadať to vyznačené. (ab|ba) nemôžeš začať s (ab|ba). takže na začiatku by to malo byť (.ab|.ba). Ak sa nemýlim
potom v prechodovom diagrame na zaciatku davam takto ? ->(a)->(b) alebo ->(b)->(a) ?? btw takto ->(ab) alebo ->(ba)
ja by som to dal takto. Ale nespoliehaj sa na to, že to je dobre
Quote from: Shwollo on 10.10.2010, 19:12:19
ja by som to dal takto. Ale nespoliehaj sa na to, že to je dobre
tak to mam ... len akurat rozmyslam ako dalej mam postupovat s tym tokenom :(
potom zo 4. a 2. stavu pôjde do 5. (ale iba v tom prípade, že zadáš b) Ak zadáš niečo iné tak to nevezme
(ab|ba).b[a]{b}
Quote from: Shwollo on 10.10.2010, 19:16:22
potom zo 4. a 2. stavu pôjde do 5. (ale iba v tom prípade, že zadáš b) Ak zadáš niečo iné tak to nevezme
(ab|ba).b[a]{b}
takze (.ab|.ba)b[a]{b} -> (ab|ba).b[a]{b} -> (ab|ba).b[.a]{b} -> (ab|ba)b[a]{.b}. ???
Quote from: tahej on 10.10.2010, 19:23:33
takze (.ab|.ba)b[a]{b} -> (ab|ba).b[a]{b} -> (ab|ba).b[.a]{b} -> (ab|ba)b[a]{.b}. ???
to b zadávaš len raz. Ty ho tam máš 2x.
(.ab|.ba)b[a]{b} najskôr zadáš prvé
a alebo prvé
b ->
(a.b|b.a)b[a]{b} potom druhé
b alebo druhé
a ->
(ab|ba).b[a]{b} potom musíš zadať
b ->
(ab|ba)b[.a]{.b}. potom môžeš alebo nemusíš zadať jedno
a, môžeš alebo nemusíš zadať hocikoľko
b alebo skončíš
snáď som sa nesekol :P
Vazne sa pytam, nechcete to zadanie kupit? :D Tri eura a je Vase! :D
Quote from: Shwollo on 10.10.2010, 19:30:45
Quote from: tahej on 10.10.2010, 19:23:33
takze (.ab|.ba)b[a]{b} -> (ab|ba).b[a]{b} -> (ab|ba).b[.a]{b} -> (ab|ba)b[a]{.b}. ???
to b zadávaš len raz. Ty ho tam máš 2x.
(.ab|.ba)b[a]{b} najskôr zadáš prvé a alebo prvé b ->
(a.b|b.a)b[a]{b} potom druhé b alebo druhé a ->
(ab|ba).b[a]{b} potom musíš zadať b ->
(ab|ba)b[.a]{.b}. potom môžeš alebo nemusíš zadať jedno a, môžeš alebo nemusíš zadať hocikoľko b alebo skončíš
snáď som sa nesekol :P
dik :)
Quote from: Safyia on 10.10.2010, 19:39:11
Vazne sa pytam, nechcete to zadanie kupit? :D Tri eura a je Vase! :D
ako tak pozerám zisťujem, že my s Václavíkom máme oveľa ťažšie zadanie.
Quote from: Shwollo on 10.10.2010, 19:45:14
Quote from: Safyia on 10.10.2010, 19:39:11
Vazne sa pytam, nechcete to zadanie kupit? :D Tri eura a je Vase! :D
ako tak pozerám zisťujem, že my s Václavíkom máme oveľa ťažšie zadanie.
Hm neviem, mozno ako ktore, nedaju sa urobit vsetky rovnako tazke :D
A btw, spominal on nieco s pisomkou ze :D To co ma na nej byt akoze?
Quote from: tahej on 10.10.2010, 19:42:02
Quote from: Shwollo on 10.10.2010, 19:30:45
Quote from: tahej on 10.10.2010, 19:23:33
takze (.ab|.ba)b[a]{b} -> (ab|ba).b[a]{b} -> (ab|ba).b[.a]{b} -> (ab|ba)b[a]{.b}. ???
to b zadávaš len raz. Ty ho tam máš 2x.
(.ab|.ba)b[a]{b} najskôr zadáš prvé a alebo prvé b ->
(a.b|b.a)b[a]{b} potom druhé b alebo druhé a ->
(ab|ba).b[a]{b} potom musíš zadať b ->
(ab|ba)b[.a]{.b}. potom môžeš alebo nemusíš zadať jedno a, môžeš alebo nemusíš zadať hocikoľko b alebo skončíš
snáď som sa nesekol :P
dik :)
a to KSA to jak mam spravit ?
Quote from: Safyia on 10.10.2010, 19:49:24
Hm neviem, mozno ako ktore, nedaju sa urobit vsetky rovnako tazke :D
A btw, spominal on nieco s pisomkou ze :D To co ma na nej byt akoze?
no ja neviem.. videl som kamošove a on tam má dokopy 4 písmená a 6 zátvoriek... a tuto tahej tam tiež nemá toho moc...
o písomke vravel neičo v tom zmysle, že to bude ako zadanie. Buď vytvoriť graf alebo dačo nakódiť sa mi zdá...
Quote from: tahej on 10.10.2010, 19:51:17
a to KSA to jak mam spravit ?
čo je KSA? ;D
keď zadáš aabb tak si v stave 6?
Quote from: Shwollo on 10.10.2010, 19:52:06
Quote from: Safyia on 10.10.2010, 19:49:24
Hm neviem, mozno ako ktore, nedaju sa urobit vsetky rovnako tazke :D
A btw, spominal on nieco s pisomkou ze :D To co ma na nej byt akoze?
no ja neviem.. videl som kamošove a on tam má dokopy 4 písmená a 6 zátvoriek... a tuto tahej tam tiež nemá toho moc...
o písomke vravel neičo v tom zmysle, že to bude ako zadanie. Buď vytvoriť graf alebo dačo nakódiť sa mi zdá...
Quote from: tahej on 10.10.2010, 19:51:17
a to KSA to jak mam spravit ?
čo je KSA? ;D
konecne automaty s vystupom (mealy,moore)
Quote from: Shwollo on 10.10.2010, 20:31:38
keď zadáš aabb tak si v stave 6?
ano som v stave 6
tahej tak to si mi moc nepomohol ;D
sb290up no... a podľa tvojho nákresu z toho stavu sa už nikde ísť nedá. Takže a už zadať nemôžeš
Quote from: Shwollo on 10.10.2010, 19:30:45
Quote from: tahej on 10.10.2010, 19:23:33
takze (.ab|.ba)b[a]{b} -> (ab|ba).b[a]{b} -> (ab|ba).b[.a]{b} -> (ab|ba)b[a]{.b}. ???
to b zadávaš len raz. Ty ho tam máš 2x.
(.ab|.ba)b[a]{b} najskôr zadáš prvé a alebo prvé b ->
(a.b|b.a)b[a]{b} potom druhé b alebo druhé a ->
(ab|ba).b[a]{b} potom musíš zadať b ->
(ab|ba)b[.a]{.b}. potom môžeš alebo nemusíš zadať jedno a, môžeš alebo nemusíš zadať hocikoľko b alebo skončíš
snáď som sa nesekol :P
sekol... druhý vstup je závislý od prvého... ak je prvý vstup "a", tak druhý musí byť "b"... ak je prvý vstup "b", tak druhý musí byť "a"... takže neplatí, že je to "a" alebo "b", lebo je to podmienené prvým vstupom...
Quote from: tahej on 10.10.2010, 18:16:04
ak mam (ab|ba)b[a]{b} tak token na zaciatku bude takto ? (.a.b|.b.a) ?? alebo ako mam to dat .. ???
|
v
( .a b | .b a ) b [ a ] { b } -> a -> ( a .b | b a ) b [ a ] { b }
| |
| b | b
v v
( a b | b .a) b [ a ] { b } -> a -> ( a b | b a) .b [ a ] { b }
|
|b
v
( a b | b a) b [ a ] { .b }. <- a,b <- ( a b | b a) b [ .a ] { .b }.
| ^
|_| b
tam kde je bodka na konci je koncovy stav
Quote from: tahej on 10.10.2010, 21:07:05
Quote from: Shwollo on 10.10.2010, 19:52:06
Quote from: Safyia on 10.10.2010, 19:49:24
Hm neviem, mozno ako ktore, nedaju sa urobit vsetky rovnako tazke :D
A btw, spominal on nieco s pisomkou ze :D To co ma na nej byt akoze?
no ja neviem.. videl som kamošove a on tam má dokopy 4 písmená a 6 zátvoriek... a tuto tahej tam tiež nemá toho moc...
o písomke vravel neičo v tom zmysle, že to bude ako zadanie. Buď vytvoriť graf alebo dačo nakódiť sa mi zdá...
Quote from: tahej on 10.10.2010, 19:51:17
a to KSA to jak mam spravit ?
čo je KSA? ;D
konecne automaty s vystupom (mealy,moore)
to by som aj ja rchcel vediet ze ako sa to robi?? ;D
Quote from: mishelka on 06.10.2010, 14:46:54
Na solarisoch vam pojde getc(stdin) a getchar()
na ostatnych (netbeans & visual studio & snad aj devc++) je mozne stale pouzit getch() a getchar()
ale na NB si stiahnite balik compilerov mingw (nie cygwin), bez toho vam getch() nezhltne...
skusal som to vo visual studio a nebere mi getch() ... v com moze byt hacik???
kto ma 3 od vaclavika?
[ b]a{a}(aa/bb)
Quote from: antil kiprest on 11.10.2010, 00:37:34
Quote from: mishelka on 06.10.2010, 14:46:54
Na solarisoch vam pojde getc(stdin) a getchar()
na ostatnych (netbeans & visual studio & snad aj devc++) je mozne stale pouzit getch() a getchar()
ale na NB si stiahnite balik compilerov mingw (nie cygwin), bez toho vam getch() nezhltne...
skusal som to vo visual studio a nebere mi getch() ... v com moze byt hacik???
Použi
_getch(). A do vnútra súboru stdafx.h pridaj
#include <conio.h>.
Mám zadanie {a|b}(aa|bb) a ako už sulo spomínal, nie je to nedeterministický automat, keďže pri vstupe "a" prechádza do dvoch rôznych stavov? Ako to potom bude vyzerať? Čo v takom prípade?
Nie. Myslím, že je to obyčajný deterministický automat, ako tie ostatné. Ja som si len myslel, že nemôže byť naraz viac tokenov pred rôznymi a-čkami, ale asi môže. Ak príde v danom stave a-čko, posunú sa všetky tokeny, ktoré boli pred a-čkami.
Jediný "problém" by mohol nastať, keby sme chceli určiť, ktoré konkrétne a-čko sme práve prečítali. Ale to nie je naša úloha. My máme len rozpoznať, či zadaný reťazec vyhovuje alebo nevyhovuje danému regulárnemu výrazu.
Starý príspevok pre istotu zmažem, aby vás nemiatol.
Quote from: excellent on 11.10.2010, 01:15:51
Mám zadanie {a|b}(aa|bb) a ako už sulo spomínal, nie je to nedeterministický automat, keďže pri vstupe "a" prechádza do dvoch rôznych stavov? Ako to potom bude vyzerať? Čo v takom prípade?
|
v
{ .a | .b } ( .a a | .b b )
| |
| b | a
v v
{ .a | .b } ( .a a | .b .b ) -a-> { .a | .b } ( .a .a | .b b ) <----
| ^ <-b- | |
| b |____b______ | a |
v | v |
{ .a | .b } ( .a .a | .b b ). { .a | .b } ( .a a | .b .b ). |
| ^ | | ^ |
|_| b | |_| a |
|_____________a__________________________|
tam kde je bodka na konci je koncovy stav
mozu byt dve koncove stavy?
Quote from: Agamemnon on 11.10.2010, 00:18:34
sekol... druhý vstup je závislý od prvého... ak je prvý vstup "a", tak druhý musí byť "b"... ak je prvý vstup "b", tak druhý musí byť "a"... takže neplatí, že je to "a" alebo "b", lebo je to podmienené prvým vstupom...
však tak som to myslel
Quote from: ursus on 11.10.2010, 00:42:39
kto ma 3 od vaclavika?
[ b]a{a}(aa/bb)
ja napr.
Quote from: bubenik on 11.10.2010, 00:20:22
Quote from: tahej on 10.10.2010, 18:16:04
ak mam (ab|ba)b[a]{b} tak token na zaciatku bude takto ? (.a.b|.b.a) ?? alebo ako mam to dat .. ???
|
v
( .a b | .b a ) b [ a ] { b } -> a -> ( a .b | b a ) b [ a ] { b }
| |
| b | b
v v
( a b | b .a) b [ a ] { b } -> a -> ( a b | b a) .b [ a ] { b }
|
|b
v
( a b | b a) b [ a ] { .b }. <- a,b <- ( a b | b a) b [ .a ] { .b }.
| ^
|_| b
tam kde je bodka na konci je koncovy stav bk
a ako mam spravit ten stav KSA (Mealy, Moore) na to ?? ah:
z coho bude test?
však ksa sú len guličky a šípky medzi nimi... to je v pohode
ten zdrojak ma byt v c ci v c++??? mam to v c++ ale tam mi to ukaze ten vysledok na par sekund co s tým spravit aby to tam ukazovalo dlhsie aby si to aj precitat vedel dik :ropebanana:
vyskusaj getchar();
ja tam mam getchar a ide to strasne rychlo ten vypis iba ak to mam v c s char tak ten vipis sa da precitat coze stiham to precitat
ne :D za tym celym daj este getchar nakoniec. Aby cakalo na dalsi vstup kym si ty popozeras vypis ;D
Quote from: bubenik on 11.10.2010, 02:23:16
Quote from: excellent on 11.10.2010, 01:15:51
Mám zadanie {a|b}(aa|bb) a ako už sulo spomínal, nie je to nedeterministický automat, keďže pri vstupe "a" prechádza do dvoch rôznych stavov? Ako to potom bude vyzerať? Čo v takom prípade?
|
v
{ .a | .b } ( .a a | .b b )
| |
| b | a
v v
{ .a | .b } ( .a a | .b .b ) -a-> { .a | .b } ( .a .a | .b b ) <----
| ^ <-b- | |
| b |____b______ | a |
v | v |
{ .a | .b } ( .a ●a | .b b ). { .a | .b } ( .a a | .b●b ). |
| ^ | | ^ |
|_| b | |_| a |
|_____________a__________________________|
tam kde je bodka na konci je koncovy stav
Díky, vyzerá to vierohodne :D Ale tam, kde je červená bodka, nemá byť token však?
Quote from: Safyia on 11.10.2010, 14:01:13
ne :D za tym celym daj este getchar nakoniec. Aby cakalo na dalsi vstup kym si ty popozeras vypis ;D
no aj tak si to nestiham precitat ... :'( :'( :'(
Zdravím.Neviete mi poradiť,že ked skompilujem a spustím program,tak mi ho spustí,ale po stlačení klávesy ma hneď z neho vyhodí?
hoď sem zdroják. takto nikto nezistí, kde máš chybu
Quote from: sb290up on 11.10.2010, 15:49:46
Quote from: Safyia on 11.10.2010, 14:01:13
ne :D za tym celym daj este getchar nakoniec. Aby cakalo na dalsi vstup kym si ty popozeras vypis ;D
no aj tak si to nestiham precitat ... :'( :'( :'(
daj getchar 2x na koniec
Quote from: eminkaa on 11.10.2010, 18:02:03
system("PAUSE"); ??
toto nefunguje vzdy - mam pocit, ze tam treba nieco prilinkovat... a neslo to pod linuxom, ak si spominam
predám zadanie :evica: od Vácvlavíka č.1:
[a|b]a{a}{b}a
dostal som za neho plný počet bodov.
Quote from: sulo on 11.10.2010, 01:26:48
Nie. Myslím, že je to obyčajný deterministický automat, ako tie ostatné. Ja som si len myslel, že nemôže byť naraz viac tokenov pred rôznymi a-čkami, ale asi môže. Ak príde v danom stave a-čko, posunú sa všetky tokeny, ktoré boli pred a-čkami.
Jediný "problém" by mohol nastať, keby sme chceli určiť, ktoré konkrétne a-čko sme práve prečítali. Ale to nie je naša úloha. My máme len rozpoznať, či zadaný reťazec vyhovuje alebo nevyhovuje danému regulárnemu výrazu.
Starý príspevok pre istotu zmažem, aby vás nemiatol.
- viac tokenov pred ackami/beckami moze byt v jednom stave
- ak sa chces pohnut z takehoto stavu, uvazujes vsetky moznosti (ale v jednom dalsom stave, nie ze viac prechodov pri tom istom vstupe)
Quote from: Shwollo on 11.10.2010, 19:01:38
predám zadanie od Vácvlavíka č.1:
[a|b]a{a}{b}a
dostal som za neho plný počet bodov.
kupim! :D
:D neboj.... nenaletím :D
ja tiez poziciam trojku od vaclavika :D ;D
Quote from: mishelka on 11.10.2010, 19:40:53
Quote from: Shwollo on 11.10.2010, 19:01:38
predám zadanie od Vácvlavíka č.1:
[a|b]a{a}{b}a
dostal som za neho plný počet bodov.
kupim! :D
Predám raz použité zadanie č.1 od Václavíka ak chceš :D, ale nie, ak niekto chce kto má neskôr tak poskytnem k nahliadnutiu ( [a/b]a{a}{b}a ).
cawes...vie mi niekto poradit ako treba na programovat mealy alebo moore? lebo riadne uz mam...ale mame si vybrat jeden z tych dvoch... diky
múr je tusim ze som v stave a míly by mal byt ze idem do stavu, ci? ;D
aj mne sa tak zda :D
Quote from: Agamemnon on 11.10.2010, 17:47:37
Quote from: sb290up on 11.10.2010, 15:49:46
Quote from: Safyia on 11.10.2010, 14:01:13
ne :D za tym celym daj este getchar nakoniec. Aby cakalo na dalsi vstup kym si ty popozeras vypis ;D
no aj tak si to nestiham precitat ... :'( :'( :'(
daj getchar 2x na koniec
a uz je to jedno mam to odovzdane a nakoniec som to ani nespustal len mi profak skontrolovat ten graf a to bolo vsetko
to je asi najdolezitejsie ;)
Quote from: sb290up on 11.10.2010, 13:26:12
ten zdrojak ma byt v c ci v c++??? mam to v c++ ale tam mi to ukaze ten vysledok na par sekund co s tým spravit aby to tam ukazovalo dlhsie aby si to aj precitat vedel dik :ropebanana:
Quote from: Painkiller03 on 11.10.2010, 15:59:00
Zdravím.Neviete mi poradiť,že ked skompilujem a spustím program,tak mi ho spustí,ale po stlačení klávesy ma hneď z neho vyhodí?
skuste to spustit cez
cmd :D
mam napriklad --- b(a|b) --- po prvom samozrejmom B ked dostanem dalsie B tak sa posuniem kam,za normalnu ci za hranatu zatvorku? lebo pri stavovom automate sa mi pri tom zastavuje rozum,dufam ze pochopite v com citim problem :) nemozu mi vychadzat z jednej elipsy dva Becka aj ked to je logicky tak podla mna
povedal by som, že po zadaní bb bude b(a|b).[b].
pretože to [b]
tam môže ale aj nemusí byť
pokial ja viem tak aj zatvorka () znamena ze to tam moze byt ale nemusi,ci sa mylim? lebo ak sa mylim tak potom to je jasne :)
() tam byt musi
dakujem krasne,tento problem porieseny ;) este by som bol rad keby mi niekto dal dokopy co asi treba odovzdat ako zadanie na cviceni pri doktorovi chodarevovi :)
Quote from: Shwollo on 13.10.2010, 00:07:54
povedal by som, že po zadaní bb bude b(a|b).[b].
pretože to [b]
tam môže ale aj nemusí byť
ty si bud jasnovidec alebo mas to iste zadanie co ja :)
Neviete mi helfnut s tymto?? :baaa:
{aa|bb}a[a|b], posledne viem urobiť, ale to prvé tu množinovú zátvorku akosi som v koncoch, neviem sa s z toho vysomáriť, nevedel by mi niekto poradiť??? :ohmigod: :whacko:
Mno ved bud mas aa alebo bb dokedy chces, alebo ani raz :)
To viem.. som sa nespravne vyjadril neuplne ze ako to ma byt v kode a ako to nakresliť..
int main (argv){
char c_in; //symbol vstupnej abecedy
s0: c_in=getch();
printf("%c", c_in);
switch(c_in){
case 'a': goto stav1;
default: goto Nespravne;
// case 'aa' mi nechce brat mi pise multicharacter content... why? bu
no lebo multicharacter content
to je presne ta chyba
switchujes nazaklade 1 znaku
nie stringu (teda postupnosti 2 znakov)
vie mi niekto poradit co mam v programe zmenit ked tam chcem pouzit metodu mealy alebo moor??? co ma ten program vlastne robit?? :D
Ako ma vzerat dokumentacia ????? Prosim o nejaky nahlad. Dakujem
Quote from: Shwollo on 13.10.2010, 00:07:54
povedal by som, že po zadaní bb bude b(a|b).[b].
pretože to [b]
tam môže ale aj nemusí byť
tok sa nikdy nezastavi pred zatvorkou, ale vzdy pred znakom... cize b(a|b)[.b].
Quote from: profesionale on 13.10.2010, 15:43:18
Ako ma vzerat dokumentacia ????? Prosim o nejaky nahlad. Dakujem
Prva strana jak na kazdy predmet, hore hlavicka, v strede nazov predmetu, dole meno a rocnik. Potom vytlac program a nakresli navrh, ten graf a prechod medzi stavmi, to by malo stacit.
Ludia.. Niesme v prvom rocniku,zdrojaky sa uz netlacia,donesiete ich na kluci ;)
Quote from: mishelka on 14.10.2010, 03:02:38
Ludia.. Niesme v prvom rocniku,zdrojaky sa uz netlacia,donesiete ich na kluci ;)
Vadi ked nic nevytlacim? Skoda stromov a .. nefunguje mi tlaciaren.
Quote from: mishelka on 13.10.2010, 18:56:01
Quote from: Shwollo on 13.10.2010, 00:07:54
povedal by som, že po zadaní bb bude b(a|b).[b].
pretože to [b]
tam môže ale aj nemusí byť
tok sa nikdy nezastavi pred zatvorkou, ale vzdy pred znakom... cize b(a|b)[.b].
no toto som myslel :D
co som mal moznost vidiet tak podaktori to mali premakane :) dobre ze nie 5 papierov a nerozumiet tomu :)
Ta daktori chcu aj tlaceny kod :D A potom zabudnem kto chcel kto nie, takze ho tlacim vsade...
Quote from: v_oid on 14.10.2010, 03:08:12
Quote from: mishelka on 14.10.2010, 03:02:38
Ludia.. Niesme v prvom rocniku,zdrojaky sa uz netlacia,donesiete ich na kluci ;)
Vadi ked nic nevytlacim? Skoda stromov a .. nefunguje mi tlaciaren.
No ked sa neda tak sa neda, tak to moze byt aj napisane rukou, ale citatelne...
chalani co ste mi na stredajsom cviku preskenovali tie automaty, kam ste to dali pls? chcem to hodit na hornad...
ti co uz ste mali aj test, z coho bol?
test bol z toho co bolo zadanie,teda ak si rozumel tomu co si robil zadanie by nemal byt problem,ja som mal napisat regularny vyraz pricom som mal slovne zadane aky vyraz to ma byt,potom ulohu s presuvanim tokenu ci beepra ci ako sa to vola,ta gulicka :) a nakreslit prechodovy diagram
čo bolo na predchádzajúcom cviku v stredu ? nebol som a neviem, pretože som bol darovať krv ..
lexikalna analyza kod
2. zadanie bude o com a na kedy?
Quote from: neucilasom on 19.10.2010, 00:13:01
2. zadanie bude o com a na kedy?
http://people.tuke.sk/jan.kollar/FJaP/Organizacia%20predmetu.pdf (http://people.tuke.sk/jan.kollar/FJaP/Organizacia%20predmetu.pdf)
Paci sa mi ake mudre nazvy to vsetko ma :D
neboj, budes mat na prednaske vsetko...
ale aspon som odpovedala na to, ze kedy :)
a ked nechodim na prednasky? :(
Quote from: pooler on 18.10.2010, 13:59:38
čo bolo na predchádzajúcom cviku v stredu ? nebol som a neviem, pretože som bol darovať krv ..
« Posledná zmena: 18.10.2010, 14:10:22 od mishelka »
môj príspevok editovaný, ale stále som sa nič nedozvedel ;D
Quote from: radix on 19.10.2010, 04:11:36
a ked nechodim na prednasky? :(
Tak to je velmi smutne...
Potom sa zrusi prednaska jak simonak zrobil, a ani materialy nebudu zverejnene! bububu nespravime USA! ;D
Quote from: pooler on 19.10.2010, 04:26:57
Quote from: pooler on 18.10.2010, 13:59:38
čo bolo na predchádzajúcom cviku v stredu ? nebol som a neviem, pretože som bol darovať krv ..
« Posledná zmena: 18.10.2010, 14:10:22 od mishelka »
môj príspevok editovaný, ale stále som sa nič nedozvedel ;D
cely stvrty tyzden sa zbierali zadania....
Ja mam este otaazku, my sme tie mealy, moore moc nemali...
Ked je v programe ze "si v stave xy" tak je to ktore?
A ked je "prechadzam do stavu xy"?
Diky :)
si v stave... znamena, ze si v nejakom uzle... uzol je stav...
prechod medzi uzlami (ten vektor, alebo ako to nazvat) je prechod medzi stavmi...
to ja viem :D Ja len ze ktore je mealy a ktore moore :D
davas nejasne otazky :D
http://en.wikipedia.org/wiki/Mealy_machine (http://en.wikipedia.org/wiki/Mealy_machine)
http://en.wikipedia.org/wiki/Moore_machine (http://en.wikipedia.org/wiki/Moore_machine)
:) viac ti nepoviem, bolo to davno :D ale moore ma len stavy, takze predpokladam, ze moore je, ze som v stave (ak spravne chapem, co sa pytas :) )
Moore: Som v stave xy.
Mealy: Idem do stavu xy.
diky :)
caute decka
vyfasoval som zadanie c2 ktore vyzera nejak takto a {ab} b [aa|bb]
vydumal som nieco taketo co mi bohuzial velmi nechce ist ;(
s0 @a {ab} b [aa|bb] -->S1
s1 a {@ab} @b [aa|bb] -->S2|S3
s2 a {a@b} b [aa|bb] -->S1
s3 a {ab} b [@aa|@bb]@ -->S4|S5|S6
s4 a {ab} b [a@a|bb] -->S6
s5 a {ab} b [aa|b@b] -->S6
s6 a {ab} b [aa|bb]@ -->fine
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
char c_in;
S0: c_in = getchar(); printf("%c",c_in);
switch(c_in) {
case 'a': goto S1;
default: goto Reject;
}
S1: c_in = getchar(); printf("%c",c_in);
switch(c_in) {
case 'a': goto S2;
case 'b': goto S4;
default: goto Reject;
}
S2: c_in = getchar(); printf("%c",c_in);
switch(c_in) {
case 'b': goto S1;
default: goto Reject;
}
S3: c_in = getchar(); printf("%c",c_in);
switch(c_in) {
case 'a': goto S4;
case 'b': goto S5;
case '#': goto Accept;
default: goto Reject;
}
S4: c_in = getchar(); printf("%c",c_in);
switch(c_in) {
case 'a': goto S6;
default: goto Reject;
}
S5: c_in = getchar(); printf("%c",c_in);
switch(c_in) {
case 'b': goto S6;
default: goto Reject;
}
S6: c_in = getchar(); printf("%c",c_in);
switch(c_in) {
case '#': goto Accept;
default: goto Reject;
}
Accept: printf("\nVstup bol verifikovany uspesne.");
getchar();
getchar();
return 0;
Reject: printf("\nZly vstup.");
getchar();
getchar();
return 0;
system ("Pause");
return 0;
}
Quote from: jararak on 21.10.2010, 02:27:10
...
Skontroluj si v zdrojáku prechody zo stavu S1.
Quote from: luky on 20.10.2010, 19:51:14
Moore: Som v stave xy.
Mealy: Idem do stavu xy.
Moore: ok, riadi sa len podla stavu.
Mealy: som v stave xy, dostanem 'a' a idem do stavu xz. Riadi sa podla dvoch veci - stavu v akom je a podla vstupu.
Vyplyva to z definicie vystupnej funkcie.
mam taku otazku ako je to s cvikom s Vaclavikom v pondelok ked nam stale nedal znenie zadania c 2 a v 8 tyzdny mu to mame odovzdat a 7 tyzden nemame lebo je volno co s tym? a pochybujem žeby dal o tyzden neskor odovzanie :D ked vtedy musi uz odovzdat tretie zadanie :D:D
ten interpreter od kollara ma tak fungovat ako funguje? ze ak pozna len +- operatory
a dam mu
5*9 napr, a tu mi najde tu chybu tak preco sa potom vykonava ta syntaxicka analyza,
alebo respektive ak mu lexikalne zadam spravny vyraz napr -()+5+-+2, tak mi ho syntaxicka pusti a povie ze vysledok je 254644nvm kolko ;D, daake sam i to zda bugovite
//anyways ludia ak si vsimnete tak vsetci (resp aspn emovci, mishelkovci, vaclavikovci) mame rovnake znenia zadani, takze sa zjednotme ! ja mam 19! ;D
//a este by mohlo byt fer spravit aj interpretator ukazkovy pre tie logicke hodnoty ak vstup ma byt napriklad "TRUE && FALSE" lebo porovavat stringy v C je velka sranda
Inac toto zadanie je dokedy? Na tento tyzden to uz ma byt?
Chce sa niekomu napísať Václavíkovi ohľadom zadaní? Keďže v pondelok neprišiel a zadania neboli rozdelené a majú sa odovzdávať v ôsmom týždni.
Quote from: cenki on 27.10.2010, 01:49:55
Chce sa niekomu napísať Václavíkovi ohľadom zadaní? Keďže v pondelok neprišiel a zadania neboli rozdelené a majú sa odovzdávať v ôsmom týždni.
dobra otazka som zvedavy ci nanu dakto odpovie ....
mohil by mie niekto vysvetlit tieto riadky zo zdrojakov prosim?
#define E 1 << // napr. E VALUE => 1 equiv {VALUE}, lebo VALUE = 0
// Operacie na mnozine symbolov
// E symbol equiv {symbol}
// (E symbol) | set equiv {symbol) \cup set
// (E symbol) & set equiv symbol \in set
Je to taký trik, ako s použitím toho #define-u jednoduchšie v C-čku zapisovať operácie s množinami.
(E symbol) | mnozina bude znamenať: zjednotenie množín (resp. symbolov)
(E symbol) & mnozina bude znamenať: symbol patrí množine
Takže napríklad:
(E symbol) & (E PLUS | E MINUS)
znamená:
(https://www.tu-ke.com/forum/proxy.php?request=http%3A%2F%2Fwww.sitmo.com%2Fgg%2Flatex%2Flatex2png.2.php%3Fz%3D100%26amp%3Beq%3Dsymbol%2520%255Cin%2520%255C%257B%252B%252C%2520-%255C%257D&hash=a8ad796b1f0e6cf2569c889b63ed5631f83313fc)
Pre tych co maju cviko s Vaclavikom v pondelok o 13:30, tak zadania (znenia a pridelenia uloh) mame v dvoch PDF suboroch na:
http://hornad.fei.tuke.sk/~vaclavik/fjap/ (http://hornad.fei.tuke.sk/~vaclavik/fjap/)
Zadania mame odovzdavat v 9 tyzdni.
Informujte aj ostatnych.
Quote from: sb290up on 28.10.2010, 17:22:51
Pre tych co maju cviko s Vaclavikom v pondelok o 13:30, tak zadania (znenia a pridelenia uloh) mame v dvoch PDF suboroch na:
http://hornad.fei.tuke.sk/~vaclavik/fjap/ (http://hornad.fei.tuke.sk/~vaclavik/fjap/)
Zadania mame odovzdavat v 9 tyzdni.
Informujte aj ostatnych.
Quote
Dobry den,
zadania (znenia a pridelenia uloh) mate v dvoch PDF suboroch na:
http://hornad.fei.tuke.sk/~vaclavik/fjap/ (http://hornad.fei.tuke.sk/~vaclavik/fjap/)
Informujte aj vasich spoluziakov.
S pozdravom,
Peter Vaclavik
Taktiež, odpísal mi na mail čo som mu písal. Kto koho pozná nech im dá vedieť.
Zdravim. Pisem poznamky z FJaP do PDA, a tak mam takmer presne kopie poslednych dvoch prednasok. Planujem takto pisat vsetky prednasky az do poslednej. Potrebujem nejake materialy z ktorych sa budem ucit, pretoze si neplanujem kupit knizku. Nemam problem uverejnit tu tieto moje odpisane prednasky, ale nic nieje zadarmo. Ja mam zatial odpisane len posledne dva prednasky a preto chcem niekoho poprosiť, co si pise poznamky do zosita, alebo ich aspon foti, ci by ich neprepisal nap. do wodru. Chybaju mi totiz prva az stvrta.
ak mam operator || bez asociativity, to znamena ze nemozem spravit:
true || false || true || false ? proste ze bez zatvoriek?
resp ak tak user napise mam vypisat errora? ;D
tak vyzera ze mi to funguje jak ma, hura !
(ale normalne mam problem vymyslet retazec aby mi to hadzalo blbost ;D)
Quote from: ursus on 01.11.2010, 21:08:55
tak vyzera ze mi to funguje jak ma, hura !
(ale normalne mam problem vymyslet retazec aby mi to hadzalo blbost ;D)
mam tiez zadanie 19
chcel by som sa opytat, ako upravit ten LEX analyzator, aby rozpoznaval vyrazy true a false
lebo momentalne to mam urobene ako 4 vnorene IF pre true a 5 vnorenych IF pre false
funguje to, ale nepripada mi to ako najlepsie riesenie, urcite existuje nieco sikovnejsie, ci?
Napríklad tak, že si "true", resp. "false" uložíš do znakovej konštanty. Potom v cykle kým je prečítaný znak malé písmeno, porovnávaš prečítaný znak so znakom nachádzajúcim sa na určitom indexe v tejto konštante (tento index postupne inkrementuješ).
Quote from: totaluser on 02.11.2010, 23:09:39
Quote from: ursus on 01.11.2010, 21:08:55
tak vyzera ze mi to funguje jak ma, hura !
(ale normalne mam problem vymyslet retazec aby mi to hadzalo blbost ;D)
mam tiez zadanie 19
chcel by som sa opytat, ako upravit ten LEX analyzator, aby rozpoznaval vyrazy true a false
lebo momentalne to mam urobene ako 4 vnorene IF pre true a 5 vnorenych IF pre false
funguje to, ale nepripada mi to ako najlepsie riesenie, urcite existuje nieco sikovnejsie, ci?
a co tak jeden if a do toho moznosti? :) cize napr.
if (pole[ i ] == 't' && pole[i+1] == 'r' && ...) {} else if (to iste pre false) else {...}
Quote from: mishelka on 03.11.2010, 01:40:33
Quote from: totaluser on 02.11.2010, 23:09:39
Quote from: ursus on 01.11.2010, 21:08:55
tak vyzera ze mi to funguje jak ma, hura !
(ale normalne mam problem vymyslet retazec aby mi to hadzalo blbost ;D)
mam tiez zadanie 19
chcel by som sa opytat, ako upravit ten LEX analyzator, aby rozpoznaval vyrazy true a false
lebo momentalne to mam urobene ako 4 vnorene IF pre true a 5 vnorenych IF pre false
funguje to, ale nepripada mi to ako najlepsie riesenie, urcite existuje nieco sikovnejsie, ci?
a co tak jeden if a do toho moznosti? :) cize napr.
if (pole[ i ] == 't' && pole[i+1] == 'r' && ...) {} else if (to iste pre false) else {...}
:thumbs-up:
vdaka
Quote from: mishelka on 03.11.2010, 01:40:33
Quote from: totaluser on 02.11.2010, 23:09:39
Quote from: ursus on 01.11.2010, 21:08:55
tak vyzera ze mi to funguje jak ma, hura !
(ale normalne mam problem vymyslet retazec aby mi to hadzalo blbost ;D)
mam tiez zadanie 19
chcel by som sa opytat, ako upravit ten LEX analyzator, aby rozpoznaval vyrazy true a false
lebo momentalne to mam urobene ako 4 vnorene IF pre true a 5 vnorenych IF pre false
funguje to, ale nepripada mi to ako najlepsie riesenie, urcite existuje nieco sikovnejsie, ci?
a co tak jeden if a do toho moznosti? :) cize napr.
if (pole[ i ] == 't' && pole[i+1] == 'r' && ...) {} else if (to iste pre false) else {...}
neopisuj to odo mna ;D
je dnes cviko s Michaelou Kreutzovou o 15:55 ?
ano, cviko bude
robim zadania z FJaP... cena 5 €... ICQ 565641768
pridaj, za tolko sa mi nechce ani konkurovat ;D
čo má byť na písomke u Václavíka? Máte nietko tušenie?
Quote from: Shwollo on 04.11.2010, 05:41:48
čo má byť na písomke u Václavíka? Máte nietko tušenie?
vaclavik, dufajme uz ;D
fyi http://people.tuke.sk/jan.kollar/FJaP/Organizacia%20predmetu.pdf (http://people.tuke.sk/jan.kollar/FJaP/Organizacia%20predmetu.pdf)
//2.Test: Definícia gramatiky a sémantiky bezkontextového
jazyka
???
no to viem... ale myslel som niečo konkrétnejšie :D
ohladom toho zadania c.2 to treba aby to aj nakoniec ten program vypocital,?:D ci ma to len vypisat to co som pouzil :D asi nie co???
Quote from: Makaveli on 04.11.2010, 15:52:21
ohladom toho zadania c.2 to treba aby to aj nakoniec ten program vypocital,?:D ci ma to len vypisat to co som pouzil :D asi nie co???
napisat si gramatiku musis, a to nakodit, to su tie funkcie expr, term, to ti treba doplnit, upravit, pridat mozno nejaku novu a tak :ropebanana:
int term()
{ int value;
switch (symbol)
{
case LPAR : getsymbol(); value = expr(); getsymbol(); break;
case VALUE: value = attr; getsymbol(); break;
}
return value;
}
int expr()
{ int leftOp, rightOp; SymType sy;
leftOp = term();
while ((E symbol) & (E NASOBENIE | E DELENIE))
{
sy = symbol; getsymbol(); rightOp = term();
switch (sy)
{
case NASOBENIE : leftOp = leftOp * rightOp ; break;
case DELENIE: leftOp = leftOp / rightOp ; break;
}
}
return leftOp;
}
skúste mi niekto vysvetliť, čo robia tieto funkcie pls
Quote from: ursus on 04.11.2010, 04:20:54
pridaj, za tolko sa mi nechce ani konkurovat ;D
:) a za kolko by si to chcel robit? podla mna to je primerana cena...
zdravim...
ak mam zadanie s true a false tak k symbols si mam pridat este FALSE a TRUE, alebo ich mam brat ako VALUE(s tym, ze value nebude brat cisla) ?
Quote from: fail on 05.11.2010, 15:44:29
zdravim...
ak mam zadanie s true a false tak k symbols si mam pridat este FALSE a TRUE, alebo ich mam brat ako VALUE(s tym, ze value nebude brat cisla) ?
Boolovske hodnoty reprezentujte ako symbol
BOOLVALUE s ciselnou vnutornou reprezentaciou atributov (cize napr. true == 1 a false == 0).. Cize v programe to budete mat reprezentovane ako:
BOOLVALUE<0>
BOOLVALUE<1>
Pricom to bude na vstupe brat v textovej podobe "true" a "false". Cize na vstupe zadam napr.:
true && false || true && (false || true)
Pri vypise vysledku tiez bude "true" alebo "false" a pri vypisoch tiez budu v tych zatvorkach atributovych "true" a "false", nie 1 a 0. Cize vypisy budu:
BOOLVALUE<true>
BOOLVALUE<false>
Vysledok je true.
Vysledok je false.
Co vlastne treba robit na tom zadani? Co tam doprogramovat alebo co??? Lebo ja tomu zadaniu zadania akosi nechapem.
tiez hladam niekoho kto by mi k tomu napisal aspon par milych slov ze oco v tom zadani ide... nebol som na jednom cviku a teraz som z toho uplne vymlety... zadanie 2, operator * asociativita s Xkom pri dolava a prioritou 1, operator / asoc. s Xkom pri doprava a prioritou 2...
Vyzera to na nejaku kalkulacku ale asi to take lahke nebude. nakodim si to sam samozrejme len neviem s cim a kde zacat.
Odmena za dobru radu bude pivecko...
sak si napis gramatiku more, napapier normalne
nazdar tak dnes som sa pozrel do toho 2 zadania a neviem co to tam presne chcu, ci program pre lex. analyzu kde bude lex. analyzator, syntaktycky analyzator, semantycky analyzator.
A ci cakaju aj daky vystup v takej podobe ze sa vyhodnoti boolovsky vyraz, lebo v zdrojaku co je zavesy na nete sa len rozanalyzuje retazec znakov, ci symboli ktore su v nom patria do jazyka.
#include <stdio.h>
//#include <conio.h>
#include <ctype.h>
#define SetType unsigned long int
#define SymType int
// Typy symbolov a mnozin symbolov
// definicia symbolov VALUE, PLUS, MINUS, atd.
enum Symbols { VALUE, PLUS, MINUS, LPAR, RPAR, SEOF, SERROR };
SetType SymbolSet = 0;
// Nastavenie SymbolSet na prazdnu mnozinu
// Vstupne premenne
char sourceString[100]; // - vstupny retazec
char c; int ic; // vstupny znak a index do vstupneho retazca
// Vystupny symbol lexikalnej analyzy, jeho kod a atribut
SymType symbol; int code, attr;
// Lexikalny analyzator
void getsymbol()
{
c=sourceString[ic]; ic=ic+1;
while (c == ' ') { c=sourceString[ic]; ic=ic+1; }
switch (c)
{
case '+' : symbol = PLUS; break;
case '-' : symbol = MINUS; break;
case '(' : symbol = LPAR; break;
case ')' : symbol = RPAR; break;
case '\0': symbol = SEOF; break;
default : if (c >='0' && c <= '9')
{
symbol = VALUE; attr = 0;
while (c >= '0' && c <= '9')
{
attr = attr*10 + (int) c - (int) '0';
c=sourceString[ic]; ic=ic+1;
} ic=ic-1;
} else {
symbol = SERROR;
}
}
}
int main(int argc, char* argv[])
{ char tc; int i;
printf("\nSeparatna lexikalna analyza a interpretator vyrazov\n");
printf("\nKody symbolov: VALUE=0, PLUS=1, MINUS=2, LPAR=3, RPAR=4, SEOF=5, SERROR=6");
printf("\n-------------------------------------------------------------------------\n\n");
printf("Vstupny vyraz (retazec znakov): ");
// Citanie vstupneho retazca
for (i = 0; (i < 100) && ((c = getchar()) != '\n'); i++)
{
sourceString[i] = c;
}
// Ukoncenie retazca znakom `\0`
sourceString[i] = '\0';
//
ic=0; // nastavenie na 1. znak
printf("\nTest lexikalnej analyzy ------------> \n");
printf( "\nVystup lexikalnej analyzy (retazec symbolov)\n\n", sourceString);
do {
getsymbol();
printf("[%d] ",symbol);
if (symbol==VALUE) printf("<%d> ",attr);
tc=getchar(); printf("\n");
} while (symbol != SEOF);
printf("\n<------------Koniec testu lexikalnej analyzy a obnova vstupu\n"); tc=getchar();
}
alebo ci staci do tohto programu doplnit operandy ktore mame v zadani a prerobyt asociaciu ak mame z prava do lava alebo bez asociacie
stiahni si to z kolarovej stranky, tam budes mat aj funkcie naviac ktroe robia semanticku analyzu, hej musis opravot operatory a tie funkcie tak aby robili asoc a prior. taku aku ces
napr: vytvorte gramatiku pre aritmeticke vyrazy pouzivajuce operacie:
+,-, asociativne zlava s prioritou 1
*,/, asociativne sprava s prioritou 2
ako bude vyzerať odpoveď na toto?
doprdele, predam zadania za 6€ ;D
ma byt po odovzdavani zadani aj pisomka?? A co ma na nej byt? Lebo my sme nejak mali k tomuto druhemu zadaniu na cviku vzdy niekoho ineho...
áno http://hornad.fei.tuke.sk/~kreutzova/FJaP/ZADANIE%20a%20TEST%202/TEST%20c.%202.txt (http://hornad.fei.tuke.sk/~kreutzova/FJaP/ZADANIE%20a%20TEST%202/TEST%20c.%202.txt)
moze mi niekto povedat co znamena ak mam pri oparatore / zadane "bez asociacie" ...viem že ked je asociacia do lava tak sa retazec napr. 2*4*5*2 vyhodnoti nejak takto (((2*4)*5)*2) pri asociacii do prava takto (2*(4*(5*2))).... no a ako sa ma vyhodnotit takyto retazec bez asociacie.... malo by to byt nejak bez tych zatvoriek ale ako?
Quote from: HejaHop on 06.11.2010, 23:25:32
moze mi niekto povedat co znamena ak mam pri oparatore / zadane "bez asociacie" ...viem že ked je asociacia do lava tak sa retazec napr. 2*4*5*2 vyhodnoti nejak takto (((2*4)*5)*2) pri asociacii do prava takto (2*(4*(5*2))).... no a ako sa ma vyhodnotit takyto retazec bez asociacie.... malo by to byt nejak bez tych zatvoriek ale ako?
nie je to nahodou naopak s tou asociativitou ?
omg ja mam normalne problem vymyslet priklad s && a || aby som dokazal ze mam asociativitu && dolava, resp priorita || je vyssia ako &&
halp !? ;D
Quote from: ursus on 07.11.2010, 05:50:38
resp priorita || je vyssia ako &&
skus true || false && false
Ked je || vyssia priorita ako && tak vysledok bude false, a ked bude nizsia malo by to byt true
kamarat sa pyta:
Quote10*10/2*5/5 ak je delenie neasociativne (a nasobenie je zlava).. vysledok ma byt 2 alebo 10? diky
* - 2
/ - 1
a vyuzijem prilezitost, ze ste tu....
pytal som sa uz viacerych a kazdy mi povedal inak... kamarat ma u ineho cviciaceho asociativnost zlava a zprava... logicky zlava = doprava ... povedal,ze zlava je jednoznacne ((1*2)*3) ... ale na predoslej strane niekto napisal, ze doprava je (1*(2*3)).. tak ako to je prosim Vas ?
Moje zadanie
* - Do lava -priorita 2
/ - Do prava - priorita 1
Mozem poprosit o kontrolu ci je to takto spravne. Dakujem
// Interpretator vyrazov s gramatikou
// Expr -> Term { ( <*> | </> ) Term }
// Term -> <Value> | <(> Expr <)>
//
// Pozn: Terminalne symboly su v zatvorkach < >
int expr();
int term()
{ int value;
switch (symbol)
{
case LPAR : getsymbol(); value = expr(); getsymbol(); break;
case VALUE: value = attr; getsymbol(); break;
}
return value;
}
int expr()
{ int leftOp, rightOp; SymType sy;
leftOp = term();
while ((E symbol) & (E DELENIE | E NASOBENIE))
{
sy = symbol; getsymbol(); rightOp = term();
switch (sy)
{
case DELENIE : leftOp = leftOp / rightOp ; break;
case NASOBENIE: leftOp = rightOp * leftOp ; break;
}
}
return leftOp;
}
ľavá asociativita znamená asiciativita zľava alebo doľava?
Quote from: profesionale on 07.11.2010, 18:54:48
Moje zadanie
* - Do lava -priorita 2
/ - Do prava - priorita 1
Mozem poprosit o kontrolu ci je to takto spravne. Dakujem
// Interpretator vyrazov s gramatikou
// Expr -> Term { ( <*> | </> ) Term }
// Term -> <Value> | <(> Expr <)>
//
// Pozn: Terminalne symboly su v zatvorkach < >
int expr();
int term()
{ int value;
switch (symbol)
{
case LPAR : getsymbol(); value = expr(); getsymbol(); break;
case VALUE: value = attr; getsymbol(); break;
}
return value;
}
int expr()
{ int leftOp, rightOp; SymType sy;
leftOp = term();
while ((E symbol) & (E DELENIE | E NASOBENIE))
{
sy = symbol; getsymbol(); rightOp = term();
switch (sy)
{
case DELENIE : leftOp = leftOp / rightOp ; break;
case NASOBENIE: leftOp = rightOp * leftOp ; break;
}
}
return leftOp;
}
asociativity som nekukal, ale uz len z toho ze mas rozdielne priority nemozes mat obe operatory v jednej funkcii,
Quote from: ursus on 07.11.2010, 22:43:49
Quote from: profesionale on 07.11.2010, 18:54:48
Moje zadanie
* - Do lava -priorita 2
/ - Do prava - priorita 1
Mozem poprosit o kontrolu ci je to takto spravne. Dakujem
// Interpretator vyrazov s gramatikou
// Expr -> Term { ( <*> | </> ) Term }
// Term -> <Value> | <(> Expr <)>
//
// Pozn: Terminalne symboly su v zatvorkach < >
int expr();
int term()
{ int value;
switch (symbol)
{
case LPAR : getsymbol(); value = expr(); getsymbol(); break;
case VALUE: value = attr; getsymbol(); break;
}
return value;
}
int expr()
{ int leftOp, rightOp; SymType sy;
leftOp = term();
while ((E symbol) & (E DELENIE | E NASOBENIE))
{
sy = symbol; getsymbol(); rightOp = term();
switch (sy)
{
case DELENIE : leftOp = leftOp / rightOp ; break;
case NASOBENIE: leftOp = rightOp * leftOp ; break;
}
}
return leftOp;
}
asociativity som nekukal, ale uz len z toho ze mas rozdielne priority nemozes mat obe operatory v jednej funkcii,
A ako to spravit? Vies mi to vystvelit prosim ta....?
skus si napisat gramatiku, lebo ako mas to dobre pre tu gramatiku co tam mas napisanu, ale to neni gramatika zodpovedajuca tvojmu zadaniu, chapes
A vies mi povedat ako ta gramatika ma vyzerat....lebo akosi som vtedy na prednaske ani na cviku nebol kvoli zdravotnym problemom a nikde o tej gramatike neviem zohnat prezentacie.
priorita sa robi tak ze "cim nizsie" je funkcia, tym ma vyssiu prioritu, a asociativita sa robi takto
lava: V -> P {"+" P}
prava: V -> P ["+" V]
bez: V -> P["+" P]
napr pre operator "+"
Asi sa tu uz niekto pytal, ale priorita 1 je vyssia ako priorita 2 ci naopak?
ked mam napr. T || F && F || T ||F asociaciu dolava a nastavim si ze && ma vyssiu prioritu nez || tak z toho vyrazu najprv vyratam F && F a zvysok ratam dolava ? Cize vysledok bude True ?
A ked mam ten isty vyraz a bez asociativity a s rovnakou prioritou tak sa vyrata len F&&F ?
Keby vyraz pokracoval dalej a mal by som T || F && F || T ||F && F bez asociativity tak ako by sa to ratalo ?
operator && ma ist zlava priorita 1 a op. || bez asociativnosti a priorita 2 plus tie zatvorky to ma byt takto?
Expr -> term {"&&" term}
Expr -> term [ "||" term ]
Term -> "value" | "(" expr ")"
Ma to byt tak ci daako inak lebo ma uz j... :ohmygod:
Quote from: eminkaa on 08.11.2010, 05:05:30
nemozes mat dve prave strany pre expr, treba ti novu fciu
Expr -> and {"&&" and}
and -> term [ "||" term ]
Term -> "value" | "(" expr ")" taze takto??
Quote from: eminkaa on 08.11.2010, 05:14:10
no vidis, si ma predbehol :)
taze to je dobre parada mozem sa pohnut dalej diks :ropebanana:
ok
bolo tu povedane ze priorita 1 je najvyssia a 2 je nizsia
teda ak dobre chapem, ze priorita klesa smerom dolu, nemalo by to vyzerat takto?
Expr -> and [ "||" and ]
and -> term { "&&" term }
Term -> "value" | "(" expr ")"
vdaka ;)
uz som sa zlakol ze to nejako blbo robim, a ono to inty delim, fijuuu ap
Quote from: totaluser on 08.11.2010, 05:59:15
ok
bolo tu povedane ze priorita 1 je najvyssia a 2 je nizsia
teda ak dobre chapem, ze priorita klesa smerom dolu, nemalo by to vyzerat takto?
Expr -> and [ "||" and ]
and -> term { "&&" term }
Term -> "value" | "(" expr ")"
vdaka ;)
ja to robim prave naopak ze cim nizsie je v radku tak je vysia priorita tak ako to je ??? :whacko:
Quote from: Makaveli on 08.11.2010, 14:18:31
Quote from: totaluser on 08.11.2010, 05:59:15
ok
bolo tu povedane ze priorita 1 je najvyssia a 2 je nizsia
teda ak dobre chapem, ze priorita klesa smerom dolu, nemalo by to vyzerat takto?
Expr -> and [ "||" and ]
and -> term { "&&" term }
Term -> "value" | "(" expr ")"
vdaka ;)
ja to robim prave naopak ze cim nizsie je v radku tak je vysia priorita tak ako to je ??? :whacko:
moment, dajako sa asi nechapeme
lebo aj ja to robim tak ze cim nizsie je v riadku dany operator, tym ma vyssiu prioritu
kedze || je na vyssiom riadku ako &&, tak && ma vyssiu prioritu ako ||
teda aspon tak som to pochopil ja na cviceni
moze mi to niekto potvrdit alebo vyvratit?
Ak máš pravidlá očislovane 1. 2. 3. tak priorita rastie spolu s číslom pravidla
Expr -> Mul {(+|-) Mul}
Mul -> Op {(*|/) Op}
Op->const|id|"(" Expr")"
násobenie a delenie má vyššiu prioritu ako + a -
Prekladače strana 31
Quote from: totaluser on 08.11.2010, 05:59:15
ok
bolo tu povedane ze priorita 1 je najvyssia a 2 je nizsia
teda ak dobre chapem, ze priorita klesa smerom dolu, nemalo by to vyzerat takto?
Expr -> and [ "||" and ]
and -> term { "&&" term }
Term -> "value" | "(" expr ")"
vdaka ;)
Uz len taky detail, ze terminalne symboly (Term, And, Expr) sa pisu s velkymi pismenami - aby bolo mozne rozlisit co vlastne je terminalny symbol :)
nazdar mam pri obidvoch operatororoch asociativitu z prava a || ma vyssiu prioritu ako &&, neviem si s ty rady, hlavne s asociativitou
mam to spravene takto ?
Expr -> or [<&&>Expr ]
or -> and [<||> or]
and -> <value> | <(>Expr<)>
davam do pozornosti podmienky preberania zadani (keby niekto prepocul na cviku):
http://hornad.fei.tuke.sk/~kreutzova/FJaP/podmienky%20odovzdavania%20zadani.txt (http://hornad.fei.tuke.sk/~kreutzova/FJaP/podmienky%20odovzdavania%20zadani.txt)
poposielajte si to navzajom, kto koho pozna
S kym mame cviko skupina zajtra o 16:50 ?
kto rozumie FJaP a spravil by mi zadanie resp by mi to vysvetlil??????????? :beer1:
omg btw, terminalne su napr + - ( ) value a neterminalne su expr, term, add ci naopak? ;D
Jedna otazka ak napr. / ma vyssiu prioritu ako * a asoc. je z prava a mam napr vyraz 5/6*8 tak ro ratam ako 5/6 a tak *8 alebo 6*8 a potom 5/ (6 * 8 ) ?
(5/6)*8
Quote from: sulo on 09.11.2010, 00:31:00
(5/6)*8
Potom ta asociativita je naco dobra ??
Mam tu jeden priklad, mohli by ste mi to vysvetlit ze ako mam postupovat pri takomto type ?
Takze: 1 * 3 / 4 * 5 * 6 / 7 * 8 / 9 * 10
/ ma vyssiu prioritu ako *
/ asociuje doprava
* asociuje dolava
ak som sa nepomylil tak asi tak:
{[((1*(3/4))*5)*(6/7)]*(8/9)}*10
nema niekto vypracovane 2 zadanie č.25???????????????? bu
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
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...
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
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.
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 ")"
kto mi vysvetli zadanie c. 2 staci vysvetlit ako to implementujem ... znie to blbo ale no co neviem to co uz
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 ...(
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
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 ")"
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 (http://hornad.fei.tuke.sk/~plocica/ppj/priorita.html) tu to mas aj so zatvorkami aj kde ma byt aky lavy a pravy operator
ešte mám jednú otázku ... po upravení interpretera má program počítať aj sčítanie odčítanie ? alebo stačí aby fungovalo "&&" a "||" ?
super, dík
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
dobre
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 ???
Chlapci need help s mojim zadanim, som z toho troska vygumovany...
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 ||
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 <)>
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ť
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
ja som ho pochopil ako dva... ale to je v podstate jedno si myslim, lebo mali rovnaku gramatiku...
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ť
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;
}
while ((E symbol) & (E DIV ))
daj IF
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
ano, musi...
zdarec! mam 4. zadanie:
* priorita 2 asoc zlava
/ priorita 1 asoc bez
je toto spravna gramatika?
Expr -> A [</> A]
A -> Term {<*> Term}
Term -> <value> | <(> Expr <)>
a rozumiem tomu spravne, ze v mojom zadani vobec nemaju byt + a -, iba * a / ?? no a zatvorky samozrejme..
dikii! :)
Quote from: antil kiprest on 13.11.2010, 19:58:28
zdarec! mam 4. zadanie:
* priorita 2 asoc zlava
/ priorita 1 asoc bez
je toto spravna gramatika?
Expr -> A [</> A]
A -> Term {<*> Term}
Term -> <value> | <(> Expr <)>
a rozumiem tomu spravne, ze v mojom zadani vobec nemaju byt + a -, iba * a / ?? no a zatvorky samozrejme..
dikii! :)
zalezi od toho ako ste sa dohodli ze bude prijorita.. lebo ak je 2 vyssia prijorita tak je to spravne (najvyssiu prijoritu maju zatvorky potom ide stred a nakoniec vrch)
a mas mat iba operandy zo zadania.. cize + a - nie..
freshmakerik diki!! ano 2 je vyssia priorita ako 1
a este jedna vec.. ako ostestujem ci mi funguje ta lava asociativita pri nasobeni??
Daj si vypisovat za operaciou leftOp = leftOp * rightOp aky ti to hodi vysledok, a podla toho zistis ci funguje ci nie.
:thumbs-up: 8)
AHOJTE KTO ROBI ZADANIE Z FJaP ??? MAM ZAUJEM !!!! SURNE!!!!
Quote from: meroving on 13.11.2010, 23:13:42
AHOJTE KTO ROBI ZADANIE Z FJaP ??? MAM ZAUJEM !!!! SURNE!!!!
ktore zadanie potrebujes?
fuuuuuuu tak za 3e nerobim
uznavam ze je to otazka na par minut, ale aj tak
asociativnost do prava je a b c tak to spravi najskor (c b) a potom ide kde pokracuje to do lava ci do prava dik
ked mas operaciu * a s pravou asociativnostou, tak vyraz a*b*c sa vykona takto
a*(b*c)
Quote from: totaluser on 14.11.2010, 01:13:36
ked mas operaciu * a s pravou asociativnostou, tak vyraz a*b*c sa vykona takto
a*(b*c)
cize pre and plati to iste nie?
Quote from: Makaveli on 14.11.2010, 01:22:24
Quote from: totaluser on 14.11.2010, 01:13:36
ked mas operaciu * a s pravou asociativnostou, tak vyraz a*b*c sa vykona takto
a*(b*c)
cize pre and plati to iste nie?
tak si vezmime nieco taketo
a*b*c*d*e
ak * ma pravu asociativnost tak sa to bude vyhodnocovat takto
d*e
c*(d*e)
b*(c*(d*e))
a*(b*(c*(d*e)))ak * ma lavu asociativnost, tak
(a*b)
(a*b)*c
((a*b)*c)*d
(((a*b)*c)*d)*e
Quote from: totaluser on 14.11.2010, 02:11:53
Quote from: Makaveli on 14.11.2010, 01:22:24
Quote from: totaluser on 14.11.2010, 01:13:36
ked mas operaciu * a s pravou asociativnostou, tak vyraz a*b*c sa vykona takto
a*(b*c)
cize pre and plati to iste nie?
tak si vezmime nieco taketo
a*b*c*d*e
ak * ma pravu asociativnost tak sa to bude vyhodnocovat takto
d*e
c*(d*e)
b*(c*(d*e))
a*(b*(c*(d*e)))
ak * ma lavu asociativnost, tak
(a*b)
(a*b)*c
((a*b)*c)*d
(((a*b)*c)*d)*e
a potom ked mam take ze && to ma pritoru 2 a z prava tak to robi toto ?? a || b && c|| d tak to c|| d mi vobec nezobere ???
Inak v tom tretom zadani, ked mam napr. prvy riadok gramatiky Expr -> Mul {"/" Mul}
tak vo funkcii int expr, co budem davat ako parameter k Mul? Viem, ze dajaka mnozina aktualnych klucov a to je tak vsetko...
int expr(SetType K)
{
int leftOp, rightOp;
SymType sy;
leftOp = Mul(E VALUE| E K); //Take nieco???
//tu asi bude check("xxx", E K);
while ((E symbol) & (E SDIV))
{.... bla bla
Quote from: Makaveli on 14.11.2010, 02:24:56
Quote from: totaluser on 14.11.2010, 02:11:53
Quote from: Makaveli on 14.11.2010, 01:22:24
Quote from: totaluser on 14.11.2010, 01:13:36
ked mas operaciu * a s pravou asociativnostou, tak vyraz a*b*c sa vykona takto
a*(b*c)
cize pre and plati to iste nie?
tak si vezmime nieco taketo
a*b*c*d*e
ak * ma pravu asociativnost tak sa to bude vyhodnocovat takto
d*e
c*(d*e)
b*(c*(d*e))
a*(b*(c*(d*e)))
ak * ma lavu asociativnost, tak
(a*b)
(a*b)*c
((a*b)*c)*d
(((a*b)*c)*d)*e
a potom ked mam take ze && to ma pritoru 2 a z prava tak to robi toto ?? a || b && c|| d tak to c|| d mi vobec nezobere ???
To bude asi preto, ze || mas neasociativne..
Neasociativnost znamena, ze ak mam vyraz
a op b op c op d
Tak sa nevie rozhodnut skade ma zacat, cize vyhodnoti len
a op b
a ostatne zahodi.
som mimo potom ako zistim ci mi to bere tu asociativu z prava pri && a ma to prioritu 2 a || to ma prioritu 1 a bezasociativy dik
Quote from: Makaveli on 14.11.2010, 18:00:11
som mimo potom ako zistim ci mi to bere tu asociativu z prava pri && a ma to prioritu 2 a || to ma prioritu 1 a bezasociativy dik
pozres na zdroj a uvidis ;)
Quote from: freshmakerik on 14.11.2010, 20:42:26
Quote from: Makaveli on 14.11.2010, 18:00:11
som mimo potom ako zistim ci mi to bere tu asociativu z prava pri && a ma to prioritu 2 a || to ma prioritu 1 a bezasociativy dik
pozres na zdroj a uvidis ;)
znamy sposob "kuknem a vydzim" :evica:
Quote from: Mike on 14.11.2010, 21:42:22
Quote from: freshmakerik on 14.11.2010, 20:42:26
Quote from: Makaveli on 14.11.2010, 18:00:11
som mimo potom ako zistim ci mi to bere tu asociativu z prava pri && a ma to prioritu 2 a || to ma prioritu 1 a bezasociativy dik
pozres na zdroj a uvidis ;)
znamy sposob "kuknem a vydzim" :evica:
ja myslim nejaky priklad pre overeie ze to ide spravne???
Pri lexikálnej chybe sa má kompilácia ukončiť alebo máme lexikálne chyby ignorovať?
Ako sa ma to zotavovanie spravat? Ak tam napr. buchnem vyraz (as. / je zlava, priorita nizsia ako * sprava ) 100 / 50 // 20 //2 alebo *100*10/10 co to ma zahlasit ?? Vdaka
Caute neviete co mozme aky priklad ocakavat na teste c.3 ?
Quote from: neucilasom on 16.11.2010, 01:25:44
Caute neviete co mozme aky priklad ocakavat na teste c.3 ?
asi toto: http://hornad.fei.tuke.sk/~kreutzova/FJaP/ZADANIE%20a%20TEST%203/TEST%20c.%203.txt (http://hornad.fei.tuke.sk/~kreutzova/FJaP/ZADANIE%20a%20TEST%203/TEST%20c.%203.txt)
Quote from: elros on 16.11.2010, 01:37:16
Quote from: neucilasom on 16.11.2010, 01:25:44
Caute neviete co mozme aky priklad ocakavat na teste c.3 ?
asi toto: http://hornad.fei.tuke.sk/~kreutzova/FJaP/ZADANIE%20a%20TEST%203/TEST%20c.%203.txt (http://hornad.fei.tuke.sk/~kreutzova/FJaP/ZADANIE%20a%20TEST%203/TEST%20c.%203.txt)
No hej diky to som si nasla aj ja ale ja som cakala konkretny priklad ze co moze byt lebo aj minule som cakala nejake ozatvorkovanie vyrazov podla toho co tam bolo a dostala som nieco uplne ine
Dostanete presne to co mate na zadani, ked spravite zadanie, nebude problem ani s testom.
Tak neviem ale ja napr. som minule robil sam na zadani a z tej pisomky som bol mimo.
Quote from: black_stone on 16.11.2010, 16:47:11
Tak neviem ale ja napr. som minule robil sam na zadani a z tej pisomky som bol mimo.
U mna a u dost ludi bol problem ten ze som nepochopila ci je to myslene ako jeden priklad ci 2.
mam otazku. Co ste vlastne mali na tej pisomke?? :D
Quote from: antil kiprest on 13.11.2010, 20:42:59
freshmakerik diki!! ano 2 je vyssia priorita ako 1
a este jedna vec.. ako ostestujem ci mi funguje ta lava asociativita pri nasobeni??
Tu by som sa hadala lebo na niektorom cviku to zaznelo ze 2 je vyssia ako 1 ale to je blbost v kazdej literature sa pise ze 1 je vyssia priorita ako 2
Neviete niekto ze kto nam pride na cviko dneska ? (16:50)
Quote from: black_stone on 16.11.2010, 18:06:31
Neviete niekto ze kto nam pride na cviko dneska ? (16:50)
Kolega otazka je na mieste aj ja by som bola zvedava.
kto robii 3.zadanie na FJaP???SURNE!!!!!!diky :)
Quote from: black_stone on 16.11.2010, 16:47:11
Tak neviem ale ja napr. som minule robil sam na zadani a z tej pisomky som bol mimo.
a preto sa pisu testy, aby sa zistilo, ci ste tomu, co robite, aj pochopili...
ano dnes pridem ja na 16:50
Quote from: MuF123 on 18.11.2010, 09:37:13
zadanie som chcel robit, robil som, nepochopil som, nedokoncil som, pisomka teda dopadne tak ako to zadanie. toto je este krutejsie jak USAA, tam aspon google nieco obcas vyplul :D
Neni to blbe, len je to robene blbou formou. Cvicenia maju byt o tom, ze tam nieco naprogramujeme, vyskusame a nie iba vysvetlenie algoritmu.
Ale to by sme museli chodit na prednasky vsakze :-)
Quote from: MuF123 on 18.11.2010, 09:37:13
zadanie som chcel robit, robil som, nepochopil som, nedokoncil som, pisomka teda dopadne tak ako to zadanie. toto je este krutejsie jak USAA, tam aspon google nieco obcas vyplul :D
jj, dost kktsky vysvetlene to bolo
No tiez mam taky pocit ze pre druhakov je to kusok tazke.. Inak na cviceniach sa neda stihnut vsetko vysvetlit a spravit na kazdom cviceni nejake priklady v kode...
Tu je inak dobry priklad na vypocet tych mnozin (FIRST je H a FOLLOW je K)
http://mendelu.org/upload//07-first-follow.pdf (http://mendelu.org/upload//07-first-follow.pdf)
a tu je nejaka prezentacia co som nasla na webe (tie FIRSTk a FOLLOWk si nevsimajte, to vam netreba, skor len tie FIRST a FOLLOW)
http://info.lu2.name/soubory/prekl_04_FF_603.pdf (http://info.lu2.name/soubory/prekl_04_FF_603.pdf)
dalsi zdroj (mimochodom aj so zdrojakmi)
hornad.fei.tuke.sk/~plocica/ppj
aké chybné výrazy mám nahádzať do programu aby so zistil, či to funguje? (3. zadanie)
Či som na niečo náhodou nezabudol :D
4*
4*(
4*)
*
čo ešte? :D
Quote from: neucilasom on 16.11.2010, 17:17:57
Quote from: antil kiprest on 13.11.2010, 20:42:59
freshmakerik diki!! ano 2 je vyssia priorita ako 1
a este jedna vec.. ako ostestujem ci mi funguje ta lava asociativita pri nasobeni??
Tu by som sa hadala lebo na niektorom cviku to zaznelo ze 2 je vyssia ako 1 ale to je blbost v kazdej literature sa pise ze 1 je vyssia priorita ako 2
jj, ale v zadani sme to mali presne povedane takto... proti prudu kvoli tomu nepojdem no :drink:
aky parameter treba poslat pri volani expr(SetType K) z mainu??
tusim SEOF, ale mozem sa mylit
Hej, SOEF. On ten expr normalne checkuje, ze ci sa nachadza ako dalsi symbol ten, ktory chce - no a tymto mu povies tolko, ze okrem toho symbolu co chce tam moze byt aj koniec suboru.
Quote from: v_oid on 20.11.2010, 23:29:23
Hej, SOEF. On ten expr normalne checkuje, ze ci sa nachadza ako dalsi symbol ten, ktory chce - no a tymto mu povies tolko, ze okrem toho symbolu co chce tam moze byt aj koniec suboru.
no hej, ale nie vzdy okrem pozadovaneho symbolu moze prist aj SEOF.. a expr v mnozine klucov to SEOF posiela dalej.. to nevadi??
a inac ako to je vlastne s vysledkom ked sa vyskytne chyba? ako sa to ma dopocitat? ked zadam napr: 12/3/2*5 (/ - bez asociativity, nizsia priorita ; * - asociativita zlava, vyssia priorita) ake chyby by mi to malo vratit? a aky vysledok? diki
EDIT: ak sa nemylim tak by mala byt chyba na druhom '/' a vysledok by mal byt 0 ... lepsi priklad by bol asi 15/3/2*5.. tam by bol vysledok 1 (akoze 15/3*5 cize /2 vynecham) ... opravte ma ak sa mylim
EDIT2: :D vyzera to tak ze som sam co toto teraz riesi ;D ..no, aj samemu mi je to divne...
Chcem sa spytat ludi co maju cvicenia s Vaclavikom spominal nieco, ze mame v 3 zadani robit aj nejaky postfixny kod, kedze nic take som nezaregistroval a niektore druhe skupiny to vraj maju robit.. Ked ano tak sa chcem syptat ze co to ma ako robit. ???
mam zopar otazok co sa tyka urcovania H (handles) a K keys
ak mam gramatiku napr.
Expr -> Term{ "+" Term}
Term -> Term2 [ "-" Tem2]
Term2 -> value | "(" Expr ")"
tak potom urcenie mnoziny H je taketo??
H(Term2)={ VALUE , LPAR }
H(Term2)={ MINUS, VALUE , LPAR, }
H(Expr)={ PLUS, MINUS, VALUE , LPAR, }
a ako urcim K keys?
potom sa chcem spytat na K ak mam proceduru void Term(SetType K)......potom K predstavuje mnozinu klucov s ktorymi je volana procedura, ale co si mam pod tym predstavit ...co je vlastne mnozina aktualnych klucov.... a ako sa meni v jednotlivych procedurach
je toho v podstate dost ale z prednasky a poznamok som to velmi nepochopil.....odpoved by mi dost pomohla...dik
Quote from: HejaHop on 21.11.2010, 21:42:37
....
tak potom urcenie mnoziny H je taketo??
H(Term2)={ VALUE , LPAR }
H(Term2)={ MINUS, VALUE , LPAR, }
H(Expr)={ PLUS, MINUS, VALUE , LPAR, }
...
nie,
H(Term2)={ VALUE , LPAR }
H(Term)= H(Term2) = { VALUE , LPAR }
H(Expr)= H(Term) = { VALUE , LPAR }
Quote from: HejaHop on 21.11.2010, 21:42:37
potom sa chcem spytat na K ak mam proceduru void Term(SetType K)......potom K predstavuje mnozinu klucov s ktorymi je volana procedura, ale co si mam pod tym predstavit ...co je vlastne mnozina aktualnych klucov....
K (napr. Term) je mnozina vsetkych terminalov, ktore mozu nasledovat za Term...
Pozri si tie materialy co tu postla mishelka... tiez su tam dobre priklady
okej som mimo, podla coho a kde davam ake parametre pre check a error ? bu
Quote from: ursus on 22.11.2010, 03:59:00
okej som mimo, podla coho a kde davam ake parametre pre check a error ? bu
pre check(int n, SetType K) davas parameter n index chybovej hlasky z mnoziny
napr
char *errmsg[]={
"Ocakava sa hodnota alebo lava zatvorka (",
"Ocakava sa operator /",
"Ocakava sa operator * alebo /",
"Ocakava sa operator *",
"Ocakava sa operator * alebo prava zatvorka )",
"Ocakava sa operator alebo prava zatvorka"
};
a K je mnozina symbolov, ktore su na danom mieste pripustne..
check to iste dalej posiela do error(...) v pripade ze symbol ktory cekujes nepatri do mnoziny K
mimochodom z tych follow a first som tiez debil, nevie mi to niekto vysvetlit co to vlastne su za mnoziny a kde sa v kode vyskytuju?? z tych materialov som to akosi nechytil
nechapem..help?
okey, kedy vlastne chybu to ma hlasit?
true && //chyba lava zatvorka alebo hodnota
true && ( //chyba hodnota
true && ( true //chyba prava zatvorka
true && ( true && //chyba hodnota
true && ( true && true //chyba prava zatvorka
este nieco ?
kto mi bude vedel spravit 3 k fjap???2 uz mam zadanie 25 :beer1:
kto by mi vedel vysvetlit polopatisticky to tretie zadanie? :/
Quote from: Safyia on 22.11.2010, 19:56:59
kto by mi vedel vysvetlit polopatisticky to tretie zadanie? :/
Lubo to vysvetli a ja prelozim do slovenciny :D
Quote from: Safyia on 22.11.2010, 19:56:59
kto by mi vedel vysvetlit polopatisticky to tretie zadanie? :/
co konkretne??
Pisal niekto vobec 3. pisomku z FJaP ?
no nemam dobreho slova k dneskajsku
Quote from: ursus on 22.11.2010, 23:19:36
no nemam dobreho slova k dneskajsku
ta com ?
taaaze tretie zadanie u nas neodovzdal nikto :D Srandi...
to vy ste boli ta skupina co mala cviko vedla CCNP Labu (A515) co tam povedal cviciaci hlasku, ze kto nerozumiene nech ide domov a dojde v stredu, ze dnes nech ostanu len ti, co tomu rozumeju?
13:30 skupina na konci chodby.
:beer1: vie mi niekto spravit 3 zadanie??????????????????????,, bv
OK, aby sme sa chapali
br ZADANIA Z FJAP NEROBIM :emot-shakehead:
neni casu
Quote from: ursus on 22.11.2010, 23:19:36
no nemam dobreho slova k dneskajsku
taze nic z toho?? vidis si si mohol radsej pospat ;D
tiež by som bral, ak by niekto kto tomu rozumie sem trošku podrobnejšie rozpísal čo vlastne máme spraviť :)
cize tuto stredu 24.novembra nebude cviko ? :D
Quote from: james138 on 23.11.2010, 17:34:26
cize tuto stredu 24.novembra nebude cviko ? :D
to mas odkial?????????
to: mishelka
ani stvrtok o 10:50 nebude ?? :D (teraz sa ku mne dostalo.., si chcem overit..)
diky..
Quote from: freshmakerik on 23.11.2010, 18:42:12
to: mishelka
ani stvrtok o 10:50 nebude ?? :D (teraz sa ku mne dostalo.., si chcem overit..)
diky..
odkial to mate kde to je napisane ze v stredu nebude cviko??????nikto nebude mat???
Quote from: freshmakerik on 23.11.2010, 18:42:12
to: mishelka
ani stvrtok o 10:50 nebude ?? :D (teraz sa ku mne dostalo.., si chcem overit..)
diky..
Ale v štvrtok na cviku povedala že bude zastupované.
OZNAM
CVIČENIA Z PREDMETU FORMÁLNE JAZYKY A PREKLADAČE
(FJaP):
DŇA 24.11.2010 O 14:15, A516
DŇA 24.11.2010 O 15:55, PC2
SA PRESÚVAJÚ NA
PIATOK 13:30, MIESTNOSŤ A516.
Oficialny oznam zo stranky M. Kreutzovej
:)
kto vie robit 3 zadanie na fjap????????????haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Quote from: smelyzajo on 24.11.2010, 01:42:45
kto vie robit 3 zadanie na fjap????????????haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Popapame zajtra :D
Quote from: luky on 23.11.2010, 20:25:44
Ale v štvrtok na cviku povedala že bude zastupované.
jaaj.. ta potom nic.. som bol na cviku asi 3 minuty.. tak som nezachytil oznam.., thx..
nema niekto nejake fajne materialy k tomu, ze ako postupovat pri zadani c. 4?
pripadne nejaky Sample kod alebo nieco take
vdaka
Quote from: OsamelyVlk on 23.11.2010, 23:14:42
OZNAM
CVIČENIA Z PREDMETU FORMÁLNE JAZYKY A PREKLADAČE
(FJaP):
DŇA 24.11.2010 O 14:15, A516
DŇA 24.11.2010 O 15:55, PC2
SA PRESÚVAJÚ NA
PIATOK 13:30, MIESTNOSŤ A516.
Oficialny oznam zo stranky M. Kreutzovej
:)
No nadhera, niezeby som mal tam cviko z OOP, ale to sa tu asi deje bezne, ci? Navyse ako dopekla mam napisat ten test, ked vsehovsudy k 3ke zadaniu a k tomu co po nas bude chciet sme mali AZ jedno cvicenie, kde sme dosli po postfix a ako kukam tak sa asi budem musiet pokrajat ak chcem vobec nieco odovzdat.
TUKE simply rulezz! :metal:
Kto ma vtedy cviko dohodnite sa co najskor s Ing. Vaclavikom (on bude preberat zadania) emailom na neskorsi termin,ale v ten den, teda piatok. Dajte si to medzi sebou vediet.
Zaroven upozornujem,ze je VELMI prisny pri preberani,takze pridte pripraveni.
Na margo predchadzajuceho postu: na teste bude len zotavenie,cize nic nove. Je to v prezentacii,je na to spraveny priklad na webe - sample kod (na hornade je link,keby ste to sledovali,tak viete) a mate to na zadani. Cize no problem, akurat sa to naucit. Mozte byt radi,ze mate vobec nejake prezentacie,lebo kolegovia ich nerobia. Okrem toho to bude aj na skuske.
Quote from: eminkaa on 24.11.2010, 19:14:15
Quote from: OsamelyVlk on 23.11.2010, 23:14:42
OZNAM
CVIČENIA Z PREDMETU FORMÁLNE JAZYKY A PREKLADAČE
(FJaP):
DŇA 24.11.2010 O 14:15, A516
DŇA 24.11.2010 O 15:55, PC2
SA PRESÚVAJÚ NA
PIATOK 13:30, MIESTNOSŤ A516.
Oficialny oznam zo stranky M. Kreutzovej
:)
update:
OZNAM
CVIČENIA Z PREDMETU FORMÁLNE JAZYKY A PREKLADAČE
(FJaP):
DŇA 24.11.2010 O 14:15, A516
DŇA 24.11.2010 O 15:55, PC2
SA PRESÚVAJÚ NA
PIATOK 13:00, MIESTNOSŤ A516.
Oficialny oznam zo stranky M. Kreutzovej
aj tak, niektorý ako ja, majú od 12:30 cviko z OOP
takže som zvedavý čo sa bude diať ...
Šéf Václavík vy...e dve tretiny ročníka, to sa bude diať ! :D
Quote from: eminkaa on 24.11.2010, 19:14:15
Quote from: OsamelyVlk on 23.11.2010, 23:14:42
OZNAM
CVIČENIA Z PREDMETU FORMÁLNE JAZYKY A PREKLADAČE
(FJaP):
DŇA 24.11.2010 O 14:15, A516
DŇA 24.11.2010 O 15:55, PC2
SA PRESÚVAJÚ NA
PIATOK 13:30, MIESTNOSŤ A516.
Oficialny oznam zo stranky M. Kreutzovej
:)
update:
OZNAM
CVIČENIA Z PREDMETU FORMÁLNE JAZYKY A PREKLADAČE
(FJaP):
DŇA 24.11.2010 O 14:15, A516
DŇA 24.11.2010 O 15:55, PC2
SA PRESÚVAJÚ NA
PIATOK 13:00, MIESTNOSŤ A516.
Oficialny oznam zo stranky M. Kreutzovej
Ten cas 13:00 plati? Lebo ja som teraz (24.11.2010 o 16:05) ten oznam kukol a je tam ze o 13:30 :)
moze my niekto please vysvetlit ake mnoziny budem posielat do tych dalsich funkcii?
napriklad pre
a->b{"+" b}
b->c["-" b]
c->d["*" d]
d->value | "(" a ")"
okej cize napr pre b
int b(K){
leftOp = c(??);
if(blabla){
...
rightOp = b(??);
}
}
proste ako z gramatiky z fleku urcim co tam mam posielat? thx
najskor asi mierene na miselku kedze pan V. to "zabudol" vysvetlit
Do cecka - alebo k, do b k? :D
Nemate niekto fotoalbum z poslednej fjap prednasky, ktora sa tyka 4. Zadania?
Quote from: v_oid on 25.11.2010, 17:47:00
Nemate niekto fotoalbum z poslednej fjap prednasky, ktora sa tyka 4. Zadania?
nooo za to by som bol fakt vdacny alebo rovno nejaky hotovy zdrojak podla ktoreho by sa to dalo prerobit... :-)
Kto nema cas v piatok zajst za ing. vaclavikom, dohodnite si s nim iny termin. Bohuzial sa na winscp uz asi do zajtra nedostanem, takze to bude asi len tu...
musíme to tretie zadanie zajtra odovzdať ? alebo je možnosť odovzdať aj v jedenástom alebo v dvanástom týždni ?
takže prídem o možnosť získať 4 body za písomku ?
davam do pozornosti oznamy, dajte si medzi sebou vediet:
http://hornad.fei.tuke.sk/~kreutzova/FJaP/ODOVZDAVANIE_ZADANI.pdf (http://hornad.fei.tuke.sk/~kreutzova/FJaP/ODOVZDAVANIE_ZADANI.pdf)
http://hornad.fei.tuke.sk/~kreutzova/FJaP/OSPRAVEDLNENKY.pdf (http://hornad.fei.tuke.sk/~kreutzova/FJaP/OSPRAVEDLNENKY.pdf)
sledujte prosim v nasledujucich tyzdnoch moju stranku, pretoze tam budem davat oznamy.
Oznamy platia pre vsetkych alebo len pre tych co maju cviciacu inzinierku Michaelu Kreutzovu?
tak :)
opravné písomky sa nedajú napísať?
caute potreboval by som zadanie cislo 4 .... do utorka to potrebujem!!! ak je to mozne tak aj s vysvetlenim
tusi niekto nieco? ehm
k tomu 4temu zadaniu.. vaclavik na cviku hovoril ze na vstup len syntakticky spravne retazce.. to znamena ze to mame dorabat do 2ky, kde este nie je syntakticka analyza??
njo, ja tak robim, aj ked si myslim ze je to jedno predsa
//pod na icq, ideme majstrovat ;D
Quote from: ursus on 28.11.2010, 00:44:21
njo, ja tak robim, aj ked si myslim ze je to jedno predsa
akurat ze tam mas nove typy ktore by Ti syn analyzator vypisoval ako chybu, ak by si ho nerozsiril.. ale inak je to jedno, mas pravdu..
btw neviete niekto jednoducho vysvetlit na co ma ten syntakticky strom vlastne sluzit??? resp ako ma fungovat, co ma riesit... neviem si pomoct ale to zadanie mi pripada ako keby sa dalo vyriesit zopar ifmi na zaklade typu prveho operandu... int alebo string...a davaj nasobim alebo zretazujem ;D
Quote from: antil kiprest on 28.11.2010, 00:53:36
Quote from: ursus on 28.11.2010, 00:44:21
njo, ja tak robim, aj ked si myslim ze je to jedno predsa
akurat ze tam mas nove typy ktore by Ti syn analyzator vypisoval ako chybu, ak by si ho nerozsiril.. ale inak je to jedno, mas pravdu..
btw neviete niekto jednoducho vysvetlit na co ma ten syntakticky strom vlastne sluzit??? resp ako ma fungovat, co ma riesit... neviem si pomoct ale to zadanie mi pripada ako keby sa dalo vyriesit zopar ifmi na zaklade typu prveho operandu... int alebo string...a davaj nasobim alebo zretazujem ;D
aj mna to napadlo... podla mna by sa to dalo takto spravit... :-)
Quote from: FRODO on 28.11.2010, 00:57:59
Quote from: antil kiprest on 28.11.2010, 00:53:36
Quote from: ursus on 28.11.2010, 00:44:21
njo, ja tak robim, aj ked si myslim ze je to jedno predsa
akurat ze tam mas nove typy ktore by Ti syn analyzator vypisoval ako chybu, ak by si ho nerozsiril.. ale inak je to jedno, mas pravdu..
btw neviete niekto jednoducho vysvetlit na co ma ten syntakticky strom vlastne sluzit??? resp ako ma fungovat, co ma riesit... neviem si pomoct ale to zadanie mi pripada ako keby sa dalo vyriesit zopar ifmi na zaklade typu prveho operandu... int alebo string...a davaj nasobim alebo zretazujem ;D
aj mna to napadlo... podla mna by sa to dalo takto spravit... :-)
nj ale s tym keby som prisiel za vaclavikom ;D rovno sevas by mi povedal ;D
co vlastne moze obsahovat ten string ? (ked mam zadanie */) ma zacinat malym pismenom a po nom mozu nasledovat aj velke pismena aj znaky ako $%# ??
resp akym znakom by mal koncit string??
inac nema niekto 8mu prednasku ? lebo z tej chybaju fotky konkretne 21/28 strana
alebo dobra dusa so skriptami Prekladace?
thx
Quote from: ursus on 25.11.2010, 16:43:12
moze my niekto please vysvetlit ake mnoziny budem posielat do tych dalsich funkcii?
napriklad pre
a->b{"+" b}
b->c["-" b]
c->d["*" d]
d->value | "(" a ")"
okej cize napr pre b
int b(K){
leftOp = c(??);
if(blabla){
...
rightOp = b(??);
}
}
proste ako z gramatiky z fleku urcim co tam mam posielat? thx
najskor asi mierene na miselku kedze pan V. to "zabudol" vysvetlit
Quote from: antil kiprest on 28.11.2010, 01:27:17
co vlastne moze obsahovat ten string ? (ked mam zadanie */) ma zacinat malym pismenom a po nom mozu nasledovat aj velke pismena aj znaky ako $%# ??
resp akym znakom by mal koncit string??
musi zacinat malym pismenom a potom to uz je jedno ake znaky pojdu... a konci to ako cislo bud tam das znamienko alebo enter a tym ukoncis vstup... :-)))
Quote from: FRODO on 28.11.2010, 04:10:38
Quote from: antil kiprest on 28.11.2010, 01:27:17
co vlastne moze obsahovat ten string ? (ked mam zadanie */) ma zacinat malym pismenom a po nom mozu nasledovat aj velke pismena aj znaky ako $%# ??
resp akym znakom by mal koncit string??
musi zacinat malym pismenom a potom to uz je jedno ake znaky pojdu... a konci to ako cislo bud tam das znamienko alebo enter a tym ukoncis vstup... :-)))
cize hocijake znaky okrem * a / tam mozu byt jo?? ale ono je to vlastne fuk.. do zdrojaku mi cumiet aj tak nebude.. spravim na velke a male pismena a mf... :)
Quote from: ursus on 28.11.2010, 02:09:17
Quote from: ursus on 25.11.2010, 16:43:12
moze my niekto please vysvetlit ake mnoziny budem posielat do tych dalsich funkcii?
napriklad pre
a->b{"+" b}
b->c["-" b]
c->d["*" d]
d->value | "(" a ")"
okej cize napr pre b
int b(K){
leftOp = c(??);
if(blabla){
...
rightOp = b(??);
}
}
proste ako z gramatiky z fleku urcim co tam mam posielat? thx
najskor asi mierene na miselku kedze pan V. to "zabudol" vysvetlit
Podla pana V. som pri odovzdavani pochopil ze:
a->b(H_b|E PLUS|K){"+" b(K)}
b->c(H_b|E MINUS|K)["-" b(K)]
c->d(H_d|E MUL|K)["*" d(K)]
d->value | "(" a(E RPAR|K) ")"
Quote from: cenki on 28.11.2010, 04:32:47
Quote from: ursus on 28.11.2010, 02:09:17
Quote from: ursus on 25.11.2010, 16:43:12
moze my niekto please vysvetlit ake mnoziny budem posielat do tych dalsich funkcii?
napriklad pre
a->b{"+" b}
b->c["-" b]
c->d["*" d]
d->value | "(" a ")"
okej cize napr pre b
int b(K){
leftOp = c(??);
if(blabla){
...
rightOp = b(??);
}
}
proste ako z gramatiky z fleku urcim co tam mam posielat? thx
najskor asi mierene na miselku kedze pan V. to "zabudol" vysvetlit
Podla pana V. som pri odovzdavani pochopil ze:
a->b(H_b|E PLUS|K){"+" b(K)}
b->c(H_b|E MINUS|K)["-" b(K)]
c->d(H_d|E MUL|K)["*" d(K)]
d->value | "(" a(E RPAR|K) ")"
a co je to H_b a H_d ???
Uf, to presne neviem :D ale ak mas:
SetType H_Term = E VALUE | E LPAR;
a potom:
#define H_Div H_Term
#define H_Mul H_Div
#define H_Expr H_Mul
tak takto.
Quote from: cenki on 28.11.2010, 04:50:51
Uf, to presne neviem :D ale ak mas:
SetType H_Term = E VALUE | E LPAR;
a potom:
#define H_Div H_Term
#define H_Mul H_Div
#define H_Expr H_Mul
tak takto.
heh.. no neviem to zas zavisi od gramatiky.. ale to Ti vazne vravel vaclavik ze takto to ma byt?? myslim ten priklad predtym...
odhliadnuc od tych mnozin H_... aspon tie b-cka
a->b(H_b|E PLUS|K){"+" b(K|E PLUS)}
b->c(H_b|E MINUS|K)["-" b(K|E MINUS)]
c->d(H_d|E MUL|K)["*" d(K)]
d->value | "(" a(E RPAR|K) ")"
dla mna
Ono problem s tym ze ujo V toho vela nepovedal a vyhodil cele skupiny... a jednemu vravel ze ma byt tak druhemu tak... ta na ICQ zistujem komu co povedal. :D
niekto vazne keby ste mali 27/28 slide z osmej prednasky bol by som velmi vdacny
nespravil by mi niekto 4. zadanie? zaplatím
Robim zadanie 4 podla tych Kollarovych prezentacii a mam taky problem. Asi mam uz vsetko nakodene ako ma byt :j_undecided:. Funguje mi aj ked v main -e zavolam printTree(Expr()); (pri vstupe napr. 2*3*4 vypise: * 2 * 3 4)
Problem je ze neviem ako mam transformovat ten polymorfny strom na monomorfny, skusal som v tych funkciach(Expr, Mul, Term) volat TypeCheck(tree) a potom Evaluate(tree) ale pretransformuje mi to len jeden podstrom (napr. vstup 2*3*4 (asoc. sprava) : v 3*4 mi zmeni to polymorfne krat(MUL_OP) na int krat(MUL_INT_OP), ale dalsie krat uz to nezmeni, cize vypocet vyrazu bude 12).
Kedy a kde vlastne to Evaluate a TypeCheck treba v kode volat?
Vdaka
EDIT: a este otazka, ak idem napr. nasobit int*float ma to vyhodit Type Error ? Ci iba pri string*int (resp. string*float) ?
Quote from: revelc on 28.11.2010, 19:40:19
Robim zadanie 4 podla tych Kollarovych prezentacii a mam taky problem. Asi mam uz vsetko nakodene ako ma byt :j_undecided:. Funguje mi aj ked v main -e zavolam printTree(Expr()); (pri vstupe napr. 2*3*4 vypise: * 2 * 3 4)
Problem je ze neviem ako mam transformovat ten polymorfny strom na monomorfny, skusal som v tych funkciach(Expr, Mul, Term) volat TypeCheck(tree) a potom Evaluate(tree) ale pretransformuje mi to len jeden podstrom (napr. vstup 2*3*4 (asoc. sprava) : v 3*4 mi zmeni to polymorfne krat(MUL_OP) na int krat(MUL_INT_OP), ale dalsie krat uz to nezmeni, cize vypocet vyrazu bude 12).
Kedy a kde vlastne to Evaluate a TypeCheck treba v kode volat?
Vdaka
EDIT: a este otazka, ak idem napr. nasobit int*float ma to vyhodit Type Error ? Ci iba pri string*int (resp. string*float) ?
polymorfny na monomorfny trasformujes v TypeCheck(tree)... v maine najprv volas expr(), to Ti vrati tree.. mozes si to ulozit do premennej.. potom zavolas (tiez v maine) TypeCheck(tree).. to Ti prerobi strom na monomorfny a vrati Ti typ.. nakoniec volas (opat v maine) Evaluate(tree) to Ti vyhodnoti strom a vrati monotype* cell.. co je vlastne vysledok...
mimochodom s kym mas cvika?? my sme napriklad float ani nemali... iba int a string.. v kazdom pripade pri nekompatibilnych typoch by Ti mal typeCheck vratit typ AnyType...
Quote from: eminkaa on 28.11.2010, 20:06:41
niektore skupiny maju v zadani c. 4 aj pracu s typom float, nic zlozite
jasne ze nie.. a printTree je tiez sucast zadania?? my sme to cele zadanie mali od vaclavika podane iba ustne a na nic take si nespominam ???
Quote from: eminkaa on 28.11.2010, 20:24:39
ano, treba sa potrapit aj s printom.
no ok, a ako ma teda vyzerat vypis stromu napriklad pre ten spomenuty vyraz 2*3*4 ?
antil kiprest: diky, asi uz to ide... hadzalo mi to blbe vysledky lebo som volal printTree(Expr()); ,pricom som si mal ulozit do premennej tree=Expr(); a az potom printTree(tree);
A este ako ma vyzerat ta dokumentacia?
Quote from: revelc on 28.11.2010, 21:03:30
antil kiprest: diky, asi uz to ide... hadzalo mi to blbe vysledky lebo som volal printTree(Expr()); ,pricom som si mal ulozit do premennej tree=Expr(); a az potom printTree(tree);
A este ako ma vyzerat ta dokumentacia?
dokumentacia? ;D to fakt neviem.. co take by tam akoze malo byt??
QuoteDokumentácia (podľa prednášok):
o Formálny zápis typovej kontroly
o Špecifikácia typovej kontroly (rozpísať triedy operácií)
Co to je Formalny zapis typovej kontroly ? :D Tie cudne veci v prednaske co je medzi nimi ciara ? ;D
Quote from: revelc on 28.11.2010, 21:18:24
QuoteDokumentácia (podľa prednášok):
o Formálny zápis typovej kontroly
o Špecifikácia typovej kontroly (rozpísať triedy operácií)
Co to je Formalny zapis typovej kontroly ? :D Tie cudne veci v prednaske co je medzi nimi ciara ? ;D
bu to fakt treba?? bu neznasam dokumentaciu! ta nic no idem to pozriet.... ;D
BTW. este k 3tej pisomke:
Gramatika:
a ["*" b]
c {"/" d}
bude:
a(E MUL|H_b|K)
b(K)
c(H_Div|H_d|K)
d(H_Div|H_d|K) alebo d(H_d|K) alebo d(K) // ak su tam zatvorky {}
??? Lebo sa nam trochu rozchadzaju nazory na toto :)
nehehe, ceeelebration ! :ropebanana: :ropebanana:, dajte kiprestovi medajlu
;D ;D
Quote from: cenki on 28.11.2010, 22:18:44
BTW. este k 3tej pisomke:
Gramatika:
a ["*" b]
c {"/" d}
bude:
a(E MUL|H_b|K)
b(K)
c(H_Div|H_d|K)
d(H_Div|H_d|K) alebo d(H_d|K) alebo d(K) // ak su tam zatvorky {}
??? Lebo sa nam trochu rozchadzaju nazory na toto :)
zase tie tajomne mnoziny first a follow :metal: ocividne nikto tomu poriadne nerozumie... alebo ste skupi na know-how?? ;D
ok takze doku...
mam polymorfne MUL_OP (nasobenie, zretazenie)
formalny zapis typovej kontroly by mohol byt nejak takto
MUL_OP: MUL(a,b) => a x b -> T(a,b) E1 : T1 E2 : T2
----------------------------------------------------
MUL_OP(T1, T2) E : T(T1, T2)
??? nejake namietky, navrhy?? opravte ma ked viete
Quote from: cenki on 28.11.2010, 22:18:44
BTW. este k 3tej pisomke:
Gramatika:
a ["*" b]
c {"/" d}
bude:
a(E MUL|H_b|K)
b(K)
c(H_Div|H_d|K)
d(H_Div|H_d|K) alebo d(H_d|K) alebo d(K) // ak su tam zatvorky {}
??? Lebo sa nam trochu rozchadzaju nazory na toto :)
Pre: X → C {"/" D}
bude volanie pre D:
D(E DIV | H_D | K);
Lebo po D-čku môžu vrámci pravidla X nasledovať ďalšie "/" a D-čka, keďže je tam cyklus {}.
Pre podmienku [] by už bolo len K.
Quote from: sulo on 29.11.2010, 01:23:06
Quote from: cenki on 28.11.2010, 22:18:44
BTW. este k 3tej pisomke:
Gramatika:
a ["*" b]
c {"/" d}
bude:
a(E MUL|H_b|K)
b(K)
c(H_Div|H_d|K)
d(H_Div|H_d|K) alebo d(H_d|K) alebo d(K) // ak su tam zatvorky {}
??? Lebo sa nam trochu rozchadzaju nazory na toto :)
Pre: X → C {"/" D}
bude volanie pre D:
D(E DIV | H_D | K);
Lebo po D-čku môžu vrámci pravidla X nasledovať ďalšie "/" a D-čka, keďže je tam cyklus {}.
Pre podmienku [] by už bolo len K.
ok a co presne je to H_d ?? co sa tam nachadza?
Všetky terminálne symboly, ktoré sa môžu vyskytnúť na začiatku D-čka.
Napr.:
D → (Y | "plus") "value"
Y → ["div"] "minus" "mul"
Najprv určíme H_Y, lebo ho budeme potrebovať pri D-čku:
H_Y = E DIV | E MINUS;
A potom pre samotné D:
H_D = H_Y | E PLUS;
Quote from: sulo on 29.11.2010, 01:36:36
Všetky terminálne symboly, ktoré sa môžu vyskytnúť na začiatku D-čka.
Napr.:
D → (Y | "plus") "value"
Y → ["div"] "minus" "mul"
Najprv určíme H_Y, lebo ho budeme potrebovať pri D-čku:
H_Y = E DIV | E MINUS;
A potom pre samotné D:
H_D = H_Y | E PLUS;
To sa nepytame... To vieme... Ale ked mas dade po sipke nieco, ako cenki daval priklad, radsej ten povedz :D
Tri príspevky vyššie... :D
sulo-man, plz vyries toto
a->b{"+" b}
b->c["-" b]
c->d["*" d]
d->value | "(" a ")"
thx a lot
thx sulo, konečne dakto kto ujasnil a nie len my čo sme odhadovali myšlienkové pochody nášho pána cvičiaceho.
od ursus:
a->b{"+" b} //bude: b(PLUS|H_b|K), b(PLUS|H_b|K)
b->c["-" b] //bude: c(MINUS|H_b|K), b(K)
c->d["*" d] //bude: d(MUL|H_d|K), d(K)
d->value | "(" a ")" //bude: a(RPAR)
Takto?
Quote from: cenki on 29.11.2010, 02:58:32
thx sulo, konečne dakto kto ujasnil a nie len my čo sme odhadovali myšlienkové pochody nášho pána cvičiaceho.
od ursus:
a->b{"+" b} //bude: b(PLUS|H_b|K), b(PLUS|H_b|K)
b->c["-" b] //bude: c(MINUS|H_b|K), b(K)
c->d["*" d] //bude: d(MUL|H_d|K), d(K)
d->value | "(" a ")" //bude: a(RPAR)
Takto?
jj tiez si myslim akurat
a->b(E PLUS | H_B | K){"+" b(E PLUS | H_B | K)}
b->c(E MINUS | H_C | K)["-" b(E MINUS | H_C | K)]
c->d(E MUL | H_D | K)["*" d(
H_D | K)]
d->value | "(" a(E RPAR) ")"
si myslim
Quote from: cenki on 29.11.2010, 02:58:32
thx sulo, konečne dakto kto ujasnil a nie len my čo sme odhadovali myšlienkové pochody nášho pána cvičiaceho.
od ursus:
a->b{"+" b} //bude: b(PLUS|H_b|K), b(PLUS|H_b|K)
b->c["-" b] //bude: c(MINUS|H_b|K), b(K)
c->d["*" d] //bude: d(MUL|H_d|K), d(K)
d->value | "(" a ")" //bude: a(RPAR)
Takto?
Takto
a->b{"+" b} //bude: b(PLUS|H_b|K), b(PLUS|H_b|K)
b->c["-" b] //bude: c(MINUS|H_b|K), b(K)
c->d["*" d] //bude: d(MUL|H_d|K), d(K)
d->value | "(" a ")" //bude: a(RPAR
| K)
Quote from: revelc on 29.11.2010, 03:11:02
Quote from: cenki on 29.11.2010, 02:58:32
thx sulo, konečne dakto kto ujasnil a nie len my čo sme odhadovali myšlienkové pochody nášho pána cvičiaceho.
od ursus:
a->b{"+" b} //bude: b(PLUS|H_b|K), b(PLUS|H_b|K)
b->c["-" b] //bude: c(MINUS|H_b|K), b(K)
c->d["*" d] //bude: d(MUL|H_d|K), d(K)
d->value | "(" a ")" //bude: a(RPAR)
Takto?
Takto
a->b{"+" b} //bude: b(PLUS|H_b|K), b(PLUS|H_b|K)
b->c["-" b] //bude: c(MINUS|H_b|K), b(K)
c->d["*" d] //bude: d(MUL|H_d|K), d(K)
d->value | "(" a ")" //bude: a(RPAR | K)
si si tym isty?? ja by som tam K neposielal... v K mas totiz uz od mainu aj SEOF a ked to a-cko volas ked Ti pride "(" .. no a potom predsa nemozes len tak dostat SEOF kym sa Ti neuzavrie zatvorka... okrem toho ostatne symboly sa Ti do K znovu postupne nazbieraju... ale opravte ma ked sa mylim
Quote from: antil kiprest on 29.11.2010, 03:07:23
...
si myslim
Radšej nemyslieť... môžeš odôvodniť prečo tak ?
napr.: c->d(E MUL | H_D | K)["*" d(H_D | K)], prečo dávaš i H_D v prvom d()? A prečo H_D v druhom d()?
to revelc: jo K na konci tiež, som zabudol.
cenki, jedine v tom pripade mas totiz neasociativnu operaciu (*).. to vyplyva z gramatiky.. a ked sa Ti uz raz vyskytne * tak ho dalej uz neocakavas... cize neposielas E MUL do druheho d ...
ale to K na konci mi vysvetlite preco to nevadi, ked si za tym tak stojite ;D
mimochodom H_D = H_C = H_B = H_A = E LPAR | E VALUE pokial sa nemylim...
ta kde je sulo? kto teraz vynesie rozsudok?
A -> B {"+" B}
Za prvým B môžu nasledovať plus a B, teda:
B(E PLUS | H_B | K);
Za druhým B môžu nasledovať opäť plus a B, pretože {} môže zabezpečiť ďalšie opakovanie (+ B + B + B...) a ak by chýbalo napr. plus, tak sa zrecoveruje vďaka tomu, že vo while sa testuje, či je aktuálny symbol z (E PLUS | H_B), nie len E PLUS.
B(E PLUS | H_B | K);
B -> C [ "-" B ]
Za C sa dáva len mínus. Nemalo by zmysel dávať do množiny aj H_B, pretože ak by sme dali aj H_B a bolo by vynechané mínus a vďaka nejakému erroru by aj prišlo k začiatku B, tak aj tak nám to nepomôže, lebo volanie B je v ife, ktorý sa celý nevykoná. (Na toto sme sa boli pýtať priamo Kollára, je to podobné ako A -> B ( c d e | f g h ) C - tu sa B zavolá s E c | E f | H_C | K.)
C(E MINUS | K);
Za posledným B už nejde nič (v tomto pravidle):
B(K);
C -> D [ "*" D ]
Podobne ako predchádzajúce:
D(E MUL | K);
D(K);
D -> value | "(" A ")"
Tu bude switch, v default bude error s K (pozor, tu mal Kollár v niektorých príkladoch chybu, dal tam aj E VALUE a E LPAR).
Za A ide len RPAR, čiže:
A(E RPAR | K);
Quote from: antil kiprestno a potom predsa nemozes len tak dostat SEOF kym sa Ti neuzavrie zatvorka...
To SEOF musí ísť do každého erroru už len kvôli tomu, aby sa ukončil ten while v errore, keď sa narazí na SEOF. Aby si nevolal getsymbol aj vtedy, keď už nie sú dostupné ďalšie symboly.
ok.. mmnt .. takze tam ako mam ten while { + B +B + B}, ked niekde bude chybat + tak sa to zotavi na VALUE alebo LPAR ?? ked je to tak, tak som ani zadanie spravne nepochopil ;D
ale inac chlape teraz si ma uz uplne poplietol... ja mam ten kod asi uplne inak ako ma byt ;D napr vo while v error mam v podmienke aj symbol!=SEOF a v tych ostatnych funkciach posielam kde co...funguje mi to pekne, vypisuje co kde chyba, ale co z toho ked ten test aj tak asi nedam... to mam za to ze k tomu pristupujem intuitivne a nie podla ucebnic hehe... potom som mimo hry v takychto veciach
Quote from: antil kiprest on 29.11.2010, 05:17:13
ok.. mmnt .. takze tam ako mam ten while { + B +B + B}, ked niekde bude chybat + tak sa to zotavi na VALUE alebo LPAR ?? ked je to tak, tak som ani zadanie spravne nepochopil ;D
ale inac chlape teraz si ma uz uplne poplietol... ja mam ten kod asi uplne inak ako ma byt ;D napr vo while v error mam v podmienke aj symbol!=SEOF a v tych ostatnych funkciach posielam kde co...funguje mi to pekne, vypisuje co kde chyba, ale co z toho ked ten test aj tak asi nedam... to mam za to ze k tomu pristupujem intuitivne a nie podla ucebnic hehe... potom som mimo hry v takychto veciach
K tomu while ti skúsim napísať príklad, snáď je správne.
/* A -> B {"+" B} */
int a(SetType K) {
int left, right;
left = b(E PLUS | H_B | K);
check(n, E PLUS | H_B | K);
while ((E symbol) & (E PLUS | H_B)) {
if (symbol == PLUS) {
getsymbol();
} else {
error(n, E PLUS | H_B | K);
}
right = b(E PLUS | H_B | K);
left += right;
check(n, E PLUS | H_B | K);
}
return left;
}
To SEOF nemusíš dávať nikde (len raz pri volaní A z mainu), lebo sa ti vďaka K dostane všade.
ako ma vyzerat ta dokumentacia na 4zadanie???
Ak kreslim syntakticky strom a mam vyraz 3+4-5+9+10 a mam - ma prioritu 1 a + 2 a vsetko je bez asociativity z toho vyjde ze najprv sa urobi 4-5 a potom k tomu pripocitame 3 a ostatne sa odignoruje a uz sa nekresli?
No ale ja som to myslela ako na pisomke nie v programe.
Len tak zo zvedavosti robi este dakto zadania?
Nooo, aj ja by som potreboval do stvrtka mat FJAP 4 / 15. Kto si chce zarobit ? :)
QuotePre stredajsiu skupinu:
Zadanie c. 4 bude odovzdavane v 12. tyzdni, teda 08.12.2010 o 15,55 v pc16.
to znamena, ze aj bleskovka bude v 12. tyzdni?
dakujem
Nenajde sa nejaka dobra dusa co ma 27 stranu 8. prednasky a nepodeli sa o nu s nami?
Viete co vam poviem, trebalo by mi "poradit" so zadanim 3,4 ...verzia 15 :)
Kto by bol ochotny? Financna odmena je samozrejmostou.
[email protected]
Nasiel by sa este niekto, co by mi urobil zadania 3 a 4? Zaplatim.
Kontakt cez PM alebo
[email protected].
Dik moc.
caute potreboval by som zadanie c. 3..... aj s vysvetlenim .... zaplatim....
neposlal by mi nikto 3. zadanie kto ma cviko s p. kreutzovou a robil to podla tohoto: http://hornad.fei.tuke.sk/~kreutzova/FJaP/ZADANIE%20a%20TEST%203/ZADANIE%20c.%203.txt (http://hornad.fei.tuke.sk/~kreutzova/FJaP/ZADANIE%20a%20TEST%203/ZADANIE%20c.%203.txt)
chcem len vidiet jak sa to robi, nie kopirovat :P keby sa nasiel nejaky dobroprajnik tak pls SS :)
Ok, k 4. zadaniu.
Ze doplnit? To neni doplnit, to je cele prekopat ... Dobre, ze som zacal o 6 ... Uz hodinu a pol nad tym sedim a uz mi chyba "len" vypis kriaku, vypocitanie a typechecking ...
Quote from: v_oid on 02.12.2010, 01:32:09
Ok, k 4. zadaniu.
Ze doplnit? To neni doplnit, to je cele prekopat ... Dobre, ze som zacal o 6 ... Uz hodinu a pol nad tym sedim a uz mi chyba "len" vypis kriaku, vypocitanie a typechecking ...
no jo no, to hlavne nechapem preco tam mate ten akoze staticky urobeny strom uz v maine, ved to sa ma dynamicky robis individualne pre zadany vyraz predsa ..
Musis sa tym zaoberat, lebo inak by si to v C nenaprogramoval.
Tieto predmety su o tom, aby si sa naucil programovat. A rozumiet stromom v C, dynamickej alokacii, pointerom sa ti zide uz v hocijakom jazyku budes programovat.
nema niekto napr z opakujucih nejaku predstavu, co mam ocakavat na skuske?
vdaka
Quote from: MuF123 on 02.12.2010, 20:55:37
a pointre nemam rad, nebudem mat rad a nepouzivam nich a nebudem :ropebanana:
tak vela stastia pri kodeni prajem potom... ;)
Quote from: totaluser on 02.12.2010, 21:20:28
nema niekto napr z opakujucih nejaku predstavu, co mam ocakavat na skuske?
vdaka
na skuske by malo byt priblizne to, co ste mali na testoch na cviceniach ;) ale to hovorim len z vlastnej skusenosti a to uz bolo davno :)
Quote from: mishelka on 02.12.2010, 23:00:39
Quote from: totaluser on 02.12.2010, 21:20:28
nema niekto napr z opakujucih nejaku predstavu, co mam ocakavat na skuske?
vdaka
na skuske bude priblizne to, co ste mali na testoch na cviceniach ;)
tak potom preco vsetci hovoria, ze Kollarove skusky su tazke? ved to co bolo na testoch na cviceniach bolo celkom jednoduche :)
tak ale potom to bude fajn ked obdobne s tym co bolo na cviceniach
cize otazka typu vyflusni mi tu na papier 189. stranu skript, konkretne druhy odstavec nebude
ani take hnusne otazky kde musis tu teoriu vediet od slova do slova opisat ? (teraz nevravim ze jej nemusis rozumiet, ale jedna vec je napisat to tak ako to chce on a druha je vediet to pouzit v praxi)
cize na prejdenie mi bude stacit vediet teoriu co som potreboval na vypracovanie zadani? (teda posledne 2-3 prednasky mi moc netreba) a samozrejme prakticke veci z cviceni?
ludia... kto mi este raz napise taky email, ze ci su vysledky na maise konecne - SAMOZREJME ZE NIE, to budu az v 13tom tyzdni - a kto mi este raz napise dalsi email s ospravedlnenim (na ozname je ze na konci semestra zaniest cviciacim), stiahnem mu body zo zapoctu!!! :emot-shakehead:
PS: a kto si nepamata, kedy chybal, tak asi nechybal z relevantnych dovodov ci ano?
dňa 6.12.2010-pondelok v čase od 12,20-19,15 iba z niektorého vyučovania. Nebudú sa vyučovať iba tie predmety, ktoré sú zabezpečované pedagógmi - zamestnancami z FEI TUKE. Vyučovanie zabezpečované doktorandami FEI a pedagógmi z iných fakúlt, príp. z rektorátnych katedier bude prebiehať normálne.
Bude ci nebude cviko s vaclavikom o 13.30? :)
som dufala ze sa ho niekto opyta :D Ale uz asi nikto nema cviko dovtedy... nist no napisem teda :)
btw bude zajtra cviko o 15:10 mr.Binas????????????alebo plati to dekanske volno???????? :baaa:
Ako ja sice z matiky som mal ecko, ale ked je dekanske od 12:20 a cviko je 10:50 - 12:20, no jak pocitam, nijak raz mi nevychadza, zeby sa nas to volno tikalo ...
mal niekto zadania , cislo prikladu 12. ?
nazdarte ako sa robia tie syntakticke stromy?
viem ze najnizsia priorita bude najvyssie v strome, ale ako sa zohladni asociativita?
thx
ako bude vyzerat strom pre bez. asoc operator?
napr || nech je bez a nizsia priorita
f || f || t && t cize
f || f || t
a teraz len f || f = f
.
.
a strom ?
1.ak bude operator bez asociativity, bude mat strom len jeden koren a dva listy
2.v pripade asociativity zlava bude vzdy na pravo list stromu a na lavo bude bud list alebo dalsi podstrom
3.v pripade asociativity sprava bude vzdy na lavo list stromu a na pravo list alebo podstrom
v tom vyraze f || f || t && t sa vytvori strom: ||
f f
ale celkovo je ten vyraz nespravny, lebo ked mas || bez asociativty, tak automaticky by ti pri druhom || vyhodilo chybu, ze sa ocakava operator &&. Cize tento vyraz nie je syntakticky spravny, a nam vravel, ze bude normalny syntakticky spravny vyraz.
okej ale co ked su obe zlava napriklad?
1+2+3*4
+ - mensia pr - zlava
* - vyssia pr - zlava
bude
+
/ \
+ *
/ \ / \
1 2 3 4
alebo
+
/ \
+ 1
/ \
* 2
/ \
3 4
asi to prve ne ? lebo to mi skor pripomina vlastne
1+2+3*4
1+2+12
3+12
15
a to druhe je
1+2+3*4
1+2+12
1+14
15
Hej, to prve je spravne, ten druhy strom je pre vyraz 3*4+2+1
kupim 4zadanie 15 uloha !!!!! som v koncoch .... ICQ 236129901 bu
kupim 4 zadanie 25 uloha citujem Grifona tiez som v koncoch :D suuuuuuuuuuuurne
aj ja by som potreboval urobit alebo odkupit zadanie c 27 ... ale aj tretie aj stvrte zadanie :/ ... do tretice dalsi v koncoch :)
kupim stvrte zadanie a surne, preto za kazdy ziskany bod pri odovzdani zaplatim 2 € :D, ponuka plati len do 7.12.2010 23:59 :). Piste SS, na maily vysim cely den
Quote from: Jomi on 07.12.2010, 09:44:40
kupim stvrte zadanie a surne, preto za kazdy ziskany bod pri odovzdani zaplatim 2 € :D, ponuka plati len do 7.12.2010 23:59 :). Piste SS, na maily vysim cely den
Ake mas cislo?
potrebujem súrne 4.zadanie, číslo zadania 13. som ochotný dať 15€... ale nielen nakódený zdroják, aj s vysvetlenim, chcem to aj vedieť... 1.,2.,3. som si spravil sam ale pri štvrtom som skončil... bu icq 366662080... ak by sa dalo ešte dnes t.j. 7.12.2010 do polnoci... bv
Quote from: neucilasom on 07.12.2010, 15:57:06
Quote from: Jomi on 07.12.2010, 09:44:40
kupim stvrte zadanie a surne, preto za kazdy ziskany bod pri odovzdani zaplatim 2 € :D, ponuka plati len do 7.12.2010 23:59 :). Piste SS, na maily vysim cely den
Ake mas cislo?
poslal som SS
ako hodnoti zadania p. Vaclavik? Co sa take pyta k zadaniu c. 4 ???
ja vas spasim ! ss
Quote from: Mike on 07.12.2010, 21:10:55
ako hodnoti zadania p. Vaclavik? Co sa take pyta k zadaniu c. 4 ???
u nás sa väčšiny spýtal, či mu stačí toľko a toľko bodov a poslal náš preč. Inak sa pýta ako treba zostaviť strom.
a ked sme nemali v pondelok cviko? Tak kedy test? dalsi pondelok?
na taketo otazky ti nikto na fore neodpovie, pis mu email...
:D ale mne sa nechce, ja sa radsej opytam, ci sa uz niekto opytal :D
eminka a zajtra 10:50 este je cviko?
Quote from: Safyia on 08.12.2010, 10:36:07
a ked sme nemali v pondelok cviko? Tak kedy test? dalsi pondelok?
ja odpoviem ;D dnes nas zopar z nasej skupiny bolo o 9 10 v pc9 na jeho cviku.. tam sme napisali test a odovzdali zvysne zadania...bez ohlasenia samozrejme, proste si cekni vaclavikov rozvrh na maise a chod na niektore jeho cviko... tusim v piatok rano ma nieco, alebo potom ten pondelok teda :)
Quote from: eminkaa on 08.12.2010, 19:15:55
Quote from: v_oid on 08.12.2010, 18:46:45
eminka a zajtra 10:50 este je cviko?
u mna su vsade uz len odovzdavacky, teda nic sa uz nevyucuje.
Takže keď už máme všetko odovzdané a napísane netreba chodiť a zaberať miesto tým čo ešte chcú odovzdávať? ;D
Quote from: luky on 08.12.2010, 20:19:07
Takže keď už máme všetko odovzdané a napísane netreba chodiť a zaberať miesto tým čo ešte chcú odovzdávať? ;D
a ti, ktori nemaju ?? :D
Tichá noc, svätá noc!
Všetko spí, všetko sní,
sám len svätý bdie dôverný pár,
stráži Dieťatko, nebeský dar.
Sladký Ježiško spí, sní,
nebesky tiško spí, sní.
Tichá noc, svätá noc!
Anjeli zleteli,
najprv pastierom podali zvesť,
ktorá svetom dnes dáva sa niesť:
Kristus, Spasiteľ je tu,
Tešiteľ sveta je tu!
Tichá noc, svätá noc!
Nežná tvár, lásky žiar
božsky rozsieva v jasličkách tam:
bije záchranná hodina nám
v tvojom zrodení, Boh Syn,
Ježiško, Láska, Boh Syn!
:xmas: :xmas: (Dlhá cesta na cviko tak aspoň takto)
Quote from: luky on 08.12.2010, 20:19:07
Quote from: eminkaa on 08.12.2010, 19:15:55
Quote from: v_oid on 08.12.2010, 18:46:45
eminka a zajtra 10:50 este je cviko?
u mna su vsade uz len odovzdavacky, teda nic sa uz nevyucuje.
Takže keď už máme všetko odovzdané a napísane netreba chodiť a zaberať miesto tým čo ešte chcú odovzdávať? ;D
chodte na predtermin!! :)
Quote from: mishelka on 09.12.2010, 20:27:58
Quote from: luky on 08.12.2010, 20:19:07
Quote from: eminkaa on 08.12.2010, 19:15:55
Quote from: v_oid on 08.12.2010, 18:46:45
eminka a zajtra 10:50 este je cviko?
u mna su vsade uz len odovzdavacky, teda nic sa uz nevyucuje.
Takže keď už máme všetko odovzdané a napísane netreba chodiť a zaberať miesto tým čo ešte chcú odovzdávať? ;D
chodte na predtermin!! :)
Ideme... ale čo sa máme naučiť na to? :)
seriously ! co si mame pozriet na predtermin ?
Derivácie.
Vsetko to co trebalo vediet pri odovzdavani zadani + na testy.
caute potrebujem surne zadanie cislo 3.........!!!!!!!!
ucte sa vsetko co mozete :) a pozrite sa aj do skript podla moznosti :)
potrebujem surne 3. zadanie cislo 15 nema niekto??
takze OZNAM PRE MOJE SKUPINY:
na maise si pozrite hodnotenie predmetu FJaP -> detail, tam najdete poznamku o restoch.
final == mate uzavrete hodnotenie, no further duties necessary
chyba(-ju) zadanie(-a) c. x,y,z == treba este doniest tieto zadania
chyba ospravedlnenie za tyzden x,y,z == treba doniest ospravedlnenie... podotykam za cely x-ty tyzden, od pondelka do piatka...
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
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.
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:
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);
}
}
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.. :)
cawte, chyba mi prva prednaska , nemohol by sa niekto podelit o svoje poznamky ? :P dakujem velmi pekne :embarassed: :p: :thumbs-up:
neviete akou formou ma byt ten predtermin? iba pisomne ci aj ustna cast bude? vdaka
ustna nie je... to by sa nestihalo... maximalne ak budes medzi znamkami tak si ta zavola...
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
uf
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
- lexikálna gramatika
to co sa tym mysli?
vedel by niekto v skratke povedat, vdaka
ja som v tej ulohe dal ze
cislica : A = (0|1)
cislo: {A}A
bullshit? ci treba ten ebnf crap ?
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?
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);
}
}
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)
..
.
.
?
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 ? :)
pod na fb..
ved napis aj sem pls
nebud taky sukromnik ;)
http://www.edisk.sk/stahni/41659/FJaP_Test.pdf_64.04KB.html (http://www.edisk.sk/stahni/41659/FJaP_Test.pdf_64.04KB.html)
nevie mi niekto spravit zadania a vysvetlit to lebo som z toho debil..samozrejme nebude to zadarmo..dakujem pekne
Quote from: ursus on 13.12.2010, 04:01:17
http://www.edisk.sk/stahni/41659/FJaP_Test.pdf_64.04KB.html (http://www.edisk.sk/stahni/41659/FJaP_Test.pdf_64.04KB.html)
Dik...aspon mam konecne predstavu co ma caka. Btw to si kde vyhrabal.
co su to tie jump, falsejump a prepis while, if atd pomocou nich do postfixu? bu bu bu
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
http://hornad.fei.tuke.sk/~plocica/ppj/priorita.html (http://hornad.fei.tuke.sk/~plocica/ppj/priorita.html)
Na tejto stranke.
Lava znamena zlava-doprava, alebo zprava-dolava??
lava = zlava = dolava
prava = zprava = doprava
Quote from: revelc on 13.12.2010, 18:28:37
lava = zlava = dolava
prava = zprava = doprava
to sa kamarat trochu vylucuje. zlava = dolava?
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:
zlava = dolava .. vie niekto prepisat if a while pomocou jump a falsejump ??
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
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
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().
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!
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
defvarsId_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, T
1 = A T
2 = B, potom T
1 = T
2 = C a vsetky vyskyty A a B sa nahradia C - unifikacia
ak A je typova premenna, T
1 = A, T
2 = TE (typovy vyraz) kde TE nie je premenna, kazdy vyskyt A sa nahradi TE - substitucia
a ten record, ak T
1 = A, T
2 = record, potom T
1 = 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
- 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 ;)
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)
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+)/
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+/
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+ ?
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
FML
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 ...
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..
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:
Edited: Čekne niekto či srpávne? V prílohe je test i vypracovanie.
a mne zase vaclavik povedal ze dolava = sprava, anyways najdete len ZLAVA alebo LAVA, dolava to len u daktorych cviciacich
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.
tak tam je to dodrbane, dam svoje lave vajco ze v kolarovych prednaskach uvidis iba ZLAVA alebo LAVA kde ZLAVA = LAVA, ziadne dolava
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 [] ?
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 )
check(f | HD | z | K) //tu este check kedze hranate
if symbol == f //a este tu bz som dal ze patri, ale to je len symbolicke..
getsymbol();
check(HD | z | K)
switch(sym){
case HD: D( K);
break;
case z: getsymbol();
Z ( K);
break;
default:
error(K);
}
}
Quote from: ursus on 13.12.2010, 22:52:33
tak tam je to dodrbane, dam svoje lave vajco ze v kolarovych prednaskach uvidis iba ZLAVA alebo LAVA kde ZLAVA = LAVA, ziadne dolava
Tak problem bude u pana Kollara. Lebo logicky doprava = zlava.
Quote from: v_oid on 14.12.2010, 01:02:50
Quote from: ursus on 13.12.2010, 22:52:33
tak tam je to dodrbane, dam svoje lave vajco ze v kolarovych prednaskach uvidis iba ZLAVA alebo LAVA kde ZLAVA = LAVA, ziadne dolava
Tak problem bude u pana Kollara. Lebo logicky doprava = zlava.
sak jasne, btw vie niekto previes BNF do EBNF ?
thx
Quote from: v_oid on 14.12.2010, 01:02:50
Quote from: ursus on 13.12.2010, 22:52:33
tak tam je to dodrbane, dam svoje lave vajco ze v kolarovych prednaskach uvidis iba ZLAVA alebo LAVA kde ZLAVA = LAVA, ziadne dolava
Tak problem bude u pana Kollara. Lebo logicky doprava = zlava.
Logiku do toho netahaj a je to bp
:baaa: ja som dostal do ruky tento link s otazkami z min roka , nie otazky ale archiv tu-ke forka : http://www.tu-ke.com/forum/3-ro269nik/prekladace-skuska- (http://www.tu-ke.com/forum/3-ro269nik/prekladace-skuska-)!!!/?action=printpage
ale po tom com som sa tu doscital a videl som tazko v pi...či ! , ja som fakt zvedavy kolko ludi prejde cez tento predmet ......
fakt len dufam ze predtermin bude lahsia verzia skusky a ze ak mam prejst cez FJap tak sa mi to zajtra nejako podari :angel: ..... inak KONEC ak:
Plati cas skusky zapisany v maise?
Quote from: SOGOR on 14.12.2010, 02:55:20
Plati cas skusky zapisany v maise?
preco by nemal?
Hlasujem za to ze tie checky tam maju byt.
nemaju... lebo ked ti to prejde do toho becka tam potom tie checky su... ci dako tak, takze su tam zbytocne
Mas poentu. Mam z toho taky dojem, ze checky sa robia iba tam, kde sa ocakava operator :-/
....
check davas pred bod rozhodnutia
ty jake rozhodnutie tam vidis?
toto neni dajaka moznost rozhodnutia a.k.a. Student -> ("Dam si vodku" | "Dam si hrusku")
tu by si sa musel zamysliet a rozhodnut sa
ale ty ziadne rozhodovanie tam nemas a.k.a. Student -> ("Pan Profesor, chem C a idem prec")
Quote from: totaluser on 14.12.2010, 04:03:31
Lea hovori dobre
check davas pred bod rozhodnutia
ty jake rozhodnutie tam vidis?
toto neni dajaka moznost rozhodnutia a.k.a. Student -> ("Dam si vodku" | "Dam si hrusku")
tu by si sa musel zamysliet a rozhodnut sa
ale ty ziadne rozhodovanie tam nemas a.k.a. Student -> ("Pan Profesor, chem C a idem prec")
Ja chcem A!! :D A uz aj zmaz moje meno a neprezradzaj moju identitu! :P
OK
aj tak ta kazdy uz pozna
tak sa zmaz aj z citacie mojho postu a mas to vybavene
srandujeeeeem :D aj tak kazdy vie kto som taze to je fuk :D
A hej checky davas bud ked ocakavas nejaky operator, alebo sa rozhodujes medzi tymi neterminalmi... Takze pred if, pred switch a while
Tam neni check, tam je rovno error. Pretoze ocakava <a> co je terminalny symbol, ktory tam musi buc, lebo inak nedobre.
Quote from: MuF123 on 14.12.2010, 04:14:25
Quote from: Safyia on 14.12.2010, 04:10:24
Takze pred if, pred switch a while
Quote from: revelc on 13.12.2010, 23:26:30
C(a |f |HD |z |K);
if symbol == a
getsymbol();
else
error(f | HD | z |K )
ci tam to je terminal co? :D
jj ked je terminal, tak nedavas, keby bol terminal tak davas... nevem preco ale tak je!!
Quote from: ursus on 14.12.2010, 01:17:22
...
sak jasne, btw vie niekto previes BNF do EBNF ?
thx
nikto?
lebo dajako na cvikach toto nebola, na prednaske asi tiez nie a nikde to neviem najst
Quote from: totaluser on 14.12.2010, 05:35:50
Quote from: ursus on 14.12.2010, 01:17:22
...
sak jasne, btw vie niekto previes BNF do EBNF ?
thx
nikto?
lebo dajako na cvikach toto nebola, na prednaske asi tiez nie a nikde to neviem najst
takze to nebude ani na skuske a basta! :D
Quote from: Safyia on 14.12.2010, 05:39:55
Quote from: totaluser on 14.12.2010, 05:35:50
Quote from: ursus on 14.12.2010, 01:17:22
...
sak jasne, btw vie niekto previes BNF do EBNF ?
thx
nikto?
lebo dajako na cvikach toto nebola, na prednaske asi tiez nie a nikde to neviem najst
takze to nebude ani na skuske a basta! :D
sweet dreams are made of this ;D
len aby :beer1:
Quote from: totaluser on 14.12.2010, 05:35:50
Quote from: ursus on 14.12.2010, 01:17:22
...
sak jasne, btw vie niekto previes BNF do EBNF ?
thx
nikto?
lebo dajako na cvikach toto nebola, na prednaske asi tiez nie a nikde to neviem najst
http://hornad.fei.tuke.sk/~plocica/ppj/srp.html (http://hornad.fei.tuke.sk/~plocica/ppj/srp.html)
Quote from: Jessica on 14.12.2010, 05:45:24
Quote from: totaluser on 14.12.2010, 05:35:50
Quote from: ursus on 14.12.2010, 01:17:22
...
sak jasne, btw vie niekto previes BNF do EBNF ?
thx
nikto?
lebo dajako na cvikach toto nebola, na prednaske asi tiez nie a nikde to neviem najst
http://hornad.fei.tuke.sk/~plocica/ppj/srp.html (http://hornad.fei.tuke.sk/~plocica/ppj/srp.html)
co? to mi dake prilis easy pride :D
Quote from: ursus on 14.12.2010, 05:42:12
Quote from: Safyia on 14.12.2010, 05:39:55
Quote from: totaluser on 14.12.2010, 05:35:50
Quote from: ursus on 14.12.2010, 01:17:22
...
sak jasne, btw vie niekto previes BNF do EBNF ?
thx
nikto?
lebo dajako na cvikach toto nebola, na prednaske asi tiez nie a nikde to neviem najst
takze to nebude ani na skuske a basta! :D
sweet dreams are made of this ;D
:D pome sa na to vyspat
gn & gl
Presne taku skusku som si predstavoval :puf:
ake bolo? lahke, tazke?
uplne najviac easy... presne ten test co sa tu daval... A druhy typovo rovnaky
Hlavne dozor bol fajn :). Kto nešiel teraz nech ľutuje.
Quote from: MuF123 on 14.12.2010, 19:46:44
ano a dolava zlava lava je to iste ako dolava co je vlastne doprava.
no mal som pravdu. zbytocne vela spekulujete :P
Quote from: MuF123 on 14.12.2010, 19:46:44
ano a dolava zlava lava je to iste ako dolava co je vlastne doprava.
ja som to brala tak ze dolava je lava... ale to je jedno. Ked aj, skusku mam isto iste! :D
pripajam sa, kto nebol, moze lutovat ;D
A ja ze preco sa tento predmet vola formalne jazyky :D :ropebanana: :bannana_guitar: bu A
Quote from: NDK on 14.12.2010, 21:45:47
A ja ze preco sa tento predmet vola formalne jazyky :D :ropebanana: :bannana_guitar: bu A
njn... formalita :D
(https://www.tu-ke.com/forum/proxy.php?request=http%3A%2F%2F2.bp.blogspot.com%2F_47mDU4vB2hk%2FS7YlsUtcLRI%2FAAAAAAAAAP8%2FgiQXGFkYuIg%2Fs1600%2Ffireworks.jpg&hash=5d623305c950e5cf0b396f4c6662490f7067960c)
Quote from: v_oid on 13.12.2010, 22:33:53
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.
Ja som to brala takto, pretoze na webe som to vo vseobecnosti nasla takto (napr. prvy link co v googli kliknem: http://edi.fmph.uniba.sk/~salanci/C/archiv/C_2001-2002_LS/10/index.html (http://edi.fmph.uniba.sk/~salanci/C/archiv/C_2001-2002_LS/10/index.html) citujem: "asociativnost zlava doprava" = zatvorkuje sa zlava doprava = lava asociativnost).. V skriptach je to podla mna zle.. Ale prof. Kollar je kral, takze sa ho spytajte na skuske ako to myslel v skriptach... Ale ja to vnimam tak, ze odkial kam sa zatvorkuje...
Pripadne sa na skuske spytajte, odkial kam sa ma zatvorkovat (moji vedia co myslim - L: ((() ) ) P: ( ( ())) - ze), aby ste vedeli co mate napisat.
BTW: gratulujem poniektorym k uspesnemu zvladnutiu skusky ;)
Quote from: MuF123 on 14.12.2010, 23:43:37
prednaska: dolava je ->
cvicenie: dolava je <-
cvicenie zastupovane: dolava = zlava = ->
cvicenie: dolava je tak ako bolo na cviceni 1 cize dolava = <-
skuska: dolava je ->
forum: je to tak ano na cviceni 1 cize dolava = ->
:ropebanana:
Opakujem este raz.. pytajte sa prof. Kollara na skuske, odkial chce zatvorkovat... viac sa k tomu vyjadrovat nebudem.
Quote from: mishelka on 14.12.2010, 23:25:19
BTW: gratulujem poniektorym k uspesnemu zvladnutiu skusky ;)
Koľko neuspelo na takej skúške? :D
Believe it or not, videl som tam dve FXka :-)
jj, a aj E!! :D
predtermin je predtermin ;)
budme vsetci radi ze dal taku skusku aku dal......lepsia uz byt asi ani nemohla :banana_guitar:
Zdravim chcel by som sa spytat , ci by nebol niekto ochotny sa pozriet na kod mojho syntaktickeho analyzatora (.c subor http://leteckaposta.cz/806902885 (http://leteckaposta.cz/806902885)), ktory zabezpecuje zotavenie z chyb. Mne program z neznamych pricin nechce fungovat tak ako by mal , ale asi preto ze mi unikaju nejake suvislosti.
Gramatika by mala byt napisana dobre , pritomne 2 operatory / a * , / ma vyssiu prioritu ako * , * je bez asociativity , / ma associativitu zprava.
Extrene studium ma jednu velku nevyhodu , ze staci natrafit na predmet ako tento a clovek aj keby chcel tak si to sam neurobi ...
Ak by sa niekto nasiel co by mi to opravil , resp objasnil , bol by som vdacny.
Quote from: Leclair on 16.12.2010, 17:20:34
Zdravim chcel by som sa spytat , ci by nebol niekto ochotny sa pozriet na kod mojho syntaktickeho analyzatora (.c subor http://leteckaposta.cz/806902885 (http://leteckaposta.cz/806902885)), ktory zabezpecuje zotavenie z chyb. Mne program z neznamych pricin nechce fungovat tak ako by mal , ale asi preto ze mi unikaju nejake suvislosti.
Gramatika by mala byt napisana dobre , pritomne 2 operatory / a * , / ma vyssiu prioritu ako * , * je bez asociativity , / ma associativitu zprava.
Extrene studium ma jednu velku nevyhodu , ze staci natrafit na predmet ako tento a clovek aj keby chcel tak si to sam neurobi ...
Ak by sa niekto nasiel co by mi to opravil , resp objasnil , bol by som vdacny.
Chybove hlasky som neopravoval...
Velmi pekne dakujem , idem na to mrknut :)
neviete nahodou niekto, ako vyzeraju riadne kollarove skusky (nie predterminy). ci je to zrovnatelne? dik
Quote from: ohen on 06.01.2011, 21:26:37
neviete nahodou niekto, ako vyzeraju riadne kollarove skusky (nie predterminy). ci je to zrovnatelne? dik
noo to by clekom aj mna zaujimalo na co sa pripravit, ked u som nesiel na ten predtermin bu
To čo ešte nikto nikdy nebol na skúške u Kollára že sa ešte nenašiel nik ochotný podeliť sa o svoje zážitky. :)
Quote from: luky on 09.01.2011, 20:46:15
To čo ešte nikto nikdy nebol na skúške u Kollára že sa ešte nenašiel nik ochotný podeliť sa o svoje zážitky. :)
jj ved to, kazdy je asi lenivy odpisat... >:(
Vie mi niekto polopatisticky vysvetlit ako sme to dostali ?
While_Stat → while "(" Expr ")" "{" Stat_Seq "}"
T [[ while "(" Expr ")" "{" Stat_Seq "}" ]]
= label<L1> Expr falsejump<L2> Stat_Seq jump<L1> label<L2>
If_Stat → if "(" Expr ")" "{" Stat_Seq "}" [ else "{" Stat_Seq "}" ]
T [[ if "(" Expr ")" "{" Stat_Seq "}" ]]
= Expr falsejump<L1> Stat_Seq label<L1>
T [[ if "(" Expr ")" "{" Stat_Seq "}" else "{" Stat_Seq "}" ]]
= Expr falsejump<L1> Stat_Seq jump<L2> label<L1> Stat_Seq label<L2>
Do_While_Stat → do "{" Stat_Seq "}" while "(" Expr ")"
T [[ do "{" Stat_Seq "}" while "(" Expr ")" ]]
= label<L1> Stat_Seq Expr falsejump<L2> jump<L1> label<L2>
Prosím Tí čo mate zajtra skúšku skuste si ju zapametat alebo nafotit ak sa vam podari a dajte to tu na forum prosim nech aspon vieme co mozme od kolara cakat a trosku sa na to pripravit ... pomozte nam trosku tím co neboli na predtermine a nemaju 40b zapocty..
noo ale ako hovori dnesna mladez... styl zabity..... modlil som sa, zeby tam neupasal tu najhorsiu pisomku.... a on ju upasal.... :D
Quote from: Ragnol on 11.01.2011, 00:23:53
Prosím Tí čo mate zajtra skúšku skuste si ju zapametat alebo nafotit ak sa vam podari a dajte to tu na forum prosim nech aspon vieme co mozme od kolara cakat a trosku sa na to pripravit ... pomozte nam trosku tím co neboli na predtermine a nemaju 40b zapocty..
len to co diktoval na poslednej prednaske tam daval.... resp si pozrie pisomky zo starsich rokov, kdesi tu bol link na to...
Jedna skupina mala tieto veci: (som to len vybral z archivu 2006. Dal presne to iste.)
1)
A -> c["*"|"-"A] kde c je cele cislo prepiste toto pravidlo aby vyhovovalo EBNF aby bolo mozne vygenerovat: 5*4-1 a 5*4-1*3
potom napisat hodnoty ake vyjdu po uskutocneni tych prikladov
a napisat postfixne formy 5*4-1 a 5*4-1*3
2) definujte do ... while v interpretacnom jazyku, pouzite label, jump nepodmieney skok a falsejump ako podmieneny skok,
3) napisat typovu kontrolu binarneho monoch.....keho(abo daco take) operatora (plus v kruzku) .a napisat aky bude vysledny operand
4) X -> A[B|C] E dane su aj: H(A),H(B),H(C),H(D)
napsiat syntakticky analyzator s pouzitim fcii error, check.
vysvetlic co su tie H a aky maju vyznam
Quote from: black_stone on 11.01.2011, 19:57:01
Jedna skupina mala tieto veci: (som to len vybral z archivu 2006. Dal presne to iste.)
1)
A -> c["*"|"-"A] kde c je cele cislo prepiste toto pravidlo aby vyhovovalo EBNF aby bolo mozne vygenerovat: 5*4-1 a 5*4-1*3
potom napisat hodnoty ake vyjdu po uskutocneni tych prikladov
a napisat postfixne formy 5*4-1 a 5*4-1*3
2) definujte do ... while v interpretacnom jazyku, pouzite label, jump nepodmieney skok a falsejump ako podmieneny skok,
3) napisat typovu kontrolu binarneho monoch.....keho(abo daco take) operatora (plus v kruzku) .a napisat aky bude vysledny operand
4) X -> A[B|C] E dane su aj: H(A),H(B),H(C),H(D)
napsiat syntakticky analyzator s pouzitim fcii error, check.
vysvetlic co su tie H a aky maju vyznam
Nedavaj to sem kto velmi chce najde si to v archive a ked to das na web profesor Kollar bude musiet vymyslat nove otazky.
tak tak nedavajte tu pisomky...radsej cez mail si ich posielajte abo co...tu chodia aj profaci..
To mas jedno, ked to je v archive tak si to najde hocikto. Btw mne je jedno, nabuduce nedam nic :D
Quote from: black_stone on 11.01.2011, 22:32:51
To mas jedno, ked to je v archive tak si to najde hocikto. Btw mne je jedno, nabuduce nedam nic :D
No asi tak, ked chce tak si to profesor najde....
Ved aj o tom je toto forum... aby tu boli otazky :) :metal:
Quote from: ujo.tomiq on 11.01.2011, 22:25:15
tak tak nedavajte tu pisomky...radsej cez mail si ich posielajte abo co...tu chodia aj profaci..
akoo... od toho tu je to forum... pochybujem, ze pan veduci ujo Kollar to tu sleduje, ak uvazim fakt, ze je profak a veduci katedry.... ti nevim Karle... mozno ked sa nenormalne nudi tak ano.... druha vec je, ci to neprezradia mladi vyucujuci, aj ked uprimne nemyslim si, ze by taka eminka, mishelka alebo ktokolvek druhy nam chceli takto uskodit.... ako na druhej strane nevylucujem, lebo sak nikdy nic nie je na 100 % ale tak noo... ;)
Quote from: eminkaa on 12.01.2011, 04:01:59
hm, pouvazujem... :P
jooj ta to jakto? ja som cakal take jednohlasne ano, odomna ani slovko a vy takto? :D ale ja verim vzdy v tu lepsiu stranku u ludi... :) ;)
Quote from: Robokop on 12.01.2011, 05:30:18
Quote from: eminkaa on 12.01.2011, 04:01:59
hm, pouvazujem... :P
jooj ta to jakto? ja som cakal take jednohlasne ano, od nas ani slovko a vy takto? :D ale ja verim vzdy v tu lepsiu stranku u ludi... :) ;)
Robokop nevies ty ako sa to robi... Ked oni nabonzuju, my povieme, ze nam prilepsili zapocty, abo prezradili otazky abo taaaak :D Vyjednavat treba!
cely tento problem by sa dal uplne jednoducho vyriesit, ak by bola podmienka pri registracii ze email musi byt v tvare
[email protected] .... ;) ale tak to uz je na spravcoch fora..
Quote from: ujo.tomiq on 12.01.2011, 06:59:22
cely tento problem by sa dal uplne jednoducho vyriesit, ak by bola podmienka pri registracii ze email musi byt v tvare [email protected] .... ;) ale tak to uz je na spravcoch fora..
taa vies kolko ludi by tu potom bolo? Asi pejc... polka sem chodi len spehovat, zaregistruju sa ked sa uz len fakt daco chcu opytat... A zopaar ich pomaha. Takze bud rad, ze to vobec nejak je :P Ak mate problem, preposielajte si medzi sebou. Kto chce, zozenie :)
Quote from: ujo.tomiq on 12.01.2011, 06:59:22
cely tento problem by sa dal uplne jednoducho vyriesit, ak by bola podmienka pri registracii ze email musi byt v tvare [email protected] .... ;) ale tak to uz je na spravcoch fora..
ved aj ja mam taky email :P
Quote from: ujo.tomiq on 12.01.2011, 06:59:22
cely tento problem by sa dal uplne jednoducho vyriesit, ak by bola podmienka pri registracii ze email musi byt v tvare [email protected] .... ;) ale tak to uz je na spravcoch fora..
jj rovno nech sa tu-ke.com napoji na servre na uvt a kazdy sa tu bude logovat cez jedinecny login ako do maisu :P
a ak by to bolo tak, jak chces ty,
[email protected] ja by som chcel mat napr. saddam.hussajn :P
Quote from: neucilasom on 11.01.2011, 21:29:14
Quote from: black_stone on 11.01.2011, 19:57:01
Jedna skupina mala tieto veci: (som to len vybral z archivu 2006. Dal presne to iste.)
1)
A -> c["*"|"-"A] kde c je cele cislo prepiste toto pravidlo aby vyhovovalo EBNF aby bolo mozne vygenerovat: 5*4-1 a 5*4-1*3
potom napisat hodnoty ake vyjdu po uskutocneni tych prikladov
a napisat postfixne formy 5*4-1 a 5*4-1*3
2) definujte do ... while v interpretacnom jazyku, pouzite label, jump nepodmieney skok a falsejump ako podmieneny skok,
3) napisat typovu kontrolu binarneho monoch.....keho(abo daco take) operatora (plus v kruzku) .a napisat aky bude vysledny operand
4) X -> A[B|C] E dane su aj: H(A),H(B),H(C),H(D)
napsiat syntakticky analyzator s pouzitim fcii error, check.
vysvetlic co su tie H a aky maju vyznam
Nedavaj to sem kto velmi chce najde si to v archive a ked to das na web profesor Kollar bude musiet vymyslat nove otazky.
Hmmm zda sa ze vies kde to najst tak mi posli linky na ten archiv s tymi pisomkami ked to tu nechces davat aby sa panbožko nenahneval...
Quote from: Safyia on 12.01.2011, 05:50:33
Quote from: Robokop on 12.01.2011, 05:30:18
Quote from: eminkaa on 12.01.2011, 04:01:59
hm, pouvazujem... :P
jooj ta to jakto? ja som cakal take jednohlasne ano, od nas ani slovko a vy takto? :D ale ja verim vzdy v tu lepsiu stranku u ludi... :) ;)
Robokop nevies ty ako sa to robi... Ked oni nabonzuju, my povieme, ze nam prilepsili zapocty, abo prezradili otazky abo taaaak :D Vyjednavat treba!
No da sa aj takto, ale podla mna je v niektorych situaciach mile slovo omnoho efektivnejsie ;D
Nenapisal by mi niekto dalsie terminy,miesto konania a cas, ako je to v Maise pre skusky na tento predmet? Dikes
Este sa vratim k tej teme nemyslim si ze je spravne spristupnit forum len pre studentov lebo vo velmi vela pripadoch su cviciaci ti ktori poradia pri problemoch (stalo sa to mnoho krat aj v tejto teme) Treba si len na fore vzdy zachovat chladnu hlavu a spristupnovat konkretne neverejne materialy cez sukromne spravy maily atd...
Quote from: neucilasom on 13.01.2011, 15:16:00
Este sa vratim k tej teme nemyslim si ze je spravne spristupnit forum len pre studentov lebo vo velmi vela pripadoch su cviciaci ti ktori poradia pri problemoch (stalo sa to mnoho krat aj v tejto teme) Treba si len na fore vzdy zachovat chladnu hlavu a spristupnovat konkretne neverejne materialy cez sukromne spravy maily atd...
cviciaci maju radit pri problemoch na cviceniach, na to tie cvicenia vlastne su
Quote from: Mike on 13.01.2011, 15:23:58
Quote from: neucilasom on 13.01.2011, 15:16:00
Este sa vratim k tej teme nemyslim si ze je spravne spristupnit forum len pre studentov lebo vo velmi vela pripadoch su cviciaci ti ktori poradia pri problemoch (stalo sa to mnoho krat aj v tejto teme) Treba si len na fore vzdy zachovat chladnu hlavu a spristupnovat konkretne neverejne materialy cez sukromne spravy maily atd...
cviciaci maju radit pri problemoch na cviceniach, na to tie cvicenia vlastne su
Neviem z jakej planety si prisiel ale napr. na tuke 99% ludi robi zadania posledny tyzden ked uz cviko nie je a je ovela pohodlnejsie sa takto poradit ako chodit na konzultacie (hlavne ked rano odovzdavam zadanie a o polnoci mi este nefici ):D
Quote from: eminkaa on 13.01.2011, 18:48:35
tak.. ten, kto si to kupil, tak taketo problemy neriesil....
Moze byt ale aj tak plati porekadlo:
Komu sa neleni tomu sa v MAISE zeleni :D
zdravim, tato tema je dost velka a nechce sa mi velmi studovat kazdy prispevok.. chcel som sa len spytat z coho sa mam ucit na skusku.. su nejake materialy aj v digitalnej forme postacujuce na urobenie skusky? vdaka
Quote from: dotko on 14.01.2011, 07:21:08
zdravim, tato tema je dost velka a nechce sa mi velmi studovat kazdy prispevok.. chcel som sa len spytat z coho sa mam ucit na skusku.. su nejake materialy aj v digitalnej forme postacujuce na urobenie skusky? vdaka
dosť skoro :D
fotky z prednášok tu na fóre
prezentácie cvičiacich (http://hornad.fei.tuke.sk/~kreutzova/FJaP/Prezentacie/ (http://hornad.fei.tuke.sk/~kreutzova/FJaP/Prezentacie/) http://hornad.fei.tuke.sk/~kreutzova/FJaP/odporucana%20literatura.txt (http://hornad.fei.tuke.sk/~kreutzova/FJaP/odporucana%20literatura.txt))
mať spravené zadanie a hlavne vedieť čo si tam robil
a rozhodne skriptá
btw zvyknu sa velmi lisit otazky na opravnom termine od riadneho??? vie niekto nejake priblizne okruhy co ocakavat na 1 opravnom az mam strach tam ist ...nanho bolo nastavene obmedzenie..pokial nespravis na riadnom tak musis cakat do 18 na 1 opravny len dufam ze nas tam nebude chcel vsetkych vyhodit s tej skusky...
ja mam 18.1 este len riadny tak dufam ze to tak nebude
edit: s tymi zadaniami na skuske je to jak? mam ich tam doniest ci ako?
Jasne ze ich tam nemas nosit. Ale niektore otazky na skuske budu podobne, ako sme mali na tych testoch na cvikach (ja som mal cvika s Vaclavikom).
a neboli zadane nejake okruhy z coho bude skuska? ci sa mam ucit vsetky tie prezentacie + skripta na spamat?
urcite si pozri zotavenie, bez toho na skusku ani nechod... a potom presne tie veci co boli na zadaniach (gramatiky, DKA,prefix, postfix,...) toto je uplne minimum, dalej uz neviem co by si si mohol mrknut...
:baaa: mohol yb tu prispiet aj nejaky cviciaci svojim posterhom s coho sa ucit a co asi ocakavat ci to co na riadnom alebo neco tazsie...aby nas nevysupal vsetkych :D
profesor dava stale tazsie a tazsie otazky uz ku koncu pokial viem ;)
1)
A -> c["*"|"-"A] kde c je cele cislo prepiste toto pravidlo aby vyhovovalo EBNF aby bolo mozne vygenerovat: 5*4-1 a 5*4-1*3
potom napisat hodnoty ake vyjdu po uskutocneni tych prikladov
a napisat postfixne formy 5*4-1 a 5*4-1*3
poradte ako to ma vyzerat pls
Quote from: mishelka on 14.01.2011, 21:57:47
profesor dava stale tazsie a tazsie otazky uz ku koncu pokial viem ;)
tak to si ma potesila ...asi si po ZS hodim kravatu...
kto by ma bol ochotny doucit na skusku na 18 nejako by sme sa financne dohodli lebo mam v tom dobry zmatok ...
Ma niekto zozbierane otazky co boli doteraz na skuskach? ..idealne by bolo aj s vypracovanim...Dakujem velmi pekne
:baaa: to nikto mi to nevie vysvetlit??????????????
je skuskove, co cakas
Quote from: ursus on 16.01.2011, 02:31:04
je skuskove, co cakas
pomoc???zeby???ved ja to nechcem zadarmo...
ludia, nenajde sa u niekoho 1. 2. a 9. prednaska?? ;)
Quote from: antil kiprest on 16.01.2011, 03:21:25
ludia, nenajde sa u niekoho 1. 2. a 9. prednaska?? ;)
ja mam :)
Quote from: smelyzajo on 16.01.2011, 03:38:54
Quote from: antil kiprest on 16.01.2011, 03:21:25
ludia, nenajde sa u niekoho 1. 2. a 9. prednaska?? ;)
ja mam :)
mal som na mysli skor tie ciernobiele kolarove ale aj tak diki :) nieco z toho co som hladal tam je...
Quote from: antil kiprest on 16.01.2011, 03:54:59
Quote from: smelyzajo on 16.01.2011, 03:38:54
Quote from: antil kiprest on 16.01.2011, 03:21:25
ludia, nenajde sa u niekoho 1. 2. a 9. prednaska?? ;)
ja mam :)
mal som na mysli skor tie ciernobiele kolarove ale aj tak diki :) nieco z toho co som hladal tam je...
nz inak nevedel by si mi vysvetlit sntaktycky analizator nejako polopatiosticky???
Quote from: smelyzajo on 16.01.2011, 04:10:32
Quote from: antil kiprest on 16.01.2011, 03:54:59
Quote from: smelyzajo on 16.01.2011, 03:38:54
Quote from: antil kiprest on 16.01.2011, 03:21:25
ludia, nenajde sa u niekoho 1. 2. a 9. prednaska?? ;)
ja mam :)
mal som na mysli skor tie ciernobiele kolarove ale aj tak diki :) nieco z toho co som hladal tam je...
nz inak nevedel by si mi vysvetlit sntaktycky analizator nejako polopatiosticky???
hm no co konkretne myslis?? vies co napis mi cez chat na gmaily
bol by som niekomu vazne velmi vdacny ak by mi vysvetlil ten sntakticky analizator na konkretnom pripade aby som to uz konecne vedel spravit dnes som od rana cital skripta velkeho bossa a cekoval jeho prednasky ale mam pocit ze som asi radsej nemusel robit nic pretoze si s toho nic nepametam tak ak by mi to niekto vedel vysvetlit budem vdacny :'( :'( :'( :'( :'( :'(
no skuska bude zaujimava... hlavne aby sme spravili a bude pokoj :)
Nechce si niekto zarobit? ..mam pozbierane nejake otazky..a ak by ich niekto vypracoval..na nejakej financnej odmene by sme sa uz dohodli ;)
uploadne niekto prednasky prednasky 3,4 a 9 ? diky
suhlas s eminkou.. ludko, daj sem otazky, ved prediskutujeme.. a mas to zadara ;)
No dobre tak tu davam tie otazky..prosim skuste na tom popracovat nech mame ulahcenu skusku troska
Quote from: Mike on 16.01.2011, 20:10:38
uploadne niekto prednasky prednasky 3,4 a 9 ? diky
napis maila v pm, Ti poslem
okej, takze otazky... mna by zaujmala tato:
5. napiste syntakticky analyzator so zotavenim pre A -> X [aY] {Z}, pouzite procedury check a error
myslim ze chceck a error vieme vsetci takze void A(symbolset K);
nejake navrhy?
A-> X [ a Y ] {Z}
predpokladam ze HX HY a HZ pozname.. takze
A(symbolset K){
X(a | HY | HZ | K);
check(a| HY | HZ | K);
if(sym == a ) {
getsymbol();
Y(HZ | K);
check(HY | HZ | K);
}
check(HZ | K);
while (sym & (HZ)){
Z(K);
check(HZ | K);
}
}
hm??
Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvé dva znaky veľké
písmená, potom môže nasledovať ľubovoľný počet číslic a ukončené môžu byť jedným apostrofom
riesenie: G -> ("A"|...|"Z") ("A"|...|"Z"){"0"..."9"}[']
Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii .a { b | a }, ak na vstup pride znak b
riesenie: a { .b | .a } .
Quote from: Mike on 16.01.2011, 20:42:46
Quote from: antil kiprest on 16.01.2011, 20:25:00
A-> X [ a Y ] {Z}
malo by to byt spravne
super:) tak este by som skusil jednu, nech si vyjasnim vsetky moznosti...
A-> B {d E} (c | F)
void A(symbolset K){
B(d | HE | c | HF | K );
check (d | HE | c | HF | K );
while (sym & (d | HE)){
if(sym == d)
getsymbol();
else
error(d | HE | c | HF | K);
E(d | HE | c | HF | K);
check(d | HE);
}
check(c | HF | K);
switch(sym){
case c : getsymbol();
break;
case HF: F(K);
break;
default: error(c | HF | K);
}
}
Mike ? ;)
Quote from: antil kiprest on 16.01.2011, 20:54:48A-> B {d E} (c | F)
void A(symbolset K){
B(d | HE | c | HF | K );
check (d | HE | c | HF | K );
while (sym & (d | HE)){
if(sym == d)
getsymbol();
else
error(d | HE | c | HF | K);
E(d | HE | c | HF | K);
check(d | HE); // tu by malo byt check(d | HE | c | HF | K);
}
check(c | HF | K);
switch(sym){
case c : getsymbol();
break;
case HF: F(K);
break;
default: error(c | HF | K);
}
}
link na prednasky najdete v threade fjap prezentacie :)
Quote from: Mike on 16.01.2011, 20:48:06
Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii a { . b | a }, ak na vstup pride znak b
riesenie: a . { b | c } . ???
Tak ten gulickovy priklad podla mna a {b|a . }
Quote from: Mike on 16.01.2011, 20:48:06
Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii a { . b | a }, ak na vstup pride znak b
riesenie: a . { b | c } . ???
no neviem.. je to zadanie vobec spravne?? ved predsa ked je '.' pred 'b' mala by byt aj pred 'a' nie?? a tusim aj na konci
mozno sa mylim ale prvy stav je . a { b | a }
a potom po zadani 'a' nasleduje a { .b | .a }. ci nie?
a nasledne po zadani 'b' by to ostalo tak isto... opravte ma ak sa mylim
Quote
check(d | HE); // tu by malo byt check(d | HE | c | HF | K);
isto?? isiel som podla prezentacii a podla nich by v tom checku malo byt to iste co sa kontroluje ako podmienka vo while... ved nakoniec ked opustime cyklus while mame tam dalsi check ktory poriesi zvysok
Quote from: smelyzajo on 16.01.2011, 06:43:26
bol by som niekomu vazne velmi vdacny ak by mi vysvetlil ten sntakticky analizator na konkretnom pripade aby som to uz konecne vedel spravit dnes som od rana cital skripta velkeho bossa a cekoval jeho prednasky ale mam pocit ze som asi radsej nemusel robit nic pretoze si s toho nic nepametam tak ak by mi to niekto vedel vysvetlit budem vdacny :'( :'( :'( :'( :'( :'(
so syntaktickym analyzatorom som bol na tom rovnako...vela som vsak pochopil z diskusie v archive..myslim ze to bol rok 2009/2010..tam je to pekne vysvetlene a plus,velmi dobra pomocka je prezentacia p. Plocicu
http://hornad.fei.tuke.sk/~plocica/ppj/p5.pdf (http://hornad.fei.tuke.sk/~plocica/ppj/p5.pdf)
ok idem si kupit boty a mozme pokracovat ;D
3. napíšte gramatiku v EBNF pre zátvorkové výrazy a operácie +, - , *, /, pričom + a – neasociujú, * asociuje doľava a / doprava a priorita je takáto:
p(*) > p (/) > p(+) = p(-)
Expr -> Plus [("+" / " - " ) Plus]
Plus -> Div [ " / " Plus ]
Div -> Mul { " * "Mul }
Mul -> "value" | "(" Expr ")"
spravne?
1. Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvé dva znaky veľké písmená, potom môže nasledovať ľubovoľný počet číslic a ukončené môžu byť jedným apostrofom
G -> ("A"|...|"Z") ("A"|...|"Z"){"0"..."9"}[']
1. Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvý znak "$" alebo veľké písmeno, potom môže nasledovať ľubovoľný nenulový počet číslic a malých písmen
($ | A | B | ... | Z) ((a | b | ... | z ) | (0 | 1 | ... | 9))
{(a | b | ... | z ) | (0 | 1 | ... | 9)}
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
{ab} ??
Expr -> Plus [("+" / " - " ) Plus]
Plus -> Div [ " / " Plus ]
Div -> Mul { " * "Mul }
Mul -> "value" | "(" Expr ")"
4. nakreslite syntakticky strom pre vyraz 10 – 3 * 4 * (3 / 2 – 7), pricom gramatika je z prikladu 3
Quote from: ludko on 16.01.2011, 21:47:06
1. Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvé dva znaky veľké písmená, potom môže nasledovať ľubovoľný počet číslic a ukončené môžu byť jedným apostrofom
G -> ("A"|...|"Z") ("A"|...|"Z"){"0"..."9"}[']
suhlasim
Quote from: ludko on 16.01.2011, 21:52:58
1. Napíšte gramatiku lexikálnych jednotiek pre identifikátory, ktoré majú prvý znak "$" alebo veľké písmeno, potom môže nasledovať ľubovoľný nenulový počet číslic a malých písmen
($ | A | B | ... | Z) ((a | b | ... | z ) | (0 | 1 | ... | 9))
{(a | b | ... | z ) | (0 | 1 | ... | 9)}
:buttrock:
Quote from: ludko on 16.01.2011, 22:01:30
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
{ab} ??
tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom >:( lebo by to mohlo byt aj (ab) {ab}
Quote from: antil kiprest on 16.01.2011, 20:25:00
okej, takze otazky... mna by zaujmala tato:
5. napiste syntakticky analyzator so zotavenim pre A -> X [aY] {Z}, pouzite procedury check a error
myslim ze chceck a error vieme vsetci takze void A(symbolset K);
nejake navrhy?
A-> X [ a Y ] {Z}
predpokladam ze HX HY a HZ pozname.. takze
A(symbolset K){
X(a | HY | HZ | K);
check(a| HY | HZ | K);
if(sym == a ) {
getsymbol();
Y(HZ | K); // nemal tu byt este else error( a | HY |HZ | K) ???
check(HY | HZ | K);
}
check(HZ | K);
while (sym & (HZ)){
Z(K);
check(HZ | K);
}
}
hm??
2.Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii
. a {b | c }, ak na vstup pride znak a
a. {b|c}
Quote from: ondrej0071 on 16.01.2011, 22:06:29
Quote from: ludko on 16.01.2011, 22:01:30
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
{ab} ??
tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom >:( lebo by to mohlo byt aj (ab) {ab}
{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
Quote from: OsamelyVlk on 16.01.2011, 22:19:13
Quote from: ondrej0071 on 16.01.2011, 22:06:29
Quote from: ludko on 16.01.2011, 22:01:30
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
{ab} ??
tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom >:( lebo by to mohlo byt aj (ab) {ab}
{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
:metal: tak tak
Quote from: tibike262 on 16.01.2011, 22:22:20
Quote from: OsamelyVlk on 16.01.2011, 22:19:13
Quote from: ondrej0071 on 16.01.2011, 22:06:29
Quote from: ludko on 16.01.2011, 22:01:30
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
{ab} ??
tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom >:( lebo by to mohlo byt aj (ab) {ab}
{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
:metal: tak tak
Prechodovy diagram potom bude len takto vyzerat??
Quote from: OsamelyVlk on 16.01.2011, 22:19:13
Quote from: ondrej0071 on 16.01.2011, 22:06:29
Quote from: ludko on 16.01.2011, 22:01:30
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
{ab} ??
tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom >:( lebo by to mohlo byt aj (ab) {ab}
{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
cize ab {ab} je spravne,kedze podmienkou je, aby prazdny retazec nepatril do jazyka
Quote from: ludko on 16.01.2011, 22:39:27
Quote from: tibike262 on 16.01.2011, 22:22:20
Quote from: OsamelyVlk on 16.01.2011, 22:19:13
Quote from: ondrej0071 on 16.01.2011, 22:06:29
Quote from: ludko on 16.01.2011, 22:01:30
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
{ab} ??
tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom >:( lebo by to mohlo byt aj (ab) {ab}
{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
:metal: tak tak
Prechodovy diagram potom bude len takto vyzerat??
ano.
Quote from: ludko on 16.01.2011, 22:39:27
Quote from: tibike262 on 16.01.2011, 22:22:20
Quote from: OsamelyVlk on 16.01.2011, 22:19:13
Quote from: ondrej0071 on 16.01.2011, 22:06:29
Quote from: ludko on 16.01.2011, 22:01:30
1) Na základe def. rozšírených reg.výrazov definujte jazyk pre nekonečné reťazce ab, abab, ...Prázdny reťazec nepatrí do jazyka. Nakreslite prechodový diagram.
{ab} ??
tiez si myslim,zeby to malo tak byt,ale neviem aky je rozdiel medzi prazdnym a neprazdnym retazcom >:( lebo by to mohlo byt aj (ab) {ab}
{ab} == ze vyraz ab moze byt nula az n-krat
ak vsak pred tento vyraz das (ab) , zabezpecis , ze vyraz ab minimalne 1x bude
cize (ab) {ab} == ze ab je vzdy raz az nekonecno.
tak nejak to vidim ja.
:metal: tak tak
Prechodovy diagram potom bude len takto vyzerat??
suhlasim s diagramom
Quote from: ludko on 16.01.2011, 22:15:11
2.Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii
. a {b | c }, ak na vstup pride znak a
a. {b|c}
toto nie je spravne...ak pride a,tak to bude vyzerat takto,ak sa nemylim
a { . b| . c} .
Quote from: ondrej0071 on 16.01.2011, 22:49:19
Quote from: ludko on 16.01.2011, 22:15:11
2.Napíšte, do akej konfigurácie sa dostane automat pri konfigurácii
. a {b | c }, ak na vstup pride znak a
a. {b|c}
toto nie je spravne...ak pride a,tak to bude vyzerat takto,ak sa nemylim
a { . b| . c} .
Hej , lebo tam je cyklus nula az n krat , takze aj jedno ACKO je vyhovujuci vyraz...
Tie analyzatory zo zotavenim by som ja spravil takto
(btw skusku som uz robil)
Quote from: antil kiprest on 16.01.2011, 20:25:00
A -> X [a Y] {Z}
A(symbolset K){
X(a | HZ | K); //edit, tu nema byt tiez HY
check(a| HZ | K); //- tu nema byt HY, lebo je to v hranatych zatvorkach druhe, cize ak nebude na vstupe a, tak sa to co tam je v zatvorkach nevykona cele, cize Y bude hladat zbytocne
if(sym == a ) {
getsymbol();
Y(HZ | K);
//tu check nema dovod byt, toto nieje while cyklus
}
check(HZ | K);
while (sym & (HZ)){
Z(HZ |K); // v celom cykle while mas mat rovnake parametre, lebo tam moze byt napr viac Zcok za sebou, a bez (HZ) podmienky by ti to kazde Z preskocilo
check(HZ | K);
}
}
A-> B {d E} (c | F)
void A(symbolset K){
B(d | HE | c | HF | K );
check (d | HE | c | HF | K );
while (sym & (d | HE)){
if(sym == d)
getsymbol();
else
error(d | HE | c | HF | K);
E(d | HE | c | HF | K);
check(d | HE | c | HF | K);
}
check(c | HF | K);
switch(sym){
case c : getsymbol();
break;
case HF: F(K);
break;
default: error(K); //tu by som len toto dal, error K, predsa to nie je cyklus, a dalej uz v gramatikenic nieje
}
}
Quote from: elros on 16.01.2011, 22:57:45
Tie analyzatory zo zotavenim by som ja spravil takto
(btw skusku som uz robil)
A toto by si ako riesil?
X -> A[B|C] E dane su aj: H(A),H(B),H(C),H(D)
napsiat syntakticky analyzator s pouzitim fcii error, check.
vysvetlic co su tie H a aky maju vyznam
X -> A [B|C] D dane su aj: H(A),H(B),H(C),H(D)
void X (symset K){
A(H(B)|H(C)|H(D)|K);
check (H(B)|H(C)|H(D)|K);
if (sy & (H(B)|H(C)) {
check (H(B)|H(C)|K);
switch (sy) {
case H(B) : B(K);break;
case H(C) : C(K);break;
default : error (K);
}
}
D(K);
}
X -> A[B|C] E
X(symbolset K){
A(HB | HC | HE | K);
check(HB| HC | HE | K);
if(sym in (HB or HC) ) {
switch(symbol){
case HB: B(HE| K); break;
case HC: C(HE| K); break;
default: error(HE | K);break;
}
}
E(K);
}
Definujte gramatiku prikazu do ...while v tvare EBNF a jeho translacnu schemu do jazyka virtualnych instrukcii. Pre navestie pouzite symbol label s prislusnym atributom. Urcte typy pouzitych virtualnych instrukcii jump (pre bezpodmienecny skok) a falsejump (pre podmieneny skok).
kde to najdem v skriptach ?
Quote from: Mike on 16.01.2011, 23:15:39
Definujte gramatiku prikazu do ...while v tvare EBNF a jeho translacnu schemu do jazyka virtualnych instrukcii. Pre navestie pouzite symbol label s prislusnym atributom. Urcte typy pouzitych virtualnych instrukcii jump (pre bezpodmienecny skok) a falsejump (pre podmieneny skok).
kde to najdem v skriptach ?
Do_While_Stat -> do "{" Stat_Seq "}" while "(" Expr ")"
T [[ do "{" Stat_Seq "}" while "(" Expr ")" ]]
= label<L1> S[[Stat_Seq]] E[[Expr]] falsejump<L2> jump<L1> label<L2>
Quote from: Mike on 16.01.2011, 23:15:39
Definujte gramatiku prikazu do ...while v tvare EBNF a jeho translacnu schemu do jazyka virtualnych instrukcii. Pre navestie pouzite symbol label s prislusnym atributom. Urcte typy pouzitych virtualnych instrukcii jump (pre bezpodmienecny skok) a falsejump (pre podmieneny skok).
kde to najdem v skriptach ?
toto v skriptach nie je,.. ale na skuske byt moze,.. bolo to na prednaske.
Do While [[
do Stat_seq
while Expr
end]] = label<L1> Stat_Seq Expr falsejump<L2>jump<L1>label<L2>
a otazkou ze a,b su typove premenne.Ak a=bxb co bude vyslednym typom ? k comu dochadza pri tejto operacii ?
Ak a=b co bude vyslednym typom ? k comu dochadza pri tejto operacii ?
K tomu co napisat ? ze sa deje pri preklade staticka kontrola aby sa zistilo ci je mozne operovat s danymi typmi a aj dynamicka kontrola (pri behu uz programu) aby sa zistilo dynamicky ake typy mozno ocakavat a ukladavat (l-value) do premenej. A aky bude vysledny typ... ved to je individualne "znak kolmice" cize zlyhanie vypoctu...
any idea ?
Quote from: elros on 16.01.2011, 23:21:56
Quote from: Mike on 16.01.2011, 23:15:39
Definujte gramatiku prikazu do ...while v tvare EBNF a jeho translacnu schemu do jazyka virtualnych instrukcii. Pre navestie pouzite symbol label s prislusnym atributom. Urcte typy pouzitych virtualnych instrukcii jump (pre bezpodmienecny skok) a falsejump (pre podmieneny skok).
kde to najdem v skriptach ?
toto v skriptach nie je,.. ale na skuske byt moze,.. bolo to na prednaske.
Do While [[do Stat_seq while Expr end]] = label<L1> Stat_Seq Expr falsejump<L2>jump<L1>label<L2>
okej a pre while by to bolo
While [[
while Expr Stat_Seq
end ]] = label <L1> Expr falsejump<L2> Stat_Seq jump<L1> label<L2>
???
Quote from: OsamelyVlk on 16.01.2011, 23:36:48
a otazkou ze a,b su typove premenne.Ak a=bxb co bude vyslednym typom ? k comu dochadza pri tejto operacii ?
Ak a=b co bude vyslednym typom ? k comu dochadza pri tejto operacii ?
ak A a B su typove premenne, T1 = B1 T2 = B2, potom T1xT2 = T3 a vsetky vyskyty B1 a B2 sa nahradia A, lebo A ma typ TA - tomu sa hovori 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 to B, ak T1 = A, T2 = B, potom T1 = B, lebo doslo k substitucii A = B
Quote from: antil kiprest on 16.01.2011, 23:38:53
Quote from: elros on 16.01.2011, 23:21:56
Quote from: Mike on 16.01.2011, 23:15:39
Definujte gramatiku prikazu do ...while v tvare EBNF a jeho translacnu schemu do jazyka virtualnych instrukcii. Pre navestie pouzite symbol label s prislusnym atributom. Urcte typy pouzitych virtualnych instrukcii jump (pre bezpodmienecny skok) a falsejump (pre podmieneny skok).
kde to najdem v skriptach ?
toto v skriptach nie je,.. ale na skuske byt moze,.. bolo to na prednaske.
Do While [[do Stat_seq while Expr end]] = label<L1> Stat_Seq Expr falsejump<L2>jump<L1>label<L2>
okej a pre while by to bolo
While [[ while Expr Stat_Seq end ]] = label <L1> Expr falsejump<L2> Stat_Seq jump<L1> label<L2>
???
ano
3) Upravte bezkontext gramatiku
A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
?? :)
Quote from: ludko on 16.01.2011, 23:58:09
3) Upravte bezkontext gramatiku
A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
?? :)
tak to by aj mna zaujimalo,ako to ma vyzerat ???
Quote from: ondrej0071 on 17.01.2011, 00:00:17
Quote from: ludko on 16.01.2011, 23:58:09
3) Upravte bezkontext gramatiku
A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
?? :)
tak to by aj mna zaujimalo,ako to ma vyzerat ???
no tam sa naraza nato ze to ma byt v EBNF , cize prefixy maju byt vyclenene zlava (aby sa mohlo jednoznacne hned v uvode rozhodnut )
nieco v zmysle a(bC |B{B});
NOT SURE!
Quote from: OsamelyVlk on 17.01.2011, 00:06:23
Quote from: ondrej0071 on 17.01.2011, 00:00:17
Quote from: ludko on 16.01.2011, 23:58:09
3) Upravte bezkontext gramatiku
A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
?? :)
tak to by aj mna zaujimalo,ako to ma vyzerat ???
no tam sa naraza nato ze to ma byt v EBNF , cize prefixy maju byt vyclenene zlava (aby sa mohlo jednoznacne hned v uvode rozhodnut )
nieco v zmysle a(bC |B{B});
NOT SURE!
a v akom jazyku je A-> abC | a{B} ?? to nie je LL(1) ? resp EBNF? mam v tom trosku zmatok
Quote from: antil kiprest on 17.01.2011, 00:11:37
Quote from: OsamelyVlk on 17.01.2011, 00:06:23
Quote from: ondrej0071 on 17.01.2011, 00:00:17
Quote from: ludko on 16.01.2011, 23:58:09
3) Upravte bezkontext gramatiku
A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
?? :)
tak to by aj mna zaujimalo,ako to ma vyzerat ???
no tam sa naraza nato ze to ma byt v EBNF , cize prefixy maju byt vyclenene zlava (aby sa mohlo jednoznacne hned v uvode rozhodnut )
nieco v zmysle a(bC |B{B});
NOT SURE!
a v akom jazyku je A-> abC | a{B} ?? to nie je LL(1) ? resp EBNF? mam v tom trosku zmatok
podla mna A-> abC | a{B} je v BNF jazyk LR(k) . LL(1) jazyk je pri rozsirenej BNF== EBNF.
EBNF je vlastne rozsirena BNF , preto pre obidva typy malujeme prechodovy diagram.
LL(1) je vsak jazyk ktory parsuje (nacitava symboly) zlava , preto musi byt v najlavejsom vyraze hned definovany prefix .
LL(1) je zalozeny na konstrukcii najlavejsieho odvodenia , preto nesmie mat rovnake vyrazy v dvoch vetvach
laicky by som povedal ze v EBNF len upravujes na krajsiu formu , nieco ako ked mas v matike vyberanie pred zatvorky...
Quote from: OsamelyVlk on 17.01.2011, 00:23:24
Quote from: antil kiprest on 17.01.2011, 00:11:37
Quote from: OsamelyVlk on 17.01.2011, 00:06:23
Quote from: ondrej0071 on 17.01.2011, 00:00:17
Quote from: ludko on 16.01.2011, 23:58:09
3) Upravte bezkontext gramatiku
A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
?? :)
tak to by aj mna zaujimalo,ako to ma vyzerat ???
no tam sa naraza nato ze to ma byt v EBNF , cize prefixy maju byt vyclenene zlava (aby sa mohlo jednoznacne hned v uvode rozhodnut )
nieco v zmysle a(bC |B{B});
NOT SURE!
a v akom jazyku je A-> abC | a{B} ?? to nie je LL(1) ? resp EBNF? mam v tom trosku zmatok
podla mna A-> abC | a{B} je v BNF jazyk LR(k) . LL(1) jazyk je pri rozsirenej BNF== EBNF.
EBNF je vlastne rozsirena BNF , preto pre obidva typy malujeme prechodovy diagram.
LL(1) je vsak jazyk ktory parsuje (nacitava symboly) zlava , preto musi byt v najlavejsom vyraze hned definovany prefix .
LL(1) je zalozeny na konstrukcii najlavejsieho odvodenia , preto nesmie mat rovnake vyrazy v dvoch vetvach
laicky by som povedal ze v EBNF len upravujes na krajsiu formu , nieco ako ked mas v matike vyberanie pred zatvorky...
aha aha takze ide o to ze ked zadam prve 'a' tak este stale neviem ci idem vetvou abC alebo a{B} spravne???
ale s tou BNF Ta musim opravit... toto urcite nie je v BNF.. ta totiz nepodporuje {} ..preto sa pytam aky jazyk to je
Quote from: ondrej0071 on 16.01.2011, 23:54:02
Quote from: antil kiprest on 16.01.2011, 23:38:53
Quote from: elros on 16.01.2011, 23:21:56
Quote from: Mike on 16.01.2011, 23:15:39
Definujte gramatiku prikazu do ...while v tvare EBNF a jeho translacnu schemu do jazyka virtualnych instrukcii. Pre navestie pouzite symbol label s prislusnym atributom. Urcte typy pouzitych virtualnych instrukcii jump (pre bezpodmienecny skok) a falsejump (pre podmieneny skok).
kde to najdem v skriptach ?
toto v skriptach nie je,.. ale na skuske byt moze,.. bolo to na prednaske.
Do While [[do Stat_seq while Expr end]] = label<L1> Stat_Seq Expr falsejump<L2>jump<L1>label<L2>
okej a pre while by to bolo
While [[ while Expr Stat_Seq end ]] = label <L1> Expr falsejump<L2> Stat_Seq jump<L1> label<L2>
???
ano
oks, a k comu sa viaze to
end ??
to end je len slovko,.. teda ze koniec napr v jazyku pascal,.. v cecku je to ta vlnita zatvorka,.. ked chces ten label l2 je vlastne ten koniec.
a ta gramatika prepisana bude: a(bC |{B}) ,... to mas akokeby si a vybral pred zatvorky, lebo v LL1 gramatike v jednom riadku nema byt dvakrat ten isty terminalny symbol.
Quote from: elros on 17.01.2011, 00:32:15
to end je len slovko,.. teda ze koniec napr v jazyku pascal,.. v cecku je to ta vlnita zatvorka,.. ked chces ten label l2 je vlastne ten koniec.
a ta gramatika prepisana bude: a(bC |{B}) ,... to mas akokeby si a vybral pred zatvorky, lebo v LL1 gramatike v jednom riadku nema byt dvakrat ten isty terminalny symbol.
no jasne, to B navyse som si nevsimol.. a nevies aky je to teda jazyk?? myslim A-> abC | a{B} ...typujem ze je kontextovy, alebo to je nieco ine?
Quote from: antil kiprest on 17.01.2011, 00:35:44
Quote from: elros on 17.01.2011, 00:32:15
to end je len slovko,.. teda ze koniec napr v jazyku pascal,.. v cecku je to ta vlnita zatvorka,.. ked chces ten label l2 je vlastne ten koniec.
a ta gramatika prepisana bude: a(bC |{B}) ,... to mas akokeby si a vybral pred zatvorky, lebo v LL1 gramatike v jednom riadku nema byt dvakrat ten isty terminalny symbol.
no jasne, to B navyse som si nevsimol.. a nevies aky je to teda jazyk?? myslim A-> abC | a{B} ...typujem ze je kontextovy, alebo to je nieco ine?
JJ B som tam videl 2x , @erlos mas pravdu.
asi to bude nejaky LL(k) jazyk,..
takze ak napriklad mam A->aBCdeF|aBCd, vieme ze to nie je gramatika LL(1) lebo v jednom riadku nemoze byt viac krat ten isty terminalny symbol
do LL(1) vyberiem pred zatvorku aBCd a vyjde mi co ...
A-> aBCd ( eF| ? )
4. Napíšte prefixnú a postfixnú formu výrazu a+b+c*d+e/f pre gramatiku z príkladu 3
+ a – asociujú do prava, * neasociuje a / dolava a priorita je takáto:
p(+)= p(-) > p(*) > p(/)
postfix by mal byt : ab+c+de+*f/
a prefix??
Quote from: Mike on 17.01.2011, 00:40:55
takze ak napriklad mam A->aBCdeF|aBCd, vieme ze to nie je gramatika LL(1) lebo v jednom riadku nemoze byt viac krat ten isty terminalny symbol
do LL(1) vyberiem pred zatvorku aBCd a vyjde mi co ...
A-> aBCd ( eF| ? )
A-> aBCd [eF] dla mna
Quote from: elros on 17.01.2011, 00:40:39
asi to bude nejaky LL(k) jazyk,..
a to nemoze byt uz jazyk LL(1) ale s tym ze overuje len nase znalosti na prefixy v LL1 ?
akoze chytaak.
Quote from: antil kiprest on 17.01.2011, 00:42:33
Quote from: Mike on 17.01.2011, 00:40:55
takze ak napriklad mam A->aBCdeF|aBCd, vieme ze to nie je gramatika LL(1) lebo v jednom riadku nemoze byt viac krat ten isty terminalny symbol
do LL(1) vyberiem pred zatvorku aBCd a vyjde mi co ...
A-> aBCd ( eF| ? )
A-> aBCd [eF] dla mna
Ja by som to tiez tak dal.
LL1 to nemoze byt, lebo to 1 znamena, ze musis vediet na zaklade 1 vstupu, ze co mas robit,.. a tam si mal 2 moznosti
a tamto by som tiez dal A-> aBCd [eF]
4)Rezimy semantickej analyzy vymenovat a popisat. Tabulka pre semanticku analyzu - vymenovat polozky a popisat.
?
Quote from: antil kiprest on 17.01.2011, 00:41:14
postfix by mal byt : ab+c+de+*f/
a prefix??
ak je tamto postfix,.. tak prefix by mal byt /*++abc+def
Quote from: antil kiprest on 17.01.2011, 00:50:00
4)Rezimy semantickej analyzy vymenovat a popisat. Tabulka pre semanticku analyzu - vymenovat polozky a popisat.
?
asi takto:
Semanticka analyza
- analýza mien – je to klasifikacia identifikatorov
- analýza deklaracii – vytvorenie typoveho prostredia, vypocet velkosti pamati pre alokaciu premennych
- analýza tela – typova kontrola + generovanie virtualneho kodu > vyrtualny kod
Tabuľka sémantickej analyzy
-tabulka D (displej), ak id<ival> je identifikator na vstupe, potom D[ival] ukazuje na meno do zasobnika US. D ma rovnaky rozmer ako TID a musi byt inicializovana
- US – zasobnik mien, reprezentuje aktualne typove prostredie
- TS – typovy zasobnik, sluzi na vytvaranie typov a ich kontrolu
- RS – zasobnik pre aktualne alokovanu velkost pamati pre premenne na jednotlivych urovniach
-NS – pomocny zasobnik pre zapamatanie smernikov do US
Quote from: antil kiprest on 17.01.2011, 00:42:33
Quote from: Mike on 17.01.2011, 00:40:55
takze ak napriklad mam A->aBCdeF|aBCd, vieme ze to nie je gramatika LL(1) lebo v jednom riadku nemoze byt viac krat ten isty terminalny symbol
do LL(1) vyberiem pred zatvorku aBCd a vyjde mi co ...
A-> aBCd ( eF| ? )
A-> aBCd [eF] dla mna
Ake pravidlo ste pouzili?
Quote from: Mike on 17.01.2011, 01:00:05
Quote from: antil kiprest on 17.01.2011, 00:42:33
Quote from: Mike on 17.01.2011, 00:40:55
takze ak napriklad mam A->aBCdeF|aBCd, vieme ze to nie je gramatika LL(1) lebo v jednom riadku nemoze byt viac krat ten isty terminalny symbol
do LL(1) vyberiem pred zatvorku aBCd a vyjde mi co ...
A-> aBCd ( eF| ? )
A-> aBCd [eF] dla mna
Ake pravidlo ste pouzili?
tam ide o to ze [eF] == eF| prazdny symbol
Quote from: Mike on 17.01.2011, 01:00:05
Quote from: antil kiprest on 17.01.2011, 00:42:33
Quote from: Mike on 17.01.2011, 00:40:55
takze ak napriklad mam A->aBCdeF|aBCd, vieme ze to nie je gramatika LL(1) lebo v jednom riadku nemoze byt viac krat ten isty terminalny symbol
do LL(1) vyberiem pred zatvorku aBCd a vyjde mi co ...
A-> aBCd ( eF| ? )
A-> aBCd [eF] dla mna
Ake pravidlo ste pouzili?
to s tym vyberanim pred zatvorku bolo myslene len prenesene.. proste sa na to pozri logicky.. mas A -> aBCd | aBCdeF ... bud nastane prve alebo druhe... spolocne maju 'aBCd' cize to nastane urcite, takze A-> aBCd , a potom uz bud moze alebo nemusi prist aj to 'eF' cize [eF]
Quote from: antil kiprest on 17.01.2011, 01:04:07
to s tym vyberanim pred zatvorku bolo myslene len prenesene.. proste sa na to pozri logicky.. mas A -> aBCd | aBCdeF ... bud nastane prve alebo druhe... spolocne maju 'aBCd' cize to nastane urcite, takze A-> aBCd , a potom uz bud moze alebo nemusi prist aj to 'eF' cize [eF]
kde je to v skriptach ? officialne sa to vola ako to pravidlo ?
Quote from: Mike on 17.01.2011, 01:10:47
Quote from: antil kiprest on 17.01.2011, 01:04:07
to s tym vyberanim pred zatvorku bolo myslene len prenesene.. proste sa na to pozri logicky.. mas A -> aBCd | aBCdeF ... bud nastane prve alebo druhe... spolocne maju 'aBCd' cize to nastane urcite, takze A-> aBCd , a potom uz bud moze alebo nemusi prist aj to 'eF' cize [eF]
kde je to v skriptach ? officialne sa to vola ako to pravidlo ?
http://hornad.fei.tuke.sk/~plocica/ppj/srp.html (http://hornad.fei.tuke.sk/~plocica/ppj/srp.html)
z tej tabulky BNF a EBNF som si to vyvodil.
1)
A -> c["*"|"-"A] kde c je cele cislo prepiste toto pravidlo aby vyhovovalo EBNF aby bolo mozne vygenerovat: 5*4-1 a 5*4-1*3
potom napisat hodnoty ake vyjdu po uskutocneni tych prikladov
a napisat postfixne formy 5*4-1 a 5*4-1*3
to by malo byt A -> c[("*" | "-") A] vsak??
a aka je asociativita?? zprava?
Quote from: Mike on 17.01.2011, 00:40:55
takze ak napriklad mam A->aBCdeF|aBCd, vieme ze to nie je gramatika LL(1) lebo v jednom riadku nemoze byt viac krat ten isty terminalny symbol
do LL(1) vyberiem pred zatvorku aBCd a vyjde mi ...
A-> aBCd [ eF ]
Quote from: Mike on 17.01.2011, 01:10:47
Quote from: antil kiprest on 17.01.2011, 01:04:07
to s tym vyberanim pred zatvorku bolo myslene len prenesene.. proste sa na to pozri logicky.. mas A -> aBCd | aBCdeF ... bud nastane prve alebo druhe... spolocne maju 'aBCd' cize to nastane urcite, takze A-> aBCd , a potom uz bud moze alebo nemusi prist aj to 'eF' cize [eF]
kde je to v skriptach ? officialne sa to vola ako to pravidlo ?
ale ake pravidlo mas na mysli?
to cele je proste prevod z nejakeho LL(k) (ci co to je) do LL(1)
Quote from: Mike on 17.01.2011, 01:17:13
Quote from: Mike on 17.01.2011, 00:40:55
takze ak napriklad mam A->aBCdeF|aBCd, vieme ze to nie je gramatika LL(1) lebo v jednom riadku nemoze byt viac krat ten isty terminalny symbol
do LL(1) vyberiem pred zatvorku aBCd a vyjde mi ...
A-> aBCd [ eF ]
suhlasim s nakresom... @Mike
3.) Navrhnite jednym pravidlom deklaraciu premennych Vars ak definicia zacina klucovym slovom var, potom nasleduje nenulovy pocet nazvov premennych, za nimi dvojbodka a nasledovny typ T.
malo byt nejak tak:
Vars -> "var" id { "," id } " : " T //id - tak oznacoval Kolar premenne
zostrojit syntakticky analyzator aj so zotavenim pre procedure Vars(k:symset)
ako by ste riesili ?
2. Nieco s volacim aktivacnym po vykonani begin<2,4> neviem co presne a znazornit aky to bude mat na volaco vplyv (Toto som ani neprecital poriadne ked som videl to begin<2,4> takze take je aj moje podanie zadania)
nasel som nieco take: ma to byt ako tabulka
[parametre]
[adresa navratu]
oblast premennych
oblast premennych
oblast premennych
oblast premennych
zakladna adresa urovne 0 <-X
zakladna adresa urovne 1
zakladna adresa urovne 2 z tade sipka ukazuje na uroven adressa navratu
predosla hodnota x z tade sipka ukazuje do priestoru nad tymto textom
[ ] <-SP pri volani begin
Quote from: Mike on 17.01.2011, 01:27:24
3.) Navrhnite jednym pravidlom deklaraciu premennych Vars ak definicia zacina klucovym slovom var, potom nasleduje nenulovy pocet nazvov premennych, za nimi dvojbodka a nasledovny typ T.
malo byt nejak tak:
Vars -> "var" id { "," id } " : " T //id - tak oznacoval Kolar premenne
zostrojit syntakticky analyzator aj so zotavenim pre procedure Vars(k:symset)
ako by ste riesili ?
v tej ulohe nie je nic o ciarkach, takze "," by som vynechal.... na zotavenie idem kuknut
Quote from: OsamelyVlk on 17.01.2011, 01:28:58
2. Nieco s volacim aktivacnym po vykonani begin<2,4> neviem co presne a znazornit aky to bude mat na volaco vplyv (Toto som ani neprecital poriadne ked som videl to begin<2,4> takze take je aj moje podanie zadania)
nasel som nieco take: ma to byt ako tabulka
[parametre]
[adresa navratu]
oblast premennych
oblast premennych
oblast premennych
oblast premennych
zakladna adresa urovne 0 <-X
zakladna adresa urovne 1
zakladna adresa urovne 2 z tade sipka ukazuje na uroven adressa navratu
predosla hodnota x z tade sipka ukazuje do priestoru nad tymto textom
[ ] <-SP pri volani begin
Quote from: antil kiprest on 17.01.2011, 01:31:13
Quote from: Mike on 17.01.2011, 01:27:24
3.) Navrhnite jednym pravidlom deklaraciu premennych Vars ak definicia zacina klucovym slovom var, potom nasleduje nenulovy pocet nazvov premennych, za nimi dvojbodka a nasledovny typ T.
malo byt nejak tak:
Vars -> "var" id { "," id } " : " T //id - tak oznacoval Kolar premenne
zostrojit syntakticky analyzator aj so zotavenim pre procedure Vars(k:symset)
ako by ste riesili ?
v tej ulohe nie je nic o ciarkach, takze "," by som vynechal.... na zotavenie idem kuknut
to som sa chcel spytat ze preco ta "," ... keby tam chcu aj ciarku tak vieme ako...
text otazky nie je presny, v konecnom dosledku mu vyslo tak s tou ciarkou.
Quote from: Mike on 17.01.2011, 01:27:24
3.) Navrhnite jednym pravidlom deklaraciu premennych Vars ak definicia zacina klucovym slovom var, potom nasleduje nenulovy pocet nazvov premennych, za nimi dvojbodka a nasledovny typ T.
malo byt nejak tak:
Vars -> "var" id { "," id } " : " T //id - tak oznacoval Kolar premenne
zostrojit syntakticky analyzator aj so zotavenim pre procedure Vars(k:symset)
ako by ste riesili ?
Vars -> "var" id { "," id } " : " T
Vars(k:symset){
if (symbol == "var") getsymbol();
else error(H(id) | "," | ":" | H(T) | K);
id("," | H(id) | ":" | H(T) | K));
check("," | H(id) | ":" | H(T) | K);
while(symbol &("," | H(id)){
if (symbol == ",") getsymbol();
else error("," | H(id) | ":" | H(T) | K);
id("," | H(id) | ":" | H(T) | K);
check("," | H(id) | ":" | H(T) | K);
}
if (symbol == ":") getsymbol();
else error(H(T) | K);
T(K);
}
2.) bola dana funkcia "function F(x : real) : integer". Tato funkcia bola definovana v ramci funkcie H, ktora bola volana vo funkcii G.
Funkcia F sa volala s parametrom F(1.5+2). Bolo treba napisat nieco s tabulkou symbolov, stav pred vykonanim tela a po vykonani, stavy premennych, atributov..
spominalo sa tam nieco s klauzulou begin..
(zrejme strana 82 v skriptach)
anyone ?
Quote from: antil kiprest on 17.01.2011, 01:15:07
1)
A -> c["*"|"-"A] kde c je cele cislo prepiste toto pravidlo aby vyhovovalo EBNF aby bolo mozne vygenerovat: 5*4-1 a 5*4-1*3
potom napisat hodnoty ake vyjdu po uskutocneni tych prikladov
a napisat postfixne formy 5*4-1 a 5*4-1*3
to by malo byt A -> c[("*" | "-") A] vsak??
a aka je asociativita?? zprava?
TRUE / FALSE ?
Quote from: antil kiprest on 17.01.2011, 01:41:46
Quote from: antil kiprest on 17.01.2011, 01:15:07
1)
A -> c["*"|"-"A] kde c je cele cislo prepiste toto pravidlo aby vyhovovalo EBNF aby bolo mozne vygenerovat: 5*4-1 a 5*4-1*3
potom napisat hodnoty ake vyjdu po uskutocneni tych prikladov
a napisat postfixne formy 5*4-1 a 5*4-1*3
to by malo byt A -> c[("*" | "-") A] vsak??
a aka je asociativita?? zprava?
TRUE / FALSE ?
TRUE
Quote from: Mike on 17.01.2011, 01:41:29
2.) bola dana funkcia "function F(x : real) : integer". Tato funkcia bola definovana v ramci funkcie H, ktora bola volana vo funkcii G.
Funkcia F sa volala s parametrom F(1.5+2). Bolo treba napisat nieco s tabulkou symbolov, stav pred vykonanim tela a po vykonani, stavy premennych, atributov..
spominalo sa tam nieco s klauzulou begin..
(zrejme strana 82 v skriptach)
anyone ?
neviem co s tymto
Quote from: Mike on 17.01.2011, 01:51:57
Quote from: Mike on 17.01.2011, 01:41:29
2.) bola dana funkcia "function F(x : real) : integer". Tato funkcia bola definovana v ramci funkcie H, ktora bola volana vo funkcii G.
Funkcia F sa volala s parametrom F(1.5+2). Bolo treba napisat nieco s tabulkou symbolov, stav pred vykonanim tela a po vykonani, stavy premennych, atributov..
spominalo sa tam nieco s klauzulou begin..
(zrejme strana 82 v skriptach)
anyone ?
neviem co s tymto
toto netusim ani v naznakoch
Quote from: antil kiprest on 17.01.2011, 01:55:15
Quote from: Mike on 17.01.2011, 01:51:57
Quote from: Mike on 17.01.2011, 01:41:29
2.) bola dana funkcia "function F(x : real) : integer". Tato funkcia bola definovana v ramci funkcie H, ktora bola volana vo funkcii G.
Funkcia F sa volala s parametrom F(1.5+2). Bolo treba napisat nieco s tabulkou symbolov, stav pred vykonanim tela a po vykonani, stavy premennych, atributov..
spominalo sa tam nieco s klauzulou begin..
(zrejme strana 82 v skriptach)
anyone ?
neviem co s tymto
toto netusim ani v naznakoch
netusim.
3. Su operacie +,-,* vsetky maju rovnaku prioritu a asociuju sprava a operacia = neasociuje a ma vacsiu prioritu ako ostatne tri. Identifikatory su jedno male pismeno. Treba napisat gramatiku. Potom k vyrazu a+b-c=d*e namalovat syntakticky a derivacny strom a napisat prefixny tvar.
? idem kreslit
aka bude priaorita ?
a+ ( b - ( ( c = d ) * e ) ) ?
dalej. nieco s parametrickou polymorf. f: b-> axb . akeho typu bude vysledok ak f (3, 2.5) ?
(tu tiez nevem ci naraza na nieco ako record... alebo len ze vysledok bude float)...
dalej.
do EBNF :mp
a) ifnot E then SF else ST (plus pre toto aj virtualne instruktcie jump , falsejump)
b)ifnot E then SF
__riesene
a) A->E[SF|ST]
vyhodnotenie Ecka;
falsejump (label 1);
jump (label2);
label1: SF , jump (label3);
label2: ST , jump(label3);
label3: pokracovanie programu;
b)A->E[SF]
dalej: gramatika vyrazu pre postupnost prikazov PP oddelenych ciarkou + syntakt. so zotavenim
Quote from: OsamelyVlk on 17.01.2011, 02:05:04
dalej: gramatika vyrazu pre postupnost prikazov PP oddelenych ciarkou + syntakt. so zotavenim
A->P { , P }
Quote from: Mike on 17.01.2011, 02:04:10
3. Su operacie +,-,* vsetky maju rovnaku prioritu a asociuju sprava a operacia = neasociuje a ma vacsiu prioritu ako ostatne tri. Identifikatory su jedno male pismeno. Treba napisat gramatiku. Potom k vyrazu a+b-c=d*e namalovat syntakticky a derivacny strom a napisat prefixny tvar.
? idem kreslit
aka bude priaorita ?
a+ ( b - ( ( c = d ) * e ) ) ?
jou priorita myslim ze sedi
gramatika :
expr -> eq [("+" | "-" | "*" ) expr]
eq -> id ["=" id]
id -> ("a" | "b" | ... | "z" )
synt strom:
+
/ \
a -
/ \
b *
/ \
= e
/ \
c d
prefix : +a-b*=cde
ale co je derivacny strom??
Quote from: antil kiprest on 17.01.2011, 02:15:34
Quote from: Mike on 17.01.2011, 02:04:10
3. Su operacie +,-,* vsetky maju rovnaku prioritu a asociuju sprava a operacia = neasociuje a ma vacsiu prioritu ako ostatne tri. Identifikatory su jedno male pismeno. Treba napisat gramatiku. Potom k vyrazu a+b-c=d*e namalovat syntakticky a derivacny strom a napisat prefixny tvar.
priorita a+ ( b - ( ( c = d ) * e ) )
gramatika :
expr -> eq [("+" | "-" | "*" ) expr]
eq -> id ["=" id]
id -> ("a" | "b" | ... | "z" )
prefix : +a-b*=cde
postfix: a b c = d e * - +
Aka je arita(pocet argumentov) instrukcii jump<L> a falsejump<L>, aky je ich typ a navratova hodnota a kolko miesta zaberaju v zasobniku.
k tomuto som nasel v prednaskach toto :
jump<L>- C[[jump<L>]] = JMP L
falsejump<L> - C[[falsejump<L>]]= POP
BZE L
aky je rozdiel medzi znakom kolmosti a omegou?? ked hovorime o typoch samozrejme
Quote from: antil kiprest on 17.01.2011, 02:33:42
aky je rozdiel medzi znakom kolmosti a omegou?? ked hovorime o typoch samozrejme
ze Kolmost je z mnoziny omega ,
kolmost znamena to , ze nastal chybny vypocet (este overim v prednaskam )
EDIT: presne to znie ze omega je nedefinovana hodnota najvseobecnejsieho typu ktoremu patria vsetky hodnoty vratane nedefinovanej hodnoty "kolmost" . nedefinovana hodnota je vysledok zlyhania vypoctu...
vie mi niekto vysvetlit ten syntakticky analizator ale osobne ak je niekto z intraku ??? :beer1:
Quote from: OsamelyVlk on 17.01.2011, 02:36:02
Quote from: antil kiprest on 17.01.2011, 02:33:42
aky je rozdiel medzi znakom kolmosti a omegou?? ked hovorime o typoch samozrejme
ze Kolmost je z mnoziny omega ,
kolmost znamena to , ze nastal chybny vypocet (este overim v prednaskam )
kolmost je AnyType vsak?? proste vsetky typy.. ale co je omega?
Quote from: antil kiprest on 17.01.2011, 02:38:52
Quote from: OsamelyVlk on 17.01.2011, 02:36:02
Quote from: antil kiprest on 17.01.2011, 02:33:42
aky je rozdiel medzi znakom kolmosti a omegou?? ked hovorime o typoch samozrejme
ze Kolmost je z mnoziny omega ,
kolmost znamena to , ze nastal chybny vypocet (este overim v prednaskam )
kolmost je AnyType vsak?? proste vsetky typy.. ale co je omega?
naopak , omega je anytype a kolmost je prvok z mnoziny anytype ktory ako definuje zlyhanie vypoctu
Quote from: OsamelyVlk on 17.01.2011, 02:41:52
Quote from: antil kiprest on 17.01.2011, 02:38:52
Quote from: OsamelyVlk on 17.01.2011, 02:36:02
Quote from: antil kiprest on 17.01.2011, 02:33:42
aky je rozdiel medzi znakom kolmosti a omegou?? ked hovorime o typoch samozrejme
ze Kolmost je z mnoziny omega ,
kolmost znamena to , ze nastal chybny vypocet (este overim v prednaskam )
kolmost je AnyType vsak?? proste vsetky typy.. ale co je omega?
naopak , omega je anytype a kolmost je prvok z mnoziny anytype ktory ako definuje zlyhanie vypoctu
aha, okej, zle som cital.. dik:)
viete niekto co je ten derivacny strom?? ak hej, ukazka k prikladu vyssie by bola fajn
Ako su reprezentovane typove vyrazy?
odpoved: typove konstanty . typove premenne a typove operacie;
Ako je definovana unifikacia a substitucia v parametricky polymorfnom systeme?
ak A a B su typove premenne, T1 = B1 T2 = B2, potom T1xT2 = T3 a vsetky vyskyty B1 a B2 sa nahradia A, lebo A ma typ TA - tomu sa hovori 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 to B, ak T1 = A, T2 = B, potom T1 = B, lebo doslo k substitucii A = B
correct ??
typove vyrazy to je z prednasok a to druhe paste z podobneho problemu
Quote from: antil kiprest on 17.01.2011, 02:47:38
viete niekto co je ten derivacny strom?? ak hej, ukazka k prikladu vyssie by bola fajn
nasiel som daco take, ale neviem ako to funguje
Quote from: Mike on 17.01.2011, 02:57:42
Quote from: antil kiprest on 17.01.2011, 02:47:38
viete niekto co je ten derivacny strom?? ak hej, ukazka k prikladu vyssie by bola fajn
nasiel som daco take, ale neviem ako to funguje
wooohooooooooou ;D
nasiel som peknu prezentaciu, ale neviem to aplikovat na ten konkretny priklad
www.cs.vsb.cz/kot/soubory_animaci/a-deriv_strom.pdf (http://www.cs.vsb.cz/kot/soubory_animaci/a-deriv_strom.pdf)
to je vlastne reprezentacia syntaktickej analyzy zhora nadol, obrazok na strane 87 v skriptach
Quote from: Mike on 17.01.2011, 03:09:11
nasiel som peknu prezentaciu, ale neviem to aplikovat na ten konkretny priklad
www.cs.vsb.cz/kot/soubory_animaci/a-deriv_strom.pdf (http://www.cs.vsb.cz/kot/soubory_animaci/a-deriv_strom.pdf)
to je vlastne reprezentacia syntaktickej analyzy zhora nadol, obrazok na strane 85 v skriptach
na konci vetiev alebo listov alebo co to je je vzdy male pismeno alebo ten maly znak. vzdy sa riesi velke pismeno ,,,
len raz sa presiel cely cyklus ze ABC , potom je to len o vracani a doplnani aby z VELkych pismen ostali na konci len male...
Quote from: Mike on 17.01.2011, 03:09:11
nasiel som peknu prezentaciu, ale neviem to aplikovat na ten konkretny priklad
www.cs.vsb.cz/kot/soubory_animaci/a-deriv_strom.pdf (http://www.cs.vsb.cz/kot/soubory_animaci/a-deriv_strom.pdf)
to je vlastne reprezentacia syntaktickej analyzy zhora nadol, obrazok na strane 87 v skriptach
uf no nejak mi to nezapina... a skripta nemam.. ak by ste na to prisli tak sem s tym ;)
treba napisat akym postupom (pouzitim akych pravidiel) sme sa dostali k vyslednemu vyrazu a + b - c = d * e
EDIT: cize potrebujeme bezkontextovu gramatiku
1. Syntakticky analyzator so zotavenim pre jazyk LL(1): A->{Db l Ca} kde H(D) a H(C) su zname.
Urcit vstah medzi FIRST(D) a H(D) - to iste aj pre FIRST(C) a H(C)
??
Quote from: Mike on 17.01.2011, 03:23:54
treba napisat akym postupom (pouzitim akych pravidiel) sme sa dostali k vyslednemu vyrazu a + b - c = d * e
EDIT: cize potrebujeme bezkontextovu gramatiku
tak skusim
a+b-c=d*e
expr -> eq [("+" | "-" | "*" ) expr]
eq -> id ["=" id]
id -> ("a" | "b" | ... | "z" )
expr
/ | \
eq "+" expr
/ / | \
id eq "-" expr
/ / / | \
"a" id eq "*" eq
/ / | \ \
"b" id "=" id id
/ \ \
"c" "d" "e"
heh no neviem.. len moja dedukcia z uvedeneho
Quote from: Mike on 17.01.2011, 03:32:08
1. Syntakticky analyzator so zotavenim pre jazyk LL(1): A->{Db l Ca} kde H(D) a H(C) su zname.
Urcit vstah medzi FIRST(D) a H(D) - to iste aj pre FIRST(C) a H(C)
??
toto nemam , ale druha otazka nie je ten obr. co si postol ?
tretia to ani nerobme to kto neve v cvikach najde...
stvrta tam to je co som postol ze som k nim nasel daco v prednaskach ale nevem odpovedat z toho na tu otazku
Quote from: antil kiprest on 17.01.2011, 03:39:13
expr
/ | \
eq "+" expr
/ / | \
id eq "-" expr
/ / / | \
"a" id eq "*" eq
/ / | \ \
"b" id "=" id id
/ \ \
"c" "d" "e"
mne vyslo tak isto :beer1:
Quote from: OsamelyVlk on 17.01.2011, 03:40:17
ale druha otazka nie je ten obr. co si postol ?
ano
Quote from: OsamelyVlk on 17.01.2011, 03:40:17
tretia to ani nerobme to kto neve v cvikach najde...
3. Pre gramatiku : retazec sa zacina "a" a konci "c" medzi nimi je aspon jedno "b" trebalo urcit prechodovy diagram, urobit konecnostavovy deterministicky automat a aj pre ten urobit prechodovy diagram
Quote from: OsamelyVlk on 17.01.2011, 03:40:17
stvrta tam to je co som postol ze som k nim nasel daco v prednaskach ale nevem odpovedat z toho na tu otazku
v ktorej prednaske to bolo ?
Quote from: Mike on 17.01.2011, 03:48:28
Quote from: OsamelyVlk on 17.01.2011, 03:40:17
ale druha otazka nie je ten obr. co si postol ?
ano
Quote from: OsamelyVlk on 17.01.2011, 03:40:17
tretia to ani nerobme to kto neve v cvikach najde...
3. Pre gramatiku : retazec sa zacina "a" a konci "c" medzi nimi je aspon jedno "b" trebalo urcit prechodovy diagram, urobit konecnostavovy deterministicky automat a aj pre ten urobit prechodovy diagram
Quote from: OsamelyVlk on 17.01.2011, 03:40:17
stvrta tam to je co som postol ze som k nim nasel daco v prednaskach ale nevem odpovedat z toho na tu otazku
v ktorej prednaske to bolo ?
prednaska c.10. (fotky) a je to slide c.15/18. selekcia kodu pre skoky...
Quote
mne vyslo tak isto beer1
eej, parada!! ;D
Quote from: Mike on 17.01.2011, 03:32:08
1. Syntakticky analyzator so zotavenim pre jazyk LL(1): A->{Db l Ca} kde H(D) a H(C) su zname.
Urcit vstah medzi FIRST(D) a H(D) - to iste aj pre FIRST(C) a H(C)
??
hm vztah medzi first(D) a H(D) ?? nie je to len toto H(D) = first(D) - E ?
postfix: a b c = d e * - +
[/quote]
ten postfix mas asi zly, = ma byt za "d", nie pred... a b c d = e * - +
Este ma zaujima ten syntakticky analyzator so zotavenim pre jazyk LL(1): A->{Db l Ca} kde H(D) a H(C) su zname.
Quote from: Mike on 17.01.2011, 04:03:42
Este ma zaujima ten syntakticky analyzator so zotavenim pre jazyk LL(1): A->{Db l Ca} kde H(D) a H(C) su zname.
void A(symset K){
check(HD | b | HC | a | K);
while(sym& (HD | HC)){
if(sym & HD){
D(HD | b | HC | a | K );
if(sym == b)
getsymbol();
else
error(HD | b | HC |a| K);
}
if(sym & HC){
C(HD | b |HC | a | K);
if(sym == a)
getsymbol();
else
error(HD| b |HC |a |K);
check(HD | b | HC |a| K);
}
}
nejak takto??
]
No snazil som sa to nejako zosumarizovat co zatial sa tu vypracovala + este som nasiel jeden vypracovany variant
tak tu je zip.ko
Ak este mate niektore otazky vypracovane co tam niesu tak by ste to mohli doplnit a re-uploadnut ...
...
http://www.edisk.sk/sk/stahni/77239/testy.zip_606.73KB.html (http://www.edisk.sk/sk/stahni/77239/testy.zip_606.73KB.html)
Quote from: antil kiprest on 17.01.2011, 04:43:29
Quote from: Mike on 17.01.2011, 04:03:42
Este ma zaujima ten syntakticky analyzator so zotavenim pre jazyk LL(1): A->{Db l Ca} kde H(D) a H(C) su zname.
myslym, ze skor takto, opravte ma ak sa mylim:
void A(symset K){
check (HD | HC | K); <- "b", "a" by som nedaval, lebo je tam switch a nic za D a C sa nevykona, ak tam jedna z tych dvoch mnozin nebude
while((sym) & (HD | b | HC | a)){
check(HD | HC | K);
switch (sym){
case HD: D(HD | b | HC | a | K );
if(sym == b)
getsymbol();
else
error(HD | b | HC |a| K); <- neviem ci ma vyznam error
case HC: C(HD | b |HC | a | K);
if(sym == a)
getsymbol();
else
error(HD| b |HC |a |K); <- to iste, neviem ci ma vyznam error
check(HD | b | HC |a| K);
}
}
]
ok, este mi zopar veci zo zotavenia nie je jasne, takze otazka do plena:
Quote
A -> X [a Y] {Z}
A(symbolset K){
X(a | HY | HZ | K);
check(a| HZ | K);
if(sym == a ) {
getsymbol();
Y(HZ | K);
}
check(HZ | K);
while (sym & (HZ)){
Z(HZ |K);
check(HZ | K);
}
}
hned hore v check(a | HZ | K); nema byt HY pretoze sa Y v [a Y] vyskytuje az za a, cise je tam if a tak dalej... s tym suhlasim, aj z prednasok mi to takto vyplynulo..
ale ako je to s volanim X(a | HZ | HY | K); ?? ma alebo nema tam byt HY ? ma zmysel ze sa bude zotavovat na Y, ked nenajde v retazci 'a' ?
co si o tom myslite?
a ohen, mas pravdu s tym checkom, tam nemaju byt 'a' a 'b'
ten switch som s nepochopitelnych dovodou nahradil ifmy :embarassed: proste chyba okej, ale errory vyznam urcite maju... ved predsa ked cakas 'a' vyifujes to a zistis ze tam nie je, tak je to chyba, a vypises error
dalej otazka 3. Upravte bezkontext gramatiku A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
ten prevod tu uz bol, cize A -> a (bC | {B})
a synt anal
void A(symset K){
if(sym == a)
getsymbol();
else
error(b | HB | K);
check(b | HB | K);
switch (sym){
case b:
getsymbol();
C(K);
break;
case HB:
while(sym & HB){
B(HB | K);
check(HB | K);
}
break;
default: //tu ma zmiatlo to ze v tej alternative moze nastat aj prazdna vetva, cize case HD nastane len ak tam bude
if(!(sym & K)) //aspon jedno volanie B ale ak by to bol koniec retazca, tak by ten klasicky default vypisal error,
error(K); //co by nebolo korektne... jedine co ma napadlo ako osetrenie je takato podmienka.. nazory??
}
}
Quote from: antil kiprest on 17.01.2011, 12:51:54
ok, este mi zopar veci zo zotavenia nie je jasne, takze otazka do plena:
Quote
A -> X [a Y] {Z}
A(symbolset K){
X(a | HY | HZ | K);
check(a| HZ | K);
if(sym == a ) {
getsymbol();
Y(HZ | K);
}
check(HZ | K);
while (sym & (HZ)){
Z(HZ |K);
check(HZ | K);
}
}
hned hore v check(a | HZ | K); nema byt HY pretoze sa Y v [a Y] vyskytuje az za a, cise je tam if a tak dalej... s tym suhlasim, aj z prednasok mi to takto vyplynulo..
ale ako je to s volanim X(a | HZ | HY | K); ?? ma alebo nema tam byt HY ? ma zmysel ze sa bude zotavovat na Y, ked nenajde v retazci 'a' ?
co si o tom myslite?
Jasne, to HY nema byt ani tam
Sorry som si to vtedy nevsimol, ze to tam mam :D
Quote from: antil kiprest on 17.01.2011, 13:36:04
break;
default: //tu ma zmiatlo to ze v tej alternative moze nastat aj prazdna vetva, cize case HD nastane len ak tam bude
if(!(sym & K)) //aspon jedno volanie B ale ak by to bol koniec retazca, tak by ten klasicky default vypisal error,
error(K); //co by nebolo korektne... jedine co ma napadlo ako osetrenie je takato podmienka.. nazory??
}
}
Tam do toho defaultu daj len break; , lebo ano, moze nastat aj prazdna vetva, cize error nie je namieste. Do toho switcha uz vdaka tomu checku pred nim nepride nic co tam nema ist, cize ta podmienka v defaulte by bola zbytocna ajtak.
Quote from: elros on 17.01.2011, 13:44:30
Quote from: antil kiprest on 17.01.2011, 13:36:04
break;
default: //tu ma zmiatlo to ze v tej alternative moze nastat aj prazdna vetva, cize case HD nastane len ak tam bude
if(!(sym & K)) //aspon jedno volanie B ale ak by to bol koniec retazca, tak by ten klasicky default vypisal error,
error(K); //co by nebolo korektne... jedine co ma napadlo ako osetrenie je takato podmienka.. nazory??
}
}
Tam do toho defaultu daj len break; , lebo ano, moze nastat aj prazdna vetva, cize error nie je namieste. Do toho switcha uz vdaka tomu checku pred nim nepride nic co tam nema ist, cize ta podmienka v defaulte by bola zbytocna ajtak.
vidis, to ma nenapadlo, jake jednoduche ;D fajn, diks
Quote from: elros on 16.01.2011, 23:08:08
X -> A[B|C] E
X(symbolset K){
A(HB | HC | HE | K);
check(HB| HC | HE | K);
if(sym in (HB or HC) ) {
switch(symbol){
case HB: B(HE| K); break;
case HC: C(HE| K); break;
default: error(HE | K);break; //nie je tento error zbytocny??
}
}
E(K);
}
Tak ako ma byt ten priklad spravne ?
Quote from: antil kiprest on 17.01.2011, 13:36:04
dalej otazka 3. Upravte bezkontext gramatiku A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
ten prevod tu uz bol, cize A -> a (bC | {B})
Quote from: Mike on 17.01.2011, 15:24:23
Tak ako ma byt ten priklad spravne ?
Quote from: antil kiprest on 17.01.2011, 13:36:04
dalej otazka 3. Upravte bezkontext gramatiku A-> abC | a{B} na LL(1). Pre upravenu gramatiku spravit syntakticky analyzator pomocou procedur Check a Error.
ten prevod tu uz bol, cize A -> a (bC | {B})
no ja myslim ze toto je OK :
void A(symset K){
if(sym == a)
getsymbol();
else
error(b | HB | K);
check(b | HB | K);
switch (sym){
case b:
getsymbol();
C(K);
break;
case HB:
while(sym & HB){
B(HB | K);
check(HB | K);
}
break;
default: break;
}
}
Quote from: antil kiprest on 17.01.2011, 12:54:14
a ohen, mas pravdu s tym checkom, tam nemaju byt 'a' a 'b'
ten switch som s nepochopitelnych dovodou nahradil ifmy :embarassed: proste chyba okej, ale errory vyznam urcite maju... ved predsa ked cakas 'a' vyifujes to a zistis ze tam nie je, tak je to chyba, a vypises error
na tie errory som sa pytal, lebo som si nebol isty... a ohladom toho HY co si pisal predtym by to aj mna zaujimalo... ci pri X ma byt zahrnute HY. dobra poznamka :)
este by som sa vratil k tomuto A->{Db l Ca}
void A(symset K){
check (HD | HC | K);
while((sym) & (HD | HC )){ //tu by tiez nemaly byt 'a' ani 'b' myslim, switch nepusti
check(HD | HC | K); //tymto checkom si nie som isty.. jeden taky je uz pred while a navyse podmienka wo while zarucuje ze by zbehol bez
// chyby.. taze je asi zbytocny
switch (sym){
case HD: D(HD | b | HC | K ); //tu by malo byt 'b' ale nie 'a', pretoze 'b' v tejto vetve nasleduje ale 'a' je zase az sa switchom
if(sym == b)
getsymbol();
else
error(HD | HC | K); //tu opat nema zmysel 'a' ani 'b'
case HC: C(HD |HC | a | K); //tu je to naopak, cize 'b' nie, 'a' ano
if(sym == a)
getsymbol();
else
error(HD| HC |K); //tu opat nema zmysel 'a' ani 'b'
check(HD | HC | K); /a tento chcek by mal byt ten isty ako pred while
}
}
co myslite??
Quote from: ohen on 17.01.2011, 15:39:31
Quote from: antil kiprest on 17.01.2011, 12:54:14
a ohen, mas pravdu s tym checkom, tam nemaju byt 'a' a 'b'
ten switch som s nepochopitelnych dovodou nahradil ifmy :embarassed: proste chyba okej, ale errory vyznam urcite maju... ved predsa ked cakas 'a' vyifujes to a zistis ze tam nie je, tak je to chyba, a vypises error
na tie errory som sa pytal, lebo som si nebol isty... a ohladom toho HY co si pisal predtym by to aj mna zaujimalo... ci pri X ma byt zahrnute HY. dobra poznamka :)
HY tam nema byt, uz to bolo zodpovedane ;)
a este k tej istej ulohe podotazka urcit vstah medzi FIRST(D) a H(D) - to iste aj pre FIRST(C) a H(C)
any suggestions??
mne to pride ako toto: H(D) = FIRST(D) - e (prazdny symbol) .. ale nie som si isty ci je rec o tomto
3. Pre gramatiku : retazec sa zacina "a" a konci "c" medzi nimi je aspon jedno "b"
trebalo urcit prechodovy diagram, urobit konecnostavovy deterministicky automat a aj pre ten urobit prechodovy diagram
viem ze je to banalna otazka, ale nejak si to presne nepamatam, k tomu DKA staci toto?
Quote from: antil kiprest on 17.01.2011, 15:43:01
A->{Db l Ca}
void A(symset K){
check (HD | b |HC | a | K);
while((sym) & (HD | HC )){
switch (sym){
case HD: D(HD | b |HC | a | K);
if(sym == b)
getsymbol();
else
error(HD | b |HC | a | K);
break;
case HC: C(HD | b |HC | a | K);
if(sym == a)
getsymbol();
else
error(HD | b |HC | a | K);
break;
}
check(HD | b |HC | a | K);
}
}
Ked mas while, tak tam ti moze prist vsetko, lebo sa to cykli,.. ked mas [] tam mas bud bude alebo nie,..ale vo while mas mat vsade rovnake podmienky, jak v prvom checku pred whilom.