Ruby  1.9.3p484(2013-11-22revision43786)
Data Structures | Macros | Typedefs | Enumerations | Functions
regint.h File Reference
#include "ruby/ruby.h"
#include <strings.h>
#include <ctype.h>
#include "regenc.h"

Go to the source code of this file.

Data Structures

struct  _BBuf
 
struct  NodeBase
 
struct  CClassNode
 
struct  _OnigStackType
 
struct  OnigMatchArg
 

Macros

#define USE_NAMED_GROUP
 
#define USE_SUBEXP_CALL
 
#define USE_BACKREF_WITH_LEVEL   /* \k<name+n>, \k<name-n> */
 
#define USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT   /* /(?:()|())*\2/ */
 
#define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE   /* /\n$/ =~ "\n" */
 
#define USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR
 
#define USE_PARSE_TREE_NODE_RECYCLE
 
#define USE_OP_PUSH_OR_JUMP_EXACT
 
#define USE_QTFR_PEEK_NEXT
 
#define USE_ST_LIBRARY
 
#define USE_SHARED_CCLASS_TABLE
 
#define INIT_MATCH_STACK_SIZE   160
 
#define DEFAULT_MATCH_STACK_LIMIT_SIZE   0 /* unlimited */
 
#define ARG_UNUSED
 
#define USE_VARIABLE_META_CHARS
 
#define USE_WORD_BEGIN_END   /* "<": word-begin, ">": word-end */
 
#define USE_POSIX_REGION_OPTION   /* needed for POSIX API support */
 
#define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
 
#define THREAD_SYSTEM_INIT   /* depend on thread system */
 
#define THREAD_SYSTEM_END   /* depend on thread system */
 
#define THREAD_ATOMIC_START   /* depend on thread system */
 
#define THREAD_ATOMIC_END   /* depend on thread system */
 
#define THREAD_PASS   /* depend on thread system */
 
#define xmalloc   malloc
 
#define xrealloc   realloc
 
#define xcalloc   calloc
 
#define xfree   free
 
#define st_init_table   onig_st_init_table
 
#define st_init_table_with_size   onig_st_init_table_with_size
 
#define st_init_numtable   onig_st_init_numtable
 
#define st_init_numtable_with_size   onig_st_init_numtable_with_size
 
#define st_init_strtable   onig_st_init_strtable
 
#define st_init_strtable_with_size   onig_st_init_strtable_with_size
 
#define st_delete   onig_st_delete
 
#define st_delete_safe   onig_st_delete_safe
 
#define st_insert   onig_st_insert
 
#define st_lookup   onig_st_lookup
 
#define st_foreach   onig_st_foreach
 
#define st_add_direct   onig_st_add_direct
 
#define st_free_table   onig_st_free_table
 
#define st_cleanup_safe   onig_st_cleanup_safe
 
#define st_copy   onig_st_copy
 
#define st_nothing_key_clone   onig_st_nothing_key_clone
 
#define st_nothing_key_free   onig_st_nothing_key_free
 
#define onig_st_is_member   st_is_member
 
#define CHECK_INTERRUPT_IN_MATCH_AT
 
#define STATE_CHECK_STRING_THRESHOLD_LEN   7
 
#define STATE_CHECK_BUFF_MAX_SIZE   0x4000
 
#define THREAD_PASS_LIMIT_COUNT   8
 
#define xmemset   memset
 
#define xmemcpy   memcpy
 
#define xmemmove   memmove
 
#define xalloca   alloca
 
#define xvsnprintf   vsnprintf
 
#define ONIG_STATE_INC(reg)   /* Nothing */
 
#define ONIG_STATE_DEC(reg)   /* Nothing */
 
#define ONIG_STATE_INC_THREAD(reg)   /* Nothing */
 
#define ONIG_STATE_DEC_THREAD(reg)   /* Nothing */
 
#define MIN(a, b)   (((a)>(b))?(b):(a))
 
#define MAX(a, b)   (((a)<(b))?(b):(a))
 
#define IS_NULL(p)   (((void*)(p)) == (void*)0)
 
#define IS_NOT_NULL(p)   (((void*)(p)) != (void*)0)
 
#define CHECK_NULL_RETURN(p)   if (IS_NULL(p)) return NULL
 
#define CHECK_NULL_RETURN_MEMERR(p)   if (IS_NULL(p)) return ONIGERR_MEMORY
 
#define NULL_UCHARP   ((UChar* )0)
 
#define PLATFORM_GET_INC(val, p, type)
 
#define WORD_ALIGNMENT_SIZE   SIZEOF_LONG
 
#define GET_ALIGNMENT_PAD_SIZE(addr, pad_size)
 
#define ALIGNMENT_RIGHT(addr)
 
#define STACK_POP_LEVEL_FREE   0
 
#define STACK_POP_LEVEL_MEM_START   1
 
#define STACK_POP_LEVEL_ALL   2
 
#define ONIG_OPTIMIZE_NONE   0
 
#define ONIG_OPTIMIZE_EXACT   1 /* Slow Search */
 
#define ONIG_OPTIMIZE_EXACT_BM   2 /* Boyer Moore Search */
 
#define ONIG_OPTIMIZE_EXACT_BM_NOT_REV   3 /* BM (but not simple match) */
 
#define ONIG_OPTIMIZE_EXACT_IC   4 /* Slow Search (ignore case) */
 
#define ONIG_OPTIMIZE_MAP   5 /* char map */
 
#define BIT_STATUS_BITS_NUM   (sizeof(BitStatusType) * 8)
 
#define BIT_STATUS_CLEAR(stats)   (stats) = 0
 
#define BIT_STATUS_ON_ALL(stats)   (stats) = ~((BitStatusType )0)
 
#define BIT_STATUS_AT(stats, n)   ((n) < (int )BIT_STATUS_BITS_NUM ? ((stats) & (1 << n)) : ((stats) & 1))
 
#define BIT_STATUS_ON_AT(stats, n)
 
#define BIT_STATUS_ON_AT_SIMPLE(stats, n)
 
#define INT_MAX_LIMIT   ((1UL << (SIZEOF_INT * 8 - 1)) - 1)
 
#define DIGITVAL(code)   ((code) - '0')
 
#define ODIGITVAL(code)   DIGITVAL(code)
 
#define XDIGITVAL(enc, code)
 
#define IS_SINGLELINE(option)   ((option) & ONIG_OPTION_SINGLELINE)
 
#define IS_MULTILINE(option)   ((option) & ONIG_OPTION_MULTILINE)
 
#define IS_IGNORECASE(option)   ((option) & ONIG_OPTION_IGNORECASE)
 
#define IS_EXTEND(option)   ((option) & ONIG_OPTION_EXTEND)
 
#define IS_FIND_LONGEST(option)   ((option) & ONIG_OPTION_FIND_LONGEST)
 
#define IS_FIND_NOT_EMPTY(option)   ((option) & ONIG_OPTION_FIND_NOT_EMPTY)
 
#define IS_FIND_CONDITION(option)
 
#define IS_NOTBOL(option)   ((option) & ONIG_OPTION_NOTBOL)
 
#define IS_NOTEOL(option)   ((option) & ONIG_OPTION_NOTEOL)
 
#define IS_POSIX_REGION(option)   ((option) & ONIG_OPTION_POSIX_REGION)
 
#define IS_DYNAMIC_OPTION(option)   0
 
#define DISABLE_CASE_FOLD_MULTI_CHAR(case_fold_flag)   ((case_fold_flag) & ~INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR)
 
#define REPEAT_INFINITE   -1
 
#define IS_REPEAT_INFINITE(n)   ((n) == REPEAT_INFINITE)
 
#define BITS_PER_BYTE   8
 
#define SINGLE_BYTE_SIZE   (1 << BITS_PER_BYTE)
 
#define BITS_IN_ROOM   (sizeof(Bits) * BITS_PER_BYTE)
 
#define BITSET_SIZE   (SINGLE_BYTE_SIZE / BITS_IN_ROOM)
 
#define SIZE_BITSET   (int)sizeof(BitSet)
 
#define BITSET_CLEAR(bs)
 
#define BS_ROOM(bs, pos)   (bs)[pos / BITS_IN_ROOM]
 
#define BS_BIT(pos)   (1 << (pos % BITS_IN_ROOM))
 
#define BITSET_AT(bs, pos)   (BS_ROOM(bs,pos) & BS_BIT(pos))
 
