Re: [Libfsd-devel] Tva-onova
Status: Planning
Brought to you by:
vanio
|
From: Petar P. <pes...@gm...> - 2005-09-21 11:16:07
|
Moje, dyrjavniq mina. Sega chakame sys zataen dyh da vidik k'vo shte izleze=
=20
:)).
On 9/21/05, Georgi Mungov <geo...@tu...> wrote:
>=20
> edna bira drugata sedmica
>=20
> On Monday 19 September 2005 15:52, Ivan Peikov wrote:
> > ami ne che ne mozhe, obache povecheto algoritmi za koito se seshtam sa=
=20
> ot
> > vida: "ami stignah do njakakuv state i sega za vsichki states, do koito
> > imam transition ot tozi state napravi edi kakvo si". i za tova mi se=20
> vidja
> > naj-udachno (razbiraj efektivno) da imame direkten dostup do=20
> transitionite
> > ot vseki state
> >
> > On Monday 19 September 2005 15:38, Georgi Mungov wrote:
> > > ami moje bi vmesto list transitions v state-a da sa v multimap ?
> > >
> > > On Saturday 17 September 2005 10:37, Ivan Peikov wrote:
> > > > Privet!
> > > >
> > > > Za da ne zamira "proekta" (:]) dokato Pesho go trese predpizpitna
> > > > treska (uspeh, Pesho!), eto kakvo e polozhenieto i kakvi vuprosi me
> > > > zanimavat.
> > > >
> > > > Znachi do tuk imam implementnat parser-a na reguljarni izrazi, kojt=
o=20
> e
> > > > pochti POSIX-compatible (ostavat mnogo malko featuri da se dobavjat=
,
> > > > ama za sega me murzi, puk i te sa njakvi dosta nenuzhni - nikoga ne
> > > > bjah chuval za collating sequences i equivallence classes v=20
> reguljarni
> > > > izrazi predi da procheta spesifikacijata). Taka che za momenta tozi
> > > > parser shte svurshi rabota. Edinstveno ostavat da se napravjat=20
> testove
> > > > i malko da se pozagladjat njakoi rubove :).
> > > >
> > > > Mislja che ottuk mozhem da zapochnem da pravim avtomatite. Struva m=
i=20
> se
> > > > naj-dobre da zapochnem s njakakuv vid general avtomati (GFA -=20
> General
> > > > Finite Automaton), kojto da e abstrakten i da njama azbuka. Tuk idv=
a
> > > > purvijat vupros. Izglezhda edinstvenoto, koeto razlichava vsichki
> > > > vidove avtomati i transduceri za koito se seshtam e azbukata.=20
> Primerno
> > > > za NFA tova shte sa njakakvi simvoli, a za transducerite azbukata s=
a
> > > > dvojki ot naj-obshto simvol i output string. Toest trjabva tozi GFA=
=20
> da
> > > > se napravi taka che sled tova da mozhe s neshto kato konfiguracija=
=20
> da
> > > > se napravi proizvolen drug avtomat. Za momenta varianta, do kojto=
=20
> sum
> > > > go dobutal, e da ima slednite obekti
> > > >
> > > >
> > > > *************************************************************
> > > >
> > > > struct trans;
> > > > struct state;
> > > >
> > > > struct gfa {
> > > > struct state *states; // Head of the list of states
> > > > struct state *start; // Head of the list of starting states
> > > > struct state *final; // Head of the list of final states
> > > > pool_t state_pool; // Pool from which the states are allocated
> > > > pool_t trans_pool; // Pool from which the transitions are allocated
> > > > size_t state_nr; // Number of states - used for assigning next
> > > > state id // --- Some overridable methods for managing transitions
> > > > ----------------- insert_func_t *insert; // Transition inserting
> > > > function remove_func_t *remove; // Transition removing function
> > > > search_func_t *search; // Transition searching function
> > > >
> > > > };
> > > >
> > > > struct state {
> > > > struct trans *incoming; // List of incoming transitions
> > > > struct trans *outgoing; // List of outgoing transitions
> > > > struct state *start; // Link in list of start states (NULL if
> > > > non-start) struct state *final; // Link in list of final states=20
> (NULL
> > > > if non-final) struct state *next; // Link in list of all states
> > > > struct gfa *parent; // The automaton this state is part of
> > > > size_t id; // Id for dumping and accessing purposes
> > > > // More stuff?...
> > > > };
> > > >
> > > > struct trans {
> > > > struct state *src; // Where from
> > > > struct state *dst; // Where to
> > > > struct trans *src_next; // Link in the list of transitions for src
> > > > struct trans *dst_next; // Link in the list of transitions for dst
> > > > // Intentionally no symbol -- this is an abstract transition
> > > > };
> > > >
> > > > // --- Example: NFA transition
> > > >
> > > > struct nfa_trans {
> > > > struct trans base; // Should be first for lists and casts to work
> > > > char alpha;
> > > > };
> > > >
> > > >
> > > > *************************************************************
> > > >
> > > >
> > > >
> > > > Neshto ej takova.. Puk posle kato se initializira konkreten avtomat
> > > > shte se podava size-a na alphabet symbola i taka shte se=20
> inicializira
> > > > trans_pool. Sushto shte se podavat i konkretni funkcii za
> > > > insert/remove/search na transition, koito obshto vzeto shte vzimat
> > > > src_state, symbol, dst_state i shte pravjat kakvoto tam se nalaga.
> > > >
> > > > Tuk veche idva vuprosa za efektivnostta. Mozhe da vi pravi=20
> vpechatlenie
> > > > che baja pamet shte jade tova zhivotno, obache puk shte ima vsichki
> > > > neobhodimi vruzki, koeto se nadjavam da ulesni algoritmite posle.
> > > >
> > > > Stoi sushto vuprosa kak shte sa podredeni transitionite za daden=20
> state.
> > > > Za momenta shte e dummy list bez nikakva naredba, obache se seshtat=
e
> > > > che tova ni kachva slozhnostta na izpulnenie na avtomat vurhu daden=
a
> > > > duma. Tova e edna ot prichinite da zabija insert/remove/search
> > > > operaciite kato function pointers - edin vid vseki konkreten avtoma=
t
> > > > shte si reshava kak da gi redi, i tursi. Mozhe za momenta da gi=20
> ostavim
> > > > po tozi nachin puk v budeshte ako se poluchi mnogo tezhko naistina=
=20
> da
> > > > mislim kak da se optimizira. Obshto vzeto ima megdan.
> > > >
> > > >
> > > > Ta tova e obshto vzeto predlozhenieto za sega. Kakvo mislite?
> > > > Mozhe da obsudim na zhivo Pesho kato si vzeme durzhavnija s=20
> otlichie, i
> > > > bez tova shte trjabva da cherpi ne edna i dve biri po povoda :)
> > > >
> > > >
> > > > Ajde do kukane i pishete ako neshto
> > > >
> > > >
> > > >
> > > > -------------------------------------------------------
> > > > SF.Net email is sponsored by:
> > > > Tame your development challenges with Apache's Geronimo App Server.
> > > > Download it for free - -and be entered to win a 42" plasma tv or=20
> your
> > > > very own Sony(tm)PSP. Click here to play:
> > > > http://sourceforge.net/geronimo.php
> > > > _______________________________________________
> > > > Libfsd-devel mailing list
> > > > Lib...@li...
> > > > https://lists.sourceforge.net/lists/listinfo/libfsd-devel
> > >
> > > "Tumbleweed E-mail Firewall <tumbleweed.com <http://tumbleweed.com>>"=
=20
> made the following
> > > annotations on 09/19/05 05:46:51
> > >=20
> -------------------------------------------------------------------------
> > >-- --- This e-mail, including attachments, may include confidential=20
> and/or
> > > proprietary information, and may be used only by the person or entity=
=20
> to
> > > which it is addressed. If the reader of this e-mail is not the=20
> intended
> > > recipient or his or her authorized agent, the reader is hereby=20
> notified
> > > that any dissemination, distribution or copying of this e-mail is
> > > prohibited. If you have received this e-mail in error, please notify=
=20
> the
> > > sender by replying to this message and delete this e-mail immediately=
.
> > >=20
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > >=3D=3D =3D=3D=3D
> > >
> > >
> > >
> > > -------------------------------------------------------
> > > SF.Net email is sponsored by:
> > > Tame your development challenges with Apache's Geronimo App Server.
> > > Download it for free - -and be entered to win a 42" plasma tv or your
> > > very own Sony(tm)PSP. Click here to play:
> > > http://sourceforge.net/geronimo.php
> > > _______________________________________________
> > > Libfsd-devel mailing list
> > > Lib...@li...
> > > https://lists.sourceforge.net/lists/listinfo/libfsd-devel
> >
> > -------------------------------------------------------
> > SF.Net email is sponsored by:
> > Tame your development challenges with Apache's Geronimo App Server.
> > Download it for free - -and be entered to win a 42" plasma tv or your=
=20
> very
> > own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.ph=
p
> > _______________________________________________
> > Libfsd-devel mailing list
> > Lib...@li...
> > https://lists.sourceforge.net/lists/listinfo/libfsd-devel
>=20
> "Tumbleweed E-mail Firewall <tumbleweed.com <http://tumbleweed.com>>" mad=
e=20
> the following
> annotations on 09/21/05 03:40:44
>=20
> -------------------------------------------------------------------------=
-----
> This e-mail, including attachments, may include confidential and/or=20
> proprietary information, and may be used only by the person or entity to=
=20
> which it is addressed. If the reader of this e-mail is not the intended=
=20
> recipient or his or her authorized agent, the reader is hereby notified t=
hat=20
> any dissemination, distribution or copying of this e-mail is prohibited. =
If=20
> you have received this e-mail in error, please notify the sender by reply=
ing=20
> to this message and delete this e-mail immediately.
>=20
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
>=20
>=20
>=20
> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo App Server.=20
> Download
> it for free - -and be entered to win a 42" plasma tv or your very own
> Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> Libfsd-devel mailing list
> Lib...@li...
> https://lists.sourceforge.net/lists/listinfo/libfsd-devel
>
|