regexp.hpp
Go to the documentation of this file.
1
/*----------------------------------------------------------------------------*/
2
/* */
3
/* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved. */
4
/* Copyright (c) 2005-2014 Rexx Language Association. All rights reserved. */
5
/* */
6
/* This program and the accompanying materials are made available under */
7
/* the terms of the Common Public License v1.0 which accompanies this */
8
/* distribution. A copy is also available at the following address: */
9
/* https://www.oorexx.org/license.html */
10
/* */
11
/* Redistribution and use in source and binary forms, with or */
12
/* without modification, are permitted provided that the following */
13
/* conditions are met: */
14
/* */
15
/* Redistributions of source code must retain the above copyright */
16
/* notice, this list of conditions and the following disclaimer. */
17
/* Redistributions in binary form must reproduce the above copyright */
18
/* notice, this list of conditions and the following disclaimer in */
19
/* the documentation and/or other materials provided with the distribution. */
20
/* */
21
/* Neither the name of Rexx Language Association nor the names */
22
/* of its contributors may be used to endorse or promote products */
23
/* derived from this software without specific prior written permission. */
24
/* */
25
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
26
/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
27
/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
28
/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
29
/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
30
/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
31
/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
32
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */
33
/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
34
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
35
/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
36
/* */
37
/*----------------------------------------------------------------------------*/
38
#ifndef REGEXP
39
#define REGEXP
40
41
// bits 31..28 : operator code
42
// bits 27..16 : set number
43
// bits 15.. 0 : character
44
#define SCAN 0xf0000000
// scan delimiter / mask for operator code
45
#define EPSILON 0x10000000
// epsilon transition
46
#define NOT 0x20000000
// invert symbol (^)
47
#define ANY 0x40000000
// any symbol (?)
48
#define SET 0x80000000
// set ([...])
49
#define EOP 0x00000000
// end of pattern state
50
51
// error definitions
52
enum
RE_ERROR
{
E_UNEXPECTED_SYMBOL
= 1,
E_MISSING_PAREN_CLOSE
,
E_ILLEGAL_SET
,
53
E_UNEXPECTED_EOP
,
E_ILLEGAL_NUMBER
,
E_ILLEGAL_SYMBOLIC_NAME
};
54
55
#endif
RE_ERROR
RE_ERROR
Definition:
regexp.hpp:52
E_UNEXPECTED_EOP
@ E_UNEXPECTED_EOP
Definition:
regexp.hpp:53
E_ILLEGAL_SYMBOLIC_NAME
@ E_ILLEGAL_SYMBOLIC_NAME
Definition:
regexp.hpp:53
E_UNEXPECTED_SYMBOL
@ E_UNEXPECTED_SYMBOL
Definition:
regexp.hpp:52
E_MISSING_PAREN_CLOSE
@ E_MISSING_PAREN_CLOSE
Definition:
regexp.hpp:52
E_ILLEGAL_SET
@ E_ILLEGAL_SET
Definition:
regexp.hpp:52
E_ILLEGAL_NUMBER
@ E_ILLEGAL_NUMBER
Definition:
regexp.hpp:53
oorexx
executor
sandbox
jlf
trunk
extensions
rxregexp
regexp.hpp
Generated by
1.9.2