#define BITSET_SET_BIT(bs, pos)   BS_ROOM(bs,pos) |= BS_BIT(pos)
 
#define BITSET_CLEAR_BIT(bs, pos)   BS_ROOM(bs,pos) &= ~(BS_BIT(pos))
 
#define BITSET_INVERT_BIT(bs, pos)   BS_ROOM(bs,pos) ^= BS_BIT(pos)
 
#define BBUF_INIT(buf, size)   onig_bbuf_init((BBuf* )(buf), (size))
 
#define BBUF_SIZE_INC(buf, inc)
 
#define BBUF_EXPAND(buf, low)
 
#define BBUF_ENSURE_SIZE(buf, size)
 
#define BBUF_WRITE(buf, pos, bytes, n)
 
#define BBUF_WRITE1(buf, pos, byte)
 
#define BBUF_ADD(buf, bytes, n)   BBUF_WRITE((buf),(buf)->used,(bytes),(n))
 
#define BBUF_ADD1(buf, byte)   BBUF_WRITE1((buf),(buf)->used,(byte))
 
#define BBUF_GET_ADD_ADDRESS(buf)   ((buf)->p + (buf)->used)
 
#define BBUF_GET_OFFSET_POS(buf)   ((buf)->used)
 
#define BBUF_MOVE_RIGHT(buf, from, to, n)
 
#define BBUF_MOVE_LEFT(buf, from, to, n)
 
#define BBUF_MOVE_LEFT_REDUCE(buf, from, to)
 
#define BBUF_INSERT(buf, pos, bytes, n)
 
#define BBUF_GET_BYTE(buf, pos)   (buf)->p[(pos)]
 
#define ANCHOR_BEGIN_BUF   (1<<0)
 
#define ANCHOR_BEGIN_LINE   (1<<1)
 
#define ANCHOR_BEGIN_POSITION   (1<<2)
 
#define ANCHOR_END_BUF   (1<<3)
 
#define ANCHOR_SEMI_END_BUF   (1<<4)
 
#define ANCHOR_END_LINE   (1<<5)
 
#define ANCHOR_WORD_BOUND   (1<<6)
 
#define ANCHOR_NOT_WORD_BOUND   (1<<7)
 
#define ANCHOR_WORD_BEGIN   (1<<8)
 
#define ANCHOR_WORD_END   (1<<9)
 
#define ANCHOR_PREC_READ   (1<<10)
 
#define ANCHOR_PREC_READ_NOT   (1<<11)
 
#define ANCHOR_LOOK_BEHIND   (1<<12)
 
#define ANCHOR_LOOK_BEHIND_NOT   (1<<13)
 
#define ANCHOR_ANYCHAR_STAR   (1<<14) /* ".*" optimize info */
 
#define ANCHOR_ANYCHAR_STAR_ML   (1<<15) /* ".*" optimize info (multi-line) */
 
#define SIZE_OPCODE   1
 
#define SIZE_RELADDR   (int)sizeof(RelAddrType)
 
#define SIZE_ABSADDR   (int)sizeof(AbsAddrType)
 
#define SIZE_LENGTH   (int)sizeof(LengthType)
 
#define SIZE_MEMNUM   (int)sizeof(MemNumType)
 
#define SIZE_STATE_CHECK_NUM   (int)sizeof(StateCheckNumType)
 
#define SIZE_REPEATNUM   (int)sizeof(RepeatNumType)
 
#define SIZE_OPTION   (int)sizeof(OnigOptionType)
 
#define SIZE_CODE_POINT   (int)sizeof(OnigCodePoint)
 
#define SIZE_POINTER   (int)sizeof(PointerType)
 
#define GET_RELADDR_INC(addr, p)   PLATFORM_GET_INC(addr, p, RelAddrType)
 
#define GET_ABSADDR_INC(addr, p)   PLATFORM_GET_INC(addr, p, AbsAddrType)
 
#define GET_LENGTH_INC(len, p)   PLATFORM_GET_INC(len, p, LengthType)
 
#define GET_MEMNUM_INC(num, p)   PLATFORM_GET_INC(num, p, MemNumType)
 
#define GET_REPEATNUM_INC(num, p)   PLATFORM_GET_INC(num, p, RepeatNumType)
 
#define GET_OPTION_INC(option, p)   PLATFORM_GET_INC(option, p, OnigOptionType)
 
#define GET_POINTER_INC(ptr, p)   PLATFORM_GET_INC(ptr, p, PointerType)
 
#define GET_STATE_CHECK_NUM_INC(num, p)   PLATFORM_GET_INC(num, p, StateCheckNumType)
 
#define GET_CODE_POINT(code, p)   code = *((OnigCodePoint* )(p))
 
#define GET_BYTE_INC(byte, p)
 
#define SIZE_OP_ANYCHAR_STAR   SIZE_OPCODE
 
#define SIZE_OP_ANYCHAR_STAR_PEEK_NEXT   (SIZE_OPCODE + 1)
 
#define SIZE_OP_JUMP   (SIZE_OPCODE + SIZE_RELADDR)
 
#define SIZE_OP_PUSH   (SIZE_OPCODE + SIZE_RELADDR)
 
#define SIZE_OP_POP   SIZE_OPCODE
 
#define SIZE_OP_PUSH_OR_JUMP_EXACT1   (SIZE_OPCODE + SIZE_RELADDR + 1)
 
#define SIZE_OP_PUSH_IF_PEEK_NEXT   (SIZE_OPCODE + SIZE_RELADDR + 1)
 
#define SIZE_OP_REPEAT_INC   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_REPEAT_INC_NG   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_PUSH_POS   SIZE_OPCODE
 
#define SIZE_OP_PUSH_POS_NOT   (SIZE_OPCODE + SIZE_RELADDR)
 
#define SIZE_OP_POP_POS   SIZE_OPCODE
 
#define SIZE_OP_FAIL_POS   SIZE_OPCODE
 
#define SIZE_OP_SET_OPTION   (SIZE_OPCODE + SIZE_OPTION)
 
#define SIZE_OP_SET_OPTION_PUSH   (SIZE_OPCODE + SIZE_OPTION)
 
#define SIZE_OP_FAIL   SIZE_OPCODE
 
#define SIZE_OP_MEMORY_START   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_MEMORY_START_PUSH   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_MEMORY_END_PUSH   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_MEMORY_END_PUSH_REC   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_MEMORY_END   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_MEMORY_END_REC   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_PUSH_STOP_BT   SIZE_OPCODE
 
#define SIZE_OP_POP_STOP_BT   SIZE_OPCODE
 
#define SIZE_OP_NULL_CHECK_START   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_NULL_CHECK_END   (SIZE_OPCODE + SIZE_MEMNUM)
 
#define SIZE_OP_LOOK_BEHIND   (SIZE_OPCODE + SIZE_LENGTH)
 
#define SIZE_OP_PUSH_LOOK_BEHIND_NOT   (SIZE_OPCODE + SIZE_RELADDR + SIZE_LENGTH)
 
#define SIZE_OP_FAIL_LOOK_BEHIND_NOT   SIZE_OPCODE
 
#define SIZE_OP_CALL   (SIZE_OPCODE + SIZE_ABSADDR)
 
#define SIZE_OP_RETURN   SIZE_OPCODE
 
#define MC_ESC(syn)   (syn)->meta_char_table.esc
 
#define MC_ANYCHAR(syn)   (syn)->meta_char_table.anychar
 
#define MC_ANYTIME(syn)   (syn)->meta_char_table.anytime
 
#define MC_ZERO_OR_ONE_TIME(syn)   (syn)->meta_char_table.zero_or_one_time
 
#define MC_ONE_OR_MORE_TIME(syn)   (syn)->meta_char_table.one_or_more_time
 
#define MC_ANYCHAR_ANYTIME(syn)   (syn)->meta_char_table.anychar_anytime
 
#define IS_MC_ESC_CODE(code, syn)
 
#define SYN_POSIX_COMMON_OP
 
#define SYN_GNU_REGEX_OP
 
#define SYN_GNU_REGEX_BV
 
#define NCCLASS_FLAGS(cc)   ((cc)->flags)
 
#define NCCLASS_FLAG_SET(cc, flag)   (NCCLASS_FLAGS(cc) |= (flag))
 
