Data Structures | Defines | Typedefs | Enumerations | Functions

regint.h File Reference

#include "ruby/ruby.h"
#include <strings.h>
#include <ctype.h>
#include "regenc.h"
#include "ruby/st.h"
Include dependency graph for regint.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _BBuf
struct  NodeBase
struct  CClassNode
struct  _OnigStackType
struct  OnigMatchArg

Defines

#define USE_NAMED_GROUP
#define USE_SUBEXP_CALL
#define USE_BACKREF_WITH_LEVEL
#define USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT
#define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE
#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
#define ARG_UNUSED
#define USE_VARIABLE_META_CHARS
#define USE_WORD_BEGIN_END
#define USE_POSIX_REGION_OPTION
#define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE
#define THREAD_SYSTEM_INIT
#define THREAD_SYSTEM_END
#define THREAD_ATOMIC_START
#define THREAD_ATOMIC_END
#define THREAD_PASS
#define xmalloc   malloc
#define xrealloc   realloc
#define xcalloc   calloc
#define xfree   free
#define CHECK_INTERRUPT_IN_MATCH_AT   rb_thread_check_ints()
#define onig_st_init_table   st_init_table
#define onig_st_init_table_with_size   st_init_table_with_size
#define onig_st_init_numtable   st_init_numtable
#define onig_st_init_numtable_with_size   st_init_numtable_with_size
#define onig_st_init_strtable   st_init_strtable
#define onig_st_init_strtable_with_size   st_init_strtable_with_size
#define onig_st_delete   st_delete
#define onig_st_delete_safe   st_delete_safe
#define onig_st_insert   st_insert
#define onig_st_lookup   st_lookup
#define onig_st_foreach   st_foreach
#define onig_st_add_direct   st_add_direct
#define onig_st_free_table   st_free_table
#define onig_st_cleanup_safe   st_cleanup_safe
#define onig_st_copy   st_copy
#define onig_st_nothing_key_clone   st_nothing_key_clone
#define onig_st_nothing_key_free   st_nothing_key_free
#define onig_st_is_member   st_is_member
#define USE_UPPER_CASE_TABLE
#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)
#define ONIG_STATE_DEC(reg)
#define ONIG_STATE_INC_THREAD(reg)
#define ONIG_STATE_DEC_THREAD(reg)
#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
#define ONIG_OPTIMIZE_EXACT_BM   2
#define ONIG_OPTIMIZE_EXACT_BM_NOT_REV   3
#define ONIG_OPTIMIZE_EXACT_IC   4
#define ONIG_OPTIMIZE_MAP   5
#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)
#define ANCHOR_ANYCHAR_STAR_ML   (1<<15)
#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 long OnigStackIndex
typedef struct _OnigStackType OnigStackType
typedef void hash_table_type
typedef st_data_t 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, int 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))

Define Documentation

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

Definition at line 266 of file regint.h.

Referenced by match_at().

#define ANCHOR_ANYCHAR_STAR   (1<<14)

Definition at line 467 of file regint.h.

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

#define ANCHOR_ANYCHAR_STAR_ML   (1<<15)

Definition at line 468 of file regint.h.

Referenced by onig_search(), and optimize_node_left().

#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 459 of file regint.h.

Referenced by compile_anchor_node().

#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 460 of file regint.h.

Referenced by compile_anchor_node().

#define ANCHOR_WORD_BOUND   (1<<6)

Definition at line 458 of file regint.h.

Referenced by compile_anchor_node().

#define ANCHOR_WORD_END   (1<<9)

Definition at line 461 of file regint.h.

Referenced by compile_anchor_node().

#define ARG_UNUSED

Definition at line 81 of file regint.h.

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

Definition at line 416 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);\
    if (IS_NULL((buf)->p)) return(ONIGERR_MEMORY);\
    (buf)->alloc = new_alloc;\
  }\
} while (0)

Definition at line 391 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);\
  if (IS_NULL((buf)->p)) return(ONIGERR_MEMORY);\
} while (0)

Definition at line 385 of file regint.h.

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

Definition at line 417 of file regint.h.

Referenced by add_multi_byte_cclass().

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

Definition at line 448 of file regint.h.

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

Definition at line 418 of file regint.h.

Referenced by compile_call(), and compile_enclose_node().

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

Definition at line 377 of file regint.h.

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

