]> jfr.im git - irc/evilnet/x3.git/blob - rx/rxanal.h
Fix a misleading comment in x3.conf.example
[irc/evilnet/x3.git] / rx / rxanal.h
1 /* classes: h_files */
2
3 #ifndef RXANALH
4 #define RXANALH
5 /* Copyright (C) 1995, 1996 Tom Lord
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU Library General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
10 * any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public License
18 * along with this software; see the file COPYING. If not, write to
19 * the Free Software Foundation, 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
21 */
22
23 \f
24
25 #include "rxcset.h"
26 #include "rxnode.h"
27 #include "rxsuper.h"
28
29 \f
30
31
32 enum rx_answers
33 {
34 rx_yes = 0,
35 rx_no = 1,
36 rx_bogus = -1,
37 rx_start_state_with_too_many_futures = rx_bogus - 1
38 /* n < 0 -- error */
39 };
40
41 struct rx_classical_system
42 {
43 struct rx * rx;
44 struct rx_superstate * state;
45 int final_tag;
46 };
47
48
49 \f
50 #ifdef __STDC__
51 extern int rx_posix_analyze_rexp (struct rexp_node *** subexps,
52 size_t * re_nsub,
53 struct rexp_node * node,
54 int id);
55 extern int rx_fill_in_fastmap (int cset_size, unsigned char * map, struct rexp_node * exp);
56 extern int rx_is_anchored_p (struct rexp_node * exp);
57 extern enum rx_answers rx_start_superstate (struct rx_classical_system * frame);
58 extern enum rx_answers rx_fit_p (struct rx_classical_system * frame, unsigned const char * burst, int len);
59 extern enum rx_answers rx_advance (struct rx_classical_system * frame, unsigned const char * burst, int len);
60 extern int rx_advance_to_final (struct rx_classical_system * frame, unsigned const char * burst, int len);
61 extern void rx_terminate_system (struct rx_classical_system * frame);
62 extern void rx_init_system (struct rx_classical_system * frame, struct rx * rx);
63
64 #else /* STDC */
65 extern int rx_posix_analyze_rexp ();
66 extern int rx_fill_in_fastmap ();
67 extern int rx_is_anchored_p ();
68 extern enum rx_answers rx_start_superstate ();
69 extern enum rx_answers rx_fit_p ();
70 extern enum rx_answers rx_advance ();
71 extern int rx_advance_to_final ();
72 extern void rx_terminate_system ();
73 extern void rx_init_system ();
74
75 #endif /* STDC */
76
77
78
79 #endif /* RXANALH */