#define NCCLASS_FLAG_CLEAR(cc, flag)   (NCCLASS_FLAGS(cc) &= ~(flag))
 
#define IS_NCCLASS_FLAG_ON(cc, flag)   ((NCCLASS_FLAGS(cc) & (flag)) != 0)
 
#define FLAG_NCCLASS_NOT   (1<<0)
 
#define FLAG_NCCLASS_SHARE   (1<<1)
 
#define NCCLASS_SET_NOT(nd)   NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_NOT)
 
#define NCCLASS_SET_SHARE(nd)   NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_SHARE)
 
#define NCCLASS_CLEAR_NOT(nd)   NCCLASS_FLAG_CLEAR(nd, FLAG_NCCLASS_NOT)
 
#define IS_NCCLASS_NOT(nd)   IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_NOT)
 
#define IS_NCCLASS_SHARE(nd)   IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_SHARE)
 
#define IS_CODE_SB_WORD(enc, code)   (ONIGENC_IS_CODE_ASCII(code) && ONIGENC_IS_CODE_WORD(enc,code))
 
#define PROPERTY_LIST_ADD_PROP(Name, CR)
 
#define PROPERTY_LIST_INIT_CHECK
 

Typedefs

typedef unsigned int BitStatusType
 
typedef unsigned char Bits
 
typedef Bits BitSet [BITSET_SIZE]
 
typedef BitsBitSetRef
 
typedef struct _BBuf BBuf
 
typedef int RelAddrType
 
typedef int AbsAddrType
 
typedef int LengthType
 
typedef int RepeatNumType
 
typedef short int MemNumType
 
typedef short int StateCheckNumType
 
typedef void * PointerType
 
typedef intptr_t OnigStackIndex
 
typedef struct _OnigStackType OnigStackType
 
typedef void hash_table_type
 
typedef unsigned long hash_data_type
 
typedef int(* ONIGENC_INIT_PROPERTY_LIST_FUNC_TYPE )(void)
 

Enumerations

enum  OpCode {
  OP_FINISH = 0, OP_END = 1, OP_EXACT1 = 2, OP_EXACT2,
  OP_EXACT3, OP_EXACT4, OP_EXACT5, OP_EXACTN,
  OP_EXACTMB2N1, OP_EXACTMB2N2, OP_EXACTMB2N3, OP_EXACTMB2N,
  OP_EXACTMB3N, OP_EXACTMBN, OP_EXACT1_IC, OP_EXACTN_IC,
  OP_CCLASS, OP_CCLASS_MB, OP_CCLASS_MIX, OP_CCLASS_NOT,
  OP_CCLASS_MB_NOT, OP_CCLASS_MIX_NOT, OP_CCLASS_NODE, OP_ANYCHAR,
  OP_ANYCHAR_ML, OP_ANYCHAR_STAR, OP_ANYCHAR_ML_STAR, OP_ANYCHAR_STAR_PEEK_NEXT,
  OP_ANYCHAR_ML_STAR_PEEK_NEXT, OP_WORD, OP_NOT_WORD, OP_WORD_BOUND,
  OP_NOT_WORD_BOUND, OP_WORD_BEGIN, OP_WORD_END, OP_BEGIN_BUF,
  OP_END_BUF, OP_BEGIN_LINE, OP_END_LINE, OP_SEMI_END_BUF,
  OP_BEGIN_POSITION, OP_BACKREF1, OP_BACKREF2, OP_BACKREFN,
  OP_BACKREFN_IC, OP_BACKREF_MULTI, OP_BACKREF_MULTI_IC, OP_BACKREF_WITH_LEVEL,
  OP_MEMORY_START, OP_MEMORY_START_PUSH, OP_MEMORY_END_PUSH, OP_MEMORY_END_PUSH_REC,
  OP_MEMORY_END, OP_MEMORY_END_REC, OP_FAIL, OP_JUMP,
  OP_PUSH, OP_POP, OP_PUSH_OR_JUMP_EXACT1, OP_PUSH_IF_PEEK_NEXT,
  OP_REPEAT, OP_REPEAT_NG, OP_REPEAT_INC, OP_REPEAT_INC_NG,
  OP_REPEAT_INC_SG, OP_REPEAT_INC_NG_SG, OP_NULL_CHECK_START, OP_NULL_CHECK_END,
  OP_NULL_CHECK_END_MEMST, OP_NULL_CHECK_END_MEMST_PUSH, OP_PUSH_POS, OP_POP_POS,
  OP_PUSH_POS_NOT, OP_FAIL_POS, OP_PUSH_STOP_BT, OP_POP_STOP_BT,
  OP_LOOK_BEHIND, OP_PUSH_LOOK_BEHIND_NOT, OP_FAIL_LOOK_BEHIND_NOT, OP_CALL,
  OP_RETURN, OP_STATE_CHECK_PUSH, OP_STATE_CHECK_PUSH_OR_JUMP, OP_STATE_CHECK,
  OP_STATE_CHECK_ANYCHAR_STAR, OP_STATE_CHECK_ANYCHAR_ML_STAR, OP_SET_OPTION_PUSH, OP_SET_OPTION
}
 

Functions

UChar *onig_error_code_to_format P_ ((int code))
 
void onig_snprintf_with_pattern PV_ ((UChar buf[], int bufsize, OnigEncoding enc, UChar *pat, UChar *pat_end, const UChar *fmt,...))
 
int onig_bbuf_init P_ ((BBuf *buf, OnigDistance size))
 
int onig_compile P_ ((regex_t *reg, const UChar *pattern, const UChar *pattern_end, OnigErrorInfo *einfo, const char *sourcefile, int sourceline))
 
void onig_chain_reduce P_ ((regex_t *reg))
 
void onig_chain_link_add P_ ((regex_t *to, regex_t *add))
 
void onig_transfer P_ ((regex_t *to, regex_t *from))
 
int onig_is_code_in_cc P_ ((OnigEncoding enc, OnigCodePoint code, CClassNode *cc))
 
int onig_is_code_in_cc_len P_ ((int enclen, OnigCodePoint code, CClassNode *cc))
 
hash_table_type
*onig_st_init_strend_table_with_size 
P_ ((st_index_t size))
 
int onig_st_lookup_strend P_ ((hash_table_type *table, const UChar *str_key, const UChar *end_key, hash_data_type *value))
 
int onig_st_insert_strend P_ ((hash_table_type *table, const UChar *str_key, const UChar *end_key, hash_data_type value))
 
int
onigenc_property_list_add_property 
P_ ((UChar *name, const OnigCodePoint *prop, hash_table_type **table, const OnigCodePoint ***plist, int *pnum, int *psize))
 
int onigenc_property_list_init P_ ((ONIGENC_INIT_PROPERTY_LIST_FUNC_TYPE))
 
size_t onig_memsize P_ ((const regex_t *reg))
 

Macro Definition Documentation

#define ALIGNMENT_RIGHT (   addr)
Value:
do {\
(addr) += (WORD_ALIGNMENT_SIZE - 1);\
(addr) -= ((uintptr_t )(addr) % WORD_ALIGNMENT_SIZE);\
} while (0)

Definition at line 269 of file regint.h.

Referenced by match_at().

#define ANCHOR_ANYCHAR_STAR   (1<<14) /* ".*" optimize info */

Definition at line 470 of file regint.h.

Referenced by onig_search(), optimize_node_left(), and set_optimize_info_from_tree().

#define ANCHOR_ANYCHAR_STAR_ML   (1<<15) /* ".*" optimize info (multi-line) */

Definition at line 471 of file regint.h.

Referenced by onig_search(), optimize_node_left(), and set_optimize_info_from_tree().

#define ANCHOR_BEGIN_BUF   (1<<0)
#define ANCHOR_BEGIN_LINE   (1<<1)
#define ANCHOR_BEGIN_POSITION   (1<<2)
#define ANCHOR_END_BUF   (1<<3)
#define ANCHOR_END_LINE   (1<<5)
#define ANCHOR_LOOK_BEHIND   (1<<12)
#define ANCHOR_LOOK_BEHIND_NOT   (1<<13)
#define ANCHOR_NOT_WORD_BOUND   (1<<7)

Definition at line 462 of file regint.h.

Referenced by compile_anchor_node(), and fetch_token().

#define ANCHOR_PREC_READ   (1<<10)
#define ANCHOR_PREC_READ_NOT   (1<<11)
#define ANCHOR_SEMI_END_BUF   (1<<4)
#define ANCHOR_WORD_BEGIN   (1<<8)

