DU6
- Kate
- Matfyz(ák|ačka) level III
- Příspěvky: 146
- Registrován: 8. 1. 2005 10:52
- Typ studia: Informatika Mgr.
- Login do SIS: opock4am
- Bydliště: Milada squat
- Kontaktovat uživatele:
rastik, BB, hippies - diky moc za odpovedi.
asi se nakonec priklonim k reseni, ze svou strukturu obohatim o novou polozku pro ten identifikator (sice ji tam 99% tech veci nevyuzije, ale to uz se v tom zbytku, co jsem tam naprasila, fakt ztrati ).
chtela jsem se jen ujistit, jestli to nejde delat nejak princip. jinak, nebo na to nedejboze neexistuji v ulitackem kodu nejake pomocne funkcicky. abych nedopadla jak v DU5, kdy jsem polovinu veci kolem poli delala zbytecne a tezkopadne rucne a stacilo jen vzit a pouzit nabizene
asi se nakonec priklonim k reseni, ze svou strukturu obohatim o novou polozku pro ten identifikator (sice ji tam 99% tech veci nevyuzije, ale to uz se v tom zbytku, co jsem tam naprasila, fakt ztrati ).
chtela jsem se jen ujistit, jestli to nejde delat nejak princip. jinak, nebo na to nedejboze neexistuji v ulitackem kodu nejake pomocne funkcicky. abych nedopadla jak v DU5, kdy jsem polovinu veci kolem poli delala zbytecne a tezkopadne rucne a stacilo jen vzit a pouzit nabizene
Člověk si nemusí nic myslet, aby něco udělal.
- Kate
- Matfyz(ák|ačka) level III
- Příspěvky: 146
- Registrován: 8. 1. 2005 10:52
- Typ studia: Informatika Mgr.
- Login do SIS: opock4am
- Bydliště: Milada squat
- Kontaktovat uživatele:
level 2 predchoziho problemu. to same, ale pro pole:
f(a:integer, var b: integer)
p: array[1..2] of array[1..2] of integer
f(p[1][2], p[1][2])
stejny postup jako v pripade jednoduchych promennych nelze uplatnit. tady bych si bokem musela ulozit nejen identifikator, ale i rozmery. jenze ty mi prichazeji jako icblocky a ty si nejdou (resp. neumim to) zkopirovat bez toho, aby zanikly (jestli existuje nejaka icblock_append_delete bez delete, tak by to bylo idealni a problem by se vyresil).
nejvic mne vadi, ze rozdil v ziskani adresy prvku toho pole a hodnoty na nem je jedina instrukce , takze by vlastne stacilo jen ulozit ten icblock predtim, nez zavolam tu posledni (XLDx) a v pripade, ze by se pak zjistilo, ze to ma byt vareny, tak by se pouzil ten. bohuzel, bez moznosti kopirovat icblocky bez deletu originalu proste vubec netusim, jak tohle vyresit. budu vdecna za jakykoliv hint.
f(a:integer, var b: integer)
p: array[1..2] of array[1..2] of integer
f(p[1][2], p[1][2])
stejny postup jako v pripade jednoduchych promennych nelze uplatnit. tady bych si bokem musela ulozit nejen identifikator, ale i rozmery. jenze ty mi prichazeji jako icblocky a ty si nejdou (resp. neumim to) zkopirovat bez toho, aby zanikly (jestli existuje nejaka icblock_append_delete bez delete, tak by to bylo idealni a problem by se vyresil).
nejvic mne vadi, ze rozdil v ziskani adresy prvku toho pole a hodnoty na nem je jedina instrukce , takze by vlastne stacilo jen ulozit ten icblock predtim, nez zavolam tu posledni (XLDx) a v pripade, ze by se pak zjistilo, ze to ma byt vareny, tak by se pouzil ten. bohuzel, bez moznosti kopirovat icblocky bez deletu originalu proste vubec netusim, jak tohle vyresit. budu vdecna za jakykoliv hint.
Člověk si nemusí nic myslet, aby něco udělal.
- 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:
Musel bych se opakovat;)Kate píše:level 2 predchoziho problemu. to same, ale pro pole:
f(a:integer, var b: integer)
p: array[1..2] of array[1..2] of integer
f(p[1][2], p[1][2])
stejny postup jako v pripade jednoduchych promennych nelze uplatnit. tady bych si bokem musela ulozit nejen identifikator, ale i rozmery. jenze ty mi prichazeji jako icblocky a ty si nejdou (resp. neumim to) zkopirovat bez toho, aby zanikly (jestli existuje nejaka icblock_append_delete bez delete, tak by to bylo idealni a problem by se vyresil).
nejvic mne vadi, ze rozdil v ziskani adresy prvku toho pole a hodnoty na nem je jedina instrukce , takze by vlastne stacilo jen ulozit ten icblock predtim, nez zavolam tu posledni (XLDx) a v pripade, ze by se pak zjistilo, ze to ma byt vareny, tak by se pouzil ten. bohuzel, bez moznosti kopirovat icblocky bez deletu originalu proste vubec netusim, jak tohle vyresit. budu vdecna za jakykoliv hint.
- andree
- Matfyz(ák|ačka) level III
- Příspěvky: 106
- Registrován: 9. 12. 2006 17:00
- Typ studia: Informatika Mgr.
- Kontaktovat uživatele:
goto este raz
no a co s tymi goto? chcel som to vyskusat spravit stylom, ze pri uz definovanych labeloch by som do tej instrukcie priamo hodil adresu, ale to akosi nejde (resp. som nezistil sposob ako to spravit). pisal uz niekto na ulitu, alebo sa toho ujmem?
- BB
- Matfyz(ák|ačka) level I
- Příspěvky: 10
- Registrován: 9. 2. 2006 00:21
- Typ studia: Informatika Bc.
- Bydliště: Jizni.mesto/Otava/617.B
- Kontaktovat uživatele:
Opět musím říct, že hodně záleží na struktuře gramatiky (jak prokázal Hippies). Já jsem pro změnu z neterminálu proměnná odstranil identifikátor a zbyla mi tam jen pole, u kterých jsou použity nějaké indexy. O patro výš je pak dokážu snadno poznat. Předávám si v jejich icbloku jen reference a dereferencuji to až ve chvíli, kdy to potřebuji. Tam také teprve vím, jestli použít XLD nebo XST.Kate píše:level 2 predchoziho problemu. to same, ale pro pole:
f(a:integer, var b: integer)
p: array[1..2] of array[1..2] of integer
f(p[1][2], p[1][2])
stejny postup jako v pripade jednoduchych promennych nelze uplatnit. tady bych si bokem musela ulozit nejen identifikator, ale i rozmery. jenze ty mi prichazeji jako icblocky a ty si nejdou (resp. neumim to) zkopirovat bez toho, aby zanikly (jestli existuje nejaka icblock_append_delete bez delete, tak by to bylo idealni a problem by se vyresil).
nejvic mne vadi, ze rozdil v ziskani adresy prvku toho pole a hodnoty na nem je jedina instrukce , takze by vlastne stacilo jen ulozit ten icblock predtim, nez zavolam tu posledni (XLDx) a v pripade, ze by se pak zjistilo, ze to ma byt vareny, tak by se pouzil ten. bohuzel, bez moznosti kopirovat icblocky bez deletu originalu proste vubec netusim, jak tohle vyresit. budu vdecna za jakykoliv hint.
Jakékoliv řešení bych tedy i na Tvém místě hledal principielně stejné jako u rozlišení mezi XLD a XST (ostatně o tom vařené proměnné jsou ).
icblock lze projit pres iterator, jednotlive instrukce bloku lze vlozit do noveho bloku pomoci metody append_instructionKate píše:stejny postup jako v pripade jednoduchych promennych nelze uplatnit. tady bych si bokem musela ulozit nejen identifikator, ale i rozmery. jenze ty mi prichazeji jako icblocky a ty si nejdou (resp. neumim to) zkopirovat bez toho, aby zanikly (jestli existuje nejaka icblock_append_delete bez delete, tak by to bylo idealni a problem by se vyresil).
- Kate
- Matfyz(ák|ačka) level III
- Příspěvky: 146
- Registrován: 8. 1. 2005 10:52
- Typ studia: Informatika Mgr.
- Login do SIS: opock4am
- Bydliště: Milada squat
- Kontaktovat uživatele:
pravdu mas! vcera me iteratory taky napadly, ale prislo mi (hledala jsem asi jen v mlc, nebo fakt nevim), ze to nad tim neni. v tom pripade je problem vyresen, ja tusila, ze to nemuze byt tak hrozne . moc dekuji! to mam hned radost po ranutm píše: icblock lze projit pres iterator, jednotlive instrukce bloku lze vlozit do noveho bloku pomoci metody append_instruction
Člověk si nemusí nic myslet, aby něco udělal.
- Kate
- Matfyz(ák|ačka) level III
- Příspěvky: 146
- Registrován: 8. 1. 2005 10:52
- Typ studia: Informatika Mgr.
- Login do SIS: opock4am
- Bydliště: Milada squat
- Kontaktovat uživatele:
v tom svem si prave dost dobre nedovedu predstavit, ze by se to rozhodovani (adresa/hodnota) posunovalo vys (a vys a vys ...). ta nasledna posledni instrukce by se tam musela resit na nekolika mistech, takhle vim, ze co mi prijde vys je nejaka hodnota a je mi jedno, jestli se vzala z promenne, vystupu fce nebo z prvku pole ... i kdyz uznavam, ze je to asi zase hezci nez v pripade potreby vymenit cely icblock. kazdopadne diky za tip, ja s tim varenim mela vzdycky problemyBB píše: Opět musím říct, že hodně záleží na struktuře gramatiky (jak prokázal Hippies). Já jsem pro změnu z neterminálu proměnná odstranil identifikátor a zbyla mi tam jen pole, u kterých jsou použity nějaké indexy. O patro výš je pak dokážu snadno poznat. Předávám si v jejich icbloku jen reference a dereferencuji to až ve chvíli, kdy to potřebuji. Tam také teprve vím, jestli použít XLD nebo XST.
Jakékoliv řešení bych tedy i na Tvém místě hledal principielně stejné jako u rozlišení mezi XLD a XST (ostatně o tom vařené proměnné jsou ).
Člověk si nemusí nic myslet, aby něco udělal.
testovaci soubor
V priloze uvadim svuj testovaci soubor. Doufam, ze ho pripadne rozsirite o dalsi zaludne pripady a vratite zpet
- Přílohy
-
- test1.zip
- (12.63 KiB) Staženo 136 x