include/internal/regex/regex.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  re_pattern_buffer
struct  re_registers
struct  regmatch_t

Defines

#define __STDC__   1
#define _RE_ARGS(args)   args
#define _RE_SYNTAX_POSIX_COMMON
#define _REGEX_H   1
#define RE_BACKSLASH_ESCAPE_IN_LISTS   ((unsigned long int) 1)
#define RE_BK_PLUS_QM   (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
#define RE_CHAR_CLASSES   (RE_BK_PLUS_QM << 1)
#define RE_CONTEXT_INDEP_ANCHORS   (RE_CHAR_CLASSES << 1)
#define RE_CONTEXT_INDEP_OPS   (RE_CONTEXT_INDEP_ANCHORS << 1)
#define RE_CONTEXT_INVALID_OPS   (RE_CONTEXT_INDEP_OPS << 1)
#define RE_DEBUG   (RE_NO_GNU_OPS << 1)
#define RE_DOT_NEWLINE   (RE_CONTEXT_INVALID_OPS << 1)
#define RE_DOT_NOT_NULL   (RE_DOT_NEWLINE << 1)
#define RE_DUP_MAX   (0x7fff)
#define RE_HAT_LISTS_NOT_NEWLINE   (RE_DOT_NOT_NULL << 1)
#define RE_INTERVALS   (RE_HAT_LISTS_NOT_NEWLINE << 1)
#define RE_LIMITED_OPS   (RE_INTERVALS << 1)
#define RE_NEWLINE_ALT   (RE_LIMITED_OPS << 1)
#define RE_NO_BK_BRACES   (RE_NEWLINE_ALT << 1)
#define RE_NO_BK_PARENS   (RE_NO_BK_BRACES << 1)
#define RE_NO_BK_REFS   (RE_NO_BK_PARENS << 1)
#define RE_NO_BK_VBAR   (RE_NO_BK_REFS << 1)
#define RE_NO_EMPTY_RANGES   (RE_NO_BK_VBAR << 1)
#define RE_NO_GNU_OPS   (RE_NO_POSIX_BACKTRACKING << 1)
#define RE_NO_POSIX_BACKTRACKING   (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)
#define RE_NREGS   30
#define RE_SYNTAX_AWK
#define RE_SYNTAX_ED   RE_SYNTAX_POSIX_BASIC
#define RE_SYNTAX_EGREP
#define RE_SYNTAX_EMACS   0
#define RE_SYNTAX_GNU_AWK
#define RE_SYNTAX_GREP
#define RE_SYNTAX_POSIX_AWK
#define RE_SYNTAX_POSIX_BASIC   (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
#define RE_SYNTAX_POSIX_EGREP   (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
#define RE_SYNTAX_POSIX_EXTENDED
#define RE_SYNTAX_POSIX_MINIMAL_BASIC   (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED
#define RE_SYNTAX_SED   RE_SYNTAX_POSIX_BASIC
#define RE_TRANSLATE_TYPE   char *
#define RE_UNMATCHED_RIGHT_PAREN_ORD   (RE_NO_EMPTY_RANGES << 1)
#define REG_EXTENDED   1
#define REG_ICASE   (REG_EXTENDED << 1)
#define REG_NEWLINE   (REG_ICASE << 1)
#define REG_NOSUB   (REG_NEWLINE << 1)
#define REG_NOTBOL   1
#define REG_NOTEOL   (1 << 1)
#define REGS_FIXED   2
#define REGS_REALLOCATE   1
#define REGS_UNALLOCATED   0

Typedefs

typedef unsigned long int active_reg_t
typedef unsigned long int reg_syntax_t
typedef struct re_pattern_buffer regex_t
typedef int regoff_t
typedef long int s_reg_t

Enumerations

enum  reg_errcode_t {
  REG_NOERROR = 0, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE,
  REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK,
  REG_EPAREN, REG_EBRACE, REG_BADBR, REG_ERANGE,
  REG_ESPACE, REG_BADRPT, REG_EEND, REG_ESIZE,
  REG_ERPAREN
}

Functions

void regfree _RE_ARGS ((regex_t *preg))
size_t regerror _RE_ARGS ((int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size))
int regexec _RE_ARGS ((const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags))
int regcomp _RE_ARGS ((regex_t *preg, const char *pattern, int cflags))
void re_set_registers _RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs, unsigned num_regs, regoff_t *starts, regoff_t *ends))
int re_match_2 _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, struct re_registers *regs, int stop))
int re_match _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string, int length, int start, struct re_registers *regs))
int re_search_2 _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, int range, struct re_registers *regs, int stop))
int re_search _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string, int length, int start, int range, struct re_registers *regs))
int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer))
const char *re_compile_pattern _RE_ARGS ((const char *pattern, size_t length, struct re_pattern_buffer *buffer))
reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax))