Definition at line 463 of file regint.h.

Referenced by compile_anchor_node(), and fetch_token().

#define ANCHOR_WORD_BOUND   (1<<6)

Definition at line 461 of file regint.h.

Referenced by compile_anchor_node(), and fetch_token().

#define ANCHOR_WORD_END   (1<<9)

Definition at line 464 of file regint.h.

Referenced by compile_anchor_node(), and fetch_token().

#define ARG_UNUSED

Definition at line 80 of file regint.h.

#define BBUF_ADD (   buf,
  bytes,
 
)    BBUF_WRITE((buf),(buf)->used,(bytes),(n))
#define BBUF_ADD1 (   buf,
  byte 
)    BBUF_WRITE1((buf),(buf)->used,(byte))

Definition at line 419 of file regint.h.

Referenced by add_opcode().

#define BBUF_ENSURE_SIZE (   buf,
  size 
)
Value:
do{\
unsigned int new_alloc = (buf)->alloc;\
while (new_alloc < (unsigned int )(size)) { new_alloc *= 2; }\
if ((buf)->alloc != new_alloc) {\
(buf)->p = (UChar* )xrealloc((buf)->p, new_alloc);\
(buf)->alloc = new_alloc;\
}\
} while (0)

Definition at line 394 of file regint.h.

Referenced by add_code_range_to_buf0().

#define BBUF_EXPAND (   buf,
  low 
)
Value:
do{\
do { (buf)->alloc *= 2; } while ((buf)->alloc < (unsigned int )low);\
(buf)->p = (UChar* )xrealloc((buf)->p, (buf)->alloc);\
} while (0)

Definition at line 388 of file regint.h.

#define BBUF_GET_ADD_ADDRESS (   buf)    ((buf)->p + (buf)->used)

Definition at line 420 of file regint.h.

Referenced by add_multi_byte_cclass().

#define BBUF_GET_BYTE (   buf,
  pos 
)    (buf)->p[(pos)]

Definition at line 451 of file regint.h.

#define BBUF_GET_OFFSET_POS (   buf)    ((buf)->used)

Definition at line 421 of file regint.h.

Referenced by compile_enclose_node().

#define BBUF_INIT (   buf,
  size 
)    onig_bbuf_init((BBuf* )(buf), (size))

Definition at line 380 of file regint.h.

Referenced by bbuf_clone(), new_code_range(), and onig_compile().

#define BBUF_INSERT (   buf,
  pos,
  bytes,
 
)
Value:
do {\
if (pos >= (buf)->used) {\
BBUF_WRITE(buf,pos,bytes,n);\
}\
else {\
BBUF_MOVE_RIGHT((buf),(pos),(pos) + (n),((buf)->used - (pos)));\
xmemcpy((buf)->p + (pos), (bytes), (n));\
}\
} while (0)

Definition at line 441 of file regint.h.

#define BBUF_MOVE_LEFT (   buf,
  from,
  to,
 
)
Value:
do {\
xmemmove((buf)->p + (to), (buf)->p + (from), (n));\
} while (0)

Definition at line 431 of file regint.h.

#define BBUF_MOVE_LEFT_REDUCE (   buf,
  from,
  to 
)
Value:
do {\
xmemmove((buf)->p + (to), (buf)->p + (from), (buf)->used - (from));\
(buf)->used -= (from - to);\
} while (0)

Definition at line 436 of file regint.h.

Referenced by add_code_range_to_buf0().

#define BBUF_MOVE_RIGHT (   buf,
  from,
  to,
 
)
Value:
do {\
if ((unsigned int )((to)+(n)) > (buf)->alloc) BBUF_EXPAND((buf),(to) + (n));\
xmemmove((buf)->p + (to), (buf)->p + (from), (n));\
if ((unsigned int )((to)+(n)) > (buf)->used) (buf)->used = (to) + (n);\
} while (0)

Definition at line 424 of file regint.h.

Referenced by add_code_range_to_buf0().

#define BBUF_SIZE_INC (   buf,
  inc 
)
Value:
do{\
(buf)->alloc += (inc);\
(buf)->p = (UChar* )xrealloc((buf)->p, (buf)->alloc);\
} while (0)

Definition at line 382 of file regint.h.

#define BBUF_WRITE (   buf,
  pos,
  bytes,
 
)
Value:
do{\
int used = (pos) + (int)(n);\
if ((buf)->alloc < (unsigned int )used) BBUF_EXPAND((buf),used);\
xmemcpy((buf)->p + (pos), (bytes), (n));\
if ((buf)->used < (unsigned int )used) (buf)->used = used;\
} while (0)

Definition at line 404 of file regint.h.

#define BBUF_WRITE1 (   buf,
  pos,
  byte 
)
Value:
do{\
int used = (pos) + 1;\
if ((buf)->alloc < (unsigned int )used) BBUF_EXPAND((buf),used);\
(buf)->p[(pos)] = (byte);\
if ((buf)->used < (unsigned int )used) (buf)->used = used;\
} while (0)

Definition at line 411 of file regint.h.

#define BIT_STATUS_AT (   stats,
 
)    ((n) < (int )BIT_STATUS_BITS_NUM ? ((stats) & (1 << n)) : ((stats) & 1))
#define BIT_STATUS_BITS_NUM   (sizeof(BitStatusType) * 8)

Definition at line 292 of file regint.h.

Referenced by parse_enclose().

#define BIT_STATUS_CLEAR (   stats)    (stats) = 0

Definition at line 293 of file regint.h.

Referenced by scan_env_clear().

#define BIT_STATUS_ON_ALL (   stats)    (stats) = ~((BitStatusType )0)

Definition at line 294 of file regint.h.

Referenced by onig_compile().

#define BIT_STATUS_ON_AT (   stats,
 
)
Value:
do {\
if ((n) < (int )BIT_STATUS_BITS_NUM) \
(stats) |= (1 << (n));\
else\
(stats) |= 1;\
} while (0)

Definition at line 298 of file regint.h.

Referenced by setup_tree().

#define BIT_STATUS_ON_AT_SIMPLE (   stats,
 
)
Value:
do {\
if ((n) < (int )BIT_STATUS_BITS_NUM)\
(stats) |= (1 << (n));\
} while (0)

Definition at line 305 of file regint.h.

Referenced by parse_enclose().

#define BITS_IN_ROOM   (sizeof(Bits) * BITS_PER_BYTE)

Definition at line 347 of file regint.h.

#define BITS_PER_BYTE   8

Definition at line 345 of file regint.h.

#define BITSET_AT (   bs,
  pos 
)    (BS_ROOM(bs,pos) & BS_BIT(pos))

Definition at line 368 of file regint.h.

Referenced by is_not_included(), match_at(), onig_is_code_in_cc_len(), and optimize_node_left().

#define BITSET_CLEAR (   bs)
Value:
do {\
int i;\
for (i = 0; i < (int )BITSET_SIZE; i++) { (bs)[i] = 0; } \
} while (0)

Definition at line 360 of file regint.h.

Referenced by initialize_cclass(), and node_new_cclass_by_codepoint_range().

#define BITSET_CLEAR_BIT (   bs,
  pos 
)    BS_ROOM(bs,pos) &= ~(BS_BIT(pos))

Definition at line 370 of file regint.h.

Referenced by i_apply_case_fold().

#define BITSET_INVERT_BIT (   bs,
  pos 
)    BS_ROOM(bs,pos) ^= BS_BIT(pos)

Definition at line 371 of file regint.h.

#define BITSET_SET_BIT (   bs,
  pos 
)    BS_ROOM(bs,pos) |= BS_BIT(pos)

Definition at line 369 of file regint.h.

Referenced by i_apply_case_fold(), and node_new_cclass_by_codepoint_range().

#define BITSET_SIZE   (SINGLE_BYTE_SIZE / BITS_IN_ROOM)
#define BS_BIT (   pos)    (1 << (pos % BITS_IN_ROOM))

Definition at line 366 of file regint.h.

#define BS_ROOM (   bs,
  pos 
)    (bs)[pos / BITS_IN_ROOM]

Definition at line 365 of file regint.h.

#define CHECK_INTERRUPT_IN_MATCH_AT

Definition at line 160 of file regint.h.

Referenced by match_at().

