/* classes: h_files */
#ifndef RXANALH
#define RXANALH
/* Copyright (C) 1995, 1996 Tom Lord
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "rxcset.h"
#include "rxnode.h"
#include "rxsuper.h"
enum rx_answers
{
rx_yes = 0,
rx_no = 1,
rx_bogus = -1,
rx_start_state_with_too_many_futures = rx_bogus - 1
/* n < 0 -- error */
};
struct rx_classical_system
{
struct rx * rx;
struct rx_superstate * state;
int final_tag;
};
#ifdef __STDC__
extern int rx_posix_analyze_rexp (struct rexp_node *** subexps,
size_t * re_nsub,
struct rexp_node * node,
int id);
extern int rx_fill_in_fastmap (int cset_size, unsigned char * map, struct rexp_node * exp);
extern int rx_is_anchored_p (struct rexp_node * exp);
extern enum rx_answers rx_start_superstate (struct rx_classical_system * frame);
extern enum rx_answers rx_fit_p (struct rx_classical_system * frame, unsigned const char * burst, int len);
extern enum rx_answers rx_advance (struct rx_classical_system * frame, unsigned const char * burst, int len);
extern int rx_advance_to_final (struct rx_classical_system * frame, unsigned const char * burst, int len);
extern void rx_terminate_system (struct rx_classical_system * frame);
extern void rx_init_system (struct rx_classical_system * frame, struct rx * rx);
#else /* STDC */
extern int rx_posix_analyze_rexp ();
extern int rx_fill_in_fastmap ();
extern int rx_is_anchored_p ();
extern enum rx_answers rx_start_superstate ();
extern enum rx_answers rx_fit_p ();
extern enum rx_answers rx_advance ();
extern int rx_advance_to_final ();
extern void rx_terminate_system ();
extern void rx_init_system ();
#endif /* STDC */
#endif /* RXANALH */
syntax highlighted by Code2HTML, v. 0.9.1