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 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 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 */ 80