perl 1.0 patch 8: perl needed an eval operator and a symbolic debugger
[p5sagit/p5-mst-13.2.git] / search.h
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