source: trunk/third/rx/rx/rxunfa.h @ 10430

Revision 10430, 1.8 KB checked in by ghudson, 27 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r10429, which included commits to RCS files with non-trunk default branches.
Line 
1#ifndef RXUNFAH
2#define RXUNFAH
3
4/*      Copyright (C) 1995, 1996 Tom Lord
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU Library General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
9 * any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 * GNU Library General Public License for more details.
15 *
16 * You should have received a copy of the GNU Library General Public License
17 * along with this software; see the file COPYING.  If not, write to
18 * the Free Software Foundation, 59 Temple Place - Suite 330,
19 * Boston, MA 02111-1307, USA.
20 */
21
22
23
24#include "_rx.h"
25
26
27struct rx_unfaniverse
28{
29  int delay;
30  int delayed;
31  struct rx_hash table;
32  struct rx_cached_rexp * free_queue;
33};
34
35
36struct rx_unfa
37{
38  int refs;
39  struct rexp_node * exp;
40  struct rx * nfa;
41  int cset_size;
42  struct rx_unfaniverse * verse;
43};
44
45struct rx_cached_rexp
46{
47  struct rx_unfa unfa;
48  struct rx_cached_rexp * next;
49  struct rx_cached_rexp * prev;
50  struct rx_hash_item * hash_item;
51};
52
53
54
55#ifdef __STDC__
56extern struct rx_unfaniverse * rx_make_unfaniverse (int delay);
57extern void rx_free_unfaniverse (struct rx_unfaniverse * it);
58extern struct rx_unfa * rx_unfa (struct rx_unfaniverse * unfaniverse, struct rexp_node * exp, int cset_size);
59extern void rx_free_unfa (struct rx_unfa * unfa);
60extern void rx_save_unfa (struct rx_unfa * unfa);
61
62#else /* STDC */
63extern struct rx_unfaniverse * rx_make_unfaniverse ();
64extern void rx_free_unfaniverse ();
65extern struct rx_unfa * rx_unfa ();
66extern void rx_free_unfa ();
67extern void rx_save_unfa ();
68
69#endif /* STDC */
70#endif  /* RXUNFAH */
Note: See TracBrowser for help on using the repository browser.