XFA 0.17 review

by rbytes.net on

License: LGPL (GNU Lesser General Public License)
File size: 336K
Developer: Davide Libenzi
0 stars award from rbytes.net

XFA library implements an API that can be used to create NFA (either programmatically or from regular expressions) and to convert them in the minimal equivalent DFA.

XFA library requires an ANSI C compiler, and this makes it portable virtually over every system.

The complexity of the graphs that are treatable with XFA is only limited by the amount of memory available on the machine.


#include < xfa.h >

xfa_trans_t *xfa_alloc_trans(xfa_system_t *sys, unsigned long const *map, unsigned long flags, xfa_state_t *from, xfa_state_t *to );
void xfa_free_trans(xfa_system_t *sys, xfa_trans_t *trn);
xfa_state_t *xfa_alloc_state(xfa_system_t *sys, int phsize);
void xfa_free_state(xfa_system_t *sys, xfa_state_t *stt, int recurse);
void xfa_free_attr(xfa_system_t *sys, xfa_attr_t *attr);
int xfa_do_once(xfa_system_t *sys, xfa_state_t *stt, int (*dproc) (void *, xfa_system_t *, xfa_state_t *), void *priv);
xfa_state_t *xfa_nfa2dfa(xfa_system_t *sys, xfa_state_t *stt);
int xfa_label_states(xfa_system_t *sys, xfa_state_t *stt, unsigned long *label);
int xfa_dfa_minimize(xfa_system_t *sys, xfa_state_t *stt);
int xfa_re2nfa(xfa_system_t *sys, xfa_state_t **csts, xfa_state_t **cste, unsigned char const **ptr);

XFA 0.17 search tags