Variables

reg_syntax_t re_syntax_options

Define Documentation

#define __STDC__   1

Definition at line 432 of file regex.h.

#define _RE_ARGS ( args   )     args

Definition at line 436 of file regex.h.

#define _RE_SYNTAX_POSIX_COMMON
#define _REGEX_H   1

Definition at line 25 of file regex.h.

#define RE_BACKSLASH_ESCAPE_IN_LISTS   ((unsigned long int) 1)

Definition at line 58 of file regex.h.

#define RE_BK_PLUS_QM   (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)

Definition at line 63 of file regex.h.

#define RE_CHAR_CLASSES   (RE_BK_PLUS_QM << 1)

Definition at line 69 of file regex.h.

#define RE_CONTEXT_INDEP_ANCHORS   (RE_CHAR_CLASSES << 1)

Definition at line 83 of file regex.h.

#define RE_CONTEXT_INDEP_OPS   (RE_CONTEXT_INDEP_ANCHORS << 1)

Definition at line 91 of file regex.h.

#define RE_CONTEXT_INVALID_OPS   (RE_CONTEXT_INDEP_OPS << 1)

Definition at line 95 of file regex.h.

#define RE_DEBUG   (RE_NO_GNU_OPS << 1)

Definition at line 163 of file regex.h.

#define RE_DOT_NEWLINE   (RE_CONTEXT_INVALID_OPS << 1)

Definition at line 99 of file regex.h.

#define RE_DOT_NOT_NULL   (RE_DOT_NEWLINE << 1)

Definition at line 103 of file regex.h.

#define RE_DUP_MAX   (0x7fff)

Definition at line 247 of file regex.h.

#define RE_HAT_LISTS_NOT_NEWLINE   (RE_DOT_NOT_NULL << 1)

Definition at line 107 of file regex.h.

#define RE_INTERVALS   (RE_HAT_LISTS_NOT_NEWLINE << 1)

Definition at line 112 of file regex.h.

#define RE_LIMITED_OPS   (RE_INTERVALS << 1)

Definition at line 116 of file regex.h.

#define RE_NEWLINE_ALT   (RE_LIMITED_OPS << 1)

Definition at line 120 of file regex.h.

#define RE_NO_BK_BRACES   (RE_NEWLINE_ALT << 1)

Definition at line 125 of file regex.h.

#define RE_NO_BK_PARENS   (RE_NO_BK_BRACES << 1)

Definition at line 129 of file regex.h.

#define RE_NO_BK_REFS   (RE_NO_BK_PARENS << 1)

Definition at line 133 of file regex.h.

#define RE_NO_BK_VBAR   (RE_NO_BK_REFS << 1)

Definition at line 137 of file regex.h.

#define RE_NO_EMPTY_RANGES   (RE_NO_BK_VBAR << 1)

Definition at line 143 of file regex.h.

#define RE_NO_GNU_OPS   (RE_NO_POSIX_BACKTRACKING << 1)

Definition at line 155 of file regex.h.

#define RE_NO_POSIX_BACKTRACKING   (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)

Definition at line 151 of file regex.h.

#define RE_NREGS   30

Definition at line 410 of file regex.h.

#define RE_SYNTAX_AWK
#define RE_SYNTAX_ED   RE_SYNTAX_POSIX_BASIC

Definition at line 207 of file regex.h.

#define RE_SYNTAX_EGREP
#define RE_SYNTAX_EMACS   0

Definition at line 175 of file regex.h.

#define RE_SYNTAX_GNU_AWK
#define RE_SYNTAX_GREP
#define RE_SYNTAX_POSIX_AWK
#define RE_SYNTAX_POSIX_BASIC   (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)

Definition at line 216 of file regex.h.

#define RE_SYNTAX_POSIX_EGREP   (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)

Definition at line 203 of file regex.h.

#define RE_SYNTAX_POSIX_EXTENDED
#define RE_SYNTAX_POSIX_MINIMAL_BASIC   (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)

Definition at line 222 of file regex.h.

#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED
#define RE_SYNTAX_SED   RE_SYNTAX_POSIX_BASIC

Definition at line 209 of file regex.h.

#define RE_TRANSLATE_TYPE   char *

Definition at line 319 of file regex.h.

#define RE_UNMATCHED_RIGHT_PAREN_ORD   (RE_NO_EMPTY_RANGES << 1)

Definition at line 147 of file regex.h.

#define REG_EXTENDED   1

Definition at line 254 of file regex.h.