#define CHECK_NULL_RETURN (   p)    if (IS_NULL(p)) return NULL
#define CHECK_NULL_RETURN_MEMERR (   p)    if (IS_NULL(p)) return ONIGERR_MEMORY
#define DEFAULT_MATCH_STACK_LIMIT_SIZE   0 /* unlimited */

Definition at line 75 of file regint.h.

#define DIGITVAL (   code)    ((code) - '0')

Definition at line 313 of file regint.h.

Referenced by onig_scan_unsigned_number().

#define DISABLE_CASE_FOLD_MULTI_CHAR (   case_fold_flag)    ((case_fold_flag) & ~INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR)

Definition at line 338 of file regint.h.

Referenced by add_char_amb_opt_map_info().

#define FLAG_NCCLASS_NOT   (1<<0)

Definition at line 700 of file regint.h.

#define FLAG_NCCLASS_SHARE   (1<<1)

Definition at line 701 of file regint.h.

#define GET_ABSADDR_INC (   addr,
  p 
)    PLATFORM_GET_INC(addr, p, AbsAddrType)

Definition at line 600 of file regint.h.

Referenced by match_at().

#define GET_ALIGNMENT_PAD_SIZE (   addr,
  pad_size 
)
Value:
do {\
(pad_size) = WORD_ALIGNMENT_SIZE \
- ((uintptr_t )(addr) % WORD_ALIGNMENT_SIZE);\
if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\
} while (0)

Definition at line 263 of file regint.h.

Referenced by add_multi_byte_cclass().

#define GET_BYTE_INC (   byte,
  p 
)
Value:
do{\
byte = *(p);\
(p)++;\
} while(0)

Definition at line 610 of file regint.h.

#define GET_CODE_POINT (   code,
  p 
)    code = *((OnigCodePoint* )(p))
#define GET_LENGTH_INC (   len,
  p 
)    PLATFORM_GET_INC(len, p, LengthType)

Definition at line 601 of file regint.h.

Referenced by match_at().

#define GET_MEMNUM_INC (   num,
  p 
)    PLATFORM_GET_INC(num, p, MemNumType)

Definition at line 602 of file regint.h.

Referenced by match_at().

#define GET_OPTION_INC (   option,
  p 
)    PLATFORM_GET_INC(option, p, OnigOptionType)

Definition at line 604 of file regint.h.

Referenced by match_at().

#define GET_POINTER_INC (   ptr,
  p 
)    PLATFORM_GET_INC(ptr, p, PointerType)

Definition at line 605 of file regint.h.

Referenced by match_at().

#define GET_RELADDR_INC (   addr,
  p 
)    PLATFORM_GET_INC(addr, p, RelAddrType)

Definition at line 599 of file regint.h.

Referenced by match_at().

#define GET_REPEATNUM_INC (   num,
  p 
)    PLATFORM_GET_INC(num, p, RepeatNumType)

Definition at line 603 of file regint.h.

#define GET_STATE_CHECK_NUM_INC (   num,
  p 
)    PLATFORM_GET_INC(num, p, StateCheckNumType)

Definition at line 606 of file regint.h.

Referenced by match_at().

#define INIT_MATCH_STACK_SIZE   160

Definition at line 74 of file regint.h.

Referenced by match_at().

#define INT_MAX_LIMIT   ((1UL << (SIZEOF_INT * 8 - 1)) - 1)
#define IS_CODE_SB_WORD (   enc,
  code 
)    (ONIGENC_IS_CODE_ASCII(code) && ONIGENC_IS_CODE_WORD(enc,code))

Definition at line 781 of file regint.h.

Referenced by add_ctype_to_cc(), and is_not_included().

#define IS_DYNAMIC_OPTION (   option)    0

Definition at line 336 of file regint.h.

Referenced by compile_length_option_node(), and compile_option_node().

#define IS_EXTEND (   option)    ((option) & ONIG_OPTION_EXTEND)

Definition at line 322 of file regint.h.

Referenced by fetch_token().

#define IS_FIND_CONDITION (   option)
Value:

Definition at line 325 of file regint.h.

Referenced by match_at(), and onig_compile().

#define IS_FIND_LONGEST (   option)    ((option) & ONIG_OPTION_FIND_LONGEST)

Definition at line 323 of file regint.h.

Referenced by match_at(), and onig_search().

#define IS_FIND_NOT_EMPTY (   option)    ((option) & ONIG_OPTION_FIND_NOT_EMPTY)

Definition at line 324 of file regint.h.

Referenced by match_at(), and onig_search().

#define IS_IGNORECASE (   option)    ((option) & ONIG_OPTION_IGNORECASE)
#define IS_MC_ESC_CODE (   code,
  syn 
)
Value:
((code) == MC_ESC(syn) && \

Definition at line 663 of file regint.h.

Referenced by fetch_token().

#define IS_MULTILINE (   option)    ((option) & ONIG_OPTION_MULTILINE)

Definition at line 320 of file regint.h.

Referenced by compile_quantifier_node(), compile_tree(), and optimize_node_left().

#define IS_NCCLASS_FLAG_ON (   cc,
  flag 
)    ((NCCLASS_FLAGS(cc) & (flag)) != 0)

Definition at line 697 of file regint.h.

#define IS_NCCLASS_NOT (   nd)    IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_NOT)
#define IS_NCCLASS_SHARE (   nd)    IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_SHARE)

Definition at line 707 of file regint.h.

Referenced by compile_cclass_node(), compile_length_cclass_node(), and onig_node_free().

#define IS_NOT_NULL (   p)    (((void*)(p)) != (void*)0)
#define IS_NOTBOL (   option)    ((option) & ONIG_OPTION_NOTBOL)

Definition at line 327 of file regint.h.

Referenced by match_at().

#define IS_NOTEOL (   option)    ((option) & ONIG_OPTION_NOTEOL)

Definition at line 328 of file regint.h.

Referenced by match_at().

#define IS_NULL (   p)    (((void*)(p)) == (void*)0)
#define IS_POSIX_REGION (   option)    ((option) & ONIG_OPTION_POSIX_REGION)

Definition at line 329 of file regint.h.

Referenced by match_at(), onig_match(), and onig_search().

#define IS_REPEAT_INFINITE (   n)    ((n) == REPEAT_INFINITE)
#define IS_SINGLELINE (   option)    ((option) & ONIG_OPTION_SINGLELINE)

Definition at line 319 of file regint.h.

Referenced by fetch_token().

#define MAX (   a,
 
)    (((a)<(b))?(b):(a))

Definition at line 238 of file regint.h.

Referenced by and_code_range_buf().

#define MC_ANYCHAR (   syn)    (syn)->meta_char_table.anychar

Definition at line 657 of file regint.h.

Referenced by fetch_token().

#define MC_ANYCHAR_ANYTIME (   syn)    (syn)->meta_char_table.anychar_anytime

Definition at line 661 of file regint.h.

Referenced by fetch_token().

#define MC_ANYTIME (   syn)    (syn)->meta_char_table.anytime

Definition at line 658 of file regint.h.

Referenced by fetch_token().

#define MC_ESC (   syn)    (syn)->meta_char_table.esc
#define MC_ONE_OR_MORE_TIME (   syn)    (syn)->meta_char_table.one_or_more_time

Definition at line 660 of file regint.h.

Referenced by fetch_token().

#define MC_ZERO_OR_ONE_TIME (   syn)    (syn)->meta_char_table.zero_or_one_time

Definition at line 659 of file regint.h.

Referenced by fetch_token().

#define MIN (   a,
 
)    (((a)>(b))?(b):(a))

Definition at line 237 of file regint.h.

Referenced by and_code_range_buf(), onig_search(), and to_ascii().

#define NCCLASS_CLEAR_NOT (   nd)    NCCLASS_FLAG_CLEAR(nd, FLAG_NCCLASS_NOT)

Definition at line 705 of file regint.h.

Referenced by parse_char_class().

#define NCCLASS_FLAG_CLEAR (   cc,
  flag 
)    (NCCLASS_FLAGS(cc) &= ~(flag))

Definition at line 696 of file regint.h.

#define NCCLASS_FLAG_SET (   cc,
  flag 
)    (NCCLASS_FLAGS(cc) |= (flag))

Definition at line 695 of file regint.h.

#define NCCLASS_FLAGS (   cc)    ((cc)->flags)

Definition at line 694 of file regint.h.

