ftp.nice.ch/pub/next/unix/graphics/ImageMagick.3.8.6.s.tar.gz#/ImageMagick/xtp/regular.h

This is regular.h in view mode; [Download] [Up]

/*
  Definitions etc. for RegularExpression(3) routines.
*/
#define EndOfProgram  0
#define MatchBeginningOfLine  1
#define MatchEndOfProgramOfLine  2
#define MatchAnyCharacter  3
#define MatchAnyCharacterOf  4
#define MatchAnyCharacterBut  5
#define MatchThisOrNext  6
#define Back  7
#define MatchExactly  8
#define MatchEmptyString  9
#define MatchZeroOrMore  10
#define MatchOneOrMore  11
#define Open  20
#define Close  30

#define WorstCase  0
#define NonNull  1
#define Simple  2
#define SpecialStart  4

#define Fail(m)  \
{  \
  (void) fprintf(stderr,"RegularExpression: %s\n",m);  \
  return(NULL);  \
}
#define Magick   0234
#define Meta  "^$.[()|?+*\\"
#define MultipleMatches(c) (((c) == '*') || ((c) == '+') || ((c) == '?'))
#define Next(p) (((*((p)+1) & 0377) << 8 )+(*((p)+2) & 0377))
#define NumberSubExpressions  10
#define OpCode(p) (*(p))
#define Operand(p) ((p)+3)

typedef struct _RegularExpression 
{
  char 
    *subpattern[NumberSubExpressions],
    *subpattern_end[NumberSubExpressions],
    start_character,
    anchor,
    *priority_pattern;

  int 
    pattern_length;

  char 
    program[1];
} RegularExpression;

extern RegularExpression 
  *CompileRegularExpression(char *);

extern int 
  ExecuteRegularExpression(RegularExpression *,char *);

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.