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

Revision 10430, 2.3 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/* 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
24
25#include "rxcset.h"
26#include "rxnode.h"
27#include "rxsuper.h"
28
29
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
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 */
Note: See TracBrowser for help on using the repository browser.