/* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* ** Copyright UCAR (c) 1992 - 2001 */ /* ** University Corporation for Atmospheric Research(UCAR) */ /* ** National Center for Atmospheric Research(NCAR) */ /* ** Research Applications Program(RAP) */ /* ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA */ /* ** 2001/11/19 23:18:37 */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* * Definitions etc. for regexp(3) routines. * * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof], * not the System V one. */ #ifndef _TCL #include "tcl.h" #endif #ifndef _REGEXP #define _REGEXP 1 #define NSUBEXP 10 typedef struct regexp { char *startp[NSUBEXP]; char *endp[NSUBEXP]; char regstart; /* Internal use only. */ char reganch; /* Internal use only. */ char *regmust; /* Internal use only. */ int regmlen; /* Internal use only. */ char program[1]; /* Unwarranted chumminess with compiler. */ } regexp; extern regexp *TclRegComp _ANSI_ARGS_((char *exp)); extern int TclRegExec _ANSI_ARGS_((regexp *prog, char *string, char *start)); extern void TclRegSub _ANSI_ARGS_((regexp *prog, char *source, char *dest)); extern void TclRegError _ANSI_ARGS_((char *msg)); #endif /* REGEXP */