#define REG_ICASE   (REG_EXTENDED << 1)

Definition at line 258 of file regex.h.

#define REG_NEWLINE   (REG_ICASE << 1)

Definition at line 263 of file regex.h.

#define REG_NOSUB   (REG_NEWLINE << 1)

Definition at line 267 of file regex.h.

#define REG_NOTBOL   1

Definition at line 277 of file regex.h.

#define REG_NOTEOL   (1 << 1)

Definition at line 280 of file regex.h.

#define REGS_FIXED   2

Definition at line 366 of file regex.h.

#define REGS_REALLOCATE   1

Definition at line 365 of file regex.h.

#define REGS_UNALLOCATED   0

Definition at line 364 of file regex.h.


Typedef Documentation

typedef unsigned long int active_reg_t

Definition at line 47 of file regex.h.

typedef unsigned long int reg_syntax_t

Definition at line 54 of file regex.h.

typedef struct re_pattern_buffer regex_t

Definition at line 390 of file regex.h.

typedef int regoff_t

Definition at line 393 of file regex.h.

typedef long int s_reg_t

Definition at line 46 of file regex.h.


Enumeration Type Documentation

Enumerator:
REG_NOERROR 
REG_NOMATCH 
REG_BADPAT 
REG_ECOLLATE 
REG_ECTYPE 
REG_EESCAPE 
REG_ESUBREG 
REG_EBRACK 
REG_EPAREN 
REG_EBRACE 
REG_BADBR 
REG_ERANGE 
REG_ESPACE 
REG_BADRPT 
REG_EEND 
REG_ESIZE 
REG_ERPAREN 

Definition at line 285 of file regex.h.

00286   {
00287     REG_NOERROR = 0,        /* Success.  */
00288     REG_NOMATCH,        /* Didn't find a match (for regexec).  */
00289 
00290     /* POSIX regcomp return error codes.  (In the order listed in the
00291        standard.)  */
00292     REG_BADPAT,         /* Invalid pattern.  */
00293     REG_ECOLLATE,       /* Not implemented.  */
00294     REG_ECTYPE,         /* Invalid character class name.  */
00295     REG_EESCAPE,        /* Trailing backslash.  */
00296     REG_ESUBREG,        /* Invalid back reference.  */
00297     REG_EBRACK,         /* Unmatched left bracket.  */
00298     REG_EPAREN,         /* Parenthesis imbalance.  */
00299     REG_EBRACE,         /* Unmatched \{.  */
00300     REG_BADBR,          /* Invalid contents of \{\}.  */
00301     REG_ERANGE,         /* Invalid range end.  */
00302     REG_ESPACE,         /* Ran out of memory.  */
00303     REG_BADRPT,         /* No preceding re for repetition op.  */
00304 
00305     /* Error codes we've added.  */
00306     REG_EEND,           /* Premature end.  */
00307     REG_ESIZE,          /* Compiled pattern bigger than 2^16 bytes.  */
00308     REG_ERPAREN         /* Unmatched ) or \); not returned from regcomp.  */
00309   }


Function Documentation

void regfree _RE_ARGS ( (regex_t *preg)   ) 
size_t regerror _RE_ARGS ( (int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size)   ) 
int regexec _RE_ARGS ( (const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags)   ) 
int regcomp _RE_ARGS ( (regex_t *preg, const char *pattern, int cflags)   ) 
void re_set_registers _RE_ARGS ( (struct re_pattern_buffer *buffer, struct re_registers *regs, unsigned num_regs, regoff_t *starts, regoff_t *ends)   ) 
int re_match_2 _RE_ARGS ( (struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, struct re_registers *regs, int stop)   ) 
int re_match _RE_ARGS ( (struct re_pattern_buffer *buffer, const char *string, int length, int start, struct re_registers *regs)   ) 
int re_search_2 _RE_ARGS ( (struct re_pattern_buffer *buffer, const char *string1, int length1, const char *string2, int length2, int start, int range, struct re_registers *regs, int stop)   ) 
int re_search _RE_ARGS ( (struct re_pattern_buffer *buffer, const char *string, int length, int start, int range, struct re_registers *regs)   ) 
int re_compile_fastmap _RE_ARGS ( (struct re_pattern_buffer *buffer)   ) 
const char* re_compile_pattern _RE_ARGS ( (const char *pattern, size_t length, struct re_pattern_buffer *buffer)   ) 
reg_syntax_t re_set_syntax _RE_ARGS ( (reg_syntax_t syntax)   ) 

Variable Documentation

Definition at line 942 of file regex.c.


Generated on 18 Mar 2013 for The SWORD Project by  doxygen 1.6.1