#define BBUF_INSERT (   buf,
  pos,
  bytes,
  n 
)
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 438 of file regint.h.

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

Definition at line 428 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 433 of file regint.h.

Referenced by add_code_range_to_buf0().

#define BBUF_MOVE_RIGHT (   buf,
  from,
  to,
  n 
)
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 421 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);\
  if (IS_NULL((buf)->p)) return(ONIGERR_MEMORY);\
} while (0)

Definition at line 379 of file regint.h.

#define BBUF_WRITE (   buf,
  pos,
  bytes,
  n 
)
Value:
do{\
  int used = (pos) + (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 401 of file regint.h.

Referenced by unset_addr_list_fix().

#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 408 of file regint.h.

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

Definition at line 289 of file regint.h.

Referenced by parse_enclose().

#define BIT_STATUS_CLEAR (   stats  )     (stats) = 0

Definition at line 290 of file regint.h.

Referenced by disable_noname_group_capture(), and scan_env_clear().

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

Definition at line 291 of file regint.h.

Referenced by onig_compile().

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

Definition at line 295 of file regint.h.

Referenced by setup_subexp_call(), and setup_tree().

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

Definition at line 302 of file regint.h.

Referenced by disable_noname_group_capture(), and parse_enclose().

#define BITS_IN_ROOM   (sizeof(Bits) * BITS_PER_BYTE)

Definition at line 344 of file regint.h.

#define BITS_PER_BYTE   8

Definition at line 342 of file regint.h.

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

Definition at line 365 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 357 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 367 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 368 of file regint.h.

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

Definition at line 366 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 363 of file regint.h.

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

Definition at line 362 of file regint.h.

#define CHECK_INTERRUPT_IN_MATCH_AT   rb_thread_check_ints()

Definition at line 118 of file regint.h.

#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

Definition at line 76 of file regint.h.

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

Definition at line 310 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 335 of file regint.h.

Referenced by add_char_amb_opt_map_info().

#define FLAG_NCCLASS_NOT   (1<<0)

Definition at line 697 of file regint.h.

#define FLAG_NCCLASS_SHARE   (1<<1)

Definition at line 698 of file regint.h.

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

Definition at line 597 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 260 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 607 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 598 of file regint.h.

Referenced by match_at().

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

Definition at line 599 of file regint.h.

Referenced by match_at(), and mem_is_in_memp().

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

Definition at line 601 of file regint.h.

Referenced by match_at().

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

Definition at line 602 of file regint.h.

Referenced by match_at().

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

Definition at line 596 of file regint.h.

Referenced by match_at().

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

Definition at line 600 of file regint.h.

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

Definition at line 603 of file regint.h.

Referenced by match_at().

#define INIT_MATCH_STACK_SIZE   160

Definition at line 75 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 778 of file regint.h.

Referenced by add_ctype_to_cc(), and is_not_included().

#define IS_DYNAMIC_OPTION (   option  )     0

Definition at line 333 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 319 of file regint.h.

Referenced by fetch_token().

#define IS_FIND_CONDITION (   option  ) 
Value:

Definition at line 322 of file regint.h.

Referenced by match_at(), and onig_compile().

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

Definition at line 320 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 321 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) && \
   !IS_SYNTAX_OP2((syn), ONIG_SYN_OP2_INEFFECTIVE_ESCAPE))

Definition at line 660 of file regint.h.

Referenced by fetch_token().

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

Definition at line 317 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 694 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 704 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 324 of file regint.h.

Referenced by match_at().

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

Definition at line 325 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 326 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 316 of file regint.h.

Referenced by fetch_token().

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

Definition at line 235 of file regint.h.

Referenced by and_code_range_buf().

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

Definition at line 654 of file regint.h.

Referenced by fetch_token().

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

Definition at line 658 of file regint.h.

Referenced by fetch_token().

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

Definition at line 655 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 657 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 656 of file regint.h.

Referenced by fetch_token().

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

Definition at line 234 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 702 of file regint.h.

Referenced by parse_char_class().

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

Definition at line 693 of file regint.h.

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

Definition at line 692 of file regint.h.

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

Definition at line 691 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 701 of file regint.h.

Referenced by parse_exp().

#define NULL_UCHARP   ((UChar* )0)

Definition at line 241 of file regint.h.

Referenced by backref_match_at_nested_level().

#define ODIGITVAL (   code  )     DIGITVAL(code)

