DU2

qk
Matfyz(ák|ačka) level III
Příspěvky: 181
Registrován: 24. 2. 2005 10:03
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Příspěvek od qk »

hlaseni chyb je velmi vesele, skoro jako zkouska "porozumej zdrojaku". na cvikach nam nic nerikali ...

mlc::error([konst],line,...)
kde konst je konstanta ze souboru
line cislo radku
a ... je velmi vtipne nedokumentovane doplneni, ktere je vzdy jine
,ale da se najit v zdrojacich, kdyz se vyhleda na co se prvni konstanta prevadi a pak v zdrojaku fce erroru, takze celkem hledani
napri pro preteceni intu:
mlc::error(DUERR_INTOUTRANGE, myline,yytext);

jinak s tim ze nematchujou po oriznuti cisla nam myslim na cvikach rikali, ze je jedno jakej int to potom vrati, ale radsi se jeste zeptam mailem.

a taky by mne zajimali jestli je to klasickej unsigned int(32b) nebo je to int bez znamynka(31b), protoze pri vypisu delaj z toho jen int, takze kdyz sem tam mel maximalni Unsigned tak to vypisovali -1.
Don't worry, be dead
Uživatelský avatar
rastik
Supermatfyz(ák|ačka)
Příspěvky: 661
Registrován: 19. 10. 2005 21:45
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od rastik »

Tie parametre su pekne vidiet v du2baseerrtab.cpp.
Uživatelský avatar
darkness
Matfyz(ák|ačka) level II
Příspěvky: 70
Registrován: 15. 1. 2005 13:24
Typ studia: Informatika Mgr.
Bydliště: pod mostem (Nuselskym)
Kontaktovat uživatele:

Příspěvek od darkness »

tak ja uz vim :-)
pro ty, co nahodou jeste nevedi, tak napr.:
error(DUERR_INTOUTRANGE, linescount, yytext);
Uživatelský avatar
Dawe
Supermatfyz(ák|ačka)
Příspěvky: 360
Registrován: 12. 10. 2004 12:32
Typ studia: Informatika Mgr.
Bydliště: Doma a nebo na koleji

Příspěvek od Dawe »

třeba nějak takhle

Kód: Vybrat vše

error(DUERR_INTOUTRANGE,line);
qk
Matfyz(ák|ačka) level III
Příspěvky: 181
Registrován: 24. 2. 2005 10:03
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Příspěvek od qk »

Dawe píše:třeba nějak takhle

Kód: Vybrat vše

error(DUERR_INTOUTRANGE,line);
takhle urcite ne ;)

jinak ta druha constanta na kterou se to prevadi rika v jakym poradi maji jit dalsi parametry (je to v du2baserrtab.cpp):

napr:
struct errs base_errors_int_[] = {
{ DUERR_OK, DUERRT_VOID, "Everything is OK" },
{ DUERR_NOK, DUERRT_I, "Everything is nearly OK, although there were %d warnings" },
{ DUERR_ERRS, DUERRT_II, "There were some errors %d and warnings %d" },
{ DUERR_REALOUTRANGE, DUERRT_S, "Real number '%s' is out of range, will be truncated" },


znamena OK zadnej dalsi parametr, NOK integer, ERRS dva integery, preteceni realu je string (tedy char *).
Don't worry, be dead
Uživatelský avatar
darkness
Matfyz(ák|ačka) level II
Příspěvky: 70
Registrován: 15. 1. 2005 13:24
Typ studia: Informatika Mgr.
Bydliště: pod mostem (Nuselskym)
Kontaktovat uživatele:

Příspěvek od darkness »

muze mi prosim jeste nekdo vysvetlit, jak vypada preteceny real? pokud si pamatuji, tak to na cvikach snad ani nebylo..
a dale nechapu tyhle konstanty:
DUERR_OK, /* everything is OK */

DUERR_NOK, /* nearly OK */

DUERR_ERRS, /* there were some errors */
Ty mam take nekde vracet?
Nebo mam zacit studovat radne zdrojaky, abych tohle vsechno pochopila?
qk
Matfyz(ák|ačka) level III
Příspěvky: 181
Registrován: 24. 2. 2005 10:03
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Příspěvek od qk »

darkness píše:muze mi prosim jeste nekdo vysvetlit, jak vypada preteceny real? pokud si pamatuji, tak to na cvikach snad ani nebylo..
a dale nechapu tyhle konstanty:
DUERR_OK, /* everything is OK */

DUERR_NOK, /* nearly OK */

DUERR_ERRS, /* there were some errors */
Ty mam take nekde vracet?
Nebo mam zacit studovat radne zdrojaky, abych tohle vsechno pochopila?
no nam rikal jak vypada preteceny real, ale zapomnel sem to, takze to implementuju jako preteceny double :)
tyhle konstanty vraci zatim jen jejich kod (takovyto everythink is OK (maj to i testovacim vystupu), takze bych je zatim neresil, ale brzy je podle mne budeme potrebovat.
Don't worry, be dead
Uživatelský avatar
darkness
Matfyz(ák|ačka) level II
Příspěvky: 70
Registrován: 15. 1. 2005 13:24
Typ studia: Informatika Mgr.
Bydliště: pod mostem (Nuselskym)
Kontaktovat uživatele:

Příspěvek od darkness »

no, chodime na cvika spolu, takze nam to asi take rikal :-)
konstanty neresim, jen je mi divny, ze kdyz to vypise nekolik warningu a popr. i erroru, ze to na konci napise "Everything is OK"
uz asi vim, co znamena preteceny real - alespon podle tech jejich diagramu, kdyz je
{uint}.[cislice]+e{uint}, tak kdyz jsou ty uint preteceny, tak je preteceny asi cely cislo.
rikam to spravne?
qk
Matfyz(ák|ačka) level III
Příspěvky: 181
Registrován: 24. 2. 2005 10:03
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Příspěvek od qk »

