X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=dfa%2Fdfap.h;h=bdfe55c767b0fae71ec07fd2692dd2ffe6a32a7c;hb=067b55382bc9916b3f7dcd473512c703d4de4a5d;hp=d58d9f453a49443469ce2bf890cc801d6194cde6;hpb=41194374db152313aa9a6c2d34053dc33aab180e;p=idzebra-moved-to-github.git diff --git a/dfa/dfap.h b/dfa/dfap.h index d58d9f4..bdfe55c 100644 --- a/dfa/dfap.h +++ b/dfa/dfap.h @@ -1,10 +1,32 @@ /* - * Copyright (C) 1994, Index Data I/S + * Copyright (C) 1994-1997, Index Data I/S * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: dfap.h,v $ - * Revision 1.1 1995-01-24 16:02:53 adam + * Revision 1.7 1997-09-29 09:05:17 adam + * Thread safe DFA module. We simply had to put a few static vars to + * the DFA_parse structure. + * + * Revision 1.6 1997/09/18 08:59:17 adam + * Extra generic handle for the character mapping routines. + * + * Revision 1.5 1997/09/05 15:29:58 adam + * Changed prototype for chr_map_input - added const. + * Added support for C++, headers uses extern "C" for public definitions. + * + * Revision 1.4 1996/06/04 10:20:03 adam + * Added support for character mapping. + * + * Revision 1.3 1996/01/08 09:09:19 adam + * Function dfa_parse got 'const' string argument. + * New functions to define char mappings made public. + * + * 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. * @@ -17,7 +39,6 @@ struct DFA_parse { struct Tnode *root; /* root of regular syntax tree */ - struct Tnode *top; /* regular tree top (returned by parse_dfa) */ int position; /* no of positions so far */ int rule; /* no of rules so far */ BSetHandle *charset; /* character set type */ @@ -26,6 +47,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_ {