Definition at line 311 of file regint.h.

Referenced by scan_unsigned_octal_number().

#define ONIG_OPTIMIZE_EXACT   1

Definition at line 280 of file regint.h.

Referenced by backward_search_range(), and forward_search_range().

#define ONIG_OPTIMIZE_EXACT_BM   2

Definition at line 281 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

Definition at line 282 of file regint.h.

Referenced by backward_search_range(), and forward_search_range().

#define ONIG_OPTIMIZE_EXACT_IC   4

Definition at line 283 of file regint.h.

Referenced by backward_search_range(), and forward_search_range().

#define ONIG_OPTIMIZE_MAP   5

Definition at line 284 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 279 of file regint.h.

Referenced by onig_search().

#define onig_st_add_direct   st_add_direct

Definition at line 130 of file regint.h.

Referenced by parse_exp().

#define onig_st_cleanup_safe   st_cleanup_safe

Definition at line 132 of file regint.h.

#define onig_st_copy   st_copy

Definition at line 133 of file regint.h.

#define onig_st_delete   st_delete

Definition at line 125 of file regint.h.

#define onig_st_delete_safe   st_delete_safe

Definition at line 126 of file regint.h.

#define onig_st_foreach   st_foreach
#define onig_st_free_table   st_free_table

Definition at line 131 of file regint.h.

Referenced by onig_free_shared_cclass_table(), and onig_names_free().

#define onig_st_init_numtable   st_init_numtable

Definition at line 121 of file regint.h.

#define onig_st_init_numtable_with_size   st_init_numtable_with_size

Definition at line 122 of file regint.h.

#define onig_st_init_strtable   st_init_strtable

Definition at line 123 of file regint.h.

#define onig_st_init_strtable_with_size   st_init_strtable_with_size

Definition at line 124 of file regint.h.

#define onig_st_init_table   st_init_table

Definition at line 119 of file regint.h.

#define onig_st_init_table_with_size   st_init_table_with_size

Definition at line 120 of file regint.h.

Referenced by onig_st_init_strend_table_with_size(), and parse_exp().

#define onig_st_insert   st_insert

Definition at line 127 of file regint.h.

Referenced by onig_st_insert_strend().

#define onig_st_is_member   st_is_member

Definition at line 136 of file regint.h.

#define onig_st_lookup   st_lookup
#define onig_st_nothing_key_clone   st_nothing_key_clone

Definition at line 134 of file regint.h.

#define onig_st_nothing_key_free   st_nothing_key_free

Definition at line 135 of file regint.h.

#define ONIG_STATE_DEC (   reg  ) 

Definition at line 198 of file regint.h.

#define ONIG_STATE_DEC_THREAD (   reg  ) 

Definition at line 200 of file regint.h.

Referenced by onig_match(), and onig_search().

#define ONIG_STATE_INC (   reg  ) 

Definition at line 197 of file regint.h.

Referenced by onig_match(), and onig_search().

#define ONIG_STATE_INC_THREAD (   reg  ) 

Definition at line 199 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 252 of file regint.h.

#define PROPERTY_LIST_ADD_PROP (   Name,
  CR 
)
Value:

Definition at line 823 of file regint.h.

Referenced by init_property_list().

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

Definition at line 829 of file regint.h.

#define REPEAT_INFINITE   -1

Definition at line 338 of file regint.h.

Referenced by parse_exp().

#define SINGLE_BYTE_SIZE   (1 << BITS_PER_BYTE)

Definition at line 343 of file regint.h.

Referenced by i_apply_case_fold(), and parse_char_class().

#define SIZE_ABSADDR   (int)sizeof(AbsAddrType)

Definition at line 586 of file regint.h.

Referenced by add_abs_addr(), compile_enclose_node(), and unset_addr_list_fix().

#define SIZE_BITSET   (int)sizeof(BitSet)

Definition at line 355 of file regint.h.

Referenced by add_bitset().

#define SIZE_CODE_POINT   (int)sizeof(OnigCodePoint)

Definition at line 592 of file regint.h.

Referenced by add_code_range_to_buf0().

#define SIZE_LENGTH   (int)sizeof(LengthType)

Definition at line 587 of file regint.h.

Referenced by add_length(), compile_length_cclass_node(), and compile_length_tree().

#define SIZE_MEMNUM   (int)sizeof(MemNumType)

