«« ( Date ) »» // «« ( Thread ) »» // ri4pp - 2007

Re: i opet taj BST...

by Aleksandar Bozic
sreda, 06. jun 2007 - 22:33.

Inace - isto sam hteo da ti napisem i sam - no, ja
opet imam malo drugaciju muku! Dakle - ne mogu da
razlucim bas najbolje razliku izmedju kind-a i type-a?
dakle kind je: none, int, char, arr i class -jel to u
stvari kako se nama taj simbol predstavlja u programu
- ovo je u struct.java, dok se u obj. java nalazi i
kind - koji je: con, var, typ , meth ... - pa jel ovo
ono sto nam simbol predstavlja... malo mi to deluju
zbutano... Da, i struct - jel on nama u stvari sluzi
da bi 'sacuvao' specificne stvari za neki tip - za niz
- ima tip i elemente niza... tj - da li sam ovo dobro
pohvatao...?

A evo sada videh da je neko imao problem sa hvatanjem
broja linije - mislim da se ne varam - evo ovako
(uzmite opet sa rezervom!) kada lekser pravi tokene -
ja sam recimo koristio konstruktor klase Symbol sa 3
parametra - u drugom i trecem prosledio broj linije i
karaktera, i onda im je vrlo lako pristupiti - kada u
smeni napravite neku malu promenljivu -ma evo primera:

CLASS prog_id declaration_list LBRACE RBRACE
{: if (p)
System.out.println("\n***PARSIRANJE USPESNO***");
else
System.out.println("\n!PARSIRANJE
NEUSPESNO!"); :};
prog_id ::= IDENT:id {: System.out.println("Pronadjena
glavna klasa: "+id);


uhvatio sam i gornji deo koda da bi se videlo o cemu
se radi - ovo je iz dokumentacije sa sajta - pa primer
onog drugog mini domaceg - e, sad imate ovu
promenljivu id u system.out.... u zadnjem redu - e pa
liniji u kojoj je napravljena moze da se pristupi sa
idleft! Ako se ne varam - posto sam to napisao pre 10
dana - pa se vise i ne secam - ali sam ja gledajuci
Symbol.java - (pogledati obavezno) video ovo polje -
e, sad - ja pokusavao da mu pristupim sa id. left - i
nije islo - i onda malo provaljivao i dosao do toga da
treba idleft! Uh, raspricah se!


Izvinite na predugom mailu - nadam se da sam bio od
koristi!










--- Branko Kokanovic <branko.kokanovic@gmail.com>
wrote:

>
> nemoj da mi verujes ovo sto pisem ispod (pa da ti ja
> budem kriv
> posle:), ali nije tako lose kao sto izgleda na prvi
> pogled:)
> treba da pravis implementaciju sa cvorom koji ima
> decu (za to sluze:
> public TreeNode left; // referenca na levog sina
> public TreeNode right; // referenca na desnog
> sina
> public TreeNode parent; // referenca na
> roditeljski cvor
> ), ali ne treba nista da preraspodeljujes/balansiras
> stablo. Samo kada
> insertujes se kreces po cvorovima na dole gledajuci
> da li da ides levo
> ili desno (u zavisnosti od kljuca) dok ne naidjes na
> praznu referencu
> i tu ubacis novi cvor. Hocu reci - kada se cvor
> ubacuje, nijedan drugi
> cvor ne mrda sa svojih mesta (toga si se verovatno
> plasio:)
> Meni je licno bila gadna situacija kada se brise
> cvor (i to onaj koji
> ima oba deteta), ali to je neka druga prica...
>
> Da ne davim vise, pogledaj (mada si verovatno gledao
> vec ovo:)
> http://en.wikipedia.org/wiki/Binary_search_tree (i
> prvu referencu),
> tamo ima gotov algoritam, doduse u Pythonu (eeee,
> moj pythone, gde si
> sada kada mi najvise trebas) i doduse rekurzivnu
> varijantu, ali nije
> problem izmeniti da se vrtis u while petlji. Dao bih
> ja ovde sad
> pseudokod ili cak moj kod, ali ne smem - ne znam ko
> sve ovo cita:D
> (mailing liste imaju usi)
>
> poz, kokan
>
>
>
>
-----------------------------------------------------------------
> unsubscribe:
>
>
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
>
-----------------------------------------------------------------
>



____________________________________________________________________________________
Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center.
http://autos.yahoo.com/green_center/