#define NCCLASS_SET_NOT (   nd)    NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_NOT)
#define NCCLASS_SET_SHARE (   nd)    NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_SHARE)

Definition at line 704 of file regint.h.

Referenced by parse_exp().

#define NULL_UCHARP   ((UChar* )0)

Definition at line 244 of file regint.h.

Referenced by fetch_token(), and find_str_position().

#define ODIGITVAL (   code)    DIGITVAL(code)

Definition at line 314 of file regint.h.

Referenced by scan_unsigned_octal_number().

#define ONIG_OPTIMIZE_EXACT   1 /* Slow Search */

Definition at line 283 of file regint.h.

Referenced by backward_search_range(), forward_search_range(), and set_optimize_exact_info().

#define ONIG_OPTIMIZE_EXACT_BM   2 /* Boyer Moore Search */

Definition at line 284 of file regint.h.

Referenced by backward_search_range(), forward_search_range(), and set_optimize_exact_info().

#define ONIG_OPTIMIZE_EXACT_BM_NOT_REV   3 /* BM (but not simple match) */

Definition at line 285 of file regint.h.

Referenced by backward_search_range(), forward_search_range(), and set_optimize_exact_info().

#define ONIG_OPTIMIZE_EXACT_IC   4 /* Slow Search (ignore case) */

Definition at line 286 of file regint.h.

Referenced by backward_search_range(), forward_search_range(), and set_optimize_exact_info().

#define ONIG_OPTIMIZE_MAP   5 /* char map */

Definition at line 287 of file regint.h.

Referenced by backward_search_range(), forward_search_range(), and set_optimize_map_info().

#define ONIG_OPTIMIZE_NONE   0

Definition at line 282 of file regint.h.

Referenced by clear_optimize_info(), and onig_search().

#define onig_st_is_member   st_is_member

Definition at line 158 of file regint.h.

#define ONIG_STATE_DEC (   reg)    /* Nothing */

Definition at line 197 of file regint.h.

#define ONIG_STATE_DEC_THREAD (   reg)    /* Nothing */

Definition at line 199 of file regint.h.

Referenced by onig_match(), and onig_search().

#define ONIG_STATE_INC (   reg)    /* Nothing */

Definition at line 196 of file regint.h.

Referenced by onig_match(), and onig_search().

#define ONIG_STATE_INC_THREAD (   reg)    /* Nothing */

Definition at line 198 of file regint.h.

#define PLATFORM_GET_INC (   val,
  p,
  type 
)
Value:
do{\
xmemcpy(&val, (p), sizeof(type));\
(p) += sizeof(type);\
} while(0)

Definition at line 255 of file regint.h.

#define PROPERTY_LIST_ADD_PROP (   Name,
  CR 
)
Value:

Definition at line 826 of file regint.h.

Referenced by init_property_list().

#define PROPERTY_LIST_INIT_CHECK
Value:
if (PropertyInited == 0) {\
if (r != 0) return r;\
}

Definition at line 832 of file regint.h.

Referenced by get_ctype_code_range(), is_code_ctype(), and property_name_to_ctype().

#define REPEAT_INFINITE   -1
#define SINGLE_BYTE_SIZE   (1 << BITS_PER_BYTE)
#define SIZE_ABSADDR   (int)sizeof(AbsAddrType)

Definition at line 589 of file regint.h.

Referenced by add_abs_addr(), and compile_enclose_node().

#define SIZE_BITSET   (int)sizeof(BitSet)

Definition at line 358 of file regint.h.

Referenced by add_bitset(), compile_length_cclass_node(), and match_at().

#define SIZE_CODE_POINT   (int)sizeof(OnigCodePoint)

Definition at line 595 of file regint.h.

Referenced by add_code_range_to_buf0().

#define SIZE_LENGTH   (int)sizeof(LengthType)
#define SIZE_MEMNUM   (int)sizeof(MemNumType)
#define SIZE_OP_ANYCHAR_STAR   SIZE_OPCODE

Definition at line 617 of file regint.h.

Referenced by compile_length_quantifier_node().

#define SIZE_OP_ANYCHAR_STAR_PEEK_NEXT   (SIZE_OPCODE + 1)

Definition at line 618 of file regint.h.

Referenced by compile_length_quantifier_node().

#define SIZE_OP_CALL   (SIZE_OPCODE + SIZE_ABSADDR)

Definition at line 646 of file regint.h.

Referenced by compile_length_enclose_node(), and compile_length_tree().

#define SIZE_OP_FAIL   SIZE_OPCODE

Definition at line 632 of file regint.h.

Referenced by compile_length_option_node(), and match_at().

#define SIZE_OP_FAIL_LOOK_BEHIND_NOT   SIZE_OPCODE

Definition at line 645 of file regint.h.

Referenced by compile_anchor_node(), and compile_length_anchor_node().

#define SIZE_OP_FAIL_POS   SIZE_OPCODE

Definition at line 629 of file regint.h.

Referenced by compile_anchor_node(), and compile_length_anchor_node().

#define SIZE_OP_JUMP   (SIZE_OPCODE + SIZE_RELADDR)
#define SIZE_OP_LOOK_BEHIND   (SIZE_OPCODE + SIZE_LENGTH)

Definition at line 643 of file regint.h.

Referenced by compile_length_anchor_node().

#define SIZE_OP_MEMORY_END   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 637 of file regint.h.

Referenced by compile_enclose_node(), and compile_length_enclose_node().

#define SIZE_OP_MEMORY_END_PUSH   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 635 of file regint.h.

Referenced by compile_enclose_node(), and compile_length_enclose_node().

#define SIZE_OP_MEMORY_END_PUSH_REC   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 636 of file regint.h.

Referenced by compile_enclose_node(), and compile_length_enclose_node().

#define SIZE_OP_MEMORY_END_REC   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 638 of file regint.h.

Referenced by compile_enclose_node(), and compile_length_enclose_node().

#define SIZE_OP_MEMORY_START   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 633 of file regint.h.

Referenced by compile_length_enclose_node().

#define SIZE_OP_MEMORY_START_PUSH   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 634 of file regint.h.

Referenced by compile_enclose_node(), and compile_length_enclose_node().

#define SIZE_OP_NULL_CHECK_END   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 642 of file regint.h.

Referenced by compile_length_quantifier_node(), and compile_quantifier_node().

#define SIZE_OP_NULL_CHECK_START   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 641 of file regint.h.

Referenced by compile_length_quantifier_node(), and compile_quantifier_node().

#define SIZE_OP_POP   SIZE_OPCODE

Definition at line 621 of file regint.h.

Referenced by compile_enclose_node(), and compile_length_enclose_node().

#define SIZE_OP_POP_POS   SIZE_OPCODE

Definition at line 628 of file regint.h.

Referenced by compile_length_anchor_node().

#define SIZE_OP_POP_STOP_BT   SIZE_OPCODE

Definition at line 640 of file regint.h.

Referenced by compile_length_enclose_node().

#define SIZE_OP_PUSH   (SIZE_OPCODE + SIZE_RELADDR)
#define SIZE_OP_PUSH_IF_PEEK_NEXT   (SIZE_OPCODE + SIZE_RELADDR + 1)

Definition at line 623 of file regint.h.

Referenced by compile_length_quantifier_node(), and compile_quantifier_node().

#define SIZE_OP_PUSH_LOOK_BEHIND_NOT   (SIZE_OPCODE + SIZE_RELADDR + SIZE_LENGTH)

Definition at line 644 of file regint.h.

Referenced by compile_length_anchor_node().

#define SIZE_OP_PUSH_OR_JUMP_EXACT1   (SIZE_OPCODE + SIZE_RELADDR + 1)

Definition at line 622 of file regint.h.

Referenced by compile_length_quantifier_node(), and compile_quantifier_node().

#define SIZE_OP_PUSH_POS   SIZE_OPCODE

Definition at line 626 of file regint.h.

Referenced by compile_length_anchor_node().

#define SIZE_OP_PUSH_POS_NOT   (SIZE_OPCODE + SIZE_RELADDR)

Definition at line 627 of file regint.h.

Referenced by compile_length_anchor_node().

#define SIZE_OP_PUSH_STOP_BT   SIZE_OPCODE

Definition at line 639 of file regint.h.

Referenced by compile_length_enclose_node().

#define SIZE_OP_REPEAT_INC   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 624 of file regint.h.

