home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / trn_12.zip / src / search.h < prev    next >
C/C++ Source or Header  |  1991-12-04  |  2KB  |  52 lines

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