1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
/* $Id: search.h,v 3.0 1991/09/09 20:27:37 davison Trn $
*/
/* This software is Copyright 1991 by Stan Barber.
*
* Permission is hereby granted to copy, reproduce, redistribute or otherwise
* use this software as long as: there is no monetary profit gained
* specifically from the use or reproduction of this software, it is not
* sold, rented, traded or otherwise marketed, and this copyright notice is
* included prominently in any copy made.
*
* The authors make no claims as to the fitness or correctness of this software
* for any use whatsoever, and it is provided as is. Any use of this software
* is at the user's own risk.
*/
#ifndef NBRA
#define NBRA 10 /* the maximum number of meta-brackets in an
RE -- \( \) */
#define NALTS 10 /* the maximum number of \|'s */
typedef struct {
char *expbuf; /* The compiled search string */
int eblen; /* Length of above buffer */
char *alternatives[NALTS]; /* The list of \| seperated alternatives */
char *braslist[NBRA]; /* RE meta-bracket start list */
char *braelist[NBRA]; /* RE meta-bracket end list */
char *brastr; /* saved match string after execute() */
char nbra; /* The number of meta-brackets int the most
recenlty compiled RE */
bool do_folding; /* fold upper and lower case? */
} COMPEX;
void search_init _((void));
void init_compex _((COMPEX*));
void free_compex _((COMPEX*));
char *getbracket _((COMPEX*,int));
void case_fold _((int));
char *compile _((COMPEX*,char*,int,int));
char *grow_eb _((COMPEX*,char*,char**));
char *execute _((COMPEX*,char*));
bool advance _((COMPEX*,char*,char*));
bool backref _((COMPEX*,int,char*));
bool cclass _((char*,int,int));
#endif
|