]> jfr.im git - irc/evilnet/x3.git/blame - rx/rxanal.h
Fix a misleading comment in x3.conf.example
[irc/evilnet/x3.git] / rx / rxanal.h
CommitLineData
d76ed9a9 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
32enum 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
41struct 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__
51extern int rx_posix_analyze_rexp (struct rexp_node *** subexps,
52 size_t * re_nsub,
53 struct rexp_node * node,
54 int id);
55extern int rx_fill_in_fastmap (int cset_size, unsigned char * map, struct rexp_node * exp);
56extern int rx_is_anchored_p (struct rexp_node * exp);
57extern enum rx_answers rx_start_superstate (struct rx_classical_system * frame);
58extern enum rx_answers rx_fit_p (struct rx_classical_system * frame, unsigned const char * burst, int len);
59extern enum rx_answers rx_advance (struct rx_classical_system * frame, unsigned const char * burst, int len);
60extern int rx_advance_to_final (struct rx_classical_system * frame, unsigned const char * burst, int len);
61extern void rx_terminate_system (struct rx_classical_system * frame);
62extern void rx_init_system (struct rx_classical_system * frame, struct rx * rx);
63
64#else /* STDC */
65extern int rx_posix_analyze_rexp ();
66extern int rx_fill_in_fastmap ();
67extern int rx_is_anchored_p ();
68extern enum rx_answers rx_start_superstate ();
69extern enum rx_answers rx_fit_p ();
70extern enum rx_answers rx_advance ();
71extern int rx_advance_to_final ();
72extern void rx_terminate_system ();
73extern void rx_init_system ();
74
75#endif /* STDC */
76
77
78
79#endif /* RXANALH */