Definition at line 588 of file regint.h.

Referenced by add_mem_num(), compile_length_tree(), and match_at().

#define SIZE_OP_ANYCHAR_STAR   SIZE_OPCODE

Definition at line 614 of file regint.h.

Referenced by compile_length_quantifier_node().

#define SIZE_OP_ANYCHAR_STAR_PEEK_NEXT   (SIZE_OPCODE + 1)

Definition at line 615 of file regint.h.

Referenced by compile_length_quantifier_node().

#define SIZE_OP_CALL   (SIZE_OPCODE + SIZE_ABSADDR)

Definition at line 643 of file regint.h.

Referenced by compile_length_enclose_node().

#define SIZE_OP_FAIL   SIZE_OPCODE

Definition at line 629 of file regint.h.

Referenced by compile_length_option_node().

#define SIZE_OP_FAIL_LOOK_BEHIND_NOT   SIZE_OPCODE

Definition at line 642 of file regint.h.

Referenced by compile_anchor_node().

#define SIZE_OP_FAIL_POS   SIZE_OPCODE

Definition at line 626 of file regint.h.

Referenced by compile_anchor_node().

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

Definition at line 640 of file regint.h.

Referenced by compile_length_anchor_node().

#define SIZE_OP_MEMORY_END   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 634 of file regint.h.

#define SIZE_OP_MEMORY_END_PUSH   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 632 of file regint.h.

Referenced by compile_length_enclose_node().

#define SIZE_OP_MEMORY_END_PUSH_REC   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 633 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 635 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 630 of file regint.h.

#define SIZE_OP_MEMORY_START_PUSH   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 631 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 639 of file regint.h.

#define SIZE_OP_NULL_CHECK_START   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 638 of file regint.h.

Referenced by compile_length_quantifier_node(), and compile_quantifier_node().

#define SIZE_OP_POP   SIZE_OPCODE

Definition at line 618 of file regint.h.

Referenced by compile_enclose_node(), and compile_length_enclose_node().

#define SIZE_OP_POP_POS   SIZE_OPCODE

Definition at line 625 of file regint.h.

#define SIZE_OP_POP_STOP_BT   SIZE_OPCODE

Definition at line 637 of file regint.h.

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

Definition at line 620 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 641 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 619 of file regint.h.

Referenced by compile_length_quantifier_node(), and compile_quantifier_node().

#define SIZE_OP_PUSH_POS   SIZE_OPCODE

Definition at line 623 of file regint.h.

Referenced by compile_length_anchor_node().

#define SIZE_OP_PUSH_POS_NOT   (SIZE_OPCODE + SIZE_RELADDR)

Definition at line 624 of file regint.h.

Referenced by compile_length_anchor_node().

#define SIZE_OP_PUSH_STOP_BT   SIZE_OPCODE

Definition at line 636 of file regint.h.

Referenced by compile_length_enclose_node().

#define SIZE_OP_REPEAT_INC   (SIZE_OPCODE + SIZE_MEMNUM)

Definition at line 621 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 622 of file regint.h.

#define SIZE_OP_RETURN   SIZE_OPCODE

Definition at line 644 of file regint.h.

#define SIZE_OP_SET_OPTION   (SIZE_OPCODE + SIZE_OPTION)

Definition at line 627 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 628 of file regint.h.

Referenced by compile_length_option_node().

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

Definition at line 591 of file regint.h.

Referenced by add_option(), and compile_length_tree().

#define SIZE_POINTER   (int)sizeof(PointerType)

Definition at line 593 of file regint.h.

Referenced by add_pointer().

#define SIZE_RELADDR   (int)sizeof(RelAddrType)

Definition at line 585 of file regint.h.

Referenced by add_rel_addr(), and compile_length_quantifier_node().

#define SIZE_REPEATNUM   (int)sizeof(RepeatNumType)

Definition at line 590 of file regint.h.

#define SIZE_STATE_CHECK_NUM   (int)sizeof(StateCheckNumType)

Definition at line 589 of file regint.h.

#define STACK_POP_LEVEL_ALL   2

Definition at line 276 of file regint.h.

#define STACK_POP_LEVEL_FREE   0

Definition at line 274 of file regint.h.

#define STACK_POP_LEVEL_MEM_START   1

Definition at line 275 of file regint.h.

#define STATE_CHECK_BUFF_MAX_SIZE   0x4000

