Commit | Line | Data |
8d063cd8 |
1 | /* $Header: search.h,v 1.0 87/12/18 13:06:06 root Exp $ |
2 | * |
3 | * $Log: search.h,v $ |
4 | * Revision 1.0 87/12/18 13:06:06 root |
5 | * Initial revision |
6 | * |
7 | */ |
8 | |
9 | #ifndef MAXSUB |
10 | #define MAXSUB 10 /* how many sub-patterns are allowed */ |
11 | #define MAXALT 10 /* how many alternatives are allowed */ |
12 | |
13 | typedef struct { |
14 | char *precomp; /* the original pattern, for debug output */ |
15 | char *compbuf; /* the compiled pattern */ |
16 | int complen; /* length of compbuf */ |
17 | char *alternatives[MAXALT]; /* list of alternatives */ |
18 | char *subbeg[MAXSUB]; /* subpattern start list */ |
19 | char *subend[MAXSUB]; /* subpattern end list */ |
20 | char *subbase; /* saved match string after execute() */ |
21 | char lastparen; /* which subpattern matched last */ |
22 | char numsubs; /* how many subpatterns the compiler saw */ |
23 | bool do_folding; /* fold upper and lower case? */ |
24 | } COMPEX; |
25 | |
26 | EXT int multiline INIT(0); |
27 | |
28 | void search_init(); |
29 | void init_compex(); |
30 | void free_compex(); |
31 | char *getparen(); |
32 | void case_fold(); |
33 | char *compile(); |
34 | void grow_comp(); |
35 | char *execute(); |
36 | bool try(); |
37 | bool subpat(); |
38 | bool cclass(); |
39 | #endif |