X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dfa%2Fdfap.h;h=ecd6392b82d6d4b1f26ead556a236e87d06717b3;hb=0e56fa84bb4a5985c19a21926e86862c08d84689;hp=b158d8412faf00f5ae86b54ce1dab484a0256fbf;hpb=4461019c0de49358856cb1c84ca162395b247f16;p=idzebra-moved-to-github.git diff --git a/dfa/dfap.h b/dfa/dfap.h index b158d84..ecd6392 100644 --- a/dfa/dfap.h +++ b/dfa/dfap.h @@ -1,24 +1,36 @@ -/* - * Copyright (C) 1994, Index Data I/S - * All rights reserved. - * Sebastian Hammer, Adam Dickmeiss - * - * $Log: dfap.h,v $ - * Revision 1.2 1995-01-25 11:30:50 adam - * Simple error reporting when parsing regular expressions. - * Memory usage reduced. - * - * Revision 1.1 1995/01/24 16:02:53 adam - * New private header file in dfa module (dfap.h). - * Module no longer uses yacc to parse regular expressions. - * - */ +/* $Id: dfap.h,v 1.10 2002-08-02 19:26:55 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 + Index Data Aps + +This file is part of the Zebra server. + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra 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 General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + + #ifndef DFAP_H #define DFAP_H #include +#ifdef __cplusplus +extern "C" { +#endif + struct DFA_parse { struct Tnode *root; /* root of regular syntax tree */ int position; /* no of positions so far */ @@ -29,6 +41,23 @@ struct DFA_parse { int max_Tnode; /* allocated Tnodes */ struct Tblock *start; /* start block of Tnodes */ struct Tblock *end; /* end block of Tnodes */ + int *charMap; + int charMapSize; + void *cmap_data; + + unsigned look_ch; + int lookahead; + BSet look_chars; + int err_code; + int inside_string; + const unsigned char *expr_ptr; + + struct Tnode **posar; + + SetType poset; + Set *followpos; + + const char **(*cmap)(void *vp, const char **from, int len); }; typedef struct DFA_stateb_ { @@ -58,4 +87,7 @@ void sort_DFA_states (struct DFA_states *dfas); void add_DFA_tran (struct DFA_states *, struct DFA_state *, int, int, int); +#ifdef __cplusplus +} +#endif #endif