Sharp Basic
- Almer
- Site Admin
- Příspěvky: 686
- Registrován: 12. 10. 2004 10:58
- Typ studia: Informatika Ph.D.
- Login do SIS: lasap4am
- Bydliště: Mala Strana - 203
- Kontaktovat uživatele:
Sharp Basic
Tak se pochlubte?:)
Parsovani vyrazu dokonceno:) .. jeste vsechny prikazy a routiny:)
Parsovani vyrazu dokonceno:) .. jeste vsechny prikazy a routiny:)
Zakládající člen klubu Ortodoxních Matfyzáků
Jsem LAMER ale neumim se ani podepsat ]
Jsem LAMER ale neumim se ani podepsat ]
- Almer
- Site Admin
- Příspěvky: 686
- Registrován: 12. 10. 2004 10:58
- Typ studia: Informatika Ph.D.
- Login do SIS: lasap4am
- Bydliště: Mala Strana - 203
- Kontaktovat uživatele:
Re: Sharp Basic
Mimochodem vsimli jste si, ze deadline je posunut na 8.3?:) takze asi to stiham:)) na rozdil od puvodniho terminu, kdy by to bylo o prsa asijske skolacky.
JInak zatim cas - asi 5 hodin kodeni expression tree + 3h hledani a cteni jak prevest infix jednoduse do stromu ( nakonec easy bylo infix -> postfix->strom s malym trickem na vnorene fce ) A asi 3 hodiny vcera zaklady prikazu...definice promenne , prirazeni, volani procedury )
JInak zatim cas - asi 5 hodin kodeni expression tree + 3h hledani a cteni jak prevest infix jednoduse do stromu ( nakonec easy bylo infix -> postfix->strom s malym trickem na vnorene fce ) A asi 3 hodiny vcera zaklady prikazu...definice promenne , prirazeni, volani procedury )
Zakládající člen klubu Ortodoxních Matfyzáků
Jsem LAMER ale neumim se ani podepsat ]
Jsem LAMER ale neumim se ani podepsat ]
Re: Sharp Basic
Napsáno, 47KB, čas nepočítán, ale asi podobně (během částí dvou dnů). Nicméně jsem zvědavý, jestli mne za to nesežerou, pak se pochlubím s jednou šíleností, co jsem tam udělal xD
Jinak v zadání jsou nejasné věci, jako třeba zda je nutné vypsat např. typové chyby (předání argumentu s jiným typem než chce funkce) už při parsování nebo stačí až za běhu (skoro bych chápal že ano, a když je ten čas navíc, asi to tam dopíšu), jak se chovat např. při přetečení intu (neháže to výjimku, tak jsem to prostě nechal tak, jako by se ta proměnná používala přímo v C#) a podobných, nejspíš i něco dalšího, na co jsem narazil při psaní a už zapomněl.
Časově nejnáročnější věc kterou jsem tomu dal na vyhodnocení bylo překoročení max. povolené rekurze, ta výjimka se callstackem propadává několik sekund. A ano, mám to hezky rekurzivní.
Za ten posun bych je kopnul, kdyby to aspoň řekli trochu dřív, takhle jsem se tomu věnoval místo potřebnějších věcí.
Regexpy vládnou světu.
Jinak v zadání jsou nejasné věci, jako třeba zda je nutné vypsat např. typové chyby (předání argumentu s jiným typem než chce funkce) už při parsování nebo stačí až za běhu (skoro bych chápal že ano, a když je ten čas navíc, asi to tam dopíšu), jak se chovat např. při přetečení intu (neháže to výjimku, tak jsem to prostě nechal tak, jako by se ta proměnná používala přímo v C#) a podobných, nejspíš i něco dalšího, na co jsem narazil při psaní a už zapomněl.
Časově nejnáročnější věc kterou jsem tomu dal na vyhodnocení bylo překoročení max. povolené rekurze, ta výjimka se callstackem propadává několik sekund. A ano, mám to hezky rekurzivní.
Za ten posun bych je kopnul, kdyby to aspoň řekli trochu dřív, takhle jsem se tomu věnoval místo potřebnějších věcí.
Regexpy vládnou světu.
- Almer
- Site Admin
- Příspěvky: 686
- Registrován: 12. 10. 2004 10:58
- Typ studia: Informatika Ph.D.
- Login do SIS: lasap4am
- Bydliště: Mala Strana - 203
- Kontaktovat uživatele:
Re: Sharp Basic
Problem u typove kontroly je ten, ze muzes mit definovany vyraz, ale typy operandu zjistis az nekdy pozdeji. Takze typicky je to bud tesne pred tim, nez to spustis ( to znamena, po kompletnim parsovani ) a nebo az za behu. Nevim co je spravne, a co je pripustne.
Kazdopadne ja to mam zatim runtime. Jestli bude cas, tak to mozna predelam. Nejasnosti je delako vice nez jenom type checking:)
Kazdopadne ja to mam zatim runtime. Jestli bude cas, tak to mozna predelam. Nejasnosti je delako vice nez jenom type checking:)
Zakládající člen klubu Ortodoxních Matfyzáků
Jsem LAMER ale neumim se ani podepsat ]
Jsem LAMER ale neumim se ani podepsat ]
Re: Sharp Basic
Tak ono teoreticky to jde už během parsování, neb si při něm už rovnou můžu sbírat typy proměnných jako bych vyhodnocoval, ovšem ta šílenost co jsem si vymyslel mi tuhle cestu zavřela, tudíž to musím napsat jako extra krok mezi parse a run.
Nicméně je to podle mne chyba ve vstupním souboru, tudíž by se nejspíš měla vypsat dřív než runtime.
Nicméně je to podle mne chyba ve vstupním souboru, tudíž by se nejspíš měla vypsat dřív než runtime.
Re: Sharp Basic
ad detekce chyb: Jelikoz to ma byt interpret, tak vsechny chyby staci detekovat az za behu - tj. pokud je nejaka chyba napr. v procedure, ktera se nikdy nezavola, tak se tato chyba detekovat vubec nemusi.
ad prodlouzeni terminu: Puvodne jsme opravdu zadne prodlouzeni neplanovali (preci jenom na to bylo 5 tydnu), ale v poslednich 3 dnech se od vas! nahromadilo vetsi mnozstvi zadosti o prodlouzeni, proto jsme se nakonec rozhodli pro prodlouzeni vsem.
PJ
ad prodlouzeni terminu: Puvodne jsme opravdu zadne prodlouzeni neplanovali (preci jenom na to bylo 5 tydnu), ale v poslednich 3 dnech se od vas! nahromadilo vetsi mnozstvi zadosti o prodlouzeni, proto jsme se nakonec rozhodli pro prodlouzeni vsem.
PJ
Re: Sharp Basic
Ahoj,
chtela jsem se zeptat jak jste resili tu rekurzi? 10000 je podle me moc, protoze po tomhle cisle mi pada Visual Studio, tudiz pokud mam volani SharpBasic funkce naprogramovane jako volani vice nez jedne, do sebe vnorene, funkce v C#, tak mi to spadne driv na StackOverflow, nez mi pretece to pocitadlo rekurze. Je mozne, ze jsem tu cast zadani pochopila spatne, tak me kdyztak uvedte na pravou miru...
Diky Manicka.
chtela jsem se zeptat jak jste resili tu rekurzi? 10000 je podle me moc, protoze po tomhle cisle mi pada Visual Studio, tudiz pokud mam volani SharpBasic funkce naprogramovane jako volani vice nez jedne, do sebe vnorene, funkce v C#, tak mi to spadne driv na StackOverflow, nez mi pretece to pocitadlo rekurze. Je mozne, ze jsem tu cast zadani pochopila spatne, tak me kdyztak uvedte na pravou miru...
Diky Manicka.
Re: Sharp Basic
ad rekurze: Ta konstanta 10000 vas mela navest na implementaci te rekurze bez rekurzivnich volani ve vasem zdrojovem kodu. Jelikoz se ale zda, ze velka cast z vas se vydala prave smerem implementace rekurze pomoci rekurze, tak toto reseni nakonec budeme tez brat jako spravne.
PJ
PJ
- Almer
- Site Admin
- Příspěvky: 686
- Registrován: 12. 10. 2004 10:58
- Typ studia: Informatika Ph.D.
- Login do SIS: lasap4am
- Bydliště: Mala Strana - 203
- Kontaktovat uživatele:
Re: Sharp Basic
Muzu se zeptat na postup, jakym by se to melo delat bez rekurze? Protoze mne napadl pouze trick se zasobnikem, ale to je porad nachylne na StackOverFlowException..
Zakládající člen klubu Ortodoxních Matfyzáků
Jsem LAMER ale neumim se ani podepsat ]
Jsem LAMER ale neumim se ani podepsat ]
Re: Sharp Basic
Co si predstavujete pod "trickem se zasobnikem"? Pokud myslite "procesorovy zasobnik", tak tam opravdu k StackOverflowException dochazi, nicmene to je prave ta rekurze. Pokud myslite napr. tridu Stack<T>, tak to je jedno z moznych reseni - tam ale neni proc by k StackOverflowException dochazelo. Jinak dulezity je prave rozdil v dostupne pameti pro tyto dve reseni - 1 MB vs. 1,5 GB.
- Almer
- Site Admin
- Příspěvky: 686
- Registrován: 12. 10. 2004 10:58
- Typ studia: Informatika Ph.D.
- Login do SIS: lasap4am
- Bydliště: Mala Strana - 203
- Kontaktovat uživatele:
Re: Sharp Basic
Konkretne jsem myslel ten C# Stack<T>. O tom, jak funguje opravdu rekurze ( ukladani kontextu vlakna - potazmo funkce, a navratova adresa ) vim. Takze nejde vlastne o reseni , nybrz o odlozeni ( protoze vyresime velikost mozne rekurze tim, ze zvetsime dostupnou pamet - nikoliv prevedeni na nerekurzivni formu ) te StackOverFlowException.
Zakládající člen klubu Ortodoxních Matfyzáků
Jsem LAMER ale neumim se ani podepsat ]
Jsem LAMER ale neumim se ani podepsat ]
- hippies
- Admin(ka) level I
- Příspěvky: 990
- Registrován: 29. 9. 2004 12:46
- Typ studia: Informatika Mgr.
- Login do SIS: procj4am
- Bydliště: Mladá Boleslav
- Kontaktovat uživatele:
Re: Sharp Basic
StackOverFlowException ti Stack<T> asi tezko vyvola .. takze je to reseni.. maximalne ti dojde veskera pamet (vcetne swapu) a Exception ti sice vyskoci, ale jaksi jina.
Chjo, dovede te si představit svět, kde by byla každá harmonická diferenciální forma (jistého typu) nesingulární projektivní algebraické variety racionální kombinací kohomologických tříd algebraických cyklů..
- Almer
- Site Admin
- Příspěvky: 686
- Registrován: 12. 10. 2004 10:58
- Typ studia: Informatika Ph.D.
- Login do SIS: lasap4am
- Bydliště: Mala Strana - 203
- Kontaktovat uživatele:
Re: Sharp Basic
Tak co decka? Finishujete?
Zakládající člen klubu Ortodoxních Matfyzáků
Jsem LAMER ale neumim se ani podepsat ]
Jsem LAMER ale neumim se ani podepsat ]
- Almer
- Site Admin
- Příspěvky: 686
- Registrován: 12. 10. 2004 10:58
- Typ studia: Informatika Ph.D.
- Login do SIS: lasap4am
- Bydliště: Mala Strana - 203
- Kontaktovat uživatele:
Re: Sharp Basic
Muzu mit dotaz?
Proc mi tohle nefunguje?
Proc mi tohle nefunguje?
Kód: Vybrat vše
Double value = 0.0;
Boolean check = double.TryParse( "1.00", out value );
Zakládající člen klubu Ortodoxních Matfyzáků
Jsem LAMER ale neumim se ani podepsat ]
Jsem LAMER ale neumim se ani podepsat ]
Re: Sharp Basic
Nemate ve Windows nastavene ceske prostredi?
PJ
PJ