no na cvikach rikal neco s mantisou, ale za ty body my to nestoji to delat :)
...jinak to rikal, kdyz se nekdo v druhy lavici na to ptal.
Don't worry, be dead
Uživatelský avatar
darkness
Matfyz(ák|ačka) level II
Příspěvky: 70
Registrován: 15. 1. 2005 13:24
Typ studia: Informatika Mgr.
Bydliště: pod mostem (Nuselskym)
Kontaktovat uživatele:

Příspěvek od darkness »

kazdopadne moje teorie asi moc nefunguje.. resp. teorie fungovat muze, ale uz by to neslo tak jednoduse..
A jakto, ze Ti to za ty body nestoji? pak budes nadavat, ze Ti utekla jednicka a budes se muset spokojit se dvojkou :-)
Uživatelský avatar
darkness
Matfyz(ák|ačka) level II
Příspěvky: 70
Registrován: 15. 1. 2005 13:24
Typ studia: Informatika Mgr.
Bydliště: pod mostem (Nuselskym)
Kontaktovat uživatele:

Příspěvek od darkness »

tak uz jsem to vyresila :-) proste to resit nebudu, pze:
Sedmým úkolem je detekce a zotavení z lexikálních chyb, např. konec řádku v řetězci, konec souboru v komentáři, špětně uzavřené komentáře, příliš velké celé číslo (do tabulky celých čísel ukládat v lexikální analýze pouze bezznaménková čísla s přesností 31 bitů).
zduraznuji: příliš velké CELÉ číslo
takze nejake preteceni realu se zrejme resit nema. (pro jistotu jsem napsala cvicicimu)
qk
Matfyz(ák|ačka) level III
Příspěvky: 181
Registrován: 24. 2. 2005 10:03
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Příspěvek od qk »

tak to bude mit radost ode mne uz ma taky mail ;)
Don't worry, be dead
Uživatelský avatar
rastik
Supermatfyz(ák|ačka)
Příspěvky: 661
Registrován: 19. 10. 2005 21:45
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od rastik »

darkness píše:muze mi prosim jeste nekdo vysvetlit, jak vypada preteceny real?
Take v zadani nie je, predpokladam ze to bude az v dalsom (pokial vobec).
Uživatelský avatar
Tacoud
Donátor
Donátor
Příspěvky: 53
Registrován: 16. 9. 2005 08:38
Typ studia: Informatika Bc.
Bydliště: Mladá Boleslav
Kontaktovat uživatele:

Příspěvek od Tacoud »

to Darkness:
darkness píše:tak uz jsem to vyresila :-) proste to resit nebudu, pze:
zduraznuji: příliš velké CELÉ číslo
takze nejake preteceni realu se zrejme resit nema. (pro jistotu jsem napsala cvicicimu)
Já bych si nebyl tak jistý, že se to nemá řešit. Ono tam je sice CELÉ číslo, ale také je tam, že to tam uvádí jako příklad. Já si to vykládám tak, že se ti jako zmínil, z jakého soudku budou problémy, ale není to kompletní seznam toho, co se má udělat... Koukni do hlavičkovych souboru. :wink:
Uživatelský avatar
darkness
Matfyz(ák|ačka) level II
Příspěvky: 70
Registrován: 15. 1. 2005 13:24
Typ studia: Informatika Mgr.
Bydliště: pod mostem (Nuselskym)
Kontaktovat uživatele:

Příspěvek od darkness »

to mas pravdu, ale je to takove slovickareni.. zase je divne, ze kdyz tam jsou vyjmenovane vsechny pripady a tenhle ne. a treba my jsme to na cviku moc neprobirali. tedy pry asi ano, ale nejspis jen kratce, protoze si to nejak nepamatuji.
a taky by bylo divne povazovat za zadani konstanty z hlavickoveho souboru.
uvidime, snad mi cvicici odepise
Odpovědět

Zpět na „2006“