Referenced by compile_length_quantifier_node(), and compile_range_repeat_node().

#define SIZE_OP_REPEAT_INC_NG   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 625 of file regint.h.

#define SIZE_OP_RETURN   SIZE_OPCODE

Definition at line 647 of file regint.h.

Referenced by compile_enclose_node(), and compile_length_enclose_node().

#define SIZE_OP_SET_OPTION   (SIZE_OPCODE + SIZE_OPTION)

Definition at line 630 of file regint.h.

Referenced by compile_length_option_node(), and match_at().

#define SIZE_OP_SET_OPTION_PUSH   (SIZE_OPCODE + SIZE_OPTION)

Definition at line 631 of file regint.h.

Referenced by compile_length_option_node().

#define SIZE_OPCODE   1
#define SIZE_OPTION   (int)sizeof(OnigOptionType)

Definition at line 594 of file regint.h.

Referenced by add_option(), and compile_length_tree().

#define SIZE_POINTER   (int)sizeof(PointerType)

Definition at line 596 of file regint.h.

Referenced by add_pointer(), and compile_length_cclass_node().

#define SIZE_RELADDR   (int)sizeof(RelAddrType)

Definition at line 588 of file regint.h.

Referenced by add_rel_addr(), compile_length_quantifier_node(), and match_at().

#define SIZE_REPEATNUM   (int)sizeof(RepeatNumType)

Definition at line 593 of file regint.h.

#define SIZE_STATE_CHECK_NUM   (int)sizeof(StateCheckNumType)

Definition at line 592 of file regint.h.

#define st_add_direct   onig_st_add_direct
#define st_cleanup_safe   onig_st_cleanup_safe

Definition at line 153 of file regint.h.

Referenced by hash_foreach_ensure().

#define st_copy   onig_st_copy
#define st_delete   onig_st_delete
#define st_delete_safe   onig_st_delete_safe

Definition at line 147 of file regint.h.

Referenced by hash_foreach_iter(), and rb_hash_delete_key().

#define st_foreach   onig_st_foreach
#define st_free_table   onig_st_free_table
#define st_init_numtable   onig_st_init_numtable
#define st_init_numtable_with_size   onig_st_init_numtable_with_size

Definition at line 143 of file regint.h.

Referenced by init_case_fold_table(), and Init_sym().

#define st_init_strtable   onig_st_init_strtable
#define st_init_strtable_with_size   onig_st_init_strtable_with_size

Definition at line 145 of file regint.h.

#define st_init_table   onig_st_init_table

Definition at line 140 of file regint.h.

Referenced by rb_hash_tbl(), st_init_numtable(), st_init_strcasetable(), and st_init_strtable().

#define st_init_table_with_size   onig_st_init_table_with_size
#define st_insert   onig_st_insert
#define st_lookup   onig_st_lookup

Definition at line 149 of file regint.h.

Referenced by add_opt_method(), autoload_delete(), autoload_node(), autoload_node_id(), classname(), define_final(), eql_i(), fc_path(), fcntl(), flatten(), generic_ivar_defined(), generic_ivar_get(), generic_ivar_remove(), generic_ivar_set(), get_syserr(), get_transcoder_entry(), hash_update(), is_socket(), iseq_build_from_ary_body(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), iseq_set_sequence(), ivar_get(), load_lock(), make_transcoder_entry(), map_charset(), method_entry_i(), numhash_aref(), obj_alloc_by_path(), ole_vstr2wc(), overlapped_socket_io(), r_entry0(), r_leave(), r_object0(), r_symlink(), rb_alias_variable(), rb_ary_diff(), rb_autoload(), rb_class_path(), rb_const_defined_0(), rb_const_get_0(), rb_const_set(), rb_copy_generic_ivar(), rb_econv_asciicompat_encoding(), rb_enc_registered(), rb_f_untrace_var(), rb_gc_copy_finalizer(), rb_generic_ivar_memsize(), rb_generic_ivar_table(), rb_global_entry(), rb_hash_aref(), rb_hash_fetch_m(), rb_hash_has_key(), rb_hash_lookup2(), rb_id2str(), rb_intern3(), rb_ivar_count(), rb_ivar_defined(), rb_ivar_foreach(), rb_ivar_set(), rb_mark_generic_ivar(), rb_method_entry_make(), rb_obj_frozen_p(), rb_obj_remove_instance_variable(), rb_thread_key_p(), rb_thread_local_aref(), rb_vm_check_redefinition_opt_method(), recvmsg(), register_label(), remove_method(), search_method(), sendmsg(), set_const_visibility(), set_syserr(), sv_i(), syck_emit(), syck_emitter_mark_node(), syck_hdlr_add_anchor(), syck_hdlr_get_anchor(), syck_lookup_sym(), syserr_initialize(), transcode_search_path(), transcode_search_path_i(), val2dispatch(), vm_get_ev_const(), vm_getivar(), vm_setivar(), w_class(), w_encoding(), w_object(), w_symbol(), and zone_str().

#define st_nothing_key_clone   onig_st_nothing_key_clone

Definition at line 155 of file regint.h.

#define st_nothing_key_free   onig_st_nothing_key_free

Definition at line 156 of file regint.h.

#define STACK_POP_LEVEL_ALL   2

Definition at line 279 of file regint.h.

Referenced by onig_compile().

#define STACK_POP_LEVEL_FREE   0

Definition at line 277 of file regint.h.

Referenced by onig_compile().

#define STACK_POP_LEVEL_MEM_START   1

Definition at line 278 of file regint.h.

Referenced by onig_compile().

#define STATE_CHECK_BUFF_MAX_SIZE   0x4000

Definition at line 165 of file regint.h.

#define STATE_CHECK_STRING_THRESHOLD_LEN   7

Definition at line 164 of file regint.h.

#define SYN_GNU_REGEX_BV
Value:
ONIG_SYN_CONTEXT_INVALID_REPEAT_OPS | ONIG_SYN_ALLOW_INVALID_INTERVAL | \
ONIG_SYN_BACKSLASH_ESCAPE_IN_CC | ONIG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC )

Definition at line 688 of file regint.h.

#define SYN_GNU_REGEX_OP
Value:
ONIG_SYN_OP_POSIX_BRACKET | ONIG_SYN_OP_DECIMAL_BACKREF | \
ONIG_SYN_OP_BRACE_INTERVAL | ONIG_SYN_OP_LPAREN_SUBEXP | \
ONIG_SYN_OP_VBAR_ALT | \
ONIG_SYN_OP_ASTERISK_ZERO_INF | ONIG_SYN_OP_PLUS_ONE_INF | \
ONIG_SYN_OP_QMARK_ZERO_ONE | \
ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR | ONIG_SYN_OP_ESC_CAPITAL_G_BEGIN_ANCHOR | \
ONIG_SYN_OP_ESC_W_WORD | \
ONIG_SYN_OP_ESC_B_WORD_BOUND | ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END | \
ONIG_SYN_OP_ESC_S_WHITE_SPACE | ONIG_SYN_OP_ESC_D_DIGIT | \
ONIG_SYN_OP_LINE_ANCHOR )

Definition at line 675 of file regint.h.

#define SYN_POSIX_COMMON_OP
Value:
ONIG_SYN_OP_DECIMAL_BACKREF | \
ONIG_SYN_OP_BRACKET_CC | ONIG_SYN_OP_ASTERISK_ZERO_INF | \
ONIG_SYN_OP_LINE_ANCHOR | \
ONIG_SYN_OP_ESC_CONTROL_CHARS )

Definition at line 668 of file regint.h.

#define THREAD_ATOMIC_END   /* depend on thread system */
#define THREAD_ATOMIC_START   /* depend on thread system */
#define THREAD_PASS   /* depend on thread system */

Definition at line 107 of file regint.h.

Referenced by onig_match(), and onig_search().

#define THREAD_PASS_LIMIT_COUNT   8

Definition at line 167 of file regint.h.

Referenced by onig_match(), and onig_search().

#define THREAD_SYSTEM_END   /* depend on thread system */

Definition at line 104 of file regint.h.

Referenced by onig_end().

#define THREAD_SYSTEM_INIT   /* depend on thread system */

Definition at line 103 of file regint.h.

Referenced by onig_init().

#define USE_BACKREF_WITH_LEVEL   /* \k<name+n>, \k<name-n> */

Definition at line 60 of file regint.h.

Referenced by parse_exp().

#define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE

