TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach
FEI archív 2010/2011 => 2. ročník => Topic started by: mishelka on 16.09.2010, 13:35:34
-
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:
-
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?
-
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...
-
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?
-
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
-
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)
-
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
-
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 ?
-
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();
-
(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
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...
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...
-
predavam zadania, piste PM
kupim!!!
-
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?
-
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
-
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"
-
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...
-
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
-
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
-
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...
-
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
-
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
?
-
Má byť:
[a|b]a{a}{b}a
-
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:
-
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
-
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
-
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
-
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)
-
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:
-
ake mozne prikladu su na toto (ab|ba)b[a]{b} ?? poradte ak:
analyza riesenia:
priklady akceptovanych retazcov "su ake????"
-
abbbbbbbbbbbb
babab
babbbbbbbbbbbbbbbbbbbbbbbbb
...
...
-
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)
-
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 ... >:(
-
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?
-
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
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 .. ???
-
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
-
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
-
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}
-
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}. ???
-
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
-
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 :)
-
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.
-
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?
-
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 ?
-
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á...
a to KSA to jak mam spravit ?
čo je KSA? ;D
-
keď zadáš aabb tak si v stave 6?
-
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á...
a to KSA to jak mam spravit ?
čo je KSA? ;D
konecne automaty s vystupom (mealy,moore)
-
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š
-
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...
-
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
-
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á...
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
-
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)
-
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.
-
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?
-
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
kto ma 3 od vaclavika?
[ b]a{a}(aa/bb)
ja napr.
-
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
-
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?
-
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
-
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
-
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.
-
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)
-
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
-
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
-
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 ;)
-
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:
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 :)
-
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
-
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].
-
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 ;)
-
Ludia.. Niesme v prvom rocniku,zdrojaky sa uz netlacia,donesiete ich na kluci ;)
Vadi ked nic nevytlacim? Skoda stromov a .. nefunguje mi tlaciaren.
-
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...
-
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?
-
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? :(
-
č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
-
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
-
č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;
}
-
...
Skontroluj si v zdrojáku prechody zo stavu S1.
-
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.
-
...
Skontroluj si v zdrojáku prechody zo stavu S1.
dik, dilino, paka ;D diky :)
-
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.
-
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.
-
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.
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)
-
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š).
-
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 {...}
-
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
-
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?
-
č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???
-
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
-
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) ?
-
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?
-
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
-
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:
10*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?
-
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,
-
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:
-
nemozes mat dve prave strany pre expr, treba ti novu fciu
Expr -> and {"&&" and}
and -> term [ "||" term ]
Term -> "value" | "(" expr ")" taze takto??
-
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
-
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:
-
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
-
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
-
(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
-
(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...
-
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
-
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
-
mám v zadaní :
&& - bez asociativity, priorita 1
|| - as. sprava do ľava, priorita 2
je toto dobre ?
expr -> and [ "&&" and ]
and -> term { "||" and}
term -> <value> | "(" expr ")"
podla mna je to dobre ja som to robil tak isto len nezabudni to pisat s velkymi zaciatocnými pismenami a plus Value ma asi byt BoolValue kedze to moze byt len tru ale false ale mozem sa myliť a tym padom to mam zle aj ja ale ...(
-
má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 ")"
-
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...
-
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 ||
-
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 <)>
-
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...
-
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ť
-
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...
-
while ((E symbol) & (E DIV ))
daj IF
dikes
-
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! :)
-
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!!!!
-
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)
-
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?
-
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
-
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
-
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
-
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 ;)
-
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:
-
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 ?
-
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)
-
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.
-
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
-
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)
-
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 :)
-
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
-
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 :-)
-
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
-
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.
-
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
-
....
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 }
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
-
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? :/
-
kto by mi vedel vysvetlit polopatisticky to tretie zadanie? :/
Lubo to vysvetli a ja prelozim do slovenciny :D
-
kto by mi vedel vysvetlit polopatisticky to tretie zadanie? :/
co konkretne??
-
Pisal niekto vobec 3. pisomku z FJaP ?
-
no nemam dobreho slova k dneskajsku
-
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
-
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
-
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..
-
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???
-
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
-
kto vie robit 3 zadanie na fjap????????????haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Popapame zajtra :D
-
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
-
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.
-
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
-
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?
-
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
-
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
-
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... :-)
-
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
-
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
-
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... :-)))
-
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... :)
-
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) ")"
-
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.
-
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) ?
-
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...
-
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 ???
-
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?
-
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??
-
Dokumentá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
-
Dokumentá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
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
-
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.
-
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;
-
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?
-
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
-
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)
-
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
-
...
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);
no 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
-
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 ? :)
-
Pre 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.
mizu.kolotocar@gmail.com
-
Nasiel by sa este niekto, co by mi urobil zadania 3 a 4? Zaplatim.
Kontakt cez PM alebo mischesn@gmail.com.
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 ...
-
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
-
a pointre nemam rad, nebudem mat rad a nepouzivam nich a nebudem :ropebanana:
tak vela stastia pri kodeni prajem potom... ;)
-
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 :)
-
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
-
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
-
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
-
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?
-
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 :)
-
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
-
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)
-
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!! :)
-
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
-
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.
-
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...
-
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
-
uf
to k comu bolo to uf?
-
- vzájomná poloha deklarácií volanej a volajúcej procedúry pri zmene zobrazenia
WTF?
- syntax jazyka LL(1) - ľavá faktorizácia, ...
WTF?
- 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)
?
- čo reprezentuje strom odvodenia, syntaktický strom, typové výrazy
?
- ako bude vyzerať aktivačný záznam s begin<2, 4>
?
Mohol by to niekto strucne objasnit ? :D
-
uf
to k comu bolo to uf?
ze som si myslel ze to viem ;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
-
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
-
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
-
lava = zlava = dolava
prava = zprava = doprava
to sa kamarat trochu vylucuje. zlava = dolava?
-
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 ??
-
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
- vzájomná poloha deklarácií volanej a volajúcej procedúry pri zmene zobrazenia
WTF?
- syntax jazyka LL(1) - ľavá faktorizácia, ...
WTF?
- 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)
?
- čo reprezentuje strom odvodenia, syntaktický strom, typové výrazy
?
- 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().
-
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:
- vzájomná poloha deklarácií volanej a volajúcej procedúry pri zmene zobrazenia
Netuším
- 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
- syntax deklarácie premenných, analýza
Var_Decl [[ var Var_List_decl {Var_List_Decl)]] = Var_List_Decl{Var_List_Decl}
Var_List_Decl [[Id_List colon Type semicolon]] = idlist Id_List Type defvars
Id_List[[id<ival>{comma id<ival> ]] = id<ival>{id<ival>}
- keď A a B sú typ. premenné typu záznam, k čomu dochádza pri porovnaní typov (substitúcia a unifikácia)
ak A a B su typove premenne, T1 = A T2 = B, potom T1 = T2 = C a vsetky vyskyty A a B sa nahradia C - unifikacia
ak A je typova premenna, T1 = A, T2 = TE (typovy vyraz) kde TE nie je premenna, kazdy vyskyt A sa nahradi TE - substitucia
a ten record, ak T1 = A, T2 = record, potom T1 = record, lebo doslo k substitucii A = record
- č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,
- 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)
-
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+)/
-
a postfix: ((a(bc+)+)d*)(ef+)/
v postfixe ide presne o to, ze tam tie zatvorky byt nemaju.. abc++d*ef+/
-
a postfix: ((a(bc+)+)d*)(ef+)/
Ked ma asociativnost sprava, tj. dolava, nemalo by byt ab+c+ ?
-
a postfix: ((a(bc+)+)d*)(ef+)/
Ked ma asociativnost sprava, tj. dolava, nemalo by byt ab+c+ ?
sprava = doprava
-
FML
-
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 ...
-
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..
-
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
-
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);
}
}
-
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.
-
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
-
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?
-
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")
-
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.
-
Takze pred if, pred switch a while
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!!
-
...
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
-
...
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
-
...
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:
-
...
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)
-
...
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
-
...
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.
-
ano a dolava zlava lava je to iste ako dolava co je vlastne doprava.
no mal som pravdu. zbytocne vela spekulujete :P
-
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
-
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)
-
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 ;)
-
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.
-
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.
-
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
-
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. :)
-
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
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
-
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
-
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:
-
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... ;)
-
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... :) ;)
-
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 meno_priezvisko@student.tuke.sk .... ;) ale tak to uz je na spravcoch fora..
-
cely tento problem by sa dal uplne jednoducho vyriesit, ak by bola podmienka pri registracii ze email musi byt v tvare meno_priezvisko@student.tuke.sk .... ;) 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 :)
-
cely tento problem by sa dal uplne jednoducho vyriesit, ak by bola podmienka pri registracii ze email musi byt v tvare meno_priezvisko@student.tuke.sk .... ;) ale tak to uz je na spravcoch fora..
ved aj ja mam taky email :P
-
cely tento problem by sa dal uplne jednoducho vyriesit, ak by bola podmienka pri registracii ze email musi byt v tvare meno_priezvisko@student.tuke.sk .... ;) 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, meno.priezvisko@student.tuke.sk ja by som chcel mat napr. saddam.hussajn :P
-
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...
-
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...
-
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
-
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
-
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
-
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
-
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
-
je skuskove, co cakas
pomoc???zeby???ved ja to nechcem zadarmo...
-
ludia, nenajde sa u niekoho 1. 2. a 9. prednaska?? ;)
-
ludia, nenajde sa u niekoho 1. 2. a 9. prednaska?? ;)
ja mam :)
-
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...
-
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???
-
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
-
kde sa v utorok kona skuska?
v AF
-
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
-
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??
-
A-> X [ a Y ] {Z}
malo by to byt spravne
-
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 } .
-
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 ? ;)
-
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); // 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 :)
-
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 . }
-
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
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
-
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
-
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
-
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:
-
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}
-
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}
-
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.
-
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
-
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??
-
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
-
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.
-
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
-
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} .
-
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)
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
}
}
-
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 ?
-
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>
-
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 ?
-
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>
???
-
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
-
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.
?? :)
-
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 ???
-
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!
-
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
-
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...
-
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
-
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.
-
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?
-
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??
-
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
-
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.
-
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.
?
-
postfix by mal byt : ab+c+de+*f/
a prefix??
ak je tamto postfix,.. tak prefix by mal byt /*++abc+def
-
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
-
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?
-
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
-
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]
-
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 ?
-
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?
-
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 ]
-
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)
-
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
-
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
-
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
-
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.
-
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 ?
-
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 ?
-
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
-
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
-
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
-
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
-
dalej: gramatika vyrazu pre postupnost prikazov PP oddelenych ciarkou + syntakt. so zotavenim
A->P { , P }
-
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??
-
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
-
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:
-
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?
-
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
-
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
-
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
-
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
-
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...
-
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)
??
-
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
-
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
-
expr
/ | \
eq "+" expr
/ / | \
id eq "-" expr
/ / / | \
"a" id eq "*" eq
/ / | \ \
"b" id "=" id id
/ \ \
"c" "d" "e"
mne vyslo tak isto :beer1:
-
ale druha otazka nie je ten obr. co si postol ?
ano
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
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 ?
-
ale druha otazka nie je ten obr. co si postol ?
ano
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
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...
-
mne vyslo tak isto beer1
eej, parada!! ;D
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.
-
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)
-
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:
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??
}
}
-
ok, este mi zopar veci zo zotavenia nie je jasne, takze otazka do plena:
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
-
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.
-
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
-
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 ?
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})
-
Tak ako ma byt ten priklad spravne ?
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;
}
}
-
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??
-
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?
-
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.