DU4

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: DU4

Re: DU4

od vishka » 13. 12. 2010 19:52

Diky za odpoved,
asi me fakt nic jineho nezbyde, nez to dopsat prvni cele, ale i tak me to prohazovani prijde ponekud zvlastni. Btw. pri volbe -B to poradi mam spravne (nebo tak jak by melo logicky byt), takze me to prijde cele jen jako nejaky podivny side effect.

Re: DU4

od aaaaa » 13. 12. 2010 10:49

...ale mozna mam jen nejakou nestastnou chybu ve svem vlastnim kodu.
skor by som sa priklanal k tejto variante... tiez mi tie typy do xmlka zapisovalo v roznom poradi ako to mali oni vo vzorovom .stcd subore prisluchajucom k danemu vstupu ale potom sa mi to podarilo vychytat. pomohlo mi ze som si program spustil s -B parametrom a sledoval, ci sa vsetky elementy ukladaju v spravnom poradi, tj ci vstup do funkcii a procedur nastava vtedy ked ma, nacitanie parametrov a lokalnych premennych atd. s parametrom -B to ide v tom poradi ako je zdrojak, ked to spustis s -D tak si to xmlko nejakym sposobom ten program usporiada do ineho poradia, do takeho ako je to ich stcd. samozrejme ked som to odkontroloval zistil som ze chyba bola u mna.

este rada na zaver, program testuj az ked ho budes mat uplne hotovy ak este nemas, ak je len ciastocne hotovy tak poradie nebude spravne

Re: DU4

od vishka » 13. 12. 2010 02:43

Prisel nekdo na to co delat s prehozenim u definice typu (v xml vystupu) pri volbe -D ? Divam se ze uz to tady nekdo resil ale bez vysledku. Dival jsem se do zdrojaku a typy se prohazuji pri pridani do tabulky promenych pomoci add_var (presneji je to podle me radek 1113 v dutables.cpp, dal jsem se nedostal), me se to zda jako bug v kodu ze zadani ale mozna mam jen nejakou nestastnou chybu ve svem vlastnim kodu. Povedlo se to nekomu opravit nebo se to deje jenom me?

Re: DU4

od blabla » 12. 12. 2010 21:36

ako ste riesili inak situaciu z du4-test5-d.mls, kde mame funkciu:

Kód: Vybrat vše

function fnc2:int;
begin
end;
??

lebo moja verzia du4g.y sa s tym vysporiadala tak ze ohlasila error o neexistujucom type a potom tuto funkciu vobec nebrala do uvahy, teda ani vo vytvorenom xmlku o nej nie je ani zmienka.. zato ich vzorovy du4-test5-d.stcd to riesil tak ze sa tam ta funkcia objavuje a ako typ sa jej priradil namiesto intu typ T?...

je to vobec dolezite brat do uvahy? asi ked nastane error pri preklade, ten chybajuci typ, tak je ptoom dalej jedno ci tu fnc2 ulozim alebo ignorujem nie?

Re: DU4

od blabla » 12. 12. 2010 19:47

ano mas pravdu, je tam ine poradie.. aj ked si vsimnes tie ich prilozene .stcd subory, co su vlastne xmlka tak je tam ine poradie v akom by clovek logicky cakal ze sa budu tie veci pridavat.. za logicke poradie povazujem to, v ktorom to vypisuje program s parametrom -B.

ale teda ked to spustis s -D tak by sa tvoj vysledny xml subor mal zhodovat s tymi ich vzorovymi .stcd, aspon v mojom pripade je to tak...

Re: DU4

od marxin » 12. 12. 2010 10:08

Zdravím,
programuju DU4 na Linuxu a stává se mi, že při volbě -B a -D se mi liší pořadí výchozích deklarací, tj. například v XML se mi objeví dříve TYP=1..10, než například defaultní věci jako: FALSE, TRUE, nesetkali jste se s tím? Špatně se potom diffuje oproti řešení?

Díky

Re: DU4

od Návštěvník » 12. 12. 2010 02:41

to je preto, ze v skole je stary bison, v ktorom je BUG.

riesenie je jednoduche. musis rucne nadefinovat co je akeho typu.
napr:
%type <MlaskalLval> DUTOK_IDENTIFIER DUTOK_OPER_SIGNADD DUTOK_EQ

+ este aj niektore v tvojich vlastnych typov

DU4

od blabla » 28. 11. 2010 15:27

zdravim,
dost dlho sa uz vyslovene seriem s DU4 ale este stale sa mi ju ani len nepodarilo rozbehat... aby som to skratil a vystihol co sposobuje problem, v du4g.y povedzme ze mam pravidlo:

Kód: Vybrat vše

unsigned_const:	 DUTOK_UINT { $$.type_ = TCAT_INT; }
                                         ;
na tom riadku kde mam ale spomenuty kod pre unsigned_const mi hlasi error:

Kód: Vybrat vše

du4g.y:181.80-81: $$ of `unsigned_const' has no declared type
no ale ved predsa implicitne by mal byt tento unsigned_const typu MlaskalLVal nie...? aspon tak sa mi zda ze sme to mali vysvetlovane na cviku...
este pre jedoduchost, pre prilozeny vstupny subor xx.txt:
xx.txt
(2.52 KiB) Staženo 272 x

mi prikaz:
C:\cygwin\bin\bison.exe -o "D:\xxx.txt" "D:\xx.txt"
akurat ohlasi znova error:
$$ of `unsigned_const' has no declared type

Nahoru