📄 dfap.h
字号:
/* $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 ApsThis file is part of the Zebra server.Zebra is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the FreeSoftware Foundation; either version 2, or (at your option) any laterversion.Zebra is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licensefor more details.You should have received a copy of the GNU General Public Licensealong with Zebra; see the file LICENSE.zebra. If not, write to theFree Software Foundation, 59 Temple Place - Suite 330, Boston, MA02111-1307, USA.*/#ifndef DFAP_H#define DFAP_H#include <dfa.h>#ifdef __cplusplusextern "C" {#endifstruct DFA_parse { struct Tnode *root; /* root of regular syntax tree */ int position; /* no of positions so far */ int rule; /* no of rules so far */ BSetHandle *charset; /* character set type */ BSet anyset; /* character recognized by `.' */ int use_Tnode; /* used Tnodes */ 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_ { struct DFA_stateb_ *next; struct DFA_state *state_block;} DFA_stateb;struct DFA_states { struct DFA_state *freelist; /* chain of unused (but allocated) states */ struct DFA_state *unmarked; /* chain of unmarked DFA states */ struct DFA_state *marked; /* chain of marked DFA states */ DFA_stateb *statemem; /* state memory */ int no; /* no of states (unmarked+marked) */ SetType st; /* Position set type */ int hash; /* no hash entries in hasharray */ struct DFA_state **hasharray; /* hash pointers */ struct DFA_state **sortarray; /* sorted DFA states */ struct DFA_trans *transmem; /* transition memory */};int init_DFA_states (struct DFA_states **dfasp, SetType st, int hash);int rm_DFA_states (struct DFA_states **dfasp);int add_DFA_state (struct DFA_states *dfas, Set *s, struct DFA_state **sp);struct DFA_state *get_DFA_state (struct DFA_states *dfas);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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -