47 lines
1.9 KiB
Plaintext
47 lines
1.9 KiB
Plaintext
/*
|
|
Copyright 2001, QNX Software Systems Ltd. All Rights Reserved
|
|
|
|
This source code has been published by QNX Software Systems Ltd. (QSSL).
|
|
However, any use, reproduction, modification, distribution or transfer of
|
|
this software, or any software which includes or is based upon any of this
|
|
code, is only permitted under the terms of the QNX Realtime Plaform End User
|
|
License Agreement (see licensing.qnx.com for details) or as otherwise
|
|
expressly authorized by a written license agreement from QSSL. For more
|
|
information, please email licensing@qnx.com.
|
|
*/
|
|
/* ========= begin header generated by ./mkh ========= */
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* === engine.c === */
|
|
static int matcher(register struct re_guts *g, char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
|
|
static char *dissect(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
|
|
static char *backref(register struct match *m, char *start, char *stop, sopno startst, sopno stopst, sopno lev);
|
|
static char *fast(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
|
|
static char *slow(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
|
|
static states step(register struct re_guts *g, sopno start, sopno stop, register states bef, int ch, register states aft);
|
|
#define BOL (OUT+1)
|
|
#define EOL (BOL+1)
|
|
#define BOLEOL (BOL+2)
|
|
#define NOTHING (BOL+3)
|
|
#define BOW (BOL+4)
|
|
#define EOW (BOL+5)
|
|
#define CODEMAX (BOL+5) /* highest code used */
|
|
#define NONCHAR(c) ((c) > CHAR_MAX)
|
|
#define NNONCHAR (CODEMAX-CHAR_MAX)
|
|
#ifdef REDEBUG
|
|
static void print(struct match *m, char *caption, states st, int ch, FILE *d);
|
|
#endif
|
|
#ifdef REDEBUG
|
|
static void at(struct match *m, char *title, char *start, char *stop, sopno startst, sopno stopst);
|
|
#endif
|
|
#ifdef REDEBUG
|
|
static char *pchar(int ch);
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
/* ========= end header generated by ./mkh ========= */
|