Definition at line 166 of file regint.h.

#define STATE_CHECK_STRING_THRESHOLD_LEN   7

Definition at line 165 of file regint.h.

#define SYN_GNU_REGEX_BV
#define SYN_GNU_REGEX_OP
#define SYN_POSIX_COMMON_OP
#define THREAD_ATOMIC_END

Definition at line 107 of file regint.h.

#define THREAD_ATOMIC_START

Definition at line 106 of file regint.h.

#define THREAD_PASS

Definition at line 108 of file regint.h.

#define THREAD_PASS_LIMIT_COUNT   8

Definition at line 168 of file regint.h.

Referenced by onig_match(), and onig_search().

#define THREAD_SYSTEM_END

Definition at line 105 of file regint.h.

#define THREAD_SYSTEM_INIT

Definition at line 104 of file regint.h.

#define USE_BACKREF_WITH_LEVEL

Definition at line 61 of file regint.h.

Referenced by parse_exp().

#define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE

Definition at line 101 of file regint.h.

#define USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT

Definition at line 62 of file regint.h.

#define USE_NAMED_GROUP

Definition at line 59 of file regint.h.

#define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE

Definition at line 63 of file regint.h.

#define USE_OP_PUSH_OR_JUMP_EXACT

Definition at line 70 of file regint.h.

#define USE_PARSE_TREE_NODE_RECYCLE

Definition at line 69 of file regint.h.

#define USE_POSIX_REGION_OPTION

Definition at line 100 of file regint.h.

#define USE_QTFR_PEEK_NEXT

Definition at line 71 of file regint.h.

#define USE_SHARED_CCLASS_TABLE

Definition at line 73 of file regint.h.

#define USE_ST_LIBRARY

Definition at line 72 of file regint.h.

#define USE_SUBEXP_CALL

Definition at line 60 of file regint.h.

Referenced by compile_range_repeat_node(), and onig_compile().

#define USE_UPPER_CASE_TABLE

Definition at line 138 of file regint.h.

#define USE_VARIABLE_META_CHARS

Definition at line 98 of file regint.h.

#define USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR

Definition at line 64 of file regint.h.

#define USE_WORD_BEGIN_END

Definition at line 99 of file regint.h.

#define WORD_ALIGNMENT_SIZE   SIZEOF_LONG

Definition at line 258 of file regint.h.

Referenced by add_multi_byte_cclass(), and compile_length_cclass_node().

#define xalloca   alloca

Definition at line 177 of file regint.h.

Referenced by disable_noname_group_capture().

#define xcalloc   calloc

Definition at line 112 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 312 of file regint.h.

Referenced by scan_unsigned_hexadecimal_number().

#define xfree   free

Definition at line 113 of file regint.h.

#define xmalloc   malloc

Definition at line 110 of file regint.h.

#define xmemcpy   memcpy
#define xmemmove   memmove

Definition at line 171 of file regint.h.

#define xmemset   memset

Definition at line 169 of file regint.h.

#define xrealloc   realloc

Definition at line 111 of file regint.h.

#define xvsnprintf   vsnprintf

Definition at line 178 of file regint.h.

Referenced by onig_vsnprintf_with_pattern().


Typedef Documentation

typedef int AbsAddrType

Definition at line 577 of file regint.h.

typedef struct _BBuf BBuf
typedef unsigned char Bits

Definition at line 350 of file regint.h.

typedef Bits BitSet[BITSET_SIZE]

Definition at line 352 of file regint.h.

typedef Bits* BitSetRef

Definition at line 353 of file regint.h.

typedef unsigned int BitStatusType

Definition at line 287 of file regint.h.

Definition at line 813 of file regint.h.

typedef void hash_table_type

Definition at line 810 of file regint.h.

typedef int LengthType

Definition at line 578 of file regint.h.

typedef short int MemNumType

Definition at line 580 of file regint.h.

Definition at line 837 of file regint.h.

typedef long OnigStackIndex

Definition at line 719 of file regint.h.

typedef struct _OnigStackType OnigStackType
typedef void* PointerType

Definition at line 582 of file regint.h.

typedef int RelAddrType

Definition at line 576 of file regint.h.

typedef int RepeatNumType

Definition at line 579 of file regint.h.

typedef short int StateCheckNumType

Definition at line 581 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 471 of file regint.h.


Function Documentation

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