Definition at line 100 of file regint.h.

#define USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT   /* /(?:()|())*\2/ */

Definition at line 61 of file regint.h.

#define USE_NAMED_GROUP

Definition at line 58 of file regint.h.

#define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE   /* /\n$/ =~ "\n" */

Definition at line 62 of file regint.h.

#define USE_OP_PUSH_OR_JUMP_EXACT

Definition at line 69 of file regint.h.

#define USE_PARSE_TREE_NODE_RECYCLE

Definition at line 68 of file regint.h.

#define USE_POSIX_REGION_OPTION   /* needed for POSIX API support */

Definition at line 99 of file regint.h.

#define USE_QTFR_PEEK_NEXT

Definition at line 70 of file regint.h.

#define USE_SHARED_CCLASS_TABLE

Definition at line 72 of file regint.h.

#define USE_ST_LIBRARY

Definition at line 71 of file regint.h.

#define USE_SUBEXP_CALL

Definition at line 59 of file regint.h.

Referenced by compile_range_repeat_node(), and onig_compile().

#define USE_VARIABLE_META_CHARS

Definition at line 97 of file regint.h.

#define USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR

Definition at line 63 of file regint.h.

#define USE_WORD_BEGIN_END   /* "<": word-begin, ">": word-end */

Definition at line 98 of file regint.h.

#define WORD_ALIGNMENT_SIZE   SIZEOF_LONG

Definition at line 261 of file regint.h.

Referenced by add_multi_byte_cclass(), and compile_length_cclass_node().

#define xalloca   alloca

Definition at line 176 of file regint.h.

#define xcalloc   calloc

Definition at line 111 of file regint.h.

#define XDIGITVAL (   enc,
  code 
)
Value:
(ONIGENC_IS_CODE_DIGIT(enc,code) ? DIGITVAL(code) \
: (ONIGENC_IS_CODE_UPPER(enc,code) ? (code) - 'A' + 10 : (code) - 'a' + 10))

Definition at line 315 of file regint.h.

Referenced by scan_unsigned_hexadecimal_number().

#define xfree   free

Definition at line 112 of file regint.h.

#define xmalloc   malloc

Definition at line 109 of file regint.h.

#define xmemcpy   memcpy
#define xmemmove   memmove

Definition at line 170 of file regint.h.

#define xmemset   memset

Definition at line 168 of file regint.h.

#define xrealloc   realloc

Definition at line 110 of file regint.h.

#define xvsnprintf   vsnprintf

Definition at line 177 of file regint.h.

Referenced by onig_vsnprintf_with_pattern().

Typedef Documentation

typedef int AbsAddrType

Definition at line 580 of file regint.h.

typedef struct _BBuf BBuf
typedef unsigned char Bits

Definition at line 353 of file regint.h.

typedef Bits BitSet[BITSET_SIZE]

Definition at line 355 of file regint.h.

typedef Bits* BitSetRef

Definition at line 356 of file regint.h.

typedef unsigned int BitStatusType

Definition at line 290 of file regint.h.

typedef unsigned long hash_data_type

Definition at line 818 of file regint.h.

typedef void hash_table_type

Definition at line 813 of file regint.h.

typedef int LengthType

Definition at line 581 of file regint.h.

typedef short int MemNumType

Definition at line 583 of file regint.h.

typedef int(* ONIGENC_INIT_PROPERTY_LIST_FUNC_TYPE)(void)

Definition at line 840 of file regint.h.

Definition at line 722 of file regint.h.

typedef struct _OnigStackType OnigStackType
typedef void* PointerType

Definition at line 585 of file regint.h.

typedef int RelAddrType

Definition at line 579 of file regint.h.

typedef int RepeatNumType

Definition at line 582 of file regint.h.

typedef short int StateCheckNumType

Definition at line 584 of file regint.h.

Enumeration Type Documentation

enum OpCode
Enumerator
OP_FINISH 
OP_END 
OP_EXACT1 
OP_EXACT2 
OP_EXACT3 
OP_EXACT4 
OP_EXACT5 
OP_EXACTN 
OP_EXACTMB2N1 
OP_EXACTMB2N2 
OP_EXACTMB2N3 
OP_EXACTMB2N 
OP_EXACTMB3N 
OP_EXACTMBN 
OP_EXACT1_IC 
OP_EXACTN_IC 
OP_CCLASS 
OP_CCLASS_MB 
OP_CCLASS_MIX 
OP_CCLASS_NOT 
OP_CCLASS_MB_NOT 
OP_CCLASS_MIX_NOT 
OP_CCLASS_NODE 
OP_ANYCHAR 
OP_ANYCHAR_ML 
OP_ANYCHAR_STAR 
OP_ANYCHAR_ML_STAR 
OP_ANYCHAR_STAR_PEEK_NEXT 
OP_ANYCHAR_ML_STAR_PEEK_NEXT 
OP_WORD 
OP_NOT_WORD 
OP_WORD_BOUND 
OP_NOT_WORD_BOUND 
OP_WORD_BEGIN 
OP_WORD_END 
OP_BEGIN_BUF 
OP_END_BUF 
OP_BEGIN_LINE 
OP_END_LINE 
OP_SEMI_END_BUF 
OP_BEGIN_POSITION 
OP_BACKREF1 
OP_BACKREF2 
OP_BACKREFN 
OP_BACKREFN_IC 
OP_BACKREF_MULTI 
OP_BACKREF_MULTI_IC 
OP_BACKREF_WITH_LEVEL 
OP_MEMORY_START 
OP_MEMORY_START_PUSH 
OP_MEMORY_END_PUSH 
OP_MEMORY_END_PUSH_REC 
OP_MEMORY_END 
OP_MEMORY_END_REC 
OP_FAIL 
OP_JUMP 
OP_PUSH 
OP_POP 
OP_PUSH_OR_JUMP_EXACT1 
OP_PUSH_IF_PEEK_NEXT 
OP_REPEAT 
OP_REPEAT_NG 
OP_REPEAT_INC 
OP_REPEAT_INC_NG 
OP_REPEAT_INC_SG 
OP_REPEAT_INC_NG_SG 
OP_NULL_CHECK_START 
OP_NULL_CHECK_END 
OP_NULL_CHECK_END_MEMST 
OP_NULL_CHECK_END_MEMST_PUSH 
OP_PUSH_POS 
OP_POP_POS 
OP_PUSH_POS_NOT 
OP_FAIL_POS 
OP_PUSH_STOP_BT 
OP_POP_STOP_BT 
OP_LOOK_BEHIND 
OP_PUSH_LOOK_BEHIND_NOT 
OP_FAIL_LOOK_BEHIND_NOT 
OP_CALL 
OP_RETURN 
OP_STATE_CHECK_PUSH 
OP_STATE_CHECK_PUSH_OR_JUMP 
OP_STATE_CHECK 
OP_STATE_CHECK_ANYCHAR_STAR 
OP_STATE_CHECK_ANYCHAR_ML_STAR 
OP_SET_OPTION_PUSH 
OP_SET_OPTION 

Definition at line 474 of file regint.h.

Function Documentation

UChar* onig_error_code_to_format P_ ( (int code)  )
int onig_compile P_ ( (regex_t *reg, const UChar *pattern, const UChar *pattern_end, OnigErrorInfo *einfo, const char *sourcefile, int sourceline)  )
void onig_chain_reduce P_ ( (regex_t *reg)  )
void onig_chain_link_add P_ ( (regex_t *to, regex_t *add )
void onig_transfer P_ ( (regex_t *to, regex_t *from)  )
int onig_is_code_in_cc_len P_ ( (int enclen, OnigCodePoint code, CClassNode *cc)  )
int onig_st_lookup_strend P_ ( (hash_table_type *table, const UChar *str_key, const UChar *end_key, hash_data_type *value)  )
int onig_st_insert_strend P_ ( (hash_table_type *table, const UChar *str_key, const UChar *end_key, hash_data_type value)  )
int onigenc_property_list_add_property P_ ( (UChar *name, const OnigCodePoint *prop, hash_table_type **table, const OnigCodePoint ***plist, int *pnum, int *psize)  )
size_t onig_memsize P_ ( (const regex_t *reg)  )
void onig_snprintf_with_pattern PV_ ( (UChar buf[], int bufsize, OnigEncoding enc, UChar *pat, UChar *pat_end, const